--- nono/vm/newsio.h 2026/04/29 17:05:25 1.1.1.2 +++ nono/vm/newsio.h 2026/04/29 17:06:00 1.1.1.5 @@ -11,7 +11,7 @@ #pragma once #include "device.h" -#include "monitor.h" +#include "textscreen.h" #include class NewsCtlrDevice; @@ -25,20 +25,16 @@ class NewsIODevice : public IODevice bool Init() override; - busdata Read8(uint32 addr) override; - busdata Read16(uint32 addr) override; - busdata Read32(uint32 addr) override; - busdata Write8(uint32 addr, uint32 data) override; - busdata Write16(uint32 addr, uint32 data) override; - busdata Write32(uint32 addr, uint32 data) override; - busdata Peek8(uint32 addr) override; - bool Poke8(uint32 addr, uint32 data) override; + busdata Read(busaddr addr) override; + busdata Write(busaddr addr, uint32 data) override; + busdata Peek1(uint32 addr) override; + bool Poke1(uint32 addr, uint32 data) override; private: inline IODevice *SearchDevice(uint32 addr) const; void InitMonitor(); - DECLARE_MONITOR_CALLBACK(MonitorUpdate); + DECLARE_MONITOR_SCREEN(MonitorScreen); std::unique_ptr pKBC {}; std::unique_ptr pLance {}; @@ -51,12 +47,12 @@ class NewsIODevice : public IODevice NewsCtlrDevice *newsctlr {}; - Monitor monitor { this }; + Monitor *monitor {}; // 裏バッファ TextScreen src_screen {}; }; -static inline NewsIODevice *GetNewsIODevice() { +inline NewsIODevice *GetNewsIODevice() { return Object::GetObject(OBJ_NEWSIO); }