--- nono/vm/vm_x68k.h 2026/04/29 17:04:50 1.1.1.5 +++ nono/vm/vm_x68k.h 2026/04/29 17:05:17 1.1.1.10 @@ -4,11 +4,13 @@ // Licensed under nono-license.txt // +// +// VM (X68030) +// + #pragma once #include "vm.h" -#include "human68k.h" -#include "xiospace.h" class VM_X68030 final : public VM { @@ -17,30 +19,18 @@ class VM_X68030 final : public VM VM_X68030(); ~VM_X68030() override; - // 電源ボタンを押す - void PowerButton() override; - - // 電源ボタンの状態を取得。オンなら true。 - bool IsPowerButton() const override { return power_button; } + bool Init() override; // MPU の RESET 命令によるリセット void ResetByMPU() override; - private: - // 電源ボタンの状態。オンなら true。 - bool power_button {}; -}; - -class VM_RXZ final : public VM -{ - using inherited = VM; - public: - VM_RXZ(); - ~VM_RXZ() override; - - // 電源ボタンを押す。 - void PowerButton() override; + protected: + // ブートページを切り替える。 + void SwitchBootPage(Device *parent, bool isrom) override; private: - std::unique_ptr human68k {}; + std::unique_ptr pExtRAM {}; + std::unique_ptr pHuman68k {}; + std::unique_ptr pIPLROM0 {}; + std::unique_ptr pX68kIO {}; };