chr0m said:
Can someone link to the wad? The mediafire link isn't working
that is not forced NTSC anyway.
Yeah, it is forced NTSC. Here is the method that needs to be modified, with my revision by the end. Most of the method could be removed and replaced with hardcoded NTSC info, but that isn't necessary. I have compiled and tested this, and it forces my PAL games to display properly in NTSC instead of black+white.
CODE
void __Disc_SetVMode(void)
{
ÂÂÂÂGXRModeObj *vmode = NULL;
ÂÂÂÂu32 progressive, tvmode, vmode_reg = 0;
ÂÂÂÂ/* Get video mode configuration */
ÂÂÂÂprogressive = (CONF_GetProgressiveScan() > 0) && VIDEO_HaveComponentCable();
ÂÂÂÂtvmodeÂÂÂÂÂÂ=ÂÂCONF_GetVideo();
ÂÂÂÂ/* Select video mode register */
ÂÂÂÂswitch (tvmode) {
ÂÂÂÂcase CONF_VIDEO_PAL:
ÂÂÂÂÂÂÂÂvmode_reg = (CONF_GetEuRGB60() > 0) ? 5 : 1;
ÂÂÂÂÂÂÂÂbreak;
ÂÂÂÂcase CONF_VIDEO_MPAL:
ÂÂÂÂÂÂÂÂvmode_reg = 4;
ÂÂÂÂÂÂÂÂbreak;
ÂÂÂÂcase CONF_VIDEO_NTSC:
ÂÂÂÂÂÂÂÂvmode_reg = 0;
ÂÂÂÂÂÂÂÂbreak;
ÂÂÂÂ}
ÂÂÂÂ/* Select video mode */
ÂÂÂÂswitch(diskid[3]) {
ÂÂÂÂ/* PAL */
ÂÂÂÂcase 'D':
ÂÂÂÂcase 'F':
ÂÂÂÂcase 'P':
ÂÂÂÂcase 'X':
ÂÂÂÂcase 'Y':
ÂÂÂÂÂÂÂÂif (tvmode != CONF_VIDEO_PAL) {
ÂÂÂÂÂÂÂÂÂÂÂÂvmode_reg = 5;
ÂÂÂÂÂÂÂÂÂÂÂÂvmodeÂÂÂÂ = (progressive) ? &TVNtsc480Prog : &TVEurgb60Hz480IntDf;
ÂÂÂÂÂÂÂÂ}
ÂÂÂÂÂÂÂÂbreak;
ÂÂÂÂ/* NTSC or unknown */
ÂÂÂÂcase 'E':
ÂÂÂÂcase 'J':
ÂÂÂÂÂÂÂÂif (tvmode != CONF_VIDEO_NTSC) {
ÂÂÂÂÂÂÂÂÂÂÂÂvmode_reg = 0;
ÂÂÂÂÂÂÂÂÂÂÂÂvmodeÂÂÂÂ = (progressive) ? &TVNtsc480Prog : &TVNtsc480IntDf;
ÂÂÂÂÂÂÂÂ}
ÂÂÂÂÂÂÂÂbreak;
ÂÂÂÂ}
ÂÂÂÂ/* Force NTSC */
ÂÂÂÂvmode_reg = 0;
ÂÂÂÂvmode = (progressive) ? &TVNtsc480Prog : &TVNtsc480IntDf;
ÂÂÂÂ
ÂÂÂÂ/* Set video mode register */
ÂÂÂÂ*(vu32 *)0x800000CC = vmode_reg;
ÂÂÂÂ/* Set video mode */
ÂÂÂÂif (vmode)
ÂÂÂÂÂÂÂÂVideo_Configure(vmode);
}