|
|
1.1 root 1: //
2: // nono
3: // Copyright (C) 2020 nono project
4: // Licensed under nono-license.txt
5: //
6:
1.1.1.4 ! root 7: //
! 8: // LUNA-I の ROM エミュレーション
! 9: //
! 10:
1.1 root 11: #pragma once
12:
13: #include "romemu_luna.h"
14:
15: class Luna1PROMEmuDevice : public LunaPROMEmuDevice
16: {
17: using inherited = LunaPROMEmuDevice;
18:
19: public:
20: Luna1PROMEmuDevice();
21: virtual ~Luna1PROMEmuDevice() override;
22:
23: bool Init() override;
24:
25: private:
26: uint32 ROM_Init() override;
27: uint32 ROM_Entry() override;
28: void ROM_Close() override;
29: void Command() override;
30:
31: void CommandG(const std::vector<std::string>& arg);
32: void CommandGH();
33: void CommandK(const std::vector<std::string>& arg);
34: bool CommandKInput(const std::string& val);
35: void CommandX();
36:
37: // NVRAM
38: bool InitNVRAM();
39: void GetNVRAM(bootinfo_t&);
40:
41: // 'x' コマンドなら true。
42: bool x_executed {};
43:
44: // 'g' コマンドで読み込んだプログラムのエントリポイント。
45: // なければ 0。'x' コマンドで使う。
46: uint32 x_entrypoint {};
47:
48: // プロンプトの状態。
49: // 0 が通常プロンプト。
50: // 1 以降は k コマンドのプロンプトを示す
51: int prompt_idx {};
52: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.