--- nono/vm/vm_luna.h 2026/04/29 17:04:56 1.1.1.7 +++ nono/vm/vm_luna.h 2026/04/29 17:05:29 1.1.1.13 @@ -4,6 +4,10 @@ // Licensed under nono-license.txt // +// +// VM (LUNA) +// + #pragma once #include "vm.h" @@ -11,23 +15,16 @@ class VM_LUNA : public VM { using inherited = VM; + protected: + explicit VM_LUNA(const char *name_); public: - VM_LUNA(); - virtual ~VM_LUNA() override; - - bool Init() override; - - // 電源ボタンを押す。 - void PowerButton() override; - - // ブートページを切り替える。 - void SwitchBootPage(Device *parent, bool isrom) override; + ~VM_LUNA() override; protected: - // デバイスマップから devtable を作成 - void MakeDevtable(const uint8 *maptable); - - std::unique_ptr prom {}; + std::unique_ptr pDipsw {}; + std::unique_ptr pLCD {}; + std::unique_ptr pMPU64180 {}; + std::unique_ptr pXPbus {}; }; class VM_LUNA1 final : public VM_LUNA @@ -38,7 +35,7 @@ class VM_LUNA1 final : public VM_LUNA ~VM_LUNA1() override; private: - static const uint8 maptable[256]; + std::unique_ptr pSSG {}; }; class VM_LUNA88K final : public VM_LUNA @@ -47,7 +44,4 @@ class VM_LUNA88K final : public VM_LUNA public: VM_LUNA88K(); ~VM_LUNA88K() override; - - private: - static const uint8 maptable[256]; };