--- nono/vm/pio.h 2026/04/29 17:04:39 1.1.1.3 +++ nono/vm/pio.h 2026/04/29 17:04:42 1.1.1.4 @@ -21,6 +21,8 @@ class i8255Device i8255Device(); ~i8255Device() override; + void ResetHard() override; + protected: // コントロールポートの読み出し uint32 ReadCtrl() const { return ctrl; } @@ -107,12 +109,12 @@ class PIO0Device bool dipsw1[8] {}; bool dipsw2[8] {}; - bool int1rq = false; // $01 INT1 割り込み要求 - bool int1en = false; // $04 INT1 割り込み許可 - bool int5rq = false; // $08 INT5 割り込み要求 - bool int5en = false; // $10 INT5 割り込み許可 - bool parity = false; // $40 パリティ有効/無効 - bool xp_reset = false; // $80 XP リセット + bool int1rq {}; // $01 INT1 割り込み要求 + bool int1en {}; // $04 INT1 割り込み許可 + bool int5rq {}; // $08 INT5 割り込み要求 + bool int5en {}; // $10 INT5 割り込み許可 + bool parity {}; // $40 パリティ有効/無効 + bool xp_reset {}; // $80 XP リセット }; class PIO1Device @@ -123,6 +125,8 @@ class PIO1Device PIO1Device(); ~PIO1Device() override; + void ResetHard() override; + protected: // BusIO インタフェース static const uint32 NPORT = 4; @@ -132,10 +136,10 @@ class PIO1Device private: void SetPC(int, int) override; - void PowerOffCallback(int); + void PowerOffCallback(Event& ev); - bool power = false; // パワーダウン (false で電源オフ指示) - bool xp_intreq = false; // XP 割り込み要求。あり(true)なら %0 + bool power {}; // パワーダウン (false で電源オフ指示) + bool xp_intreq {}; // XP 割り込み要求。あり(true)なら %0 Event poffevent {}; // 電源オフイベント };