fix: clk western sms bios answers latin america

CLK reads every export cartridge as Europe or USA and boots the western
BIOS for any region but Japan (StaticAnalyser.cpp:49-66,
MasterSystem.cpp:137-140). The tag named brazil without its parent, so
--region mx dropped the BIOS from the Batocera pack.
This commit is contained in:
Abdessamad Derraz committed 2026-11-05 11:51:53 +01:00
1 parent f5140aad0c
commit 34ef0cda1d
2 files changed
+7 -2

No files matched your search

+2 -2
View File
@@ -712,12 +712,12 @@ files:
path: MasterSystem/bios.sms
system: sega-mastersystem
description: "European/US Master System BIOS"
region: [north-america, europe, oceania, brazil]
region: [north-america, latin-america, europe, oceania]
size: 8192
crc32: "0072ed54"
required: false
note: "Optional. Boots cartridge directly if absent. Loaded for every region but Japan."
source_ref: "Machines/Utility/ROMCatalogue.cpp:764-771, Machines/MasterSystem/MasterSystem.cpp:137-140, Analyser/Static/Sega/Target.hpp:24-29"
source_ref: "Machines/Utility/ROMCatalogue.cpp:764-771, Machines/MasterSystem/MasterSystem.cpp:137-140, Analyser/Static/Sega/Target.hpp:24-29, Analyser/Static/Sega/StaticAnalyser.cpp:49-66"
- name: japanese-bios.sms
path: MasterSystem/japanese-bios.sms
+5
View File
@@ -509,6 +509,11 @@ class OneCodeOneRegionAnswer(unittest.TestCase):
profiles = common.load_emulator_profiles(self.PROFILES)
bios_sms = next(e for e in profiles["clk"]["files"] if e["name"] == "bios.sms")
self.assertIn("oceania", bios_sms["region"])
# A Mexican export cartridge is analysed as Europe or USA and boots the
# western BIOS: only Japan selects the other one.
self.assertEqual(
region.rank(region.normalize_declared(bios_sms["region"]), ["mexico"]), 0
)
tagged = {
e["name"]: e.get("region") for e in profiles["kronos"]["files"]
if e.get("archive") == "stvbios.zip" and e["name"].startswith("epr-")