--- nono/vm/crtc2.h 2026/04/29 17:05:24 1.1.1.10 +++ nono/vm/crtc2.h 2026/04/29 17:05:55 1.1.1.14 @@ -11,9 +11,9 @@ #pragma once #include "device.h" -#include "event.h" -class Renderer; +class LunafbDevice; +class VideoRenderer; class CRTC2Device : public IODevice { @@ -28,21 +28,25 @@ class CRTC2Device : public IODevice protected: // BusIO インタフェース static const uint32 NPORT = 2; - busdata Read(uint32 offset); - busdata Write(uint32 offset, uint32 data); - busdata Peek(uint32 offset); + busdata ReadPort(uint32 offset); + busdata WritePort(uint32 offset, uint32 data); + busdata PeekPort(uint32 offset); + bool PokePort(uint32 offset, uint32 data); private: // 垂直表示期間イベント - void VDispCallback(Event& ev); + void VDispCallback(Event *); // アドレスレジスタ - int ar {}; + uint ar {}; // レジスタ uint8 reg[40] {}; - Renderer *renderer {}; + uint vdisp_state {}; - Event vdisp_event { this }; + LunafbDevice *lunafb {}; + VideoRenderer *renderer {}; + + Event *vdisp_event {}; };