--- nono/vm/areaset.h 2026/04/29 17:04:41 1.1.1.3 +++ nono/vm/areaset.h 2026/04/29 17:05:28 1.1.1.10 @@ -8,25 +8,29 @@ #include "device.h" -class AreaSetDevice - : public IODevice +class X68kIODevice; + +class AreaSetDevice : public IODevice { using inherited = IODevice; - private: - static const int baseaddr = 0xe86000; + + static const uint32 baseaddr = 0xe86000; public: AreaSetDevice(); ~AreaSetDevice() override; - void ResetHard() 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 {}; };