diff --git a/emulators/bizhawk.yml b/emulators/bizhawk.yml index d429f0b2..5bdb42ed 100644 --- a/emulators/bizhawk.yml +++ b/emulators/bizhawk.yml @@ -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 diff --git a/emulators/kega-fusion.yml b/emulators/kega-fusion.yml index 974d935a..a2c60d45 100644 --- a/emulators/kega-fusion.yml +++ b/emulators/kega-fusion.yml @@ -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." diff --git a/tests/test_install.py b/tests/test_install.py index 69718fdc..2e722d69 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -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") diff --git a/tests/test_shipped_content.py b/tests/test_shipped_content.py index 99927ab4..a1229ca9 100644 --- a/tests/test_shipped_content.py +++ b/tests/test_shipped_content.py @@ -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( diff --git a/wiki/tools.md b/wiki/tools.md index 2ccda805..77c7d2ee 100644 --- a/wiki/tools.md +++ b/wiki/tools.md @@ -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: