Debugger - Fix #345: wrap and protect debugger's video mode

This commit is contained in:
tomcw
2016-11-06 14:23:23 +00:00
parent c146587b8e
commit 1bb60026a5
6 changed files with 91 additions and 25 deletions
+4 -4
View File
@@ -1129,7 +1129,7 @@ void VideoRedrawScreenAfterFullSpeed(DWORD dwCyclesThisFrame)
void VideoRedrawScreen (void)
{
// NB. Can't rely on g_uVideoMode being non-zero (ie. so it can double up as a flag) since 'non-mixed GR' mode == 0x00.
// NB. Can't rely on g_uVideoMode being non-zero (ie. so it can double up as a flag) since 'GR,PAGE1,non-mixed' mode == 0x00.
VideoRefreshScreen( g_uVideoMode, true );
}
@@ -1193,7 +1193,7 @@ static void VideoFrameBufferAdjust(int& xSrc, int& ySrc, bool bInvertY=false)
ySrc += dy;
}
void VideoRefreshScreen ( int bVideoModeFlags, bool bRedrawWholeScreen /* =false*/ )
void VideoRefreshScreen ( int uRedrawWholeScreenVideoMode /* =0*/, bool bRedrawWholeScreen /* =false*/ )
{
#if defined(_DEBUG) && defined(DEBUG_REFRESH_TIMINGS)
DebugRefresh(0);
@@ -1201,11 +1201,11 @@ void VideoRefreshScreen ( int bVideoModeFlags, bool bRedrawWholeScreen /* =false
if (bRedrawWholeScreen || g_nAppMode == MODE_PAUSED)
{
// bVideoModeFlags set if:
// uVideoModeForWholeScreen set if:
// . MODE_DEBUG : always
// . MODE_RUNNING : called from VideoRedrawScreen(), eg. during full-speed
if (bRedrawWholeScreen)
NTSC_SetVideoMode( bVideoModeFlags );
NTSC_SetVideoMode( uRedrawWholeScreenVideoMode );
NTSC_VideoRedrawWholeScreen();
}