For the past couple of days i've been playing SM64(USA version) on my PAL Wii and i noticed something odd, the Video was in 480i instead of 480p while my wii was set to 480p in the settings.
I decided to take a look at the intructions of the game itself and well, it seems like it only checks for if component cables are plugged in when tvmode is set to NTSC.
Decompiled output in ghidra:
So i've decided to recode this and managed to get PAL 480p working by extracting the WAD, opened 00000001.app in HxD and changed everything from 0x265C to 0x2747(Length: 0xEC) with my own code which fits perfectly fine (there's even some space left currently filled with nops) due to Nintendo's lack of optimization.
for the ones interested: here's the assembly source with some minor documentation and a precompiled binary
Assembly file is compiled with CodeWrite, other compilers might not work.
I decided to take a look at the intructions of the game itself and well, it seems like it only checks for if component cables are plugged in when tvmode is set to NTSC.
Decompiled output in ghidra:
So i've decided to recode this and managed to get PAL 480p working by extracting the WAD, opened 00000001.app in HxD and changed everything from 0x265C to 0x2747(Length: 0xEC) with my own code which fits perfectly fine (there's even some space left currently filled with nops) due to Nintendo's lack of optimization.
for the ones interested: here's the assembly source with some minor documentation and a precompiled binary
Assembly file is compiled with CodeWrite, other compilers might not work.