fix: pack only what BizHawk's database names

EmuHawk finds every firmware by SHA1 against FirmwareDatabase.FirmwareRecords, and its cores are its own builds. The registry and the scraper both listed libretro cores whose systems overlap BizHawk's, so the pack shipped Clock Signal, O2EM, FBNeo, VICE and Citra files into Firmware/ that EmuHawk never reads. Both lists are now empty, as MiSTer's are: the database alone decides.
This commit is contained in:
Abdessamad Derraz committed 2026-10-20 00:33:38 +02:00
1 parent 7e23815545
commit 185529ce75
4 files changed
+25 -101

No files matched your search

+5 -42
View File
@@ -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:
+1 -27
View File
@@ -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:
+7 -32
View File
@@ -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:
+12
View File
@@ -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