--- nono/vm/areaset.h 2026/04/29 17:05:09 1.1.1.7 +++ nono/vm/areaset.h 2026/04/29 17:05:28 1.1.1.10 @@ -8,26 +8,29 @@ #include "device.h" +class X68kIODevice; + class AreaSetDevice : public IODevice { using inherited = IODevice; - static const int baseaddr = 0xe86000; + static const uint32 baseaddr = 0xe86000; public: AreaSetDevice(); - virtual ~AreaSetDevice() override; + ~AreaSetDevice() override; + bool Init() override; void ResetHard(bool poweron) override; - uint64 Read8(uint32 addr) override; - uint64 Read16(uint32 addr) override; - uint64 Write8(uint32 addr, uint32 data) override; - uint64 Write16(uint32 addr, uint32 data) override; - uint64 Peek8(uint32 addr) override; + protected: + // BusIO インタフェース + static const uint32 NPORT = 1; + busdata ReadPort(uint32 offset); + busdata WritePort(uint32 offset, uint32 data); + busdata PeekPort(uint32 offset); + bool PokePort(uint32 offset, uint32 data); private: - uint8 limit {}; + X68kIODevice *x68kio {}; }; - -extern AreaSetDevice *gAreaSet;