diff --git a/platforms/_registry.yml b/platforms/_registry.yml index ed8ea04f..52924999 100644 --- a/platforms/_registry.yml +++ b/platforms/_registry.yml @@ -535,48 +535,11 @@ platforms: # Windows: names differing only by case land on one file. case_insensitive_fs: true schedule: monthly - cores: - - applewin - - azahar - - beetle_ngp - - beetle_pce - - beetle_pcfx - - beetle_psx - - beetle_saturn - - beetle_vb - - beetle_wswan - - bsnes - - citra - - citra2018 - - citra_canary - - clk - - fbneo - - freechaf - - freeintv - - gambatte - - genesis_plus_gx - - handy - - mame - - melonds - - mgba - - mupen64plus_next - - numero - - o2em - - opera - - panda3ds - - picodrive - - ppsspp - - prboom - - prosystem - - puae - - quicknes - - sameboy - - snes9x - - stella - - trident - - vecx - - vice_x64 - - virtualjaguar + # EmuHawk finds firmware by SHA1 against FirmwareDatabase.FirmwareRecords + # and its cores are its own builds (CoreNames.cs): no libretro profile + # describes what it reads, so the database alone decides, as MiSTer's + # BiosDB does. + cores: [] target_scraper: null target_source: null install: diff --git a/platforms/bizhawk.yml b/platforms/bizhawk.yml index 47645b98..e2cefb4d 100644 --- a/platforms/bizhawk.yml +++ b/platforms/bizhawk.yml @@ -5,33 +5,7 @@ source: "https://raw.githubusercontent.com/TASEmulators/BizHawk/2.11.1/src/BizHa base_destination: Firmware hash_type: sha1 verification_mode: sha1 -cores: -- gambatte -- mgba -- sameboy -- melonds -- snes9x -- bsnes -- beetle_psx -- beetle_saturn -- beetle_pce -- beetle_pcfx -- beetle_wswan -- beetle_vb -- beetle_ngp -- opera -- stella -- picodrive -- ppsspp -- handy -- quicknes -- genesis_plus_gx -- mupen64plus_next -- puae -- prboom -- virtualjaguar -- vice_x64 -- mame +cores: [] systems: sega-32x: files: diff --git a/scripts/scraper/bizhawk_scraper.py b/scripts/scraper/bizhawk_scraper.py index f9c6df70..89134c5b 100644 --- a/scripts/scraper/bizhawk_scraper.py +++ b/scripts/scraper/bizhawk_scraper.py @@ -105,38 +105,13 @@ SYSTEM_ID_MAP: dict[str, str] = { "ZXSpectrum": "sinclair-zx-spectrum", } -# Cores that overlap with BizHawk's system coverage -BIZHAWK_CORES = [ - "gambatte", - "mgba", - "sameboy", - "melonds", - "snes9x", - "bsnes", - "beetle_psx", - "beetle_saturn", - "beetle_pce", - "beetle_pcfx", - "beetle_wswan", - "beetle_vb", - "beetle_ngp", - "opera", - "stella", - "picodrive", - "ppsspp", - "handy", - "quicknes", - "genesis_plus_gx", - # 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", - "virtualjaguar", - "vice_x64", - "mame", -] +# EmuHawk looks every firmware up by SHA1 against FirmwareDatabase.FirmwareRecords +# (FirmwareManager.cs), and its cores are its own builds (CoreNames.cs). A +# libretro profile of the same upstream emulator describes what that libretro +# build opens, not what EmuHawk reads: listing them by overlapping systems +# shipped Clock Signal, O2EM, FBNeo and VICE files into Firmware/. The +# database alone decides what the pack carries. +BIZHAWK_CORES: list[str] = [] def _safe_arithmetic(expr: str) -> int: diff --git a/tests/test_scraper_contract.py b/tests/test_scraper_contract.py index bdbbac99..8dfd13b5 100644 --- a/tests/test_scraper_contract.py +++ b/tests/test_scraper_contract.py @@ -451,6 +451,18 @@ class BizHawkRunsAresForN64Only(unittest.TestCase): self.assertNotIn("ares", platform["cores"]) self.assertNotIn("ares", registry["platforms"]["bizhawk"]["cores"]) + def test_no_profile_speaks_for_emuhawk(self): + """EmuHawk finds firmware by SHA1 in its own database. Cores listed + for overlapping systems shipped 400 files it never reads (Clock + Signal, O2EM, FBNeo, VICE).""" + 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.assertEqual(platform["cores"], []) + self.assertEqual(registry["platforms"]["bizhawk"]["cores"], []) + class EveryTargetCoreReachesAProfile(unittest.TestCase): """A target lists cores by their buildbot or package name. A name no