--- nono/vm/interrupt.cpp 2026/04/29 17:05:37 1.1.1.12 +++ nono/vm/interrupt.cpp 2026/04/29 17:06:00 1.1.1.14 @@ -223,7 +223,7 @@ M680x0Interrupt::ChangeInterrupt() X68030Interrupt::X68030Interrupt() { monitor = gMonitorManager->Regist(ID_MONITOR_INTERRUPT, this); - monitor->func = ToMonitorCallback(&X68030Interrupt::MonitorUpdate); + monitor->SetCallback(&X68030Interrupt::MonitorScreen); } // デストラクタ @@ -319,7 +319,7 @@ X68030Interrupt::InterruptAcknowledge(in } void -X68030Interrupt::MonitorUpdate(Monitor *, TextScreen& screen) +X68030Interrupt::MonitorScreen(Monitor *, TextScreen& screen) { int y; @@ -351,7 +351,7 @@ X68030Interrupt::MonitorUpdate(Monitor * } // PEDEC 分も一緒に表示したい - pedec->MonitorUpdate(screen, intr_mask, y); + pedec->MonitorScreen(screen, intr_mask, y); } @@ -363,7 +363,7 @@ X68030Interrupt::MonitorUpdate(Monitor * LunaInterrupt::LunaInterrupt() { monitor = gMonitorManager->Regist(ID_MONITOR_INTERRUPT, this); - monitor->func = ToMonitorCallback(&LunaInterrupt::MonitorUpdate); + monitor->SetCallback(&LunaInterrupt::MonitorScreen); } // デストラクタ @@ -414,7 +414,7 @@ LunaInterrupt::InterruptAcknowledge(int } void -LunaInterrupt::MonitorUpdate(Monitor *, TextScreen& screen) +LunaInterrupt::MonitorScreen(Monitor *, TextScreen& screen) { int y; @@ -454,7 +454,7 @@ LunaInterrupt::MonitorUpdate(Monitor *, NewsInterrupt::NewsInterrupt() { monitor = gMonitorManager->Regist(ID_MONITOR_INTERRUPT, this); - monitor->func = ToMonitorCallback(&NewsInterrupt::MonitorUpdate); + monitor->SetCallback(&NewsInterrupt::MonitorScreen); } // デストラクタ @@ -522,7 +522,7 @@ NewsInterrupt::PeekStatus() const } void -NewsInterrupt::MonitorUpdate(Monitor *, TextScreen& screen) +NewsInterrupt::MonitorScreen(Monitor *, TextScreen& screen) { int y; @@ -562,7 +562,7 @@ NewsInterrupt::MonitorUpdate(Monitor *, Virt68kInterrupt::Virt68kInterrupt() { monitor = gMonitorManager->Regist(ID_MONITOR_INTERRUPT, this); - monitor->func = ToMonitorCallback(&Virt68kInterrupt::MonitorUpdate); + monitor->SetCallback(&Virt68kInterrupt::MonitorScreen); } // デストラクタ @@ -615,8 +615,7 @@ Virt68kInterrupt::Init() void Virt68kInterrupt::IncMonitorHeight() { - auto size = monitor->GetSize(); - monitor->SetSize(size.width, size.height + 1); + monitor->AddHeight(1); } // 割り込みアクノリッジに応答する @@ -628,7 +627,7 @@ Virt68kInterrupt::InterruptAcknowledge(i } void -Virt68kInterrupt::MonitorUpdate(Monitor *, TextScreen& screen) +Virt68kInterrupt::MonitorScreen(Monitor *, TextScreen& screen) { int y; @@ -663,7 +662,7 @@ Virt68kInterrupt::MonitorUpdate(Monitor } // 各入力ピンの状態も表示しないと何も分からない。 - gfpic[lv]->MonitorUpdateSummary(screen, 15, y); + gfpic[lv]->MonitorScreenSummary(screen, 15, y); screen.Print(51, y, "%26s", format_number(counter[clz]).c_str()); y++; @@ -675,6 +674,6 @@ Virt68kInterrupt::MonitorUpdate(Monitor for (uint32 map : disp_list) { int clz = __builtin_clz(map); int lv = (31 - clz) / 4; - y = gfpic[lv]->MonitorUpdateDetail(screen, y, lv); + y = gfpic[lv]->MonitorScreenDetail(screen, y, lv); } }