fceux
fceux copied to clipboard
PAL region games always automatically starts on NTSC
Playing on Windows 7 x64.
When starting PAL games I always have to manually change the region to PAL.
Even if I change to PAL, close the game and then open again it goes back to NTSC.
I don't know if this is a glitch or a feature that FCEUX is missing so I didn't put a "request" label.

there is a logic to autodetect the PAL games by name. add "(E)" to any of your PAL games to run it as PAL automatically. or use PAL flag in UNIF rom format. because of that logic, region does not keep the same after reboot. it will re-defined based on the rom name at start always.
or you don't like to rename your files?
but yes, there is a problem in code, *_mode_specified set only if command line used, then these vars used to determine whether pal need to be override o not lol what a mess. need to figure out what they wanted to do first before fixing something
Oh, I didn't know about the "(E)" stuff, I usually just rename games to their original titles without (E) (U) (Europe) (USA) (Beta) (Rev A) But if there's no way to fix it now I will just name it with (E), thanks.
Inside the file an iNES 2 header can specify PAL, without having to fall back to looking at the filename.
There is an iNES header editor in the Debug menu, which you can use to switch to 2.0 header version, and then select PAL region. After doing both of these, you can save the new ROM with modified header, which will automatically start in PAL mode.
Renaming the ROM with the (USA) suffix worked to go the other way (i.e. change from PAL to NTSC). I tried the iNES header editor, but it was already set to NTSC, so I'm guessing the logic that checks the name is overriding this.
if the rom has NES 2.0 header, then it will ignore any region indication from the filename, like (PAL), (E).
NES 2.0 region header can be 1:PAL, 0:NTSC, 2:Multi(can use PAL or NTSC but will run in NTSC by default in fceux) and 3:Dendy. FCEUX' NES 2.0 handling only supports running NTSC or PAL though) https://github.com/TASEmulators/fceux/blob/35c5fa36c1deef6dbd6b092e3ac12a29bd5a0b04/src/ines.cpp#L966
other than dendy rom files, this works correctly on my end when the region bit is properly set.