diff --git a/source/gx/config.c b/source/gx/config.c index 72ee7df..b1f393b 100644 --- a/source/gx/config.c +++ b/source/gx/config.c @@ -220,5 +220,17 @@ void config_default(void) /* restore inputs */ input_init(); -} +#ifdef HW_RVL + /* support for progressive mode (480p) if component cable has been detected */ + if (VIDEO_HaveComponentCable()) + { + /* switch into configured video mode */ + vmode = config.v_prog ? &TVNtsc480Prog : &TVNtsc480IntDf; + VIDEO_Configure (vmode); + VIDEO_Flush(); + VIDEO_WaitVSync(); + VIDEO_WaitVSync(); + } +#endif +} diff --git a/source/gx/gui/legal.c b/source/gx/gui/legal.c index 605c07d..57a576b 100644 --- a/source/gx/gui/legal.c +++ b/source/gx/gui/legal.c @@ -128,6 +128,12 @@ void legal () /* switch user progressive mode configuration */ config.v_prog ^= 1; + if (VIDEO_HaveComponentCable()) + { + /* switch video mode only if component cable has been detected */ + vmode = config.v_prog ? &TVNtsc480Prog : &TVNtsc480IntDf; + } + /* play sound to inform user then enter main menu */ ASND_Pause(0); int voice = ASND_GetFirstUnusedVoice(); diff --git a/source/gx/gx_video.c b/source/gx/gx_video.c index dc0cd5e..61da77b 100644 --- a/source/gx/gx_video.c +++ b/source/gx/gx_video.c @@ -1384,13 +1384,6 @@ void gx_video_Stop(void) #ifdef HW_RVL VIDEO_SetTrapFilter(1); VIDEO_SetGamma(VI_GM_1_0); -#else - /* support for progressive mode (480p) if component cable has been detected */ - if (VIDEO_HaveComponentCable()) - { - /* switch into configured video mode */ - vmode = config.v_prog ? &TVNtsc480Prog : &TVNtsc480IntDf; - } #endif /* adjust TV width */ diff --git a/source/gx/main.c b/source/gx/main.c index dd2a432..721e1b3 100644 --- a/source/gx/main.c +++ b/source/gx/main.c @@ -544,7 +544,6 @@ int main (int argc, char *argv[]) gx_audio_Init(); /* initialize genesis plus core */ - legal(); config_default(); history_default(); init_machine(); @@ -567,6 +566,12 @@ int main (int argc, char *argv[]) SILENT = 0; } + /* show disclaimer */ + if (ConfigRequested) + { + legal(); + } + #ifdef HW_RVL /* power button callback */ SYS_SetPowerCallback(PowerOff_cb);