From 83d8f62f68859ee78f3ef15964a2443faca8f76a Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Sat, 17 Oct 2026 10:39:27 +0200 Subject: [PATCH] fix: map bizhawk's ares to its n64 core only BizHawk embeds ares as Ares64, its N64 core, whose 64DD IPL its own FirmwareDatabase declares. Mapped to the whole ares profile, it pulled thirty systems into the BizHawk pack and made slots accuse FirmwareDatabase.cs of a wrong MSX.rom it never declared for ares. --- platforms/_registry.yml | 1 - platforms/bizhawk.yml | 1 - scripts/scraper/bizhawk_scraper.py | 4 +++- tests/test_scraper_contract.py | 15 +++++++++++++++ 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/platforms/_registry.yml b/platforms/_registry.yml index 0d232c1c..019d5506 100644 --- a/platforms/_registry.yml +++ b/platforms/_registry.yml @@ -413,7 +413,6 @@ platforms: schedule: monthly cores: - applewin - - ares - azahar - beetle_ngp - beetle_pce diff --git a/platforms/bizhawk.yml b/platforms/bizhawk.yml index 86dccb06..47645b98 100644 --- a/platforms/bizhawk.yml +++ b/platforms/bizhawk.yml @@ -26,7 +26,6 @@ cores: - handy - quicknes - genesis_plus_gx -- ares - mupen64plus_next - puae - prboom diff --git a/scripts/scraper/bizhawk_scraper.py b/scripts/scraper/bizhawk_scraper.py index e511f22a..a19972dd 100644 --- a/scripts/scraper/bizhawk_scraper.py +++ b/scripts/scraper/bizhawk_scraper.py @@ -127,7 +127,9 @@ BIZHAWK_CORES = [ "handy", "quicknes", "genesis_plus_gx", - "ares", + # Ares64 is BizHawk's N64 core only; its firmware (the 64DD IPL) is in + # FirmwareDatabase.cs. The ares profile's thirty systems are not what + # BizHawk runs ares for. "mupen64plus_next", "puae", "prboom", diff --git a/tests/test_scraper_contract.py b/tests/test_scraper_contract.py index 4602fb6d..31d2a689 100644 --- a/tests/test_scraper_contract.py +++ b/tests/test_scraper_contract.py @@ -331,6 +331,21 @@ class RetroDeckCoresAreItsComponents(unittest.TestCase): self.assertNotIn("cores", registry["platforms"]["retrodeck"]) +class BizHawkRunsAresForN64Only(unittest.TestCase): + """BizHawk embeds ares as Ares64, its N64 core; mapping it to the ares + profile claimed thirty systems and accused FirmwareDatabase.cs of a + wrong MSX.rom it never declared for ares.""" + + def test_ares_is_not_a_bizhawk_core(self): + import yaml + + root = Path(__file__).resolve().parents[1] + platform = yaml.safe_load((root / "platforms" / "bizhawk.yml").read_text()) + registry = yaml.safe_load((root / "platforms" / "_registry.yml").read_text()) + self.assertNotIn("ares", platform["cores"]) + self.assertNotIn("ares", registry["platforms"]["bizhawk"]["cores"]) + + class UnreadableReleaseStopsTheScrape(unittest.TestCase): """A failed tag lookup fell back to master, or to an empty or invented version. BizHawk, RomM, Batocera and Recalbox then wrote a YAML read from