|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2022 nono project
4: // Licensed under nono-license.txt
5: //
6:
7: //
8: // VM (NEWS)
9: //
10:
11: #include "vm_news.h"
12: #include "config.h"
1.1.1.4 root 13: #include "console.h"
1.1 root 14: #include "dipsw.h"
1.1.1.2 root 15: #include "mainbus_news.h"
1.1 root 16: #include "mpu680x0.h"
17: #include "newsfb.h"
1.1.1.2 root 18: #include "power.h"
1.1 root 19: #include "renderer.h"
20:
21: // コンストラクタ
22: VM_NEWS::VM_NEWS()
1.1.1.2 root 23: : inherited("NWS-1750")
1.1 root 24: {
25: // 機種固有パラメータ
1.1.1.5 root 26: // 実時間に同期したほうが便利。
27: gConfig->SetDefault("clock-sync", "real");
1.1.1.4 root 28: // 仮想コンソール。
1.1.1.6 ! root 29: gConfig->SetDefault("hostcom0-driver", "console");
1.1.1.4 root 30: // MPU 種別。
31: gConfig->SetDefault("mpu-type", "68030");
1.1 root 32: // MPU クロックの初期値は機種ごとに異なる。単位は MHz
33: gConfig->SetDefault("mpu-clock", 25);
34: // RAM 初期値は?
35: gConfig->SetDefault("ram-size", 16);
36: // RTC epoch は 1900年。
37: gConfig->SetDefault("rtc-epoch-year", 1900);
38:
1.1.1.2 root 39: NEWDV(Power, new PowerDevice());
1.1.1.4 root 40: NEWDV(MPU, NewMPU680x0Device());
1.1.1.2 root 41: NEWDV(Mainbus, new NewsMainbus());
1.1.1.4 root 42: NEWDV(Console, new ConsoleDevice());
43: NEWDV(Keyboard, new ConsoleKeyboard());
44: NEWDV(Renderer, new ConsoleRenderer());
1.1 root 45: NEWDV(Newsfb, new NewsfbDevice());
46: NEWDV(Dipsw, new NewsDipswDevice());
1.1.1.3 root 47:
48: // バーストアクセスがあるかどうかは分からないが
49: // Mainbus が LUNA-I と共通なので一応揃えておく。
1.1.1.4 root 50: auto mpu680x0 = GetMPU680x0Device(pMPU.get());
51: if (mpu680x0) {
52: mpu680x0->EnableBurstAccess(true);
53: }
1.1 root 54: }
55:
56: // デストラクタ
57: VM_NEWS::~VM_NEWS()
58: {
59: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.