|
|
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:
1.1.1.9 root 7: //
8: // VM (LUNA)
9: //
10:
1.1 root 11: #pragma once
12:
13: #include "vm.h"
14:
1.1.1.5 root 15: class VM_LUNA : public VM
1.1 root 16: {
1.1.1.2 root 17: using inherited = VM;
1.1.1.12 root 18: protected:
1.1.1.13! root 19: explicit VM_LUNA(const char *name_);
1.1 root 20: public:
1.1.1.12 root 21: ~VM_LUNA() override;
1.1 root 22:
1.1.1.8 root 23: protected:
1.1.1.12 root 24: std::unique_ptr<Device> pDipsw {};
25: std::unique_ptr<Device> pLCD {};
26: std::unique_ptr<Device> pMPU64180 {};
27: std::unique_ptr<Device> pXPbus {};
1.1.1.5 root 28: };
29:
30: class VM_LUNA1 final : public VM_LUNA
31: {
32: using inherited = VM_LUNA;
33: public:
34: VM_LUNA1();
1.1.1.7 root 35: ~VM_LUNA1() override;
1.1.1.13! root 36:
! 37: private:
! 38: std::unique_ptr<Device> pSSG {};
1.1 root 39: };
40:
1.1.1.5 root 41: class VM_LUNA88K final : public VM_LUNA
1.1 root 42: {
1.1.1.5 root 43: using inherited = VM_LUNA;
1.1 root 44: public:
45: VM_LUNA88K();
1.1.1.7 root 46: ~VM_LUNA88K() override;
1.1 root 47: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.