--- nono/vm/vm.cpp 2026/04/29 17:05:10 1.1.1.8 +++ nono/vm/vm.cpp 2026/04/29 17:05:17 1.1.1.9 @@ -9,14 +9,15 @@ // #include "vm.h" -#include "debugger_private.h" +#include "debugger.h" #include "mainapp.h" +#include "mainbus.h" +#include "mainram.h" #include "mpu.h" #include "power.h" -#include "ram.h" #include "scheduler.h" #include "signalthread.h" -#include "sync.h" +#include "syncer.h" // グローバル参照用 VM *gVM; @@ -29,16 +30,12 @@ VM::VM() // あるためその次。 NEWDV(SignalThread, new SignalThread()); NEWDV(Scheduler, new Scheduler()); - NEWDV(Sync, new Sync()); + NEWDV(Syncer, new Syncer()); NEWDV(Power, new PowerDevice()); NEWDV(Debugger, new Debugger()); - // バスエラーデバイスをここで作成して全域をバスエラーで初期化。 - // この後継承先で必要に応じて上書きする。 + NEWDV(Mainbus, new MainbusDevice()); NEWDV(BusErr, new BusErrDevice()); - for (int i = 0; i < countof(::devtable); i++) { - ::devtable[i] = gBusErr; - } } // デストラクタ @@ -55,10 +52,10 @@ VM::Dispose() // まずスレッドを止める。 // デバッガスレッドがスケジューラスレッドにアクセスするのでデバッガが先。 if ((bool)pDebugger) { - gDebugger->TerminateThread(); + GetDebugger()->TerminateThread(); } if ((bool)pScheduler) { - gScheduler->TerminateThread(); + GetScheduler()->TerminateThread(); } // 残りのスレッドを停止 @@ -162,7 +159,7 @@ VM::SwitchBootPage(Device *parent, bool } // 同期モード指示 - gSync->RequestBootPageMode(isrom); + GetSyncer()->RequestBootPageMode(isrom); } // MPU の RESET 命令によるリセット