--- nono/vm/videoctlr.cpp 2026/04/29 17:05:10 1.1.1.6 +++ nono/vm/videoctlr.cpp 2026/04/29 17:05:14 1.1.1.7 @@ -17,6 +17,8 @@ #include "videoctlr.h" #include "mpu.h" +#include "renderer.h" +#include "uimessage.h" // グローバル参照用 VideoCtlrDevice *gVideoCtlr; @@ -76,7 +78,7 @@ VideoCtlrDevice::Write(uint32 offset, ui gMPU->AddCycle(11); // InsideOut p.135 if (offset < 0x400 / 2) { // パレット - putlog(3, "パレット $%06x.W <- $%04x", baseaddr + offset * 2, data); + putlog(3, "Palette $%06x.W <- $%04x", baseaddr + offset * 2, data); palette.w[offset] = data; MakePalette(); @@ -123,7 +125,7 @@ VideoCtlrDevice::Peek(uint32 offset) void VideoCtlrDevice::SetR0(uint32 data) { - putlog(0, "R0 <- $%04x 未実装書き込み", data); + putlog(0, "R0 <- $%04x (NOT IMPLEMENTED)", data); videoctlr.r0 = data & 3; } @@ -131,7 +133,7 @@ VideoCtlrDevice::SetR0(uint32 data) void VideoCtlrDevice::SetR1(uint32 data) { - putlog(0, "R1 <- $%04x 未実装書き込み", data); + putlog(0, "R1 <- $%04x (NOT IMPLEMENTED)", data); videoctlr.r1 = data & 0x3fff; } @@ -139,7 +141,7 @@ VideoCtlrDevice::SetR1(uint32 data) void VideoCtlrDevice::SetR2(uint32 data) { - putlog(0, "R2 <- $%04x 未実装書き込み", data); + putlog(0, "R2 <- $%04x (NOT IMPLEMENTED)", data); videoctlr.r2 = (data & 0xff7f); } @@ -165,5 +167,9 @@ VideoCtlrDevice::MakePalette() cooked_palette[i].b = B; } - // XXX たぶんこの辺でレンダラにパレット変更を通知するはず + // パレット変更が起きたことをレンダラに通知 + gRenderer->Invalidate2(); + + // UI にも通知 + UIMessage::Post(UIMessage::PALETTE); }