diff --git a/emulators/dolphin-mmjr.yml b/emulators/dolphin-mmjr.yml index d9c5a874..52189e58 100644 --- a/emulators/dolphin-mmjr.yml +++ b/emulators/dolphin-mmjr.yml @@ -83,13 +83,13 @@ files: system: nintendo-gamecube required: false hle_fallback: true - region: [north-america] + region: [north-america, latin-america] size: 2097152 crc32: ["6dac1f2a", "d5e6feea", "86573808", "667d0b64"] validation: [crc32] on_mismatch: warn description: "GameCube boot ROM, NTSC-U directory" - note: "Read whole into a 2 MiB buffer with no size check, then descrambled from 0x100 for 0x1afe00 bytes. The crc32 gate runs when the IPL itself is booted, and the four non-PAL dumps pass here without complaint." + note: "Read whole into a 2 MiB buffer with no size check, then descrambled from 0x100 for 0x1afe00 bytes. The crc32 gate runs when the IPL itself is booted, and the four non-PAL dumps pass here without complaint. Discs with the Brazilian country code B map to NTSC-U, so Latin America reads this directory too (Source/Core/DiscIO/Enums.cpp:184-186)." source_ref: "source Source/Core/Core/ConfigManager.cpp:861-868, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:99-112, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.h:43, source Source/Core/Core/Boot/Boot.cpp:296-330" - name: IPL.bin diff --git a/emulators/dolphin-mmjr2.yml b/emulators/dolphin-mmjr2.yml index fcce0ee4..82acc01a 100644 --- a/emulators/dolphin-mmjr2.yml +++ b/emulators/dolphin-mmjr2.yml @@ -119,13 +119,13 @@ files: system: nintendo-gamecube required: false hle_fallback: true - region: [north-america] + region: [north-america, latin-america] size: 2097152 crc32: ["6dac1f2a", "d5e6feea", "86573808", "667d0b64"] validation: [crc32] on_mismatch: warn description: "GameCube boot ROM, NTSC-U directory" - note: "Read whole into a 2 MiB buffer with no size check, then descrambled from 0x100 for 0x1afe00 bytes. The crc32 gate runs when the IPL itself is booted and only warns: the four non-PAL dumps, the Brazilian MPAL one included, pass here without complaint." + note: "Read whole into a 2 MiB buffer with no size check, then descrambled from 0x100 for 0x1afe00 bytes. The crc32 gate runs when the IPL itself is booted and only warns: the four non-PAL dumps, the Brazilian MPAL one included, pass here without complaint. Discs with the Brazilian country code B and SYSCONF countries of the Americas map to NTSC-U, so Latin America reads this directory too (Source/Core/DiscIO/Enums.cpp:172-173, 223-225)." source_ref: "source Source/Core/Core/Config/MainSettings.cpp:594-600, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:105-113, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.h:43, upstream Source/Core/Core/Boot/Boot.cpp:408-442, source Source/Core/Core/Boot/Boot.cpp:444-449" - name: IPL.bin diff --git a/emulators/dolphin.yml b/emulators/dolphin.yml index f7a1a468..5c80a76a 100644 --- a/emulators/dolphin.yml +++ b/emulators/dolphin.yml @@ -41,11 +41,11 @@ files: path: "dolphin-emu/Sys/GC/USA/IPL.bin" standalone_path: "GC/USA/IPL.bin" system: nintendo-gamecube - region: [north-america] + region: [north-america, latin-america] size: 2097152 required: false hle_fallback: true - note: "GameCube NTSC-U boot ROM. HLE available but real IPL needed for GC menu boot and accurate fonts" + note: "GameCube NTSC-U boot ROM. HLE available but real IPL needed for GC menu boot and accurate fonts. Discs with the Brazilian country code B and SYSCONF countries of the Americas map to NTSC-U, so Latin America reads this directory too (Source/Core/DiscIO/Enums.cpp:198-199, 249-251)." source_ref: "upstream Source/Core/Common/CommonPaths.h:139, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:108" - name: "IPL.bin" diff --git a/emulators/ishiiruka.yml b/emulators/ishiiruka.yml index fed1148c..225ccc05 100644 --- a/emulators/ishiiruka.yml +++ b/emulators/ishiiruka.yml @@ -37,11 +37,11 @@ files: path: "dolphin-emu/Sys/GC/USA/IPL.bin" standalone_path: "GC/USA/IPL.bin" system: nintendo-gamecube - region: [north-america] + region: [north-america, latin-america] size: 2097152 required: false hle_fallback: true - note: "GameCube NTSC-U boot ROM. HLE available but real IPL needed for GC menu boot and accurate fonts" + note: "GameCube NTSC-U boot ROM. HLE available but real IPL needed for GC menu boot and accurate fonts. Discs with the Brazilian country code B map to NTSC-U, so Latin America reads this directory too (Source/Core/DiscIO/Enums.cpp:162-166)." source_ref: "source Source/Core/Core/ConfigManager.cpp:876-883, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:105" - name: "IPL.bin" diff --git a/emulators/primehack.yml b/emulators/primehack.yml index 7fe78122..71917d14 100644 --- a/emulators/primehack.yml +++ b/emulators/primehack.yml @@ -36,11 +36,11 @@ files: - name: "IPL.bin" path: "GC/USA/IPL.bin" system: nintendo-gamecube - region: [north-america] + region: [north-america, latin-america] size: 2097152 required: false hle_fallback: true - note: "GameCube NTSC-U boot ROM. HLE available but real IPL needed for GC menu boot and accurate fonts" + note: "GameCube NTSC-U boot ROM. HLE available but real IPL needed for GC menu boot and accurate fonts. Discs with the Brazilian country code B and SYSCONF countries of the Americas map to NTSC-U, so Latin America reads this directory too (Source/Core/DiscIO/Enums.cpp:198-199, 249-251)." source_ref: "upstream Source/Core/Common/CommonPaths.h:138, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:109-110" - name: "IPL.bin" diff --git a/emulators/triforce.yml b/emulators/triforce.yml index 675a5b44..a321a743 100644 --- a/emulators/triforce.yml +++ b/emulators/triforce.yml @@ -115,7 +115,7 @@ files: path: "GC/USA/IPL_TRI.bin" description: "Triforce boot ROM, NTSC-U directory" system: sega-triforce - region: [north-america] + region: [north-america, latin-america] size: 2097152 crc32: "d1883221" validation: [crc32] @@ -199,12 +199,12 @@ files: path: "GC/USA/IPL.bin" description: "GameCube NTSC-U boot ROM" system: nintendo-gamecube - region: [north-america] + region: [north-america, latin-america] size: 2097152 required: false hle_fallback: true source_ref: "source Source/Core/Common/CommonPaths.h:148, source Source/Core/Core/Config/MainSettings.cpp:627-630, source Source/Core/Core/HW/EXI/EXI_DeviceIPL.cpp:109-118, 182-183" - note: "Needed to boot the GameCube menu and to take the fonts from a real dump." + note: "Needed to boot the GameCube menu and to take the fonts from a real dump. Discs with the Brazilian country code B and SYSCONF countries of the Americas map to NTSC-U, so Latin America reads this directory too (Source/Core/DiscIO/Enums.cpp:198-199, 249-251)." - name: "IPL.bin" path: "GC/EUR/IPL.bin" diff --git a/tests/test_region.py b/tests/test_region.py index 523951a1..8fe967f9 100644 --- a/tests/test_region.py +++ b/tests/test_region.py @@ -923,6 +923,13 @@ class RegionalRequestsKeepWhatTheCodeLoads(unittest.TestCase): ("genesis_plus_gx", ["brazil", "japan"], "bios_U.sms"), ("genesis_plus_gx_wide", ["australia", "japan"], "bios_U.sms"), ("genesis_plus_gx_expanded", ["brazil", "japan"], "bios_U.sms"), + ("dolphin", ["brazil", "europe"], "dolphin-emu/Sys/GC/USA/IPL.bin"), + ("ishiiruka", ["brazil", "europe"], "dolphin-emu/Sys/GC/USA/IPL.bin"), + ("dolphin-mmjr", ["brazil", "europe"], "GC/USA/IPL.bin"), + ("dolphin-mmjr2", ["brazil", "europe"], "GC/USA/IPL.bin"), + ("primehack", ["brazil", "europe"], "GC/USA/IPL.bin"), + ("triforce", ["brazil", "europe"], "GC/USA/IPL.bin"), + ("triforce", ["brazil", "europe"], "GC/USA/IPL_TRI.bin"), ) def test_each_request_keeps_its_file(self):