diff --git a/emulators/ares.yml b/emulators/ares.yml index 324c04c8..afe61555 100644 --- a/emulators/ares.yml +++ b/emulators/ares.yml @@ -168,7 +168,7 @@ files: # --- Mega CD --- # Also used by Mega CD 32X (desktop-ui/emulator/mega-cd-32x.cpp) - - name: bios_CD_U.bin + - name: SegaCDBIOS9303.bin system: mega-cd region: [north-america] required: true @@ -177,7 +177,7 @@ files: description: "Mega CD / Sega CD BIOS (US)" source_ref: "desktop-ui/emulator/mega-cd.cpp:17" - - name: bios_CD_J.bin + - name: jp_mcd2_921222.bin system: mega-cd region: [japan] required: true @@ -186,7 +186,7 @@ files: description: "Mega CD BIOS (Japan)" source_ref: "desktop-ui/emulator/mega-cd.cpp:18" - - name: bios_CD_E.bin + - name: eu_mcd2_9303.bin system: mega-cd region: [europe, oceania] required: true @@ -216,7 +216,7 @@ files: source_ref: "desktop-ui/emulator/mega-ld.cpp:17" # --- MSX --- - - name: MSX.ROM + - name: msx-japanese.rom system: msx required: true sha256: "413a2b601a94b3792e054be2439cc77a1819cceadbfa9542f88d51c7480f2ef0" @@ -225,7 +225,7 @@ files: source_ref: "desktop-ui/emulator/msx.cpp:19" # --- MSX2 --- - - name: MSX2.ROM + - name: MSX2J.rom system: msx2 required: true sha256: "0c672d86ead61a97f49a583b88b7c1905da120645cd44f0c9f2baf4f4631e0b1" diff --git a/tests/test_audit_regressions.py b/tests/test_audit_regressions.py index 20ee27c7..9a78a0e5 100644 --- a/tests/test_audit_regressions.py +++ b/tests/test_audit_regressions.py @@ -5220,5 +5220,32 @@ class VerifyPacksRefusesWhatItCannotDo(unittest.TestCase): self.assertFalse((Path(out) / ".lock").exists()) +class AHashScanningCoreContradictsNoPlatform(unittest.TestCase): + """ares finds its firmware by sha256 in a folder and opens no file by + name, so its entries' names are labels. Labels reused from other dumps + (MSX2.ROM, bios_CD_U.bin) put ares's revision on a path where RetroBat + pins another: slots called RetroBat's declaration wrong, and the pack + dropped ares's own dump behind the platform's.""" + + def test_no_conflict_names_ares(self): + import json + + from scripts import slots + from scripts.common import list_registered_platforms, load_emulator_profiles + + root = ROOT + if not (root / "database.json").exists(): + self.skipTest("database.json is not built") + profiles = load_emulator_profiles(str(root / "emulators")) + db = json.loads((root / "database.json").read_text(encoding="utf-8")) + claimed = [ + (platform, conflict.destination) + for platform in list_registered_platforms(str(root / "platforms"), include_archived=True) + for conflict in slots.scan_platform(platform, profiles, db, str(root / "platforms")) + if any(claim.emulator == "ares" for claim in conflict.profile_claims) + ] + self.assertEqual(claimed, []) + + if __name__ == "__main__": unittest.main()