--- nono/vm/fdc.h 2026/04/29 17:05:30 1.1.1.11 +++ nono/vm/fdc.h 2026/04/29 17:05:51 1.1.1.13 @@ -11,9 +11,7 @@ #pragma once #include "device.h" -#include "event.h" #include "fixedqueue.h" -#include "monitor.h" #include class DMACDevice; @@ -322,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(); @@ -332,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(); @@ -372,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&, @@ -450,11 +448,11 @@ 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 { this }; + Monitor *monitor {}; }; static inline FDCDevice *GetFDCDevice() {