--- nono/vm/lunafb.h 2026/04/29 17:05:18 1.1.1.4 +++ nono/vm/lunafb.h 2026/04/29 17:05:25 1.1.1.5 @@ -47,19 +47,19 @@ class LunafbDevice : public PlaneVRAMDev public: LunafbDevice(); - virtual ~LunafbDevice() override; + ~LunafbDevice() override; bool Init() override; void ResetHard(bool poweron) override; - uint64 Read8(uint32 addr) override; - uint64 Read16(uint32 addr) override; - uint64 Read32(uint32 addr) override; - uint64 Write8(uint32 addr, uint32 data) override; - uint64 Write16(uint32 addr, uint32 data) override; - uint64 Write32(uint32 addr, uint32 data) override; - uint64 Peek8(uint32 addr) override; - uint64 Poke8(uint32 addr, uint32 data) 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; void UpdateInfo(TextScreen&, int x, int y) const override; @@ -69,6 +69,7 @@ class LunafbDevice : public PlaneVRAMDev void EmuPutc(uint x, uint y, uint c); void EmuPutc(uint x, uint y, uint c, int rop); void EmuScrollY(uint dy, uint sy, uint h); + void SetBMSEL(uint8 bmsel_) { bmsel = bmsel_; } private: // offset の VRAM が変更されたことを記録する @@ -127,6 +128,9 @@ class LunafbDevice : public PlaneVRAMDev uint fcset[MAX_PLANES] {}; uint32 fcmask[MAX_PLANES] {}; + // ウェイト [nsec] + busdata wait {}; + Monitor monitor { this }; };