--- nono/vm/vm.h 2026/04/29 17:04:53 1.1.1.7 +++ nono/vm/vm.h 2026/04/29 17:04:59 1.1.1.8 @@ -13,7 +13,6 @@ enum vmtype_t { VMTYPE_NONE = 0, VMTYPE_X68030, VMTYPE_LUNA1, - VMTYPE_RXZ, // Human68k .r .x .z console emulation VMTYPE_LUNA88K, }; // VM 種別 (ビットマスク表現) @@ -21,12 +20,10 @@ enum vmf_t { VMF_NONE = 0, VMF_X68030 = (1 << VMTYPE_X68030), VMF_LUNA1 = (1 << VMTYPE_LUNA1), - VMF_RXZ = (1 << VMTYPE_RXZ), VMF_LUNA88K = (1 << VMTYPE_LUNA88K), - VMF_X68K = VMF_X68030 | VMF_RXZ, VMF_LUNA = VMF_LUNA1 | VMF_LUNA88K, - VMF_M68K = VMF_X68K | VMF_LUNA1, + VMF_M68K = VMF_X68030 | VMF_LUNA1, VMF_M88K = VMF_LUNA88K, VMF_ALL = 0xffffffff, }; @@ -56,11 +53,17 @@ class VM // モーメンタリスイッチの場合は常に false。 virtual bool IsPowerButton() const { return false; } - // ブートページを切り替える。 - virtual void SwitchBootPage(Device *parent, bool isrom); + // ブートページを ROM に切り替える + void SwitchBootPageToROM(Device *parent) { SwitchBootPage(parent, true); } + // ブートページを RAM に切り替える + void SwitchBootPageToRAM(Device *parent) { SwitchBootPage(parent, false); } // MPU の RESET 命令によるリセット (機種ごとに異なるため) virtual void ResetByMPU() { } + + protected: + // ブートページを切り替える (内部用) + virtual void SwitchBootPage(Device *parent, bool isrom); }; extern std::unique_ptr gVM;