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