--- nono/vm/spc.h 2026/04/29 17:04:39 1.1.1.5 +++ nono/vm/spc.h 2026/04/29 17:04:42 1.1.1.6 @@ -166,9 +166,6 @@ class SPCDevice : public SCSIHostDevice // SCTL レジスタへの書き込み void WriteSCTL(uint32); - // SCMD レジスタ値の取得 - uint32 GetSCMD() const; - // SCMD レジスタへの書き込み void WriteSCMD(uint32); @@ -205,23 +202,23 @@ class SPCDevice : public SCSIHostDevice // Select コマンド実行 void SelectCommand(); - void Arbitration1(int code); - void Arbitration2(int code); - void Selection1(int code); - void SelectionTimeout(int code); + void Arbitration1(Event& ev); + void Arbitration2(Event& ev); + void Selection1(Event& ev); + void SelectionTimeout(Event& ev); // SetATN コマンド実行 void SetATNCommand(); // セレクションフェーズで ATN を立てる - bool set_atn_in_selection = false; + bool set_atn_in_selection {}; // Transfer コマンド実行 void TransferCommand(); - void TransferCommandStart(int code); - void HardwareTransfer(int code); + void TransferCommandStart(Event& ev); + void HardwareTransfer(Event& ev); void TransferComplete(); // Transfer コマンド実行中なら true - bool transfer_command_running = false; + bool transfer_command_running {}; // SCSI コマンド void ExecCommand(); @@ -233,7 +230,14 @@ class SPCDevice : public SCSIHostDevice vmtype_t vmtype {}; // SPC に入力されるクロック周期 [nsec] - int t_CLF = 0; + int t_CLF {}; + + // アクセスウェイト + uint32 read_wait {}; + uint32 write_wait {}; + + // 接続中のデバイス(イニシエータ含む)を ID 順に並べたリスト (モニタ用) + std::vector connected_devices {}; // イベント Event event {};