diff --git a/emulators/ep128emu.yml b/emulators/ep128emu.yml index 80391263..21b019b2 100644 --- a/emulators/ep128emu.yml +++ b/emulators/ep128emu.yml @@ -181,8 +181,8 @@ files: hle_fallback: true system: enterprise-128 has_builtin: true - note: "Hungarian language extension. Auto-loaded when content locale is Hungarian." - source_ref: "core/core.cpp:245-246" + note: "Hungarian language extension. Loaded into segment 4 when the content name carries the TOSEC tag [req zrom]." + source_ref: "core/core.cpp:240-244, core/core.hpp:221-226, core/main.cpp:890-898" - name: epdos16f.rom path: ep128emu/roms/epdos16f.rom @@ -197,14 +197,13 @@ files: - name: brd.rom path: ep128emu/roms/brd.rom - region: [germany] md5: 6af0402906944fd134004b85097c8524 required: false hle_fallback: true system: enterprise-128 has_builtin: true - note: "German (BRD) language extension. Auto-loaded when content locale is German." - source_ref: "core/core.cpp:263-264" + note: "German (BRD) language extension. Loaded into segment 4 when the content name carries the TOSEC tag [req brd-rom]." + source_ref: "core/core.cpp:258-262, core/core.hpp:221-226, core/main.cpp:890-898" # epd19hft.rom and zt19hfnt.rom: listed in .info (firmware8, firmware9) but # NOT referenced in core source code and NOT in builtin_rom map (roms.hpp:46516-46538). diff --git a/emulators/ep128emu_core.yml b/emulators/ep128emu_core.yml index ec582fb4..014f7156 100644 --- a/emulators/ep128emu_core.yml +++ b/emulators/ep128emu_core.yml @@ -101,7 +101,6 @@ files: - name: brd.rom description: Enterprise 128 German language extension path: ep128emu/roms/brd.rom - region: [germany] required: false source_ref: "core/core.cpp:261, roms/roms.hpp:42409-43777" diff --git a/tests/test_region_groups.py b/tests/test_region_groups.py index 691bdb2c..4c2fd580 100644 --- a/tests/test_region_groups.py +++ b/tests/test_region_groups.py @@ -62,6 +62,17 @@ class TheEnterpriseKeepsItsRom(unittest.TestCase): ) self.assertNotIn("bios/brd.rom", drops) + def test_brd_rom_is_chosen_by_the_content_not_a_territory(self): + # core.hpp:221-226: "[req brd-rom]" in the content name selects it, + # whatever the user's country, as "[req zrom]" selects hun.rom. + from common import load_emulator_profiles + + profiles = load_emulator_profiles(str(REPO_ROOT / "emulators")) + for name in ("ep128emu", "ep128emu_core"): + entry = next(f for f in profiles[name]["files"] if f["name"] == "brd.rom") + with self.subTest(profile=name): + self.assertFalse(entry.get("region")) + class TheGroupTakesThePlatformSpelling(unittest.TestCase): def test_a_profile_spelling_maps_to_the_platform_one(self):