--- nono/vm/lcd.cpp 2026/04/29 17:05:10 1.1.1.9 +++ nono/vm/lcd.cpp 2026/04/29 17:05:17 1.1.1.11 @@ -11,12 +11,9 @@ #include "lcd.h" #include "uimessage.h" -// グローバル参照用 -LCDDevice *gLCD; - // コンストラクタ LCDDevice::LCDDevice() - : inherited("LCD") + : inherited(OBJ_LCD) { monitor.func = ToMonitorCallback(&LCDDevice::MonitorUpdate); monitor.SetSize(67, 3); @@ -26,7 +23,6 @@ LCDDevice::LCDDevice() // デストラクタ LCDDevice::~LCDDevice() { - gLCD = NULL; } // リセット @@ -184,20 +180,20 @@ LCDDevice::Write(uint8 data) if ((data & 0x80)) { SetAddr(data & 0x7f, false); - putlog(1, "DDRAM アドレスセット $%02x", addr_counter); + putlog(1, "DDRAM Address <- $%02x", addr_counter); } else if ((data & 0x40)) { SetAddr(data & 0x3f, true); - putlog(1, "CGRAM アドレスセット $%02x", addr_counter); + putlog(1, "CGRAM Address <- $%02x", addr_counter); } else if ((data & 0x20)) { // ファンクション・セット // 0x38 (8ビットバス、2行表示、8ライン/行)モードのみサポート if (data != 0x38) { - putlog(0, "コマンド書き込み $%02x ファンクションセット(未実装)", - data); + putlog(0, "Write Command $%02x Function Set (NOT IMPLEMENTED)", data); } } else if ((data & 0x10)) { // カーソル移動 - putlog(0, "コマンド書き込み $%02x カーソル移動(未実装)", data); + putlog(0, "Write Command $%02x Move Cursor (NOT IMPLEMENTED)", + data); } else if ((data & 0x08)) { // 表示ON/OFF // 文字表示 ON/OFF のみサポート @@ -220,18 +216,18 @@ LCDDevice::Write(uint8 data) } else { // $00 が書き込まれるんだけど、データシートにはないんだよね。 // 無視していいかな。 - putlog(2, "未定義書き込み $%02x", data); + putlog(2, "Write undefined $%02x", data); } } else { // データ書き込み if (addr_is_cgram) { // cgram は 5 bit 有効で左詰めで格納 cgram[addr_counter] = data << 3; - putlog(1, "CGRAM データ書き込み $%02x <- $%02x", + putlog(1, "CGRAM Data $%02x <- $%02x", addr_counter, data); } else { ddram[addr_counter] = data; - putlog(1, "DDRAM データ書き込み X=%d Y=%d <- $%02x", + putlog(1, "DDRAM Data X=%2d Y=%d <- $%02x", addr_counter % 0x40, addr_counter / 0x40, data); } NextAddr();