--- nono/vm/vm_x68k.h 2026/04/29 17:04:32 1.1 +++ nono/vm/vm_x68k.h 2026/04/29 17:04:53 1.1.1.6 @@ -1,43 +1,52 @@ // // nono -// Copyright (C) 2020 isaki@NetBSD.org +// Copyright (C) 2020 nono project +// Licensed under nono-license.txt // #pragma once #include "vm.h" +#include "human68k.h" +#include "xiospace.h" -class VM_X68030 : public VM +class VM_X68030 final : public VM { - typedef VM inherited; + using inherited = VM; public: VM_X68030(); - virtual ~VM_X68030(); + ~VM_X68030() override; // 電源ボタンを押す - virtual void PowerButton(); + void PowerButton() override; // 電源ボタンの状態を取得。オンなら true。 - bool IsPowerButton() const { return power_button; } + bool IsPowerButton() const override { return power_button; } + + // MPU の RESET 命令によるリセット + void ResetByMPU() override; + + // ブートページを切り替える。 + void SwitchBootPage(Device *parent, bool isrom) override; private: // 電源ボタンの状態。オンなら true。 - bool power_button = false; - - // デバイス - std::unique_ptr xiospace; + bool power_button {}; }; -class VM_RXZ : public VM +class VM_RXZ final : public VM { - typedef VM inherited; + using inherited = VM; public: VM_RXZ(); - virtual ~VM_RXZ(); + ~VM_RXZ() override; // 電源ボタンを押す。 - virtual void PowerButton(); + void PowerButton() override; + + // ブートページを切り替える。 + void SwitchBootPage(Device *parent, bool isrom) override; private: - std::unique_ptr human68k; + std::unique_ptr human68k {}; };