--- nono/vm/x68kio.cpp 2026/04/29 17:05:28 1.1.1.4 +++ nono/vm/x68kio.cpp 2026/04/29 17:05:59 1.1.1.7 @@ -28,6 +28,7 @@ #include "adpcm.h" #include "areaset.h" #include "bankram.h" +#include "buserr.h" #include "busio.h" #include "config.h" #include "crtc.h" @@ -38,6 +39,7 @@ #include "mainbus.h" #include "mainram.h" #include "mfp.h" +#include "monitor.h" #include "mpu.h" #include "nereid.h" #include "opm.h" @@ -62,17 +64,17 @@ X68kIODevice::X68kIODevice() : inherited(OBJ_X68KIO) { - monitor.func = ToMonitorCallback(&X68kIODevice::MonitorUpdate); - monitor.SetSize(73, 1 + 32); - monitor.SetMaxHeight(1 + 256); - monitor.Regist(ID_SUBWIN_X68KIO); + map_monitor = gMonitorManager->Regist(ID_SUBWIN_X68KIO, this); + map_monitor->SetCallback(&X68kIODevice::MonitorScreen); + map_monitor->SetSize(73, 1 + 32); + map_monitor->SetMaxHeight(1 + 256); // エリアセットは実質ここが担当しているので、モニタもここ。 - monitor_area.func = ToMonitorCallback(&X68kIODevice::MonitorUpdateAreaset); - monitor_area.SetSize(32, 6); - monitor_area.Regist(ID_MONITOR_AREASET); + area_monitor = gMonitorManager->Regist(ID_MONITOR_AREASET, this); + area_monitor->SetCallback(&X68kIODevice::MonitorScreenAreaset); + area_monitor->SetSize(32, 6); - cut_fc2 = (gConfig->Find("x68k-cut-fc2").AsInt() != 0); + cut_fc2 = gConfig->Find("x68k-cut-fc2").AsBool(); #define ADD_DEVICE(NAME, ADDR, LEN) \ AddDevice(__CONCAT(p,NAME).get(), ADDR, LEN) @@ -332,7 +334,7 @@ X68kIODevice::Poke1(uint32 addr, uint32 } void -X68kIODevice::MonitorUpdate(Monitor *, TextScreen& screen) +X68kIODevice::MonitorScreen(Monitor *, TextScreen& screen) { screen.Clear(); @@ -475,7 +477,7 @@ X68kIODevice::SetExtarea(uint offset, ui // エリアセットと拡張エリアセットのモニタ。 void -X68kIODevice::MonitorUpdateAreaset(Monitor *, TextScreen& screen) +X68kIODevice::MonitorScreenAreaset(Monitor *, TextScreen& screen) { uint areaend;