--- nono/vm/bt45x.h 2026/04/29 17:05:33 1.1.1.4 +++ nono/vm/bt45x.h 2026/04/29 17:06:00 1.1.1.6 @@ -14,6 +14,7 @@ #include "color.h" class LunafbDevice; +class UIMessage; class BT45xDevice : public IODevice { @@ -32,11 +33,11 @@ class BT45xDevice : public IODevice // プレーン数を取得 uint GetPlaneCount() const { return nplane; } - // ホストパレットのアドレスを取得 + // ホストパレットを取得。(レンダラとかからの参照用) const std::vector& GetHostPalette() const { return hostcolor; } - // 生パレットを uint32 形式にしたものを返す (GUI 用) - const std::vector GetIntPalette() const; + // ゲストパレットを取得。(GUI 情報表示用) + const std::vector& GetGuestPalette() const { return color; } // BusIO インタフェース // (内蔵 ROM からのアクセス用に特別に public にしてある) @@ -121,6 +122,7 @@ class BT45xDevice : public IODevice static const char rgbstr[3]; LunafbDevice *lunafb {}; + UIMessage *uimessage {}; }; // Bt454 @@ -134,7 +136,7 @@ class BT454Device : public BT45xDevice ~BT454Device() override; private: - DECLARE_MONITOR_CALLBACK(MonitorUpdate); + DECLARE_MONITOR_SCREEN(MonitorScreen); uint32 ReadControl() override; void WriteControl(uint32 data) override; @@ -154,7 +156,7 @@ class BT458Device : public BT45xDevice bool Init() override; private: - DECLARE_MONITOR_CALLBACK(MonitorUpdate); + DECLARE_MONITOR_SCREEN(MonitorScreen); uint32 ReadControl() override; void WriteControl(uint32 data) override; @@ -172,6 +174,6 @@ class BT458Device : public BT45xDevice uint8 testreg {}; // テストレジスタ }; -static inline BT45xDevice *GetBT45xDevice() { +inline BT45xDevice *GetBT45xDevice() { return Object::GetObject(OBJ_BT45x); }