--- nono/vm/sysport.h 2026/04/29 17:04:45 1.1.1.5 +++ nono/vm/sysport.h 2026/04/29 17:04:56 1.1.1.8 @@ -22,10 +22,10 @@ struct SYSPORT int contrast; int rom_wait; // 設定値。ウェイトにする時には +2 する int ram_wait; // 設定値。 + bool key_ctrl; }; -class SysportDevice - : public IODevice +class SysportDevice : public IODevice { using inherited = IODevice; private: @@ -37,13 +37,20 @@ class SysportDevice void ResetHard() override; + // KEYCTRL の状態を取得する + bool GetKeyCtrl() const { + return sysport.key_ctrl; + } + protected: // BusIO インタフェース static const uint32 NPORT = 8; - 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: struct SYSPORT sysport {}; }; + +extern std::unique_ptr gSysport;