--- nono/vm/mpu680x0.cpp 2026/04/29 17:05:37 1.1.1.19 +++ nono/vm/mpu680x0.cpp 2026/04/29 17:05:41 1.1.1.20 @@ -30,7 +30,6 @@ #include "mainapp.h" #include "mainbus.h" #include "scheduler.h" -#include "syncer.h" #include "uimessage.h" #include "vectortable.h" @@ -150,7 +149,6 @@ MPU680x0Device::Init() break; } - debugger = GetDebugger(); interruptdev = GetInterruptDevice(); vectortable = GetVectorTable(); @@ -383,23 +381,6 @@ MPU680x0Device::MakeNextFull() exec_event.func = exec_full; } -void -MPU680x0Device::ChangeState(uint32 new_state) -{ - // new_mode (CPU_STATE_*) と - // RequestCPUMode() の引数 Syncer::SYNCMODE_CPU_* は - // 実は同じ値なのでそのまま渡してよいことにする。 - static_assert(CPU_STATE_NORMAL == Syncer::SYNCMODE_CPU_NORMAL, ""); - static_assert(CPU_STATE_STOP == Syncer::SYNCMODE_CPU_STOP, ""); - static_assert(CPU_STATE_HALT == Syncer::SYNCMODE_CPU_HALT, ""); - - if (cpu_state != new_state) { - cpu_state = new_state; - // スケジューラに通知 - syncer->RequestCPUMode(cpu_state); - } -} - // A-Line 命令エミュレーションのコールバックを指定。 void MPU680x0Device::SetALineCallback(bool (*callback)(MPU680x0Device *, void*), @@ -974,6 +955,8 @@ MPU68040Device::MPU68040Device() mpu_name = "MC68040"; SetName("MPU(68040)"); + cycle_table = cycle_table_040; + mmu_itt[0].reset(new m68040TT("ITT0", ®.itt[0])); mmu_itt[1].reset(new m68040TT("ITT1", ®.itt[1])); mmu_dtt[0].reset(new m68040TT("DTT0", ®.dtt[0])); @@ -989,7 +972,7 @@ MPU68040Device::MPU68040Device() // ATC モニター (Inst/Data) atc_monitor = gMonitorManager->Regist(ID_MONITOR_MPUATC, this); atc_monitor->func = ToMonitorCallback(&MPU68040Device::MonitorUpdateATC); - atc_monitor->SetSize(121, 34); + atc_monitor->SetSize(125, 34); } // デストラクタ