diff --git a/emulators/ares.yml b/emulators/ares.yml index 72ed6c9f..34101ab7 100644 --- a/emulators/ares.yml +++ b/emulators/ares.yml @@ -140,29 +140,30 @@ files: # --- Master System --- - name: bios_U.sms system: master-system - region: [north-america] required: false sha256: "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50" validation: [sha256] description: "Master System BIOS (US)" + note: "Picked for NTSC-U, which the code gives every export cart outside its PAL list through the Boot/Prefer setting; the header does not tell US from Europe (mia/medium/master-system.cpp:54-63, desktop-ui/emulator/emulator.cpp:40-60)." source_ref: "desktop-ui/emulator/master-system.cpp:14, mia/system/master-system.cpp:8 (//optional)" - name: bios_J.sms system: master-system - region: [japan] + region: [japan, south-korea] required: false sha256: "67846e26764bd862f19179294347f7353a4166b62ac4198a5ec32933b7da486e" validation: [sha256] description: "Master System BIOS (Japan)" + note: "Picked for NTSC-J, set when the header lacks the export region code 4 and for a hash list of Japanese and Korean carts (mia/medium/master-system.cpp:62-63, 285-464, 493-512)." source_ref: "desktop-ui/emulator/master-system.cpp:15" - name: bios_E.sms system: master-system - region: [europe] required: false sha256: "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50" validation: [sha256] description: "Master System BIOS (Europe), same binary as US" + note: "Picked for PAL, set by a hash list that also holds Korean and Australian releases or by the Boot/Prefer setting (mia/medium/master-system.cpp:54-275, desktop-ui/emulator/emulator.cpp:40-60)." source_ref: "desktop-ui/emulator/master-system.cpp:16" # --- Mega CD --- @@ -187,11 +188,12 @@ files: - name: bios_CD_E.bin system: mega-cd - region: [europe] + region: [europe, oceania] required: true sha256: "fe608a2a07676a23ab5fd5eee2f53c9e2526d69a28aa16ccd85c0ec42e6933cb" validation: [sha256] description: "Mega CD BIOS (Europe)" + note: "Picked for PAL, set when the boot code matches the EU security block; the code has no other PAL branch for Australian discs (mia/medium/mega-cd.cpp:47-56, desktop-ui/emulator/mega-cd.cpp:70-74)." source_ref: "desktop-ui/emulator/mega-cd.cpp:19" # --- Mega LD (LaserActive SEGA PAC) --- @@ -384,23 +386,23 @@ files: # --- Saturn --- - name: saturn_bios_U.bin system: saturn - region: [north-america] required: true description: "Sega Saturn BIOS (US)" + note: "Never picked from the disc: mia tags every Saturn disc NTSC-J (mia/medium/saturn.cpp:42, desktop-ui/emulator/saturn.cpp:26-30)." source_ref: "desktop-ui/emulator/saturn.cpp:14" - name: saturn_bios_J.bin system: saturn - region: [japan] required: true description: "Sega Saturn BIOS (Japan)" + note: "Picked for every disc: mia tags each Saturn disc NTSC-J without reading it (mia/medium/saturn.cpp:42, desktop-ui/emulator/saturn.cpp:26-30)." source_ref: "desktop-ui/emulator/saturn.cpp:15" - name: saturn_bios_E.bin system: saturn - region: [europe] required: true description: "Sega Saturn BIOS (Europe)" + note: "Never picked from the disc: mia tags every Saturn disc NTSC-J (mia/medium/saturn.cpp:42, desktop-ui/emulator/saturn.cpp:26-30)." source_ref: "desktop-ui/emulator/saturn.cpp:16" # --- SFC subsystem ROMs (loaded as game cartridges, not firmware) --- diff --git a/emulators/beetle_saturn.yml b/emulators/beetle_saturn.yml index c322e3cf..b5867839 100644 --- a/emulators/beetle_saturn.yml +++ b/emulators/beetle_saturn.yml @@ -80,12 +80,12 @@ files: - name: "mpr-17933.bin" system: sega-saturn - region: [north-america, europe, south-korea, asia-pal, brazil, latin-america] + region: [north-america, europe, oceania, south-korea, asia-pal, brazil, latin-america] required: true size: 524288 validation: {core: [size], upstream: [size, sha256]} sha256: "96e106f740ab448cf89f0dd49dfbac7fe5391cb6bd6e14ad5e3061c13330266f" - note: "Saturn BIOS v1.00a (North America and Europe), loaded for every area other than Japan and Asia NTSC, and when no content is loaded. The port checks the size only; the sha256 is the value upstream Mednafen 1.32.1 holds for this filename in its ss.bios_sanity table (src/ss/ss.cpp, BIOSDB)." + note: "Saturn BIOS v1.00a (North America and Europe), loaded for every area other than Japan and Asia NTSC, and when no content is loaded. Disc area E maps to EU_PAL and the code has no Oceania area (disc.c:162-165). The port checks the size only; the sha256 is the value upstream Mednafen 1.32.1 holds for this filename in its ss.bios_sanity table (src/ss/ss.cpp, BIOSDB)." source_ref: "mednafen/ss/ss.c:1847-1848 (region filename), mednafen/ss/ss.c:1867-1873 (open), mednafen/ss/ss.c:1961-1984 (size check, read), mednafen/ss/ss.c:1988 (sha256 for save states), libretro.c:1103 (default area)" - name: "mpr-18811-mx.ic1" diff --git a/emulators/clk.yml b/emulators/clk.yml index f9afdcbb..e78e38e7 100644 --- a/emulators/clk.yml +++ b/emulators/clk.yml @@ -744,31 +744,28 @@ files: path: MSX/msx-japanese.rom system: microsoft-msx description: "Japanese MSX BIOS" - region: [japan] size: 32768 crc32: "ee229390" required: false - note: "Alternative to msx.rom for Japanese region" + note: "Alternative to msx.rom for the Japan region, which the analyser never sets; only the user picks it (Analyser/Static/MSX/Target.hpp:34, Analyser/Static/MSX/StaticAnalyser.cpp:217-219)." source_ref: "Machines/Utility/ROMCatalogue.cpp:785-792" - name: msx-american.rom path: MSX/msx-american.rom system: microsoft-msx description: "American MSX BIOS" - region: [north-america] size: 32768 required: false - note: "Alternative to msx.rom for American region" + note: "Alternative to msx.rom for the USA region, which the analyser sets whenever no tape is loaded (Analyser/Static/MSX/StaticAnalyser.cpp:217-219, Machines/MSX/MSX.cpp:250-259)." source_ref: "Machines/Utility/ROMCatalogue.cpp:793-800" - name: msx-european.rom path: MSX/msx-european.rom system: microsoft-msx description: "European MSX BIOS" - region: [europe] size: 32768 required: false - note: "Alternative to msx.rom for European region" + note: "Alternative to msx.rom for the Europe region, which the analyser sets whenever a tape is loaded or the user picks (Analyser/Static/MSX/StaticAnalyser.cpp:217-219, Machines/MSX/MSX.cpp:261-269)." source_ref: "Machines/Utility/ROMCatalogue.cpp:801-808" - name: disk.rom @@ -1146,99 +1143,90 @@ files: path: Vic20/characters-english.bin system: commodore-vic20 description: "English-language VIC-20 character ROM" - region: [north-america, europe] size: 4096 crc32: "83e032a6" required: true - note: "Required for English region" + note: "Loaded for the default PAL and the NTSC targets, which the file name or TheC64 tags choose (Machines/Commodore/Vic-20/Vic20.cpp:325-333, Analyser/Static/Commodore/StaticAnalyser.cpp:350-380)." source_ref: "Machines/Utility/ROMCatalogue.cpp:1226-1233" - name: kernel-pal.bin path: Vic20/kernel-pal.bin system: commodore-vic20 description: "English-language PAL VIC-20 kernel ROM" - region: [europe] size: 8192 crc32: "4be07cb4" required: true - note: "Required for English PAL region" + note: "Default kernel, replaced by the NTSC one when the file name holds ntsc or the TheC64 tag tn (Analyser/Static/Commodore/Target.hpp:67, Analyser/Static/Commodore/StaticAnalyser.cpp:350-380, Machines/Commodore/Vic-20/Vic20.cpp:325-329)." source_ref: "Machines/Utility/ROMCatalogue.cpp:1234-1241" - name: kernel-ntsc.bin path: Vic20/kernel-ntsc.bin system: commodore-vic20 description: "English-language NTSC VIC-20 kernel ROM" - region: [north-america] size: 8192 crc32: "e5e7c174" required: true - note: "Required for English NTSC region" + note: "Picked when the file name holds ntsc or the TheC64 tag tn (Analyser/Static/Commodore/StaticAnalyser.cpp:350-352, 375-377, Machines/Commodore/Vic-20/Vic20.cpp:330-333)." source_ref: "Machines/Utility/ROMCatalogue.cpp:1242-1249" - name: characters-danish.bin path: Vic20/characters-danish.bin system: commodore-vic20 description: "Danish VIC-20 character ROM" - region: [denmark] size: 4096 crc32: "7fc11454" required: false - note: "Required for Danish region" + note: "Required for the Danish region, which only the user picks; the analyser sets American or European alone (Analyser/Static/Commodore/StaticAnalyser.cpp:350-380, Machines/Commodore/Vic-20/Vic20.cpp:334-345)." source_ref: "Machines/Utility/ROMCatalogue.cpp:1250-1257" - name: kernel-danish.bin path: Vic20/kernel-danish.bin system: commodore-vic20 description: "Danish VIC-20 kernel ROM" - region: [denmark] size: 8192 crc32: "02adaf16" required: false - note: "Required for Danish region" + note: "Required for the Danish region, which only the user picks; the analyser sets American or European alone (Analyser/Static/Commodore/StaticAnalyser.cpp:350-380, Machines/Commodore/Vic-20/Vic20.cpp:334-345)." source_ref: "Machines/Utility/ROMCatalogue.cpp:1258-1265" - name: characters-japanese.bin path: Vic20/characters-japanese.bin system: commodore-vic20 description: "Japanese VIC-20 character ROM" - region: [japan] size: 4096 crc32: "fcfd8a4b" required: false - note: "Required for Japanese region" + note: "Required for the Japanese region, which only the user picks; the analyser sets American or European alone (Analyser/Static/Commodore/StaticAnalyser.cpp:350-380, Machines/Commodore/Vic-20/Vic20.cpp:334-345)." source_ref: "Machines/Utility/ROMCatalogue.cpp:1266-1273" - name: kernel-japanese.bin path: Vic20/kernel-japanese.bin system: commodore-vic20 description: "Japanese VIC-20 kernel ROM" - region: [japan] size: 8192 crc32: "336900d7" required: false - note: "Required for Japanese region" + note: "Required for the Japanese region, which only the user picks; the analyser sets American or European alone (Analyser/Static/Commodore/StaticAnalyser.cpp:350-380, Machines/Commodore/Vic-20/Vic20.cpp:334-345)." source_ref: "Machines/Utility/ROMCatalogue.cpp:1274-1281" - name: characters-swedish.bin path: Vic20/characters-swedish.bin system: commodore-vic20 description: "Swedish VIC-20 character ROM" - region: [sweden] size: 4096 crc32: "d808551d" required: false - note: "Required for Swedish region" + note: "Required for the Swedish region, which only the user picks; the analyser sets American or European alone (Analyser/Static/Commodore/StaticAnalyser.cpp:350-380, Machines/Commodore/Vic-20/Vic20.cpp:334-345)." source_ref: "Machines/Utility/ROMCatalogue.cpp:1282-1289" - name: kernel-swedish.bin path: Vic20/kernel-swedish.bin system: commodore-vic20 description: "Swedish VIC-20 kernel ROM" - region: [sweden] size: 8192 crc32: "b2a60662" required: false - note: "Required for Swedish region" + note: "Required for the Swedish region, which only the user picks; the analyser sets American or European alone (Analyser/Static/Commodore/StaticAnalyser.cpp:350-380, Machines/Commodore/Vic-20/Vic20.cpp:334-345)." source_ref: "Machines/Utility/ROMCatalogue.cpp:1290-1297" # ------------------------------------------------------- diff --git a/emulators/genesis_plus_gx.yml b/emulators/genesis_plus_gx.yml index 68c9949c..f844c792 100644 --- a/emulators/genesis_plus_gx.yml +++ b/emulators/genesis_plus_gx.yml @@ -47,9 +47,9 @@ files: - name: bios_CD_E.bin system: sega-megacd - region: [europe] + region: [europe, oceania] required: true - note: "Mega CD (PAL) boot ROM. Loaded for REGION_EUROPE." + note: "Mega CD (PAL) boot ROM. Loaded for REGION_EUROPE, set by security byte 0x64 at 0x20b, the only PAL branch for Australian discs (core/loadrom.c:1065-1069)." source_ref: "core/loadrom.c:412" - name: bios_CD_J.bin @@ -71,9 +71,8 @@ files: - name: bios_E.sms system: sega-mastersystem - region: [europe] required: false - note: "Master System (PAL) boot ROM. Snail maze / Sonic built in." + note: "Master System (PAL) boot ROM. Snail maze / Sonic built in. REGION_EUROPE comes only from CRC lists of Codemasters and PAL-timing games, Brazilian ones included, or the PAL option (core/cart_hw/sms_cart.c:167-171, 245-264, core/loadrom.c:1161-1164)." source_ref: "core/loadrom.c:514" - name: bios_J.sms diff --git a/emulators/genesis_plus_gx_wide.yml b/emulators/genesis_plus_gx_wide.yml index b399ba78..dbb69a64 100644 --- a/emulators/genesis_plus_gx_wide.yml +++ b/emulators/genesis_plus_gx_wide.yml @@ -34,9 +34,10 @@ files: - name: bios_CD_E.bin system: sega-megacd - region: [europe] + region: [europe, oceania] required: true size: 131072 + note: "Loaded for REGION_EUROPE, set by security byte 0x64 at 0x20b, the only PAL branch for Australian discs (core/loadrom.c:1059-1063)." source_ref: "core/loadrom.c:411" - name: bios_CD_J.bin @@ -54,8 +55,8 @@ files: - name: bios_E.sms system: sega-mastersystem - region: [europe] required: false + note: "REGION_EUROPE comes only from CRC lists of Codemasters and PAL-timing games, Brazilian ones included, or the PAL option (core/cart_hw/sms_cart.c:163-167, 239-258, core/loadrom.c:1155-1158)." source_ref: "core/loadrom.c:515" - name: bios_J.sms diff --git a/emulators/jgenesis.yml b/emulators/jgenesis.yml index 2be8b8d9..06f8f1b1 100644 --- a/emulators/jgenesis.yml +++ b/emulators/jgenesis.yml @@ -87,11 +87,12 @@ files: - name: "bios_CD_E.bin" system: sega-megacd description: "Mega CD BIOS (Europe)" - region: [europe] + region: [europe, oceania] required: true size: 131072 validation: [size] source_ref: "frontend/jgenesis-native-driver/src/mainloop/genesis.rs:238-244 (eu_bios_path), backend/segacd-core/src/api.rs:77-79" + note: "Selected when the header area at 0x1F0 holds E and not U or J, as Australian discs do (backend/genesis-components/src/cartridge.rs:361-376, backend/segacd-core/src/api.rs:339-369)." - name: "bios_CD_J.bin" system: sega-megacd diff --git a/emulators/kronos.yml b/emulators/kronos.yml index 078439c3..fddaf009 100644 --- a/emulators/kronos.yml +++ b/emulators/kronos.yml @@ -158,8 +158,8 @@ files: - name: "epr-17954a.ic8" archive: stvbios.zip system: sega-stv - region: [europe] required: false + note: "Picked by the kronos_stv_favorite_region option, Europe by default, among the BIOS regions the set accepts (yabause/src/ctrl/src/stv.c:2435, 2562-2564)." size: 524288 crc32: "f7722da3" validation: [crc32] diff --git a/emulators/md-emu.yml b/emulators/md-emu.yml index a3033764..70cd472b 100644 --- a/emulators/md-emu.yml +++ b/emulators/md-emu.yml @@ -124,7 +124,7 @@ files: - name: bios_CD_E.bin system: sega-megacd - region: [europe] + region: [europe, oceania] required: true agnostic: true size: 131072 diff --git a/emulators/mednafen.yml b/emulators/mednafen.yml index 08c07a70..ef474ca9 100644 --- a/emulators/mednafen.yml +++ b/emulators/mednafen.yml @@ -322,13 +322,13 @@ files: - name: "mpr-17933.bin" system: sega-saturn description: "Saturn BIOS (North America and Europe)" - region: [north-america, europe, south-korea, asia-pal, brazil, latin-america] + region: [north-america, europe, oceania, south-korea, asia-pal, brazil, latin-america] required: true size: 524288 sha256: "96e106f740ab448cf89f0dd49dfbac7fe5391cb6bd6e14ad5e3061c13330266f" validation: [size, sha256] source_ref: "ss/ss.cpp:1431-1434, 1437-1445, 2442, 1461" - note: "Default of ss.bios_na_eu." + note: "Default of ss.bios_na_eu, read for every area but Japan and Asia NTSC; disc area E maps to EU_PAL and no Oceania area exists (ss/ss.cpp:1096, 1431-1434)." - name: "sega1003.bin" system: sega-saturn @@ -355,13 +355,13 @@ files: - name: "sega_100a.bin" system: sega-saturn description: "Saturn BIOS v1.00a (North America and Europe)" - region: [north-america, europe, south-korea, asia-pal, brazil, latin-america] + region: [north-america, europe, oceania, south-korea, asia-pal, brazil, latin-america] required: false size: 524288 sha256: "87293093fad802fcff31fcab427a16caff1acbc5184899b8383b360fd58efb73" validation: [size, sha256] source_ref: "ss/ss.cpp:1460, 1447-1492" - note: "Recognised alternative for ss.bios_na_eu." + note: "Recognised alternative for ss.bios_na_eu, read for every area but Japan and Asia NTSC; disc area E maps to EU_PAL and no Oceania area exists (ss/ss.cpp:1096, 1431-1434)." - name: "epr-20091.ic8" system: sega-stv @@ -391,7 +391,7 @@ files: size: 524288 validation: [size] source_ref: "ss/ss.cpp:1420-1428, 1437-1445, 2446" - note: "Default of ss.bios_stv_eu." + note: "Default of ss.bios_stv_eu, read for area EU_PAL, which only the ST-V database (Critter Crusher) or ss.region_default=eu sets (ss/ss.cpp:1424-1425, 1674-1676, ss/db.cpp:644-645)." - name: "mpr-18811-mx.ic1" system: sega-saturn diff --git a/emulators/picodrive.yml b/emulators/picodrive.yml index 871de38d..dadd71c1 100644 --- a/emulators/picodrive.yml +++ b/emulators/picodrive.yml @@ -108,17 +108,17 @@ files: - name: "eu_mcd2_9306.bin" system: sega-megacd variant_group: "mega-cd-bios" - region: [europe] + region: [europe, oceania] priority: 1 required: true size: 131072 - note: "EU Mega CD Model 2 BIOS (June 1993). First in EU search order." + note: "EU Mega CD Model 2 BIOS (June 1993). First in EU search order, used when security byte 0x20b is 0x64, the only PAL branch for Australian discs (pico/media.c:243-247, platform/libretro/libretro.c:1306-1308)." source_ref: "platform/libretro/libretro.c:1276" - name: "eu_mcd2_9303.bin" system: sega-megacd variant_group: "mega-cd-bios" - region: [europe] + region: [europe, oceania] priority: 2 required: false size: 131072 @@ -128,7 +128,7 @@ files: - name: "eu_mcd1_9210.bin" system: sega-megacd variant_group: "mega-cd-bios" - region: [europe] + region: [europe, oceania] priority: 3 required: false size: 131072 @@ -138,7 +138,7 @@ files: - name: "bios_CD_E.bin" system: sega-megacd variant_group: "mega-cd-bios" - region: [europe] + region: [europe, oceania] priority: 4 required: false size: 131072