Only delay certain video modes when not Full-Speed. (Fixes #670)

This commit is contained in:
tomcw 2019-07-27 19:59:45 +01:00
parent c03eb54103
commit 816dc77cb0

View File

@ -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;