--- nono/vm/crtc.cpp 2026/04/29 17:04:29 1.1.1.2 +++ nono/vm/crtc.cpp 2026/04/29 17:04:31 1.1.1.3 @@ -34,7 +34,7 @@ CRTCDevice::ResetHard() // すぐに垂直帰線期間を開始する vdisp_event.time = 0; vdisp_event.code = 1; - gScheduler->AddEvent(&vdisp_event); + vdisp_event.Start(); } uint64 @@ -168,7 +168,7 @@ CRTCDevice::Peek8(uint32 addr) uint32 an2 = addr - devaddr; switch (an2) { - case CRTC::R00 ... (CRTC::R23 * 2): + case CRTC::R00 ... (CRTC::R23 * 2 + 1): if ((an2 & 1) == 0) { return crtc.r[an2 / 2] >> 8; } else { @@ -208,5 +208,5 @@ CRTCDevice::VDispCallback(int arg) vdisp_event.time = 1778_usec; } vdisp_event.code = 1 - arg; - gScheduler->AddEvent(&vdisp_event); + vdisp_event.Start(); }