--- nono/vm/sysport.h 2026/04/29 17:05:11 1.1.1.9 +++ nono/vm/sysport.h 2026/04/29 17:05:18 1.1.1.11 @@ -12,6 +12,14 @@ #include "device.h" +class CGROMDevice; +class IPLROM1Device; +class Keyboard; +class MainRAMDevice; +class NMIDevice; +class ROMDevice; +class SRAMDevice; + struct SYSPORT { static const int CONTRAST = 0; // $E8E001 @@ -27,6 +35,7 @@ struct SYSPORT int rom_wait; // 設定値。ウェイトにする時には +2 する int ram_wait; // 設定値。 bool key_ctrl; + uint pwoff_count; }; class SysportDevice : public IODevice @@ -39,6 +48,7 @@ class SysportDevice : public IODevice SysportDevice(); virtual ~SysportDevice() override; + bool Init() override; void ResetHard(bool poweron) override; // KEYCTRL の状態を取得する @@ -55,6 +65,16 @@ class SysportDevice : public IODevice private: struct SYSPORT sysport {}; + + CGROMDevice *cgrom {}; + IPLROM1Device *iplrom1 {}; + ROMDevice *iplrom2 {}; + Keyboard *keyboard {}; + MainRAMDevice *mainram {}; + NMIDevice *nmi {}; + SRAMDevice *sram {}; }; -extern SysportDevice *gSysport; +static inline SysportDevice *GetSysportDevice() { + return Object::GetObject(OBJ_SYSPORT); +}