mirror of
https://github.com/Polprzewodnikowy/N64FlashcartMenu.git
synced 2024-11-21 18:19:19 +01:00
Improve ROM markets Enumeration (#39)
<!--- Provide a general summary of your changes in the Title above --> ## Description <!--- Describe your changes in detail --> Based on research and trial and error, this makes the information more appropriate. ## Motivation and Context <!--- What does this sample do? What problem does it solve? --> <!--- If it fixes/closes/resolves an open issue, please link to the issue here --> ## How Has This Been Tested? <!-- (if applicable) --> <!--- Please describe in detail how you tested your sample/changes. --> <!--- Include details of your testing environment, and the tests you ran to --> <!--- see how your change affects other areas of the code, etc. --> ## Screenshots <!-- (if appropriate): --> ## Types of changes <!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: --> - [x] Improvement (non-breaking change that adds a new feature) - [ ] Bug fix (fixes an issue) - [ ] Breaking change (breaking change) - [ ] Config and build (change in the configuration and build system, has no impact on code or features) ## Checklist: <!--- Go over all the following points, and put an `x` in all the boxes that apply. --> <!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! --> - [ ] My code follows the code style of this project. - [ ] My change requires a change to the documentation. - [ ] I have updated the documentation accordingly. - [ ] I have added tests to cover my changes. - [ ] All new and existing tests passed. <!--- It would be nice if you could sign off your contribution by replacing the name with your GitHub user name and GitHub email contact. --> Signed-off-by: GITHUB_USER <GITHUB_USER_EMAIL>
This commit is contained in:
parent
ed1fef88be
commit
887d83ae5f
@ -224,7 +224,7 @@ uint8_t rom_db_match_expansion_pak(rom_header_t rom_header) {
|
||||
|
||||
// Space Station Silicon Valley has known issues on NTSC.
|
||||
// We only check for the known working market here.
|
||||
if ( (rom_header.metadata.unique_identifier == *(uint16_t *) "SV") && (rom_header.metadata.destination_market != MARKET_PAL_GENERIC)) {
|
||||
if ( (rom_header.metadata.unique_identifier == *(uint16_t *) "SV") && (rom_header.metadata.destination_market != MARKET_EUROPEAN_BASIC)) {
|
||||
return DB_MEMORY_EXPANSION_FAULTY;
|
||||
}
|
||||
|
||||
|
@ -114,54 +114,48 @@ typedef enum {
|
||||
N64_ALECK64 = 'Z'
|
||||
} rom_media_type_t;
|
||||
|
||||
/** @brief ROM market type enumeration. */
|
||||
/** @brief ROM market region & language type enumeration. */
|
||||
typedef enum {
|
||||
/** @brief The ROM is designed for all regions. */
|
||||
MARKET_ALL = 'A',
|
||||
/** @brief The ROM is designed for Brazil (probably PAL-M). */
|
||||
MARKET_BRAZIL = 'B',
|
||||
/** @brief The ROM is designed for China (probably PAL-D). */
|
||||
MARKET_CHINA = 'C',
|
||||
/** @brief The ROM is designed for Germany (probably PAL). */
|
||||
MARKET_GERMANY = 'D',
|
||||
/** @brief The ROM is designed for USA. (probably NTSC-M) */
|
||||
MARKET_USA = 'E',
|
||||
/** @brief The ROM is designed for France (probably PAL). */
|
||||
MARKET_FRANCE = 'F',
|
||||
/** @brief The ROM is designed for Japanese and "English" languages. */
|
||||
MARKET_JAPANESE_MULTI = 'A', // 1080 Snowboarding JPN is the only ROM that uses this? possibily a mistake, or the fact it also includes American English!.
|
||||
/** @brief The ROM is designed for Brazil (Portuguese) language. */
|
||||
MARKET_BRAZILIAN = 'B',
|
||||
/** @brief The ROM is designed for Chinese language. */
|
||||
MARKET_CHINESE = 'C',
|
||||
/** @brief The ROM is designed for German language. */
|
||||
MARKET_GERMAN = 'D',
|
||||
/** @brief The ROM is designed for North American "English" language. */
|
||||
MARKET_NORTH_AMERICA = 'E',
|
||||
/** @brief The ROM is designed for French language. */
|
||||
MARKET_FRENCH = 'F',
|
||||
/** @brief The ROM is designed for a NTSC Gateway 64. */
|
||||
MARKET_GATEWAY64_NTSC = 'G',
|
||||
/** @brief The ROM is designed for Netherlands (probably PAL). */
|
||||
MARKET_NETHERLANDS = 'H',
|
||||
/** @brief The ROM is designed for Italy (probably PAL). */
|
||||
MARKET_ITALY = 'I',
|
||||
/** @brief The ROM is designed for Japan. (probably NTSC-J) */
|
||||
MARKET_JAPAN = 'J',
|
||||
/** @brief The ROM is designed for Korea. */
|
||||
MARKET_KOREA = 'K',
|
||||
/** @brief The ROM is designed for Dutch language. */
|
||||
MARKET_DUTCH = 'H',
|
||||
/** @brief The ROM is designed for Italian language. */
|
||||
MARKET_ITALIAN = 'I',
|
||||
/** @brief The ROM is designed for Japanese language. */
|
||||
MARKET_JAPANESE = 'J',
|
||||
/** @brief The ROM is designed for Korean language. */
|
||||
MARKET_KOREAN = 'K',
|
||||
/** @brief The ROM is designed for a PAL Gateway 64. */
|
||||
MARKET_GATEWAY64_PAL = 'L',
|
||||
// MARKET_UNKNOWN_M = 'M',
|
||||
/** @brief The ROM is designed for Canada. */
|
||||
MARKET_CANADA = 'N',
|
||||
// MARKET_UNKNOWN_O = 'O',
|
||||
/** @brief The ROM is designed for all PAL regions. */
|
||||
MARKET_PAL_GENERIC = 'P',
|
||||
// MARKET_UNKNOWN_Q = 'Q',
|
||||
// MARKET_UNKNOWN_R = 'R',
|
||||
/** @brief The ROM is designed for Spain (probably PAL). */
|
||||
MARKET_SPAIN = 'S',
|
||||
// MARKET_UNKNOWN_T = 'T',
|
||||
/** @brief The ROM is designed for Australia (probably PAL). */
|
||||
MARKET_AUSTRAILA = 'U',
|
||||
// MARKET_UNKNOWN_V = 'V',
|
||||
/** @brief The ROM is designed for Scandinavia. */
|
||||
MARKET_SCANDINAVAIA = 'W',
|
||||
/** @brief The ROM is designed for a PAL market (just unsure which and why). */
|
||||
MARKET_PAL_X = 'X',
|
||||
/** @brief The ROM is designed for a PAL market (just unsure which and why). */
|
||||
MARKET_PAL_Y = 'Y',
|
||||
/** @brief The ROM is designed for a PAL market (just unsure which and why). */
|
||||
MARKET_PAL_Z = 'Z'
|
||||
/** @brief The ROM is designed for Canada region (English and French) language. */
|
||||
MARKET_CANADIAN = 'N',
|
||||
/** @brief The ROM is designed for European market and languages (must at minimum include English). */
|
||||
MARKET_EUROPEAN_BASIC = 'P', // Sometimes used for Australian region ROMs as well.
|
||||
/** @brief The ROM is designed for Spanish language */
|
||||
MARKET_SPANISH = 'S',
|
||||
/** @brief The ROM is designed for Australia (English) language. */
|
||||
MARKET_AUSTRALIAN = 'U',
|
||||
/** @brief The ROM is designed for Scandinavian (Swedish, Norwegian, Finnish, etc.) languages. */
|
||||
MARKET_SCANDINAVIAN = 'W',
|
||||
/** @brief The ROM is designed for an undefined region and TBD language(s). */
|
||||
MARKET_OTHER_X = 'X', // many EU ROM's, Top Gear Rally (Asia) and HSV Racing (AUS) ROM uses this.
|
||||
/** @brief The ROM is designed for a European region and language(s). */
|
||||
MARKET_OTHER_Y = 'Y', // many EU ROM's uses this.
|
||||
/** @brief The ROM is designed for an undefined region and TBD language(s). */
|
||||
MARKET_OTHER_Z = 'Z' // no known ROM's use this.
|
||||
} rom_destination_market_t;
|
||||
|
||||
|
||||
|
@ -42,45 +42,48 @@ static char *format_rom_media_type (rom_media_type_t media_type) {
|
||||
|
||||
static char *format_rom_destination_market (rom_destination_market_t market_type) {
|
||||
// TODO: These are all assumptions and should be corrected if required.
|
||||
// From http://n64devkit.square7.ch/info/submission/pal/01-01.html
|
||||
switch (market_type) {
|
||||
case MARKET_ALL:
|
||||
return "All";
|
||||
case MARKET_BRAZIL:
|
||||
return "Brazil (MPAL)";
|
||||
case MARKET_CHINA:
|
||||
return "China";
|
||||
case MARKET_GERMANY:
|
||||
return "Germany (PAL)";
|
||||
case MARKET_USA:
|
||||
return "USA (NTSC)";
|
||||
case MARKET_FRANCE:
|
||||
return "France (PAL)";
|
||||
case MARKET_NETHERLANDS:
|
||||
return "Netherlands (PAL)";
|
||||
case MARKET_ITALY:
|
||||
return "Italy (PAL)";
|
||||
case MARKET_JAPAN:
|
||||
return "Japan (NTSC)";
|
||||
case MARKET_KOREA:
|
||||
return "Korea";
|
||||
case MARKET_CANADA:
|
||||
return "Canada";
|
||||
case MARKET_SPAIN:
|
||||
return "Spain (PAL)";
|
||||
case MARKET_AUSTRAILA:
|
||||
return "Austraila (PAL)";
|
||||
case MARKET_SCANDINAVAIA:
|
||||
return "Scandinavaia";
|
||||
case MARKET_JAPANESE_MULTI:
|
||||
return "Japanese & English"; // 1080 Snowboarding JPN
|
||||
case MARKET_BRAZILIAN:
|
||||
return "Brazilian (Portuguese)";
|
||||
case MARKET_CHINESE:
|
||||
return "Chinese";
|
||||
case MARKET_GERMAN:
|
||||
return "German";
|
||||
case MARKET_NORTH_AMERICA:
|
||||
return "American English";
|
||||
case MARKET_FRENCH:
|
||||
return "French";
|
||||
case MARKET_DUTCH:
|
||||
return "Dutch";
|
||||
case MARKET_ITALIAN:
|
||||
return "Italian";
|
||||
case MARKET_JAPANESE:
|
||||
return "Japanese";
|
||||
case MARKET_KOREAN:
|
||||
return "Korean";
|
||||
case MARKET_CANADIAN:
|
||||
return "Canadaian (English & French)";
|
||||
case MARKET_SPANISH:
|
||||
return "Spanish";
|
||||
case MARKET_AUSTRALIAN:
|
||||
return "Australian (English)";
|
||||
case MARKET_SCANDINAVIAN:
|
||||
return "Scandinavian";
|
||||
case MARKET_GATEWAY64_NTSC:
|
||||
return "Gateway (NTSC)";
|
||||
return "LodgeNet/Gateway (NTSC)";
|
||||
case MARKET_GATEWAY64_PAL:
|
||||
return "Gateway (PAL)";
|
||||
case MARKET_PAL_GENERIC:
|
||||
return "Generic (PAL)";
|
||||
case MARKET_PAL_X: // FIXME: some AUS ROM's use this so not only EUR
|
||||
case MARKET_PAL_Y:
|
||||
case MARKET_PAL_Z:
|
||||
return "Unknown (PAL)";
|
||||
return "LodgeNet/Gateway (PAL)";
|
||||
case MARKET_EUROPEAN_BASIC:
|
||||
return "PAL (includes English)"; // Mostly EU but is used on some Australian ROMs
|
||||
case MARKET_OTHER_X: // FIXME: AUS HSV Racing ROM's and Asia Top Gear Rally use this so not only EUR
|
||||
return "Regional (non specific)";
|
||||
case MARKET_OTHER_Y:
|
||||
return "European (non specific)";
|
||||
case MARKET_OTHER_Z:
|
||||
return "Regional (unknown)";
|
||||
default:
|
||||
return "Unknown";
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user