--- nono/vm/fdc.h 2026/04/29 17:05:34 1.1.1.12 +++ nono/vm/fdc.h 2026/04/29 17:05:51 1.1.1.13 @@ -11,7 +11,6 @@ #pragma once #include "device.h" -#include "event.h" #include "fixedqueue.h" #include @@ -321,8 +320,8 @@ class FDCDevice : public IODevice void ExecPhase(); void ResultPhase(); - void CommandCallback(Event& ev); - void ResultCallback(Event&); + void CommandCallback(Event *); + void ResultCallback(Event *); void ChangeInterrupt(); @@ -331,9 +330,9 @@ class FDCDevice : public IODevice // データ転送 void XferStart(bool is_write); - void XferStartCallback(Event&); - void XferDataCallback(Event&); - void XferEndCallback(Event&); + void XferStartCallback(Event *); + void XferDataCallback(Event *); + void XferEndCallback(Event *); // FDC コマンド void CmdInvalid(); @@ -371,12 +370,12 @@ class FDCDevice : public IODevice // ポーリング void StartPoll(); - void PollEventCallback(Event&); + void PollEventCallback(Event *); bool PollReady(int); bool ExecSeek(int); // モータ停止用 - void MotorEventCallback(Event&); + void MotorEventCallback(Event *); DECLARE_MONITOR_CALLBACK(MonitorUpdate); void MonitorReg(TextScreen&, @@ -449,9 +448,9 @@ class FDCDevice : public IODevice DMACDevice *dmac {}; PEDECDevice *pedec {}; - Event phase_event { this }; // 状態遷移用 - Event poll_event { this }; // ポーリング用 - Event motor_event { this }; // モータ停止用 + Event *phase_event {}; // 状態遷移用 + Event *poll_event {}; // ポーリング用 + Event *motor_event {}; // モータ停止用 Monitor *monitor {}; };