From 816dc77cb0223189f7ed664de9bcdabdfd79b48a Mon Sep 17 00:00:00 2001 From: tomcw Date: Sat, 27 Jul 2019 19:59:45 +0100 Subject: [PATCH] Only delay certain video modes when not Full-Speed. (Fixes #670) --- source/NTSC.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/NTSC.cpp b/source/NTSC.cpp index 0d2eb052..d168af4f 100644 --- a/source/NTSC.cpp +++ b/source/NTSC.cpp @@ -1895,8 +1895,10 @@ void NTSC_SetVideoTextMode( int cols ) //=========================================================================== void NTSC_SetVideoMode( uint32_t uVideoModeFlags, bool bDelay/*=false*/ ) { - if (bDelay) + if (bDelay && !g_bFullSpeed) { + // (GH#670) NB. if g_bFullSpeed then NTSC_VideoUpdateCycles() won't be called on the next 6502 opcode. + // - Instead it's called when !g_bFullSpeed (eg. drive motor off), then the stale g_uNewVideoModeFlags will get used for NTSC_SetVideoMode()! g_bDelayVideoMode = true; g_uNewVideoModeFlags = uVideoModeFlags; return;