--- nono/vm/romemu_luna88k.h 2026/04/29 17:04:55 1.1.1.7 +++ nono/vm/romemu_luna88k.h 2026/04/29 17:05:17 1.1.1.11 @@ -4,10 +4,17 @@ // Licensed under nono-license.txt // +// +// LUNA-88K の ROM エミュレーション +// + #pragma once #include "romemu_luna.h" +class InterruptDevice; +class MPU88xx0Device; + class Luna88kPROMEmuDevice : public LunaPROMEmuDevice { using inherited = LunaPROMEmuDevice; @@ -25,12 +32,14 @@ class Luna88kPROMEmuDevice : public Luna virtual ~Luna88kPROMEmuDevice() override; bool Init() override; - void ResetHard() override; + + // DOS call エミュレーション + bool FLineCallback(MPU88xx0Device *cpu); private: uint32 ROM_Init() override; uint32 ROM_Entry() override; - void GetChar(char asciicode) override; + void ProcessChar(char asciicode) override; void Command() override; void CommandH(const std::vector& arg); @@ -63,8 +72,5 @@ class Luna88kPROMEmuDevice : public Luna // PROMPT_NVRAM_* は nvram コマンドでの確認プロンプト。 int prompt_idx {}; - // デフォルトプロンプト。 - // 本物は "O>" というプロンプトで、何の O か分からんけど(OMRON?)、 - // こっちは nono の頭文字ということにしておく。 - const std::string default_prompt = "N>"; + InterruptDevice *interrupt {}; };