--- nono/vm/crtc.h 2026/04/29 17:05:33 1.1.1.12 +++ nono/vm/crtc.h 2026/04/29 17:06:00 1.1.1.14 @@ -11,7 +11,6 @@ #pragma once #include "device.h" -#include "event.h" class MFPDevice; class TVRAMDevice; @@ -155,28 +154,34 @@ class CRTCDevice : public IODevice void WriteOp(uint32 data); // 水平同期信号イベント - void HSyncCallback(Event& ev); + void HSyncCallback(Event *); // ラスターコピー完了イベント - void RasterCallback(Event& ev); + void RasterCallback(Event *); // 垂直表示期間イベント - void VDispCallback(Event& ev); + void VDispCallback(Event *); - DECLARE_MONITOR_CALLBACK(MonitorUpdate); + DECLARE_MONITOR_SCREEN(MonitorScreen); struct CRTC crtc {}; // ラスターコピー指示 bool raster_copy {}; + // XXX もうちょっとなんとかする + uint hsync_state {}; + uint vdisp_state {}; + MFPDevice *mfp {}; TVRAMDevice *tvram {}; VideoCtlrDevice *videoctlr {}; - Event hsync_event { this }; - Event vdisp_event { this }; - Event raster_event { this }; + Event *hsync_event {}; + Event *vdisp_event {}; + Event *raster_event {}; Monitor *monitor {}; + + static const busdata wait; };