|
|
1.1 root 1: //
2: // nono
1.1.1.2 root 3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
1.1 root 5: //
6:
1.1.1.8 root 7: //
8: // VM (X68030)
9: //
10:
1.1 root 11: #include "vm_x68k.h"
1.1.1.2 root 12: #include "config.h"
1.1 root 13: #include "human68k.h"
1.1.1.7 root 14: #include "mainapp.h"
1.1.1.12 root 15: #include "mainbus_x68k.h"
1.1.1.2 root 16: #include "mpu680x0.h"
1.1.1.8 root 17: #include "nmi.h"
18: #include "power.h"
1.1 root 19: #include "renderer.h"
20: #include "x68kkbd.h"
21:
22: // コンストラクタ
23: VM_X68030::VM_X68030()
1.1.1.12 root 24: : inherited("X68030")
1.1 root 25: {
1.1.1.2 root 26: // 機種固有パラメータ
27: // MPU クロックの初期値は機種ごとに異なる。単位は MHz
28: gConfig->SetDefault("mpu-clock", 25);
29: // RAM 初期値は MAX にしておく
30: gConfig->SetDefault("ram-size", 12);
31: // SPC の入力クロック (5MHz = 200ns)
32: gConfig->Add("!spc-tCLF", 200);
33:
1.1.1.12 root 34: // デバイス
35: NEWDV(Power, new X68030PowerDevice());
1.1.1.8 root 36: NEWDV(MPU, new MPU680x0Device());
1.1.1.12 root 37: NEWDV(Mainbus, new X68kMainbus());
1.1.1.8 root 38: NEWDV(Keyboard, new X68030Keyboard());
1.1.1.12 root 39: NEWDV(NMI, new NMIDevice());
1.1.1.8 root 40: NEWDV(Renderer, new X68030Renderer());
1.1 root 41:
1.1.1.7 root 42: if (gMainApp.human_mode) {
1.1.1.12 root 43: NEWDV(Human68k, new Human68kDevice());
1.1.1.7 root 44: }
1.1.1.13! root 45:
! 46: // バーストアクセスなし (回路図より)
! 47: dynamic_cast<MPU680x0Device*>(pMPU.get())->EnableBurstAccess(false);
1.1 root 48: }
49:
50: // デストラクタ
51: VM_X68030::~VM_X68030()
52: {
53: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.