|
|
1.1 root 1: //
2: // nono
1.1.1.2 root 3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
1.1 root 5: //
6:
7: #pragma once
8:
9: #include "vm.h"
10:
1.1.1.5 root 11: class VM_LUNA : public VM
1.1 root 12: {
1.1.1.2 root 13: using inherited = VM;
1.1 root 14: public:
15: VM_LUNA();
1.1.1.5 root 16: virtual ~VM_LUNA() override;
17:
18: bool Init() override;
1.1 root 19:
20: // 電源ボタンを押す。
1.1.1.2 root 21: void PowerButton() override;
1.1 root 22:
1.1.1.8 ! root 23: protected:
1.1.1.6 root 24: // ブートページを切り替える。
25: void SwitchBootPage(Device *parent, bool isrom) override;
26:
1.1.1.5 root 27: // デバイスマップから devtable を作成
28: void MakeDevtable(const uint8 *maptable);
29:
1.1.1.8 ! root 30: IODevice *ram0 {};
1.1.1.5 root 31: };
32:
33: class VM_LUNA1 final : public VM_LUNA
34: {
35: using inherited = VM_LUNA;
36: public:
37: VM_LUNA1();
1.1.1.7 root 38: ~VM_LUNA1() override;
1.1 root 39:
1.1.1.5 root 40: private:
1.1 root 41: static const uint8 maptable[256];
42: };
43:
1.1.1.5 root 44: class VM_LUNA88K final : public VM_LUNA
1.1 root 45: {
1.1.1.5 root 46: using inherited = VM_LUNA;
1.1 root 47: public:
48: VM_LUNA88K();
1.1.1.7 root 49: ~VM_LUNA88K() override;
1.1 root 50:
51: private:
52: static const uint8 maptable[256];
53: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.