--- nono/lib/config.cpp 2026/04/29 17:04:54 1.1.1.7 +++ nono/lib/config.cpp 2026/04/29 17:05:08 1.1.1.10 @@ -4,14 +4,15 @@ // Licensed under nono-license.txt // +// +// 設定 +// + #include "config.h" #include "mystring.h" -std::unique_ptr gConfig; - -// -// 設定クラス -// +// グローバル参照用 +Config *gConfig; // コンストラクタ Config::Config() @@ -29,12 +30,23 @@ Config::Config() // [ real, virtual ] Add("clock-sync", "real"); - // デバッガの TCP 待ち受けポート - Add("debugger-port", 0); + // デバッガコンソール + Add("debugger-driver", "none"); + Add("debugger-tcp-port", 0); + // デバッガコンソールの fallback は常に不可とする。hostcom.cpp 参照。 + // "debugger-fallback" // MAC アドレス Add("ethernet-macaddr", "auto"); + // キーボードの入力モード + Add("hostkbd-input", "char"); + + // シリアルポートのホスト側設定 + Add("hostcom-driver", "none"); + Add("hostcom-fallback", 0); + Add("hostcom-tcp-port", 9998); + // ネットワークのホスト側設定。 Add("hostnet-driver", "auto"); Add("hostnet-fallback", 0); @@ -42,11 +54,24 @@ Config::Config() Add("hostnet-bpf-ifname", "auto"); Add("hostnet-tap-devpath", "auto"); + // キーボードの接続 + Add("keyboard-connect", 1); + // LUNA の DIPSW (1 が UP、0 が DOWN) // 初期値は機種によって異なるため pio.cpp で設定している。 Add("luna-dipsw1"); Add("luna-dipsw2"); + // LUNA の RTC(MK48T02) がうるう年でない 1970 をエポックとして + // 設定しているので、そちらに合わせてうるう年を補正する + Add("luna-adjust-misused-epoch", 1); + + // LUNA ビデオボードプレーン数 + Add("luna-video-plane", 1); + + // m88100 の別名ニーモニックを併記する。 + Add(".m88k-altname", 0); + // モニタウィンドウの更新頻度 [Hz] Add("monitor-rate", 20); @@ -74,6 +99,11 @@ Config::Config() // RTC のデバッグ用オプション。 Add(".rtc-force-fixed", 0); + Add(".rtc-date"); + Add(".rtc-time"); + + // RTC の epoch。初期値は各 VM クラスで設定している。 + Add("rtc-epoch-year"); // ステータスパネルを表示する。 Add("show-statuspanel", 1); @@ -83,6 +113,9 @@ Config::Config() // 種別とイメージパス Add(string_format("spc0-id%d-image", id)); // エミュレータ的に書き込みを禁止するか + Add(string_format("spc0-id%d-writeignore", id), 0); + // エミュレータ的に書き込みを禁止するか + // (後方互換、十分不要になった頃に削除する) Add(string_format("spc0-id%d-writeprotect", id), 0); // シークタイム [msec] Add(string_format("spc0-id%d-seektime", id), 0); @@ -92,6 +125,7 @@ Config::Config() // デストラクタ Config::~Config() { + gConfig = NULL; } // 項目を追加 (初期状態用)。値は空文字列。 @@ -169,7 +203,8 @@ Config::Update(const std::vector