--- nono/vm/scc.h 2026/04/29 17:04:36 1.1.1.3 +++ nono/vm/scc.h 2026/04/29 17:04:56 1.1.1.6 @@ -9,8 +9,7 @@ #include "device.h" #include "upd7201.h" -class SCCDevice - : public uPD7201Device +class SCCDevice : public uPD7201Device { using inherited = uPD7201Device; private: @@ -18,22 +17,24 @@ class SCCDevice public: SCCDevice(); - ~SCCDevice() override; - - void ResetHard() override; + virtual ~SCCDevice() override; // XXX 親の同名メソッドと名前分けたほうがいいか uint8 ReadCtrl(struct SIO::channel *chan) override; void WriteCtrl(struct SIO::channel *chan, uint32 data) override; - void Interrupt() override; + // 割り込みアクノリッジ + int InterruptAcknowledge(); 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 Interrupt() override; }; extern std::unique_ptr gSCC;