--- nono/vm/mainbus_x68k.cpp 2026/04/29 17:05:32 1.1.1.3 +++ nono/vm/mainbus_x68k.cpp 2026/04/29 17:05:59 1.1.1.5 @@ -46,11 +46,10 @@ X68kMainbus::X68kMainbus() // デバイスの割り当ては Init() で行っている。 monitor = gMonitorManager->Regist(ID_MONITOR_MAINBUS, this); - monitor->func = ToMonitorCallback(&X68kMainbus::MonitorUpdate); + monitor->SetCallback(&X68kMainbus::MonitorScreen); monitor->SetSize(75, 33); - accstat_monitor->func = - ToMonitorCallback(&X68kMainbus::MonitorUpdateAccStat); + accstat_monitor->SetCallback(&X68kMainbus::MonitorScreenAccStat); accstat_monitor->SetSize(80, 2 + 32 + 3); } @@ -113,16 +112,6 @@ X68kMainbus::InitMainbus() return true; } -// リセット -void -X68kMainbus::ResetHard(bool poweron) -{ - inherited::ResetHard(poweron); - - std::fill(accstat_read.begin(), accstat_read.end(), 0); - std::fill(accstat_write.begin(), accstat_write.end(), 0); -} - // リセットについて。 // // PWRRESET @@ -184,7 +173,7 @@ X68kMainbus::ResetByMPU() OBJ_PLUTO, OBJ_PPI, OBJ_MPSCC, - OBJ_SPC, + OBJ_SPC0, OBJ_WINDRV, }; for (auto id : ids) { @@ -209,6 +198,7 @@ busdata X68kMainbus::Read(busaddr addr) { uint32 pa = addr.Addr(); + lastaddr = pa; if (IsIntio(pa)) { // 内蔵 16MB を 2MB 単位で accstat_read[ACCSTAT_INTIO(pa)] = AccStat::READ; @@ -224,6 +214,7 @@ busdata X68kMainbus::Write(busaddr addr, uint32 data) { uint32 pa = addr.Addr(); + lastaddr = pa; if (IsIntio(pa)) { // 内蔵 16MB を 2MB 単位で accstat_write[ACCSTAT_INTIO(pa)] = AccStat::WRITE; @@ -256,7 +247,7 @@ X68kMainbus::Poke1(uint32 addr, uint32 d } void -X68kMainbus::MonitorUpdate(Monitor *, TextScreen& screen) +X68kMainbus::MonitorScreen(Monitor *, TextScreen& screen) { screen.Clear(); @@ -282,10 +273,10 @@ X68kMainbus::MonitorUpdate(Monitor *, Te } void -X68kMainbus::MonitorUpdateAccStat(Monitor *monitor_, TextScreen& screen) +X68kMainbus::MonitorScreenAccStat(Monitor *monitor_, TextScreen& screen) { // メインバス空間は親クラス側の処理そのまま。 - inherited::MonitorUpdateAccStat(monitor_, screen); + inherited::MonitorScreenAccStat(monitor_, screen); // バンクメモリ側の情報取得。 for (int n = 0; n < bankram.size(); n++) {