Proper 32X region header processing for licensed games #1824
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Final update for 32X region header processing. All headers should be identified correctly as they were initially defined. Note this was a time of transition and there were two methods of specifying regions. The simpler, older "JUE" option, or the more complicated single byte method (https://segaretro.org/ROM_header#Regional_compatiblity) where an 'E' could have a duel meaning as a result. After reviewing every header for every licensed game (summary at the end), there is a single 32X game where 'E' is used to represent both PAL regions as well as NTSC-U (using the single byte method). The Japanese release uses a '1', meaning the NTSC-J region only, so this was intentional. So this is the only game that needs to be special cased to properly handle this (quite frankly, silly) situation Sega allowed when introducing the newer region markings.
All headers will be honored as they were defined when set by developers. No changes will be made based on names in the ROMs. Ares isn't going to attempt to correct or overwrite headers. For the older method, headers marked as 'JUE' were meant to mean region free - meaning they should work anywhere. For the newer header, 'F' means to allow for all regions. Some games were not released in all regions (they may have had plans to that didn't work out given the short lifespan of the system), just as FIFA which really only saw a European release, so if you want to play at 50Hz then you have to set region preference to Europe prior to loading the game. Otherwise the header is going to be honored and since J is first it will assume NTSC-J by default.
25 games use the newer region markings:
Amazing Spider-Man - Web of Fire (F) BC Racers (F) Blackthorne (4) Brutal (4) Knuckles Chaotix (5, A) Cosmic Carnage (5, A) Darkside (A) Kolibri (F) Metal Head (5, A) Motherbase/Parasquad/Zaxxon (5, A) NBA Jam (F) NFL Quarterback Club (F) Pitfall Mayan Adventure (4) Primal Rage (F) RBI Baseball 95 (4) Sangokushi IV (1) Star Trek - Starfleet Academy (4) Tempo (5) T-Mek (F) Toughman Contest (F) Virtua Fighter (5, A) World Series Baseball (F) WWF Raw (F) WWF Wrestlemania (F)
6 games use the older 'JUE' region headers:
Doom Europe - (E), Japan/USA uses (JU) FIFA (JUE, need to use prefer Europe region for PAL) Golf Magazine Presents - 36 Great Holes Starring Fred Couples - (E) NTSC-J/U release - (JU) Mortal Kombat II (JUE used in both releases, need to use prefer Europe region for PAL version) Motocross - Europe uses (E), USA uses (JU) Star Wars Arcade - Europe is (E), Japan is (J), USA is (UJ)
2 games mixed them up:
Space Harrier Europe is (A), Japan & USA is (JU) Virtua Racing Deluxe - Japan (1), USA (U), PAL regions (A)
And as already mentioned Stellar Assault used '1' for NTSC-J, and 'E' for NTSC-U and both PAL regions.
Fixes: #1066