1.29.14.0 tweak:

. 50Hz, PAL Monitor: blank out stale pixel (ANSI STORY, end credits)
. Added new test switch: -video-mode=composite-monitor
This commit is contained in:
tomcw 2020-08-18 17:40:56 +01:00
parent d9f3d1e667
commit 24e6b7c132
2 changed files with 9 additions and 3 deletions

View File

@ -1745,6 +1745,10 @@ static bool ProcessCmdLine(LPSTR lpCmdLine)
{
g_cmdLine.newVideoType = VT_COLOR_MONITOR_RGB;
}
else if (strcmp(lpCmdLine, "-video-mode=composite-monitor") == 0) // GH#763
{
g_cmdLine.newVideoType = VT_COLOR_MONITOR_NTSC;
}
else if (strcmp(lpCmdLine, "-video-style=vertical-blend") == 0) // GH#616
{
g_cmdLine.newVideoStyleEnableMask = VS_COLOR_VERTICAL_BLEND;

View File

@ -1769,7 +1769,7 @@ void NTSC_SetVideoMode( uint32_t uVideoModeFlags, bool bDelay/*=false*/ )
}
}
if (GetVideoRefreshRate() == VR_50HZ) // GH#763
if (GetVideoRefreshRate() == VR_50HZ && g_pVideoAddress) // GH#763 / NB. g_pVideoAddress==NULL when called via VideoResetState()
{
if (uVideoModeFlags & VF_TEXT)
{
@ -1779,7 +1779,9 @@ void NTSC_SetVideoMode( uint32_t uVideoModeFlags, bool bDelay/*=false*/ )
if (g_eVideoType == VT_COLOR_MONITOR_NTSC &&
g_pFuncUpdateGraphicsScreen != updateScreenText40 && g_pFuncUpdateGraphicsScreen != updateScreenText80)
{
g_pVideoAddress += 2; // eg. FT's TRIBU demo & ANSI STORY (at "turn the disk over!")
*(uint32_t*)&g_pVideoAddress[0] = 0; // blank out any stale pixel data, eg. ANSI STORY (at end credits)
*(uint32_t*)&g_pVideoAddress[1] = 0;
g_pVideoAddress += 2; // eg. FT's TRIBU demo & ANSI STORY (at "turn the disk over!")
}
}
else
@ -1790,7 +1792,7 @@ void NTSC_SetVideoMode( uint32_t uVideoModeFlags, bool bDelay/*=false*/ )
if (g_eVideoType == VT_COLOR_MONITOR_NTSC &&
(g_pFuncUpdateGraphicsScreen == updateScreenText40 || g_pFuncUpdateGraphicsScreen == updateScreenText80))
{
g_pVideoAddress -= 2; // eg. FT's TRIBU demo & ANSI STORY (at "turn the disk over!")
g_pVideoAddress -= 2; // eg. FT's TRIBU demo & ANSI STORY (at "turn the disk over!")
}
}
}