--- nono/vm/pio.h 2026/04/29 17:04:42 1.1.1.4 +++ nono/vm/pio.h 2026/04/29 17:04:50 1.1.1.6 @@ -19,7 +19,7 @@ class i8255Device public: i8255Device(); - ~i8255Device() override; + virtual ~i8255Device() override; void ResetHard() override; @@ -63,14 +63,14 @@ class PPIDevice public: PPIDevice(); - ~PPIDevice() override; + virtual ~PPIDevice() override; protected: // BusIO インタフェース static const uint32 NPORT = 4; - uint64 Read(uint32 addr); - uint64 Write(uint32 addr, uint32 data); - uint64 Peek(uint32 addr); + uint64 Read(uint32 offset); + uint64 Write(uint32 offset, uint32 data); + uint64 Peek(uint32 offset); }; class PIO0Device @@ -79,7 +79,7 @@ class PIO0Device using inherited = i8255Device; public: PIO0Device(); - ~PIO0Device() override; + virtual ~PIO0Device() override; bool Init() override; @@ -97,9 +97,9 @@ class PIO0Device protected: // BusIO インタフェース static const uint32 NPORT = 4; - uint64 Read(uint32 addr); - uint64 Write(uint32 addr, uint32 data); - uint64 Peek(uint32 addr); + uint64 Read(uint32 offset); + uint64 Write(uint32 offset, uint32 data); + uint64 Peek(uint32 offset); private: uint32 GetPA() const; @@ -123,16 +123,16 @@ class PIO1Device using inherited = i8255Device; public: PIO1Device(); - ~PIO1Device() override; + virtual ~PIO1Device() override; void ResetHard() override; protected: // BusIO インタフェース static const uint32 NPORT = 4; - uint64 Read(uint32 addr); - uint64 Write(uint32 addr, uint32 data); - uint64 Peek(uint32 addr); + uint64 Read(uint32 offset); + uint64 Write(uint32 offset, uint32 data); + uint64 Peek(uint32 offset); private: void SetPC(int, int) override; @@ -143,5 +143,6 @@ class PIO1Device Event poffevent {}; // 電源オフイベント }; +extern std::unique_ptr gPPI; extern std::unique_ptr gPIO0; extern std::unique_ptr gPIO1;