--- nono/vm/dmac.h 2026/04/29 17:05:33 1.1.1.15 +++ nono/vm/dmac.h 2026/04/29 17:05:51 1.1.1.17 @@ -12,7 +12,6 @@ #include "device.h" #include "bus.h" -#include "event.h" #include "fixedqueue.h" #include @@ -20,6 +19,7 @@ class ADPCMDevice; class FDCDevice; class InterruptDevice; class MainbusDevice; +class Syncer; struct DMAC { @@ -301,6 +301,9 @@ class DMACDevice : public IODevice void WriteCCR(DMACChan *chan, uint32 data, uint8 up); void WriteGCR(uint8 data); + // ACT ビットの状態を変更 + void ChangeACT(DMACChan *, bool); + // 割り込み信号線の状態を変更 void ChangeInterrupt(); @@ -310,8 +313,8 @@ class DMACDevice : public IODevice DMACChan *SelectChannel(); // 転送イベントコールバック - void StartCallback(Event& ev); - void TransferCallback(Event& ev); + void StartCallback(Event *); + void TransferCallback(Event *); // ログ出力 void TransferLog(DMACChan *, uint op, busaddr addr, busdata r, uint64 data); @@ -336,8 +339,9 @@ class DMACDevice : public IODevice FDCDevice *fdc {}; InterruptDevice *interrupt {}; MainbusDevice *mainbus {}; + Syncer *syncer {}; - Event event { this }; + Event *event {}; Monitor *monitor {};