fix: hold the new profiles to the shared checks

BizHawk's NDS firmware slot accepts six dumps, two of which the collection holds, and the profile named one. Kega Fusion's US Mega CD BIOS covers the Americas. Sonic 3 A.I.R. data is installed by Batocera in unpacked form. izApple2 downloads its ProDOS images when a card is added, which is no install. The Lakka list now equals a case-keeping RetroArch install less what Lakka's packages install, and the profile hash contradiction count leaves out entries no pack ships. The pipeline table names step 8b.
This commit is contained in:
Abdessamad Derraz committed 2026-10-20 08:12:03 +02:00
1 parent 274db1322f
commit 9b630a39bb
5 files changed
+30 -8

No files matched your search

+9 -3
View File
@@ -1236,11 +1236,17 @@ files:
system: nintendo-ds
required: false
size: 262144
sha1: "ede9add041614eaa232059c63d8613b83fe4e954"
sha1:
- "ede9add041614eaa232059c63d8613b83fe4e954"
- "2ef20b45d12cf00657d4b1bd37a5cc8506923440"
- "87dae2500e889737af51f4a5b5845770a62482f5"
- "22a7547dbc302bcbfb4005cfb5a2d426d3f85ac6"
- "ae22de59fbf3f35ccfbeacaeba6fa87ac5e7b14b"
- "1cf9e67c2c703bb9961bbcdd39cd2c7e319a803b"
validation: [size, sha1]
description: "NDS Firmware"
source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:388, 394, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:440-457, emulatorLauncher Generators/Bizhawk.Generator.cs:556"
note: "Firmware slot NDS+firmware. RetroBat names it in FirmwareUserSpecifications when firmware.bin exists in the bios folder."
source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:384-395, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:440-457, emulatorLauncher Generators/Bizhawk.Generator.cs:556"
note: "Firmware slot NDS+firmware, which accepts six dumps: three likely good and three known hacks. RetroBat names it in FirmwareUserSpecifications when firmware.bin exists in the bios folder."
- name: "NDS_Firmware_2.bin"
system: nintendo-ds
+1 -1
View File
@@ -53,7 +53,7 @@ files:
- name: us_scd1_9210.bin
aliases: [bios_CD_U.bin]
system: sega-megacd
region: [north-america]
region: [north-america, latin-america]
required: true
description: "Sega CD (USA) boot ROM"
note: "Opened from SCDUSABIOS when a disc starts in the USA region and read as 128 KB. A failed open shows \"Please configure USA BIOS in OPTIONS->SET CONFIG->SEGA CD\" under the title \"BIOS Not Found\" and writes 60 FE, a branch to itself, at the reset vector, so nothing boots."
+15 -4
View File
@@ -2366,10 +2366,21 @@ class CaseVariants(unittest.TestCase):
self.assertIn("bios.col", variants)
lakka = json.loads((REPO_ROOT / "install" / "lakka.json").read_text())
folded = {e["dest"] for e in manifest["files"]}
self.assertEqual(
{e["dest"] for e in lakka["files"]}, folded | variants,
"a case-keeping RetroArch install equals the Lakka list",
)
# A case-keeping RetroArch install is the Lakka list, less what
# Lakka's own core packages install (installed_on: lakka).
sys.path.insert(0, str(REPO_ROOT / "scripts"))
from common import load_emulator_profiles
installed = {
entry.get("path") or entry.get("name")
for profile in load_emulator_profiles(str(REPO_ROOT / "emulators")).values()
for entry in profile.get("files") or []
if isinstance(entry, dict) and "lakka" in (entry.get("installed_on") or [])
}
lakka_dests = {e["dest"] for e in lakka["files"]}
self.assertEqual(lakka_dests - (folded | variants), set())
self.assertEqual((folded | variants) - lakka_dests - installed, set(),
"a case-keeping RetroArch install equals the Lakka list")
+4
View File
@@ -170,6 +170,10 @@ class ProfileContradictionsAreKnown(unittest.TestCase):
for entry in profile.get("files", []):
if not isinstance(entry, dict) or entry.get("unsourceable"):
continue
# Installed with the emulator on every platform: no pack
# ships it, so the collection's copy answers nobody.
if entry.get("bundled") and not entry.get("not_bundled_on"):
continue
if not _declared_digests(entry):
continue
path, status = common.resolve_local_file(
+1
View File
@@ -45,6 +45,7 @@ Pipeline steps:
| 6/8 | Pack integrity (extract + hash) | `--skip-packs` |
| 7/8 | Generate README | `--skip-docs` |
| 8/8 | Generate site | `--skip-docs` |
| 8b | Render the site with `mkdocs build --strict`, then `validate_site.py`, as the deploy does | `--skip-docs`, or no `mkdocs` installed |
Pipeline flags: