--- nono/vm/romimg_x68k.h 2026/04/29 17:04:55 1.1.1.6 +++ nono/vm/romimg_x68k.h 2026/04/29 17:05:10 1.1.1.8 @@ -4,21 +4,25 @@ // Licensed under nono-license.txt // +// +// X680x0 の各種 ROM +// + #pragma once #include "rom.h" class IPLROM1Device; -class IPLROM0Device : public ROMDevice +class IPLROM0Device : public IODevice { - using inherited = ROMDevice; + using inherited = IODevice; public: IPLROM0Device(); virtual ~IPLROM0Device() override; bool Init() override; - void ResetHard() override; + void ResetHard(bool poweron) override; uint64 Read8(uint32 addr) override; uint64 Read16(uint32 addr) override; @@ -26,6 +30,8 @@ class IPLROM0Device : public ROMDevice uint64 Peek8(uint32 addr) override; private: + uint32 ReadDecoder(uint32 addr); + IPLROM1Device *iplrom1 {}; }; @@ -59,7 +65,7 @@ class CGROMDevice : public ROMDevice bool Init() override; }; -extern std::unique_ptr gCGROM; -extern std::unique_ptr gIPLROM0; -extern std::unique_ptr gIPLROM1; -extern std::unique_ptr gIPLROM2; +extern CGROMDevice *gCGROM; +extern IPLROM0Device *gIPLROM0; +extern IPLROM1Device *gIPLROM1; +extern IPLROM2Device *gIPLROM2;