From b44d57a32fc358f4f934c6cb43d1b60f90d4065b Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:08:00 +0200 Subject: [PATCH 01/11] fix: pin nicaiemu to the last nicaiemu build The repository was renamed to CoolbarEmu (PR #78) and its buildbot recipe now builds coolbaremu. Hold the profile on 4c9b73f7, the last revision built as nicaiemu, and document the orientation list it reads from the system directory. --- emulators/nicaiemu.yml | 50 +++++++++++++++++++++++------------------- 1 file changed, 28 insertions(+), 22 deletions(-) diff --git a/emulators/nicaiemu.yml b/emulators/nicaiemu.yml index 07cda4f9..e250b0bc 100644 --- a/emulators/nicaiemu.yml +++ b/emulators/nicaiemu.yml @@ -1,10 +1,11 @@ emulator: NicaiEmu type: standalone + libretro core_classification: pure_libretro -source: "https://github.com/AloysHF/NicaiEmu" -upstream: "https://github.com/AloysHF/NicaiEmu" -profiled_date: "2026-09-03" -source_commit: "6f2522b1cbbf1f2ceac4ecc06059c59b73ffd1b0" +source: "https://github.com/AloysHF/CoolbarEmu" +upstream: "https://github.com/AloysHF/CoolbarEmu" +profiled_date: "2026-10-21" +source_commit: "4c9b73f7213b1537d2361a8b1d438857bdcdc798" +pin_frozen: "the nicaiemu core is this revision, the last one whose .gitlab-ci.yml sets CORENAME: nicaiemu. The next master commit, 7496d513 (PR #78, 2026-10-16), renames the project and its crates to CoolbarEmu and the buildbot recipe to CORENAME: coolbaremu, so later commits build the coolbaremu core, described by coolbaremu.yml." core_version: "0.1.0" display_name: "MStar - Nicai (NicaiEmu)" cores: @@ -15,30 +16,35 @@ systems: notes: | Emulator for Nicai/MStar CBE (Cool Bar Engine) phone games written in Rust by AloysHF. The libretro core and the nicaiemu standalone binary - share the nicaiemu-core crate. A .cbe archive is read whole from its - full path (need_fullpath = true, + share the nicaiemu-core crate, and the workspace builds the libretro + core by default (Cargo.toml:13). The repository was renamed from + AloysHF/NicaiEmu to AloysHF/CoolbarEmu with PR #78. + + A .cbe archive is read whole from its full path (need_fullpath = true, crates/nicaiemu-libretro/src/libretro/api.rs:181, then load_machine, - crates/nicaiemu-libretro/src/libretro/api.rs:360-364, then CbeArchive::load, - crates/nicaiemu-core/src/cbe/archive.rs:68-94). Code, scenes, maps, - actors, scripts, images and audio are sections of that archive, and - installed resource packages are parsed from the same bytes - (crates/nicaiemu-core/src/machine/packages.rs). + crates/nicaiemu-libretro/src/libretro/api.rs:359-363, then + CbeArchive::load, crates/nicaiemu-core/src/cbe/archive.rs:68-94). Files + next to the .cbe (pay kernels, save records, update data) are indexed as + the guest filesystem (crates/nicaiemu-core/src/machine/mod.rs:1022-1024, + crates/nicaiemu-core/src/machine/virtual_fs.rs:58-88), and they belong + to the game. Phone services are implemented in Rust - (crates/nicaiemu-core/src/machine/services/). The guest file manager is - an in-memory sandbox that never touches the host disk - (crates/nicaiemu-core/src/machine/virtual_fs.rs:14-30). Text is decoded - as GBK and rasterised from the unifont crate compiled into the core - (crates/nicaiemu-core/src/machine/drawing.rs:58, - crates/nicaiemu-core/src/machine/drawing.rs:709). MIDI resources are + (crates/nicaiemu-core/src/machine/services/). Text is decoded as GBK and + rasterised from the unifont crate compiled into the core (Cargo.toml:35, + crates/nicaiemu-core/src/machine/drawing.rs:1886). MIDI resources are synthesised as decaying sine tones without a sound bank (crates/nicaiemu-core/src/audio_engine.rs:270-275), while WAV and MP3 are decoded with symphonia. - The libretro crate asks the frontend for no directory. The standalone - binary reads and writes only the files named by --load-state and - --save-state (crates/nicaiemu/src/main.rs:162-166). No include_bytes! - data is compiled in. + The only system directory read is nicaiemu_orientation.csv, an optional + user list of CRC32, size and orientation for landscape titles missing + from the built-in table (crates/nicaiemu-libretro/src/libretro/api.rs:45, + crates/nicaiemu-libretro/src/libretro/api.rs:365-399, + crates/nicaiemu-core/src/orientation_profile.rs:132-140). A missing file + is logged and the built-in table applies. The standalone binary reads + and writes only the files named by --load-state and --save-state + (crates/nicaiemu/src/main.rs:160-166). -exclusion_note: "No file is read outside the content: the .cbe archive is the only input, the guest filesystem is in-memory, glyphs come from the unifont crate and MIDI is synthesised without a bank, no directory is requested from the frontend, no data is embedded with include_bytes!, and the .info declares firmware_count = 0." +exclusion_note: "The firmware services are reimplemented in the core, glyphs come from the unifont crate and MIDI is synthesised without a bank. The system directory holds only an optional user-written orientation list, and the .info declares firmware_count = 0." files: [] From 37a5bd05ff900e31ca6965542f211d8b68a26e92 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:10:45 +0200 Subject: [PATCH 02/11] docs: state .info facts in profile notes Ten notes and comments called .info entries phantom, misleading or incorrectly written. They now say what the .info declares and what the code reads, and a prose test refuses those verdicts in profiles. --- emulators/ep128emu.yml | 2 +- emulators/ep128emu_core.yml | 6 +++--- emulators/fbalpha2012_cps1.yml | 4 ++-- emulators/freeintv_ts_overlay.yml | 14 ++++++++------ emulators/mess2015.yml | 2 +- emulators/neocd.yml | 3 ++- emulators/np2kai.yml | 5 +++-- emulators/stella.yml | 4 ++-- emulators/vice_xscpu64.yml | 8 ++++---- emulators/x1.yml | 3 ++- tests/test_prose_style.py | 22 ++++++++++++++++++++++ 11 files changed, 50 insertions(+), 23 deletions(-) diff --git a/emulators/ep128emu.yml b/emulators/ep128emu.yml index b3b2e91d..a5f4f1a3 100644 --- a/emulators/ep128emu.yml +++ b/emulators/ep128emu.yml @@ -206,7 +206,7 @@ files: # epd19hft.rom and zt19hfnt.rom: listed in .info (firmware8, firmware9) but # NOT referenced in core source code and NOT in builtin_rom map (roms.hpp:46516-46538). - # The core never loads these files. Excluded from profile to avoid misleading users. + # The core never loads these files, so the profile does not list them. # ============================================================ # Videoton TVC diff --git a/emulators/ep128emu_core.yml b/emulators/ep128emu_core.yml index 9ea9eb8a..d8153038 100644 --- a/emulators/ep128emu_core.yml +++ b/emulators/ep128emu_core.yml @@ -26,9 +26,9 @@ notes: >- auto-detected and determines machine configuration and ROM selection. Custom ROM mappings are possible via .ep128cfg config files placed in ep128emu/config/ or next to content. The .info declares epd19hft.rom - and zt19hfnt.rom which are phantom entries never referenced in code. - The .info omits epdos16f.rom and exdos14isdos10uk.rom which are used - by the code. SDEXT, ReSID, and MIDI port features are compile-disabled + and zt19hfnt.rom, and no code path in the core opens either file. The + .info does not list epdos16f.rom and exdos14isdos10uk.rom, which the + code loads. SDEXT, ReSID, and MIDI port features are compile-disabled in the libretro build. files: diff --git a/emulators/fbalpha2012_cps1.yml b/emulators/fbalpha2012_cps1.yml index 5f226557..7931815e 100644 --- a/emulators/fbalpha2012_cps1.yml +++ b/emulators/fbalpha2012_cps1.yml @@ -28,8 +28,8 @@ notes: | ROM path: ROMs are loaded from the content directory (g_rom_dir). system_directory (libretro.cpp:2202) is used only for hiscore.dat. - The .info note "BIOS files must be inside the ROM directory" is misleading: - there are no BIOS files for CPS-1. This note is generic across all FBA cores. + The .info note "BIOS files must be inside the ROM directory" is the note + each FB Alpha 2012 .info carries. CPS-1 loads no BIOS file. 244 ROM sets defined (488 STD_ROM_PICK/FN entries = 244 games). is_experimental=false, need_fullpath=true, block_extract=true. diff --git a/emulators/freeintv_ts_overlay.yml b/emulators/freeintv_ts_overlay.yml index 9435413b..44b4171a 100644 --- a/emulators/freeintv_ts_overlay.yml +++ b/emulators/freeintv_ts_overlay.yml @@ -19,12 +19,14 @@ notes: | upstream. The Makefile produces freeintv_libretro (TARGET_NAME = freeintv), and library_name is "freeintv" (src/libretro.c:1413). - The FreeIntvTSOverlay_libretro.info in libretro-core-info has errors: - wrong overlay directory (claims FreeIntvTS_Overlays, code uses - freeintv_overlays), wrong dimensions (claims 300x670, code uses 370x600), - phantom external PNG files (controller_base.png, default.png, - button_swapscreen.png are either embedded in C headers or nonexistent), - and firmware1 key typos (uses firmware0_path/firmware0_opt). + FreeIntvTSOverlay_libretro.info asks for 300x670 overlay PNGs in + FreeIntvTS_Overlays, next to controller_base.png, default.png and + button_swapscreen.png. The code reads + /freeintv_overlays/.png with a 370x600 default + (src/libretro.c, build_overlay_path and overlay_width/overlay_height), + decodes the controller frame and the default keypad from + src/keypad_frame_graphic.h and src/default_keypad_image.h, and opens no + file named button_swapscreen.png. bios_identical_to: freeintv diff --git a/emulators/mess2015.yml b/emulators/mess2015.yml index 5a55c255..9b513f60 100644 --- a/emulators/mess2015.yml +++ b/emulators/mess2015.yml @@ -23,7 +23,7 @@ notes: | Software list support via 375 XML hash files in system_dir/mess2015/hash/. Hash files are bundled in the source repo at /hash/. Not on libretro buildbot. - .info incorrectly says SYSTEMDIR\ume\hash, the actual path is mess2015/hash. + The .info names SYSTEMDIR\ume\hash. The code reads mess2015/hash. hiscore.c integrated (libretro addition, not in upstream MAME 0.159). SAMPLES sound driver disabled in mess.mak. diff --git a/emulators/neocd.yml b/emulators/neocd.yml index fae255d5..6cc0b0d0 100644 --- a/emulators/neocd.yml +++ b/emulators/neocd.yml @@ -31,7 +31,8 @@ notes: | algorithmically, never loaded from file (src/memory.cpp:223-253 generateYZoomData, CRC32 E09E253C), so the core never opens these files. - .info firmware_count=12 but 2 are phantoms (Y-ZOOM), effective count=10. + .info declares firmware_count=12. The core reads 10 of them and builds + the two Y-ZOOM entries itself. .info lists uni-bioscd.rom as "Universe BIOS 3.2" but SHA1 matches Universe BIOS 3.3 (confirmed by GitHub README). diff --git a/emulators/np2kai.yml b/emulators/np2kai.yml index a7b88662..e86f43d0 100644 --- a/emulators/np2kai.yml +++ b/emulators/np2kai.yml @@ -20,8 +20,9 @@ systems: [pc-98] # always has a built-in BIOS simulator. itf.rom loading (bios.c:579) is dead # code behind #else of this define and is never executed. # -# .info declares firmware_count=11 but is incomplete: misses IDE, SCSI, SASI, -# PCI, GPIB ROMs and key.txt. Lists itf.rom which is dead code (phantom). +# .info declares firmware_count=11. It does not list the IDE, SCSI, SASI, +# PCI and GPIB ROMs or key.txt, and it lists itf.rom, which the core never +# loads (see above). # # The fmgen YM2608 rhythm engine (fmgen_opna.cpp:1415-1444) loads WAV files # with uppercase names (2608_BD.WAV), the built-in rhythm engine (rhythmc.c) diff --git a/emulators/stella.yml b/emulators/stella.yml index 97eaa220..eeab8549 100644 --- a/emulators/stella.yml +++ b/emulators/stella.yml @@ -13,6 +13,6 @@ systems: note: | Identical codebase to stella2014-libretro. Both repos share the same HEAD commit and produce a binary reporting library_name "Stella 2014". The - stella_libretro.info incorrectly lists display_version "6.6", while the actual - embedded version is 3.9.3. See stella2014.yml for firmware requirements + stella_libretro.info lists display_version "6.6", and the binary reports + 3.9.3. See stella2014.yml for firmware requirements and KidVid audio files. diff --git a/emulators/vice_xscpu64.yml b/emulators/vice_xscpu64.yml index 1d543706..51625423 100644 --- a/emulators/vice_xscpu64.yml +++ b/emulators/vice_xscpu64.yml @@ -17,10 +17,10 @@ notes: > scpu-dos-*.bin provide the original CMD SuperCPU DOS kernals, loaded from system/vice/SCPU64/ when SuperCPU Kernal core option is changed from Internal. JiffyDOS requires True Drive Emulation enabled and a non-internal SuperCPU - kernal (the internal ROM is not JiffyDOS-compatible). The .info incorrectly - declares JiffyDOS_C64.bin (firmware_count=4), but the C64 kernal replacement is - only loaded for x64/x64sc/x128, never for xscpu64. Correct firmware_count=5 - (2 SCPU64 kernals + 3 JiffyDOS drive DOSes). + kernal (the internal ROM is not JiffyDOS-compatible). The .info declares + JiffyDOS_C64.bin (firmware_count=4). The C64 kernal replacement is loaded + for x64/x64sc/x128 only, so xscpu64 reads 5 files: 2 SCPU64 kernals and 3 + JiffyDOS drive DOSes. files: - name: "scpu-dos-2.04.bin" diff --git a/emulators/x1.yml b/emulators/x1.yml index 69fe9f88..30e3cd07 100644 --- a/emulators/x1.yml +++ b/emulators/x1.yml @@ -40,7 +40,8 @@ systems: # to set the working dir. Fonts may not be found from xmil/ in practice. # # .info declares firmware_count=2 (IPL ROMs only). Font files are not declared. -# .info firmware1_desc incorrectly says "8x8 Font ROM" (actually Turbo IPL ROM). +# .info firmware1_desc reads "8x8 Font ROM". The core loads IPLROM.X1T as the +# Turbo IPL ROM. notes: | Place all files in: /xmil/ diff --git a/tests/test_prose_style.py b/tests/test_prose_style.py index e59c4d22..da1ecaeb 100644 --- a/tests/test_prose_style.py +++ b/tests/test_prose_style.py @@ -194,6 +194,28 @@ class NoToolingNames(unittest.TestCase): self.assertEqual(offenders, [], "\n".join(offenders[:20])) +class ProfilesStateFactsAboutOtherProjects(unittest.TestCase): + """A profile says what another project's file declares and what the code + does, never a verdict on that file. Ten notes and comments in ten profiles + called .info entries "phantom", "misleading" or "incorrectly" written, and + the site rendered them on the emulator pages.""" + + VERDICTS = re.compile( + r"\b(phantoms?|misleading|bogus|typos?|has errors|incorrectly " + r"(?:says|lists|declares|states|claims|names|describes))\b", + re.IGNORECASE, + ) + + def test_profile_prose_and_comments(self): + offenders = [ + f"{path.relative_to(ROOT)}: {line.strip()[:100]}" + for path in sorted((ROOT / "emulators").glob("*.yml")) + for line in _yaml_prose(path.read_text(encoding="utf-8")).splitlines() + if self.VERDICTS.search(line) + ] + self.assertEqual(offenders, [], "\n".join(offenders[:40])) + + class NoClauseSemicolons(unittest.TestCase): def _check(self, files: list[Path], extract) -> None: offenders = [] From 8931d738dcc1fa258eaee5ba86bc691f5309f0e1 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:11:36 +0200 Subject: [PATCH 03/11] fix: read fbalpha2012 hiscore.dat from save dir HiscoreInit opens /hiscore.dat (hiscore.cpp:411). Without load_from the entry was packed at bios/hiscore.dat and took the slot mame2000 reads on RetroDECK, which now gets its sha1-pinned file. --- emulators/fbalpha2012.yml | 1 + emulators/fbalpha2012_cps3.yml | 1 + tests/test_profile_checks.py | 17 +++++++++++++++++ 3 files changed, 19 insertions(+) diff --git a/emulators/fbalpha2012.yml b/emulators/fbalpha2012.yml index c303790b..3fe7320c 100644 --- a/emulators/fbalpha2012.yml +++ b/emulators/fbalpha2012.yml @@ -56,6 +56,7 @@ notes: | files: - name: "hiscore.dat" description: "High score persistence database" + load_from: save_dir required: false system: arcade source_ref: "svn-current/trunk/src/burn/hiscore.cpp:386-394, 411, svn-current/trunk/src/burn/burn.cpp:619" diff --git a/emulators/fbalpha2012_cps3.yml b/emulators/fbalpha2012_cps3.yml index 39489064..5e835ce7 100644 --- a/emulators/fbalpha2012_cps3.yml +++ b/emulators/fbalpha2012_cps3.yml @@ -54,6 +54,7 @@ notes: | files: - name: "hiscore.dat" description: "High score persistence database" + load_from: save_dir required: false source_ref: "svn-current/trunk/src/burn/hiscore.cpp:116-118" note: "Loaded from save directory (g_save_dir)" diff --git a/tests/test_profile_checks.py b/tests/test_profile_checks.py index 2e528be2..c9522dbf 100644 --- a/tests/test_profile_checks.py +++ b/tests/test_profile_checks.py @@ -360,5 +360,22 @@ class ClkMasterSystemBios(unittest.TestCase): self.assertEqual(drops, {"MasterSystem/japanese-bios.sms"}) +class FbAlpha2012HiscoreFromSaveDir(unittest.TestCase): + """HiscoreInit opens /hiscore.dat in the libretro build + (svn-current/trunk/src/burn/hiscore.cpp:411 at 0ce31536, and :116 of the + CPS-3 core at 57f8015c). Read as a system file, the entry took the + bios/hiscore.dat slot that MAME cores read on RetroDECK and RetroBat.""" + + def test_hiscore_is_not_a_system_file(self): + from validation import read_from_system_dir + + for emulator in ("fbalpha2012", "fbalpha2012_cps3"): + with self.subTest(emulator=emulator): + entry = next( + f for f in _profile(emulator)["files"] if f["name"] == "hiscore.dat" + ) + self.assertFalse(read_from_system_dir(entry)) + + if __name__ == "__main__": unittest.main() From 742b1f584f81c046973b45b0def7567cd4813a86 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:12:35 +0200 Subject: [PATCH 04/11] fix: keep sonic3-air notes to the engine's code The three data package notes cited Batocera's sonic3-air.mk:40, a package recipe outside the declared repository, so profile_sync reported it absent for good. The engine data note now cites EngineMain.cpp by its full path. --- emulators/sonic3-air.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/emulators/sonic3-air.yml b/emulators/sonic3-air.yml index 28783a3a..4f76d88e 100644 --- a/emulators/sonic3-air.yml +++ b/emulators/sonic3-air.yml @@ -110,9 +110,10 @@ files: package that cannot be opened closes the application, unless the data is present unpacked (data/images/icon.png exists). The engine then checks for oxygen_icon.png in the engine data and stops when it - is absent (EngineMain.cpp:584-593). Shipped under data/ in the - v26.03.28.0 Windows zip, Linux tar.gz and APK. Batocera installs - data/ unpacked from the source tree instead (sonic3-air.mk:40). + is absent + (Oxygen/oxygenengine/source/oxygen/engine/EngineMain.cpp:584-593). + Shipped under data/ in the v26.03.28.0 Windows zip, Linux tar.gz + and APK. - name: "gamedata.bin" path: "sonic3-air/data/gamedata.bin" @@ -130,8 +131,7 @@ files: rawdata, sprites). A required package that cannot be opened closes the application, unless the data is present unpacked (data/images/icon.png exists). Shipped under data/ in the - v26.03.28.0 Windows zip, Linux tar.gz and APK. Batocera installs - data/ unpacked from the source tree instead (sonic3-air.mk:40). + v26.03.28.0 Windows zip, Linux tar.gz and APK. - name: "audiodata.bin" path: "sonic3-air/data/audiodata.bin" @@ -149,8 +149,7 @@ files: required package that cannot be opened closes the application, unless the data is present unpacked (data/images/icon.png exists). Shipped under data/ in the v26.03.28.0 Windows zip, Linux tar.gz - and APK. Batocera installs data/ unpacked from the source tree - instead (sonic3-air.mk:40). + and APK. - name: "audioremaster.bin" path: "sonic3-air/data/audioremaster.bin" From 7fdf17f77e0ec31d152dea29f131d499a1124214 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:13:34 +0200 Subject: [PATCH 05/11] docs: drop launcher prose from hatari tos.img 8dc485dc moved the TOS names into each platform's launchers: records, but the tos.img notes still described the Batocera, Recalbox and RetroBat generators and an aliases field the entry no longer has. --- emulators/hatari.yml | 13 +------------ emulators/hatarib.yml | 9 +-------- tests/test_profile_checks.py | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 38 insertions(+), 20 deletions(-) diff --git a/emulators/hatari.yml b/emulators/hatari.yml index 3ff4605f..512f7433 100644 --- a/emulators/hatari.yml +++ b/emulators/hatari.yml @@ -151,18 +151,7 @@ files: stand in for the default, and a .gz or archive is unpacked first. The program exits when no image loads and none is picked in the settings dialog (src/options.c:1937-1940, src/configuration.c:489, - src/tos.c:983, src/main.c:191-201). The aliases are the names the platform launchers - give it. Batocera passes tos.img from the BIOS - root, trying the chosen version then each machine's list and the - languages us, uk, de, es, fr, it, nl, ru, se and none in turn - (configgen generators/hatari/hatariGenerator.py:74-75, 158-193). - Recalbox writes atarist/st.img, ste.img, megaste.img, tt.img or - falcon.img by machine, then tos.img, then emutos.img, and emutos.img - for any content whose path names emutos - (configgen generators/hatari/hatariGenerator.py:151-167). RetroBat - writes hatari/tos/ followed by the hatari_tos option, tos206.img, - tos106.img, tos104.img, tos102.img or emutos.img, and tos.img at the - BIOS root otherwise (emulatorlauncher Generators/Hatari.Generator.cs:144-154). + src/tos.c:983, src/main.c:191-201). - name: "tos.sym" path: "tos.sym" diff --git a/emulators/hatarib.yml b/emulators/hatarib.yml index 1af8b986..c5027191 100644 --- a/emulators/hatarib.yml +++ b/emulators/hatarib.yml @@ -113,14 +113,7 @@ files: are selected with the hatarib_tos option. Without tos.img the built-in EmuTOS 192uk is the default. A hatarib_tos value that is not one of the four special values is opened as a path under the system - directory (core/core_config.c:1121-1122), and the aliases are the - names the platform launchers write there. RetroBat sets - hatarib/tos206.img, tos106.img, tos104.img or tos102.img from its - hatarib_tos option (emulatorlauncher Generators/LibRetro.CoreOptions.cs:3167-3195), - and emutos.img in system/hatarib/ is listed by the scan like any other - image. Recalbox sets atarist/st.img, ste.img, megaste.img, tt.img or - falcon.img by machine, falling back to tos.img and the built-in - EmuTOS 1024k (configgen generators/libretro/libretroCores.py:211-229). + directory (core/core_config.c:1121-1122). - name: "etos1024k.img" description: "EmuTOS 1.4 1024 KB image, all machine types" diff --git a/tests/test_profile_checks.py b/tests/test_profile_checks.py index c9522dbf..1666f4c0 100644 --- a/tests/test_profile_checks.py +++ b/tests/test_profile_checks.py @@ -9,6 +9,7 @@ check left out lets through a file the emulator refuses. from __future__ import annotations +import re import sys import tempfile import unittest @@ -377,5 +378,40 @@ class FbAlpha2012HiscoreFromSaveDir(unittest.TestCase): self.assertFalse(read_from_system_dir(entry)) +_LAUNCHER_CODE = re.compile( + r"Generator\.(py|cs)|configgen|emulatorlauncher|libretroCores\.py|LibRetro\.CoreOptions", + re.IGNORECASE, +) + + +def _prose(node: object) -> list[str]: + if isinstance(node, dict): + return [ + text + for key, value in node.items() + for text in ([value] if key in ("note", "notes") and isinstance(value, str) + else _prose(value)) + ] + if isinstance(node, list): + return [text for item in node for text in _prose(item)] + return [] + + +class HatariTosNamesLiveWithTheLaunchers(unittest.TestCase): + """The TOS names Batocera, Recalbox and RetroBat pass to Hatari are + recorded under each platform's launchers: since 8dc485dc. The tos.img + notes kept describing those generators and an aliases field the entry + no longer had.""" + + def test_no_launcher_in_the_profiles(self): + for emulator in ("hatari", "hatarib"): + with self.subTest(emulator=emulator): + profile = _profile(emulator) + tos = next(f for f in profile["files"] if f["name"] == "tos.img") + self.assertNotIn("aliases", tos) + cited = [t for t in _prose(profile) if _LAUNCHER_CODE.search(t)] + self.assertEqual(cited, []) + + if __name__ == "__main__": unittest.main() From 247093d7d245a9630ec59c5990605e8a2d45e969 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:17:34 +0200 Subject: [PATCH 06/11] fix: name BizHawk firmware by its own database BizHawk finds firmware by SHA-1 scan or a user specification, so the profile is found_by content. 38 entries used the names RetroBat's generator writes; they now carry FirmwareDatabase.cs recommended names, and the pooled NDS firmware entry is split per option. --- emulators/bizhawk.yml | 367 ++++++++++++++++------------------- tests/test_profile_checks.py | 23 +++ 2 files changed, 192 insertions(+), 198 deletions(-) diff --git a/emulators/bizhawk.yml b/emulators/bizhawk.yml index 6b221407..b45bee37 100644 --- a/emulators/bizhawk.yml +++ b/emulators/bizhawk.yml @@ -43,6 +43,7 @@ systems: - texas-instruments-ti-83 mode: standalone verification: sha1 +found_by: content notes: | EmuHawk, the BizHawk front end, at release 2.11.1. RetroBat's bizhawk.7z @@ -73,27 +74,14 @@ notes: | ref: src/BizHawk.Client.Common/fwmanager/FirmwareManager.cs:176-222, src/BizHawk.Emulation.Common/Database/FirmwareID.cs:11 - RetroBat sets the global firmware path to its bios folder and, per system, - writes a user specification for each fixed name it finds there. Entries - below carry that name when RetroBat writes one for their slot, with - BizHawk's recommended name as an alias. Every other entry keeps the - recommended name, which is only a label: the scan finds it anywhere under - the bios folder by hash. - ref: emulatorLauncher Generators/Bizhawk.Generator.cs:278-284, 425-711 - - For PlayStation RetroBat prefers psxonpsp660.bin, then ps1_rom.bin, for all - three regions unless the bizhawk_psx_original_bios option is set, and only - then scph5501.bin, scph5500.bin and scph5502.bin. BizHawk rates both of - the first two Unacceptable, so they reach the core only through that - specification. - ref: emulatorLauncher Generators/Bizhawk.Generator.cs:620-665, - src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:511-514 - - RetroBat writes the DSi NAND specifications as "NDS+NAND (EUR)" and so on, - while the slots are keyed NDS+NAND_EUR. Those keys never match, the NAND - slots have no hash to scan for, and the DSi NAND is never loaded under - RetroBat, so no entry is listed for it. - ref: emulatorLauncher Generators/Bizhawk.Generator.cs:568-583, + Each entry is named by the recommended name FirmwareDatabase.cs gives its + file. The name is a label: the scan finds the file anywhere under the + firmware folder by hash, and a user specification can name any file. + Unacceptable and Bad options, and slots with a placeholder hash, are + reached only through a user specification. The six DSi NAND slots + (NDS+NAND_JPN, EUR, USA, AUS, CHN, KOR) are of that kind and are not + listed. + ref: src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:35-71, src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:405-410 required follows what the core does on a default configuration for that @@ -116,48 +104,45 @@ notes: | src/BizHawk.Client.Common/fwmanager/FirmwareManager.cs:19-70 files: - - name: "psxonpsp660.bin" - aliases: ["PSXONPSP660.BIN"] + - name: "PSXONPSP660.BIN" system: sony-playstation required: false size: 524288 sha1: "96880d1ca92a016ff054be5159bb06fe03cb4e14" description: "PSX on PSP" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:474, 511-513, emulatorLauncher Generators/Bizhawk.Generator.cs:623-630" - note: "Unacceptable in all three PSX slots, so the scan never takes it. RetroBat names it for PSX+U, PSX+J and PSX+E when it exists, ahead of every other PlayStation BIOS." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:474, 511-513" + note: "Unacceptable in all three PSX slots, so the scan never takes it. Only a user specification reaches it." - - name: "ps1_rom.bin" - aliases: ["PSX_rom.bin"] + - name: "PSX_rom.bin" system: sony-playstation required: false size: 524288 sha1: "c40146361eb8cf670b19fdc9759190257803cab7" description: "PSX BIOS (Version 5.0 06/23/03 A)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:475, 514, emulatorLauncher Generators/Bizhawk.Generator.cs:632-638" - note: "Unacceptable in PSX+U. RetroBat names it for all three PSX slots when psxonpsp660.bin is absent." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:475, 514" + note: "Unacceptable in PSX+U, so the scan never takes it. Only a user specification reaches it." - name: "aes_keys.txt" system: nintendo-3ds required: false description: "3DS AES keys" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:141, src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Encore.cs:89, emulatorLauncher Generators/Bizhawk.Generator.cs:432-434" - note: "Slot 3DS+aes_keys has a placeholder hash, so only RetroBat's specification of this name reaches it." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:141, src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Encore.cs:89" + note: "Slot 3DS+aes_keys has a placeholder hash, so the scan never finds it. Only a user specification reaches it." - name: "seeddb.bin" system: nintendo-3ds required: false description: "3DS title seed database" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:142, src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Encore.cs:95, emulatorLauncher Generators/Bizhawk.Generator.cs:435-437" - note: "Slot 3DS+seeddb has a placeholder hash, so only RetroBat's specification of this name reaches it." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:142, src/BizHawk.Emulation.Cores/Consoles/Nintendo/3DS/Encore.cs:95" + note: "Slot 3DS+seeddb has a placeholder hash, so the scan never finds it. Only a user specification reaches it." - - name: "dsi_firmware.bin" - aliases: ["DSi_Firmware.bin"] + - name: "DSi_Firmware.bin" system: nintendo-ds required: false size: 131072 description: "DSi firmware" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:402, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:469, emulatorLauncher Generators/Bizhawk.Generator.cs:567-569" - note: "Slot NDS+firmwarei has a placeholder hash, so only RetroBat's specification of this name reaches it. Read in DSi mode with real BIOS files." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:402, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:469" + note: "Slot NDS+firmwarei has a placeholder hash, so the scan never finds it. Only a user specification reaches it. Read in DSi mode with real BIOS files." - name: "32X_G_BIOS.BIN" system: sega-32x @@ -166,8 +151,8 @@ files: sha1: "dbebd76a448447cb6e524ac3cb0fd19fc065d944" validation: [size, sha1] description: "32x 68k BIOS" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:81, src/BizHawk.Emulation.Cores/Consoles/Sega/PicoDrive/PicoDrive.cs:37-42, emulatorLauncher Generators/Bizhawk.Generator.cs:690" - note: "Firmware slot 32X+G. RetroBat names it in FirmwareUserSpecifications when 32X_G_BIOS.BIN exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:81, src/BizHawk.Emulation.Cores/Consoles/Sega/PicoDrive/PicoDrive.cs:37-42" + note: "Firmware slot 32X+G." - name: "32X_M_BIOS.BIN" system: sega-32x @@ -176,8 +161,8 @@ files: sha1: "1e5b0b2441a4979b6966d942b20cc76c413b8c5e" validation: [size, sha1] description: "32x SH2 MASTER BIOS" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:82, src/BizHawk.Emulation.Cores/Consoles/Sega/PicoDrive/PicoDrive.cs:37-42, emulatorLauncher Generators/Bizhawk.Generator.cs:693" - note: "Firmware slot 32X+M. RetroBat names it in FirmwareUserSpecifications when 32X_M_BIOS.BIN exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:82, src/BizHawk.Emulation.Cores/Consoles/Sega/PicoDrive/PicoDrive.cs:37-42" + note: "Firmware slot 32X+M." - name: "32X_S_BIOS.BIN" system: sega-32x @@ -186,8 +171,8 @@ files: sha1: "4103668c1bbd66c5e24558e73d4f3f92061a109a" validation: [size, sha1] description: "32x SH2 SLAVE BIOS" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:83, src/BizHawk.Emulation.Cores/Consoles/Sega/PicoDrive/PicoDrive.cs:37-42, emulatorLauncher Generators/Bizhawk.Generator.cs:696" - note: "Firmware slot 32X+S. RetroBat names it in FirmwareUserSpecifications when 32X_S_BIOS.BIN exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:83, src/BizHawk.Emulation.Cores/Consoles/Sega/PicoDrive/PicoDrive.cs:37-42" + note: "Firmware slot 32X+S." - name: "panafz1.bin" system: 3do @@ -529,27 +514,25 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:167, src/BizHawk.Emulation.Cores/Computers/Amiga/UAE.cs:114-116" note: "Firmware slot Amiga+CD32ext." - - name: "7800 BIOS (U).rom" - aliases: ["A78_NTSC_bios.bin"] + - name: "A78_NTSC_bios.bin" system: atari-7800 required: false size: 4096 sha1: "d9d134bb6b36907c615a594cc7688f7bfcef5b43" validation: [size, sha1] description: "NTSC Bios" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:174, src/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.cs:102, emulatorLauncher Generators/Bizhawk.Generator.cs:460" - note: "Firmware slot A78+Bios_NTSC. RetroBat names it in FirmwareUserSpecifications when 7800 BIOS (U).rom exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:174, src/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.cs:102" + note: "Firmware slot A78+Bios_NTSC." - - name: "7800 BIOS (E).rom" - aliases: ["A78_PAL_BIOS.bin"] + - name: "A78_PAL_BIOS.bin" system: atari-7800 required: false size: 16384 sha1: "5a140136a16d1d83e4ff32a19409ca376a8df874" validation: [size, sha1] description: "PAL Bios" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:175, src/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.cs:101, emulatorLauncher Generators/Bizhawk.Generator.cs:457" - note: "Firmware slot A78+Bios_PAL. RetroBat names it in FirmwareUserSpecifications when 7800 BIOS (E).rom exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:175, src/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.cs:101" + note: "Firmware slot A78+Bios_PAL." - name: "A78_highscore.bin" system: atari-7800 @@ -558,8 +541,8 @@ files: sha1: "a3af676991391a6dd716c79022d4947206b78164" validation: [size, sha1] description: "Highscore Bios" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:176, src/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.cs:100, emulatorLauncher Generators/Bizhawk.Generator.cs:454" - note: "Firmware slot A78+Bios_HSC. RetroBat names it in FirmwareUserSpecifications when A78_highscore.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:176, src/BizHawk.Emulation.Cores/Consoles/Atari/A7800Hawk/A7800Hawk.cs:100" + note: "Firmware slot A78+Bios_HSC." - name: "AppleIIe.rom" system: apple-ii @@ -568,8 +551,8 @@ files: sha1: "b8ea90abe135a0031065e01697c4a3a20d51198b" validation: [size, sha1] description: "Apple II e" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:180, 181, src/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs:43, emulatorLauncher Generators/Bizhawk.Generator.cs:446" - note: "Firmware slot AppleII+AppleIIe. RetroBat names it in FirmwareUserSpecifications when AppleIIe.rom exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:180, 181, src/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs:43" + note: "Firmware slot AppleII+AppleIIe." - name: "AppleIIe_DiskII.rom" system: apple-ii @@ -578,8 +561,8 @@ files: sha1: "d4181c9f046aafc3fb326b381baac809d9e38d16" validation: [size, sha1] description: "Disk II" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:183, 184, src/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs:44, emulatorLauncher Generators/Bizhawk.Generator.cs:443" - note: "Firmware slot AppleII+DiskII. RetroBat names it in FirmwareUserSpecifications when AppleIIe_DiskII.rom exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:183, 184, src/BizHawk.Emulation.Cores/Computers/AppleII/AppleII.cs:44" + note: "Firmware slot AppleII+DiskII." - name: "C64_Kernal.bin" system: commodore-c64 @@ -631,49 +614,45 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:191, src/BizHawk.Emulation.Cores/Computers/Commodore64/C64.cs:256-263, 386" note: "Firmware slot C64+Drive1541II." - - name: "sl131253.bin" - aliases: ["ChannelF_SL31253.rom"] + - name: "ChannelF_SL31253.rom" system: fairchild-channel-f required: true size: 1024 sha1: "81193965a374d77b99b4743d317824b53c3e3c78" validation: [size, sha1] description: "Channel F BIOS (PSU1)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:194, src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs:28, emulatorLauncher Generators/Bizhawk.Generator.cs:468" - note: "Firmware slot ChannelF+ChannelF_sl131253. RetroBat names it in FirmwareUserSpecifications when sl131253.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:194, src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs:28" + note: "Firmware slot ChannelF+ChannelF_sl131253." - - name: "sl131254.bin" - aliases: ["ChannelF_SL31254.rom"] + - name: "ChannelF_SL31254.rom" system: fairchild-channel-f required: true size: 1024 sha1: "8f70d1b74483ba3a37e86cf16c849d601a8c3d2c" validation: [size, sha1] description: "Channel F BIOS (PSU2)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:195, src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs:29, 34, emulatorLauncher Generators/Bizhawk.Generator.cs:471" - note: "Firmware slot ChannelF+ChannelF_sl131254. RetroBat names it in FirmwareUserSpecifications when sl131254.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:195, src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs:29, 34" + note: "Firmware slot ChannelF+ChannelF_sl131254." - - name: "sl90025.bin" - aliases: ["ChannelF_sl90025.rom"] + - name: "ChannelF_sl90025.rom" system: fairchild-channel-f required: false size: 1024 sha1: "759e2ed31fbde4a2d8daf8b9f3e0dffebc90dae2" validation: [size, sha1] description: "Channel F II BIOS (PSU1)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:196, src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs:33, emulatorLauncher Generators/Bizhawk.Generator.cs:474" - note: "Firmware slot ChannelF+ChannelF_sl90025. RetroBat names it in FirmwareUserSpecifications when sl90025.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:196, src/BizHawk.Emulation.Cores/Consoles/Fairchild/ChannelF/ChannelF.cs:33" + note: "Firmware slot ChannelF+ChannelF_sl90025." - - name: "colecovision.rom" - aliases: ["Coleco_Bios.bin"] + - name: "Coleco_Bios.bin" system: coleco-colecovision required: true size: 8192 sha1: "45bedc4cbdeac66c7df59e9e599195c778d86a92" validation: [size, sha1] description: "Bios" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:199, src/BizHawk.Emulation.Cores/Consoles/Coleco/ColecoVision.cs:33, emulatorLauncher Generators/Bizhawk.Generator.cs:482" - note: "Firmware slot Coleco+Bios. RetroBat names it in FirmwareUserSpecifications when colecovision.rom exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:199, src/BizHawk.Emulation.Cores/Consoles/Coleco/ColecoVision.cs:33" + note: "Firmware slot Coleco+Bios." - name: "doom2.wad" category: game_data @@ -686,16 +665,15 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:202, src/BizHawk.Emulation.Cores/Computers/Doom/DSDA.cs:85-99" note: "Firmware slot Doom+Doom2_IWAD. The DSDA core asks for it only when none of the loaded WADs is an IWAD, and stops the load when it is missing." - - name: "gba_bios.bin" - aliases: ["GBA_bios.rom"] + - name: "GBA_bios.rom" system: nintendo-gba required: false size: 16384 sha1: "300c20df6731a33952ded8c436f7f186d25d3492" validation: [size, sha1] description: "Bios (World)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:205, 208, src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/MGBAHawk.cs:28, emulatorLauncher Generators/Bizhawk.Generator.cs:504" - note: "Firmware slot GBA+Bios. RetroBat names it in FirmwareUserSpecifications when gba_bios.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:205, 208, src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/MGBAHawk.cs:28" + note: "Firmware slot GBA+Bios." - name: "GBA_bios_Debug-(J).rom" system: nintendo-gba @@ -707,16 +685,15 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:206, 209, src/BizHawk.Emulation.Cores/Consoles/Nintendo/GBA/MGBAHawk.cs:28" note: "Firmware slot GBA+Bios. Alternative to the preferred option of the slot." - - name: "gb_bios.bin" - aliases: ["GB_dmg.bin"] + - name: "GB_dmg.bin" system: nintendo-gb required: false size: 256 sha1: "4ed31ec6b0b175bb109c0eb5fd3d193da823339f" validation: [size, sha1] description: "Game Boy Boot Rom" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:213, src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs:133-143, emulatorLauncher Generators/Bizhawk.Generator.cs:490" - note: "Firmware slot GB+World. RetroBat names it in FirmwareUserSpecifications when gb_bios.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:213, src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs:133-143" + note: "Firmware slot GB+World." - name: "GB_mgb.bin" system: nintendo-gb @@ -728,38 +705,35 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:216, src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs:133-143" note: "Firmware slot GB+World." - - name: "sgb_boot.bin" - aliases: ["GB_sgb.bin"] + - name: "GB_sgb.bin" system: nintendo-gb required: false size: 256 sha1: "aa2f50a77dfb4823da96ba99309085a3c6278515" validation: [size, sha1] description: "Super Game Boy Boot Rom" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:226, src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs:133-143, emulatorLauncher Generators/Bizhawk.Generator.cs:493" - note: "Firmware slot GB+SGB. RetroBat names it in FirmwareUserSpecifications when sgb_boot.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:226, src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs:133-143" + note: "Firmware slot GB+SGB." - - name: "sgb2_boot.bin" - aliases: ["GB_sgb2.bin"] + - name: "GB_sgb2.bin" system: nintendo-gb required: false size: 256 sha1: "93407ea10d2f30ab96a314d8eca44fe160aea734" validation: [size, sha1] description: "Super Game Boy 2 Boot Rom" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:228, src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs:133-143, emulatorLauncher Generators/Bizhawk.Generator.cs:496" - note: "Firmware slot GB+SGB2. RetroBat names it in FirmwareUserSpecifications when sgb2_boot.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:228, src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs:133-143" + note: "Firmware slot GB+SGB2." - - name: "gbc_bios.bin" - aliases: ["GBC_cgb.bin"] + - name: "GBC_cgb.bin" system: nintendo-gbc required: false size: 2304 sha1: "1293d68bf9643bc4f36954c1e80e38f39864528d" validation: [size, sha1] description: "Game Boy Color Boot Rom" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:236, src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs:133-143, emulatorLauncher Generators/Bizhawk.Generator.cs:512" - note: "Firmware slot GBC+World. RetroBat names it in FirmwareUserSpecifications when gbc_bios.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:236, src/BizHawk.Emulation.Cores/Consoles/Nintendo/Gameboy/Gambatte.cs:133-143" + note: "Firmware slot GBC+World." - name: "GBC_cgbE.bin" system: nintendo-gbc @@ -1101,38 +1075,35 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:349, src/BizHawk.Emulation.Cores/Consoles/Sega/gpgx64/GPGX.cs:257, 267" note: "Firmware slot GG+Majesco." - - name: "exec.bin" - aliases: ["INTV_EROM.bin"] + - name: "INTV_EROM.bin" system: mattel-intellivision required: true size: 8192 sha1: "5a65b922b562cb1f57dab51b73151283f0e20c7a" validation: [size, sha1] description: "Executive Rom" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:352, src/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs:56, emulatorLauncher Generators/Bizhawk.Generator.cs:520" - note: "Firmware slot INTV+EROM. RetroBat names it in FirmwareUserSpecifications when exec.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:352, src/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs:56" + note: "Firmware slot INTV+EROM." - - name: "grom.bin" - aliases: ["INTV_GROM.bin"] + - name: "INTV_GROM.bin" system: mattel-intellivision required: true size: 2048 sha1: "f9608bb4ad1cfe3640d02844c7ad8e0bcd974917" validation: [size, sha1] description: "Graphics Rom" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:353, src/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs:57, emulatorLauncher Generators/Bizhawk.Generator.cs:523" - note: "Firmware slot INTV+GROM. RetroBat names it in FirmwareUserSpecifications when grom.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:353, src/BizHawk.Emulation.Cores/Consoles/Intellivision/Intellivision.cs:57" + note: "Firmware slot INTV+GROM." - - name: "lynxboot.img" - aliases: ["Atari_LYNX_boot.img"] + - name: "Atari_LYNX_boot.img" system: atari-lynx required: true size: 512 sha1: "e4ed47fae31693e016b081c6bda48da5b70d7ccb" validation: [size, sha1] description: "Boot Rom" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:356, src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs:33, emulatorLauncher Generators/Bizhawk.Generator.cs:531" - note: "Firmware slot Lynx+Boot. RetroBat names it in FirmwareUserSpecifications when lynxboot.img exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:356, src/BizHawk.Emulation.Cores/Consoles/Atari/lynx/Lynx.cs:33" + note: "Firmware slot Lynx+Boot." - name: "MSX_cbios_main_msx1.rom" system: microsoft-msx @@ -1204,66 +1175,82 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:375, src/BizHawk.Emulation.Cores/Consoles/Nintendo/Ares64/Ares64.cs:138" note: "Firmware slot N64DD+IPL_USA." - - name: "bios7.bin" - aliases: ["NDS_Bios7.bin"] + - name: "NDS_Bios7.bin" system: nintendo-ds required: false size: 16384 sha1: "24f67bdea115a2c847c8813a262502ee1607b7df" validation: [size, sha1] description: "ARM7 BIOS" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:378, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:452-469, emulatorLauncher Generators/Bizhawk.Generator.cs:550" - note: "Firmware slot NDS+bios7. RetroBat names it in FirmwareUserSpecifications when bios7.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:378, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:452-469" + note: "Firmware slot NDS+bios7." - - name: "bios9.bin" - aliases: ["NDS_Bios9.bin"] + - name: "NDS_Bios9.bin" system: nintendo-ds required: false size: 4096 sha1: "bfaac75f101c135e32e2aaf541de6b1be4c8c62d" validation: [size, sha1] description: "ARM9 BIOS" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:379, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:452-469, emulatorLauncher Generators/Bizhawk.Generator.cs:553" - note: "Firmware slot NDS+bios9. RetroBat names it in FirmwareUserSpecifications when bios9.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:379, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:452-469" + note: "Firmware slot NDS+bios9." - - name: "dsi_bios7.bin" - aliases: ["NDS_Bios7i.bin"] + - name: "NDS_Bios7i.bin" system: nintendo-ds required: false size: 65536 sha1: "c7c7570bfe51c3c7c5da3b01331b94e7e7cb4f53" validation: [size, sha1] description: "ARM7i BIOS" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:382, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:483, emulatorLauncher Generators/Bizhawk.Generator.cs:561" - note: "Firmware slot NDS+bios7i. RetroBat names it in FirmwareUserSpecifications when dsi_bios7.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:382, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:483" + note: "Firmware slot NDS+bios7i." - - name: "dsi_bios9.bin" - aliases: ["NDS_Bios9i.bin"] + - name: "NDS_Bios9i.bin" system: nintendo-ds required: false size: 65536 sha1: "719b9eef33692406d7170ff526069615759c4dfc" validation: [size, sha1] description: "ARM9i BIOS" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:384, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:482, emulatorLauncher Generators/Bizhawk.Generator.cs:564" - note: "Firmware slot NDS+bios9i. RetroBat names it in FirmwareUserSpecifications when dsi_bios9.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:384, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:482" + note: "Firmware slot NDS+bios9i." - - name: "firmware.bin" - aliases: ["NDS_Firmware_1.bin"] + - name: "NDS_Firmware_1.bin" system: nintendo-ds required: false size: 262144 - sha1: - - "ede9add041614eaa232059c63d8613b83fe4e954" - - "2ef20b45d12cf00657d4b1bd37a5cc8506923440" - - "87dae2500e889737af51f4a5b5845770a62482f5" - - "22a7547dbc302bcbfb4005cfb5a2d426d3f85ac6" - - "ae22de59fbf3f35ccfbeacaeba6fa87ac5e7b14b" - - "1cf9e67c2c703bb9961bbcdd39cd2c7e319a803b" + sha1: "ede9add041614eaa232059c63d8613b83fe4e954" validation: [size, sha1] description: "NDS Firmware" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:387-398, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:452-469, emulatorLauncher Generators/Bizhawk.Generator.cs:556" - note: "Firmware slot NDS+firmware, which accepts six dumps: three likely good and three known hacks. The scan prefers the NDS Lite dump, rated Ideal, and never takes the known hacks, rated Bad. RetroBat names it in FirmwareUserSpecifications when firmware.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:391, 397, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:452-469" + note: "Firmware slot NDS+firmware, which accepts six dumps: three likely good and three known hacks rated Bad. Alternative to the preferred option of the slot." + + - name: "NDS_Firmware [b1].bin" + system: nintendo-ds + required: false + size: 262144 + sha1: "22a7547dbc302bcbfb4005cfb5a2d426d3f85ac6" + description: "NDS Firmware, known hack" + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:388, 394, src/BizHawk.Client.Common/fwmanager/FirmwareManager.cs:160-222" + note: "Rated Bad in slot NDS+firmware, so the scan never takes it. Only a user specification reaches it." + + - name: "NDS_Firmware [b2].bin" + system: nintendo-ds + required: false + size: 262144 + sha1: "ae22de59fbf3f35ccfbeacaeba6fa87ac5e7b14b" + description: "NDS Firmware, known hack" + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:389, 395, src/BizHawk.Client.Common/fwmanager/FirmwareManager.cs:160-222" + note: "Rated Bad in slot NDS+firmware, so the scan never takes it. Only a user specification reaches it." + + - name: "NDS_Firmware [b3].bin" + system: nintendo-ds + required: false + size: 262144 + sha1: "1cf9e67c2c703bb9961bbcdd39cd2c7e319a803b" + description: "NDS Firmware, known hack" + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:390, 396, src/BizHawk.Client.Common/fwmanager/FirmwareManager.cs:160-222" + note: "Rated Bad in slot NDS+firmware, so the scan never takes it. Only a user specification reaches it." - name: "NDS_Firmware_2.bin" system: nintendo-ds @@ -1285,16 +1272,15 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:393, 399, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NDS/MelonDS.cs:452-469" note: "Firmware slot NDS+firmware." - - name: "disksys.rom" - aliases: ["FDS_disksys-nintendo.rom"] + - name: "FDS_disksys-nintendo.rom" system: nintendo-nes required: true size: 8192 sha1: "57fe1bdee955bb48d357e463ccbf129496930b62" validation: [size, sha1] description: "Bios (Nintendo)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:414, 417, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.cs:21, 372-373, emulatorLauncher Generators/Bizhawk.Generator.cs:590" - note: "Firmware slot NES+Bios_FDS. RetroBat names it in FirmwareUserSpecifications when disksys.rom exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:414, 417, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.cs:21, 372-373" + note: "Firmware slot NES+Bios_FDS." - name: "FDS_disksys-twinfc.rom" system: nintendo-nes @@ -1306,38 +1292,35 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:415, 418, src/BizHawk.Emulation.Cores/Consoles/Nintendo/NES/NES.cs:21, 372-373" note: "Firmware slot NES+Bios_FDS. Alternative to the preferred option of the slot." - - name: "o2rom.bin" - aliases: ["O2_Odyssey2.bin"] + - name: "O2_Odyssey2.bin" system: philips-videopac required: true size: 1024 sha1: "b2e1955d957a475de2411770452eff4ea19f4cee" validation: [size, sha1] description: "Odyssey 2 Bios" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:421, src/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs:65, emulatorLauncher Generators/Bizhawk.Generator.cs:598" - note: "Firmware slot O2+BIOS-O2. RetroBat names it in FirmwareUserSpecifications when o2rom.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:421, src/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs:65" + note: "Firmware slot O2+BIOS-O2." - - name: "c52.bin" - aliases: ["O2_PhillipsC52.bin"] + - name: "O2_PhillipsC52.bin" system: philips-videopac required: false size: 1024 sha1: "a6120aed50831c9c0d95dbdf707820f601d9452e" validation: [size, sha1] description: "Phillips C52 Bios" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:422, emulatorLauncher Generators/Bizhawk.Generator.cs:601" - note: "Firmware slot O2+BIOS-C52. No core requests O2+BIOS-C52 at this revision. RetroBat names it in FirmwareUserSpecifications when c52.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:422" + note: "Firmware slot O2+BIOS-C52. No core requests O2+BIOS-C52 at this revision." - - name: "g7400.bin" - aliases: ["O2_G7400_bios.bin"] + - name: "O2_G7400_bios.bin" system: philips-videopac required: false size: 1024 sha1: "5130243429b40b01a14e1304d0394b8459a6fbae" validation: [size, sha1] description: "G7400 Bios" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:423, src/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs:65, emulatorLauncher Generators/Bizhawk.Generator.cs:604" - note: "Firmware slot O2+BIOS-G7400. RetroBat names it in FirmwareUserSpecifications when g7400.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:423, src/BizHawk.Emulation.Cores/Consoles/Magnavox/Odyssey2/O2Hawk.cs:65" + note: "Firmware slot O2+BIOS-G7400." - name: "PCECD_3.0-(J).pce" system: nec-pc-engine-cd @@ -1359,16 +1342,15 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:427, src/BizHawk.Emulation.Cores/Consoles/NEC/PCE/TurboNyma.cs:54" note: "Firmware slot PCECD+GE-Bios." - - name: "pcfx.rom" - aliases: ["PCFX_bios.bin"] + - name: "PCFX_bios.bin" system: nec-pc-fx required: true size: 1048576 sha1: "1a77fd83e337f906aecab27a1604db064cf10074" validation: [size, sha1] description: "PCFX BIOS 1.00" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:431, 433, src/BizHawk.Emulation.Cores/Consoles/NEC/PCFX/Tst.cs:38, emulatorLauncher Generators/Bizhawk.Generator.cs:615" - note: "Firmware slot PCFX+BIOS. RetroBat names it in FirmwareUserSpecifications when pcfx.rom exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:431, 433, src/BizHawk.Emulation.Cores/Consoles/NEC/PCFX/Tst.cs:38" + note: "Firmware slot PCFX+BIOS." - name: "PCFX_v101.bin" system: nec-pc-fx @@ -1380,49 +1362,45 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:432, 434, src/BizHawk.Emulation.Cores/Consoles/NEC/PCFX/Tst.cs:38" note: "Firmware slot PCFX+BIOS. Alternative to the preferred option of the slot." - - name: "fx-scsi.rom" - aliases: ["PCFX_fx-scsi.rom"] + - name: "PCFX_fx-scsi.rom" system: nec-pc-fx required: false size: 524288 sha1: "65482a23ac5c10a6095aee1db5824cca54ead6e5" validation: [size, sha1] description: "PCFX SCSI ROM" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:436, 437, emulatorLauncher Generators/Bizhawk.Generator.cs:612" - note: "Firmware slot PCFX+SCSIROM. No core requests PCFX+SCSIROM at this revision. RetroBat names it in FirmwareUserSpecifications when fx-scsi.rom exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:436, 437" + note: "Firmware slot PCFX+SCSIROM. No core requests PCFX+SCSIROM at this revision." - - name: "scph5501.bin" - aliases: ["PSX_3.0(A).bin"] + - name: "PSX_3.0(A).bin" system: sony-playstation required: true size: 524288 sha1: "0555c6fae8906f3f09baf5988f00e55f88e9f30b" validation: [size, sha1] description: "PSX BIOS (Version 3.0 11/18/96 A)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:461, 479, src/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs:155, emulatorLauncher Generators/Bizhawk.Generator.cs:641" - note: "Firmware slot PSX+U. RetroBat names it in FirmwareUserSpecifications when scph5501.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:461, 479, src/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs:155" + note: "Firmware slot PSX+U." - - name: "scph5500.bin" - aliases: ["PSX_3.0(J).bin"] + - name: "PSX_3.0(J).bin" system: sony-playstation required: true size: 524288 sha1: "b05def971d8ec59f346f2d9ac21fb742e3eb6917" validation: [size, sha1] description: "PSX BIOS (Version 3.0 09/09/96 J)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:460, 480, src/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs:155, emulatorLauncher Generators/Bizhawk.Generator.cs:644" - note: "Firmware slot PSX+J. RetroBat names it in FirmwareUserSpecifications when scph5500.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:460, 480, src/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs:155" + note: "Firmware slot PSX+J." - - name: "scph5502.bin" - aliases: ["PSX_3.0(E).bin"] + - name: "PSX_3.0(E).bin" system: sony-playstation required: true size: 524288 sha1: "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0" validation: [size, sha1] description: "PSX BIOS (Version 3.0 01/06/97 E)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:462, 481, src/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs:155, emulatorLauncher Generators/Bizhawk.Generator.cs:647" - note: "Firmware slot PSX+E. RetroBat names it in FirmwareUserSpecifications when scph5502.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:462, 481, src/BizHawk.Emulation.Cores/Consoles/Sony/PSX/Octoshock.cs:155" + note: "Firmware slot PSX+E." - name: "SAT_1.00-(J).bin" system: sega-saturn @@ -1434,27 +1412,25 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:520, 526, src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs:47" note: "Firmware slot SAT+J. Alternative to the preferred option of the slot." - - name: "sega_101.bin" - aliases: ["SAT_1.01-(J).bin"] + - name: "SAT_1.01-(J).bin" system: sega-saturn required: true size: 524288 sha1: "df94c5b4d47eb3cc404d88b33a8fda237eaf4720" validation: [size, sha1] description: "Bios v1.01 (J)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:523, 527, src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs:47, emulatorLauncher Generators/Bizhawk.Generator.cs:670" - note: "Firmware slot SAT+J. RetroBat names it in FirmwareUserSpecifications when sega_101.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:523, 527, src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs:47" + note: "Firmware slot SAT+J." - - name: "mpr-17933.bin" - aliases: ["SAT_1.00-(U+E).bin"] + - name: "SAT_1.00-(U+E).bin" system: sega-saturn required: true size: 524288 sha1: "faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3" validation: [size, sha1] description: "Bios v1.00 (U+E)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:521, 529, 532, src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs:48, emulatorLauncher Generators/Bizhawk.Generator.cs:673" - note: "Firmware slot SAT+U, SAT+E. No core requests SAT+E at this revision. RetroBat names it in FirmwareUserSpecifications when mpr-17933.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:521, 529, 532, src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs:48" + note: "Firmware slot SAT+U, SAT+E. No core requests SAT+E at this revision." - name: "SAT_1.00a-(U+E).bin" system: sega-saturn @@ -1466,27 +1442,25 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:522, 530, 533, src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs:48" note: "Firmware slot SAT+U, SAT+E. Alternative to the preferred option of the slot. No core requests SAT+E at this revision." - - name: "mpr-18811-mx.ic1" - aliases: ["SAT_KoF95.bin"] + - name: "SAT_KoF95.bin" system: sega-saturn required: false size: 2097152 sha1: "a67cd4f550751f8b91de2b8b74528ab4e0c11c77" validation: [size, sha1] description: "King of Fighters cartridge" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:534, src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs:52, emulatorLauncher Generators/Bizhawk.Generator.cs:679" - note: "Firmware slot SAT+KOF95. RetroBat names it in FirmwareUserSpecifications when mpr-18811-mx.ic1 exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:534, src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs:52" + note: "Firmware slot SAT+KOF95." - - name: "mpr-19367-mx.ic1" - aliases: ["SAT_Ultraman.bin"] + - name: "SAT_Ultraman.bin" system: sega-saturn required: false size: 2097152 sha1: "56c1b93da6b660bf393fbf48ca47569000ef4047" validation: [size, sha1] description: "Ultraman cartridge" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:535, src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs:53, emulatorLauncher Generators/Bizhawk.Generator.cs:682" - note: "Firmware slot SAT+ULTRAMAN. RetroBat names it in FirmwareUserSpecifications when mpr-19367-mx.ic1 exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:535, src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs:53" + note: "Firmware slot SAT+ULTRAMAN." - name: "SAT_STV_17740-(J).bin" system: sega-saturn @@ -1608,16 +1582,15 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:546, 567, src/BizHawk.Emulation.Cores/Consoles/Sega/Saturn/Saturnus.cs:51" note: "Firmware slot SAT+STV_E." - - name: "[BIOS] Sega Master System (USA, Europe) (v1.3).sms" - aliases: ["SMS_us_1.3.sms"] + - name: "SMS_us_1.3.sms" system: sega-master-system required: true size: 8192 sha1: "c315672807d8ddb8d91443729405c766dd95cae7" validation: [size, sha1] description: "SMS BIOS 1.3 (USA, Europe)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:570, 578, src/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs:162-171, emulatorLauncher Generators/Bizhawk.Generator.cs:539" - note: "Firmware slot SMS+Export. RetroBat names it in FirmwareUserSpecifications when [BIOS] Sega Master System (USA, Europe) (v1.3).sms exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:570, 578, src/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs:162-171" + note: "Firmware slot SMS+Export." - name: "SMS_us_1.0b.sms" system: sega-master-system @@ -1639,16 +1612,15 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:573, 580, src/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs:162-171" note: "Firmware slot SMS+Export. Alternative to the preferred option of the slot." - - name: "[BIOS] Sega Master System (Japan) (v2.1).sms" - aliases: ["SMS_jp_2.1.sms"] + - name: "SMS_jp_2.1.sms" system: sega-master-system required: true size: 8192 sha1: "a8c1b39a2e41137835eda6a5de6d46dd9fadbaf2" validation: [size, sha1] description: "SMS BIOS 2.1 (Japan)" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:571, 581, src/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs:162-171, emulatorLauncher Generators/Bizhawk.Generator.cs:542" - note: "Firmware slot SMS+Japan. RetroBat names it in FirmwareUserSpecifications when [BIOS] Sega Master System (Japan) (v2.1).sms exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:571, 581, src/BizHawk.Emulation.Cores/Consoles/Sega/SMS/SMS.cs:162-171" + note: "Firmware slot SMS+Japan." - name: "SMS_kr.sms" system: sega-master-system @@ -1960,16 +1932,15 @@ files: source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:626, 642-649, src/BizHawk.Emulation.Cores/Calculators/TI83/TI83.cs:21" note: "Firmware slot TI83+Rom. The seven TI-83 Plus ROMs the slot also lists are rated Unacceptable, so the scan never takes them." - - name: "Vectrex_Bios.bin" - aliases: ["VEC_Bios.bin"] + - name: "VEC_Bios.bin" system: gce-vectrex required: true size: 4096 sha1: "b9bbf5bb0eac52d039a4a993a2d8064b862c9e28" validation: [size, sha1] description: "Bios" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:652, src/BizHawk.Emulation.Cores/Consoles/GCE/Vectrex/VectrexHawk.cs:56, emulatorLauncher Generators/Bizhawk.Generator.cs:704" - note: "Firmware slot VEC+Bios. RetroBat names it in FirmwareUserSpecifications when Vectrex_Bios.bin exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:652, src/BizHawk.Emulation.Cores/Consoles/GCE/Vectrex/VectrexHawk.cs:56" + note: "Firmware slot VEC+Bios." - name: "VEC_Minestorm.vec" system: gce-vectrex @@ -1978,8 +1949,8 @@ files: sha1: "65d07426b520ddd3115d40f255511e0fd2e20ae7" validation: [size, sha1] description: "Game" - source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:653, src/BizHawk.Emulation.Cores/Consoles/GCE/Vectrex/VectrexHawk.cs:57, emulatorLauncher Generators/Bizhawk.Generator.cs:705" - note: "Firmware slot VEC+Minestorm. RetroBat names it in FirmwareUserSpecifications when VEC_Minestorm.vec exists in the bios folder." + source_ref: "src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs:653, src/BizHawk.Emulation.Cores/Consoles/GCE/Vectrex/VectrexHawk.cs:57" + note: "Firmware slot VEC+Minestorm." - name: "ZX_pentagon.rom" system: sinclair-zx-spectrum diff --git a/tests/test_profile_checks.py b/tests/test_profile_checks.py index 1666f4c0..b40b79d4 100644 --- a/tests/test_profile_checks.py +++ b/tests/test_profile_checks.py @@ -413,5 +413,28 @@ class HatariTosNamesLiveWithTheLaunchers(unittest.TestCase): self.assertEqual(cited, []) +def _launcher_citations(profile: dict) -> list[str]: + refs = [str(f.get("source_ref") or "") for f in profile.get("files") or []] + return [t for t in _prose(profile) + refs if _LAUNCHER_CODE.search(t)] + + +class BizHawkFindsFirmwareByHash(unittest.TestCase): + """DoScanAndResolve hashes every file of a known firmware size under + the firmware folder and binds each slot to the best present option; a + user specification names any file (FirmwareManager.cs:143-222 at + bdddf4a5). No file name is opened by the code, so every entry is a + label. 38 entries carried the names RetroBat's Bizhawk.Generator.cs + writes, and the export added 59 of them to RetroBat's native file.""" + + def test_entries_are_labels_named_by_the_firmware_database(self): + from validation import opens_by_name + + profile = _profile("bizhawk") + named = [f["name"] for f in profile["files"] if opens_by_name(f, profile, True)] + self.assertEqual(named, []) + self.assertEqual([f["name"] for f in profile["files"] if f.get("aliases")], []) + self.assertEqual(_launcher_citations(profile), []) + + if __name__ == "__main__": unittest.main() From 7e6b80d501a64f48d05f327686021470a78ec8c5 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:19:56 +0200 Subject: [PATCH 07/11] fix: keep amiberry to the names its code reads kick02019.AROS and its .ext were Recalbox configgen names, shipped at the BIOS root of four packs whose code never opens them. Recalbox keeps them through its own amiga/bios declarations. amiga-os-310.rom is a ROM scan label, now found_by content. --- emulators/amiberry.yml | 33 ++++++--------------------------- tests/test_profile_checks.py | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 27 deletions(-) diff --git a/emulators/amiberry.yml b/emulators/amiberry.yml index a8f6ae61..052a5317 100644 --- a/emulators/amiberry.yml +++ b/emulators/amiberry.yml @@ -32,10 +32,12 @@ notes: | ref: libretro/libretro.cpp:4390-4428 Standalone ROM path: configurable via amiberry.conf "rom_path" setting. - Batocera sets this to /userdata/bios/amiga/. Fallback search order: - {home_dir}/roms/kick.rom, {home_dir}/kick.rom, ../shared/rom/kick.rom, + kickstart_rom_file and kickstart_ext_rom_file are opened as given, with + no hash check. When the main ROM is not found there, the fallback order + is {home_dir}/roms/kick.rom, {home_dir}/kick.rom, ../shared/rom/kick.rom, ../System/rom/kick.rom, then ROM database guess. - ref: src/memory.cpp:2106-2148 + ref: src/cfgfile.cpp:6442-6443, src/memory.cpp:1833-1856, + src/memory.cpp:2106-2148 ROM identification uses SHA1 against the WinUAE ROM database but does not reject unknown ROMs. Cloanto encrypted ROMs supported with rom.key. @@ -169,35 +171,12 @@ files: size: 524288 crc32: "43b6dd22" sha1: "c3c481160866e60d085e436a24db3617ff60b5f9" + found_by: content note: > Identified as KS ROM v3.1 (A4000)(Cloanto), ROM id 31, whatever the file is called. The A4000 model takes id 16 first and id 31 after it. source_ref: "source src/rommgr.cpp:203-204, source src/cfgfile.cpp:9588-9593, source src/cfgfile.cpp:9646" - # --- Kickstart ROMs named in the configuration --- - # kickstart_rom_file and kickstart_ext_rom_file are opened as given, with no - # hash check. Recalbox writes kick02019.AROS and kick02019.AROS.ext from - # bios/amiga/bios into them for the A600 and A1200 subsystems when none of - # its Commodore Kickstarts is present (Recalbox 10.1.1). - # ref: src/cfgfile.cpp:6442-6443, src/memory.cpp:2106-2111, - # src/memory.cpp:1833-1856, src/memory.cpp:3138 - # ref: recalbox projects/configgen/configgen/generators/amiberry/amiberryKickstarts.py:119-126, - # recalbox projects/configgen/configgen/generators/amiberry/amiberryConfig.py:337-345 - - - name: kick02019.AROS - mode: standalone - system: commodore-amiga - required: false - note: "AROS Kickstart, read through kickstart_rom_file." - source_ref: "source src/cfgfile.cpp:6442, source src/memory.cpp:2106-2111" - - - name: kick02019.AROS.ext - mode: standalone - system: commodore-amiga - required: false - note: "AROS extended ROM, read through kickstart_ext_rom_file." - source_ref: "source src/cfgfile.cpp:6443, source src/memory.cpp:1833-1856, source src/memory.cpp:3138" - # --- AROS replacement ROMs --- # ref: src/memory.cpp:1925-1946 find_kickstart_replacement_directory, # src/memory.cpp:1949-2030 load_kickstart_replacement diff --git a/tests/test_profile_checks.py b/tests/test_profile_checks.py index b40b79d4..bde9d103 100644 --- a/tests/test_profile_checks.py +++ b/tests/test_profile_checks.py @@ -436,5 +436,23 @@ class BizHawkFindsFirmwareByHash(unittest.TestCase): self.assertEqual(_launcher_citations(profile), []) +class AmiberryNamesComeFromItsCode(unittest.TestCase): + """The standalone ROM scan names every Kickstart by the ROM database + whatever the file is called (src/osdep/amiberry_gui.cpp:217-240, + src/rommgr.cpp:3172-3241 at 648aeeab), so amiga-os-310.rom is a label. + kick02019.AROS and kick02019.AROS.ext are names only Recalbox's configgen + writes, and the code has its own AROS (':AROS', src/memory.cpp:2156).""" + + def test_scan_label_and_no_launcher_names(self): + from validation import opens_by_name + + profile = _profile("amiberry") + entry = next(f for f in profile["files"] if f["name"] == "amiga-os-310.rom") + self.assertFalse(opens_by_name(entry, profile, True)) + names = {f["name"] for f in profile["files"]} + self.assertFalse({"kick02019.AROS", "kick02019.AROS.ext"} & names) + self.assertEqual(_launcher_citations(profile), []) + + if __name__ == "__main__": unittest.main() From 06ae666f921badad640f2e2d8e33b91ef86abf24 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:23:14 +0200 Subject: [PATCH 08/11] fix: describe WinUAE kickstarts by its own code Every entry took its names from RetroBat's Uae.Generator.cs, which the RetroBat launchers: records already hold. Kickstarts are now labels of the ROM scan, and kick.rom, the name the loader opens under its data path, is listed. --- emulators/winuae.yml | 114 +++++++++++++---------------------- tests/test_profile_checks.py | 21 +++++++ 2 files changed, 63 insertions(+), 72 deletions(-) diff --git a/emulators/winuae.yml b/emulators/winuae.yml index 83b378c1..5bd1a1a5 100644 --- a/emulators/winuae.yml +++ b/emulators/winuae.yml @@ -13,6 +13,7 @@ systems: - commodore-cd32 - commodore-cdtv mode: standalone +found_by: content notes: | Amiga emulator for Windows by Toni Wilen. The Kickstart is the file named by @@ -24,21 +25,17 @@ notes: | matched against the ROM table only to name them and check the CPU they need. An unknown ROM is still used (memory.cpp:3064-3101). - RetroBat writes a .uae file per launch with kickstart_rom_file and, for CD32 - and CDTV, kickstart_ext_rom_file. It looks the files up by name in bios/, - bios/amiga/ and bios/Amiga/, first match wins, and aborts the launch when - none of the names is found - (retrobat emulatorLauncher/Generators/Uae.Generator.cs:192-216,1043-1111). - The Amiga 500 system takes the 2.04 Kickstart instead of 1.3 when its - a500_machine option is set to amiga500+. It also points KickstartPath at - bios/ in winuae.ini - (retrobat emulatorLauncher/Generators/Uae.Generator.cs:155-156). A .uae or - .ags game file skips this and runs as written. - - For .lha games RetroBat unpacks its own WHDBoot.zip next to the emulator and - copies the A500, A600, A1200 and A4000 Kickstarts it finds into - WHDBoot/Devs/Kickstarts for WHDLoad, skipping any that are missing - (retrobat emulatorLauncher/Generators/Uae.Generator.cs:979-1032). + The ROM list is built by scanning KickstartPath and the default ROM paths + when no DetectedROMs list exists yet. Every file below 10000000 bytes + whose extension is rom, bin, adf, key, a500, a600, a1200, a3000, a4000, + cd32 or U followed by a digit is identified against the ROM table, whatever + the rest of its name (od-win32/win32.cpp:5385-5404, + od-win32/win32gui.cpp:1747-1772, od-win32/win32gui.cpp:1829-1876, + od-win32/win32gui.cpp:1974-2105). The guess step takes a scanned ROM whose + file name matches the configured one (rommgr.cpp:2428-2461). The Kickstart entries below are named after other + profiles' names for the same dumps: the code opens none of those names. + kickstart_ext_rom_file is opened as given, and a missing extended ROM + only raises a notice (memory.cpp:1833-1849). CDTV and A600/A1200 internal devices are enabled with :ENABLED, which needs no ROM file. Cloanto encrypted ROMs are decoded with rom.key, searched in the @@ -47,128 +44,101 @@ notes: | ROM fails to load (rommgr.cpp:1724-1732). files: - - name: "kick34005.A500" + - name: "kick.rom" + path: "roms/kick.rom" + load_from: data_dir + found_by: name + system: commodore-amiga + required: false + hle_fallback: true + note: "Opened when the configured Kickstart is missing: roms/kick.rom, kick.rom, ../shared/rom/kick.rom and ../System/rom/kick.rom under the WinUAE data path, in that order." + source_ref: "memory.cpp:2038-2071" + + - name: "amiga-os-130.rom" system: commodore-amiga required: true hle_fallback: true size: 262144 crc32: "c4f0f55f" sha1: "891e9a547772fe0c6c19b610baf8bc4ea7fcb785" - aliases: - - "kick34005.A500.rom" - - "amiga-os-130.rom" - - "Kickstart v1.3 r34.005 (1987-12)(Commodore)(A500-A1000-A2000-CDTV)[!].rom" - - "Kickstart v1.3 r34.005 (1987-12)(Commodore)(A500-A1000-A2000-CDTV)[o].rom" - - "Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV)[!].rom" - note: "Kickstart 1.3 r34.5. Amiga 500 and CDTV Kickstart. Also copied to WHDBoot as kick34005.A500." + note: "KS ROM v1.3 (A500, A1000, A2000), 315093-02." source_ref: "rommgr.cpp:150-151" - - name: "kick37175.A500" + - name: "amiga-os-204.rom" system: commodore-amiga required: false hle_fallback: true size: 524288 crc32: "c3bdb240" sha1: "c5839f5cb98a7a8947065c3ed2f14f5f42e334a1" - aliases: - - "kick37175.A500.rom" - - "amiga-os-204.rom" - - "Kickstart v2.04 r37.175 (1991-05)(Commodore)(A500+)[!].rom" - - "Kickstart v2.04 rev 37.175 (1991)(Commodore)(A500+).rom" - note: "Kickstart 2.04 r37.175. Amiga 500 system with the A500+ machine option." + note: "KS ROM v2.04 (A500+)." source_ref: "rommgr.cpp:158-159" - - name: "kick40063.A600" + - name: "amiga-os-310-a600.rom" system: commodore-amiga required: false hle_fallback: true size: 524288 crc32: "fc24ae0d" sha1: "3b7f1493b27e212830f989f26ca76c02049f09ca" - aliases: - - "kick40063.A600.rom" - - "amiga-os-310-a600.rom" - - "Kickstart v3.1 r40.063 (1993-10)(Commodore)(A600HD)[!].rom" - note: "Kickstart 3.1 r40.63. Only copied to WHDBoot/Devs/Kickstarts for WHDLoad." + note: "KS ROM v3.1 r40.63 (A500, A600, A2000)." source_ref: "rommgr.cpp:183-184" - - name: "kick40068.A1200" + - name: "amiga-os-310-a1200.rom" system: commodore-amiga required: true hle_fallback: true size: 524288 crc32: "1483a091" sha1: "e21545723fe8374e91342617604f1b3d703094f1" - aliases: - - "kick40068.A1200.rom" - - "amiga-os-310-a1200.rom" - - "Kickstart v3.1 r40.068 (1993-12)(Commodore)(A1200)[!].rom" - - "Kickstart - 391774-01 (USA, Europe) (v3.1 Rev 40.068) (A1200).rom" - note: "Kickstart 3.1 r40.68. Amiga 1200 Kickstart. Also copied to WHDBoot." + note: "KS ROM v3.1 r40.68 (A1200)." source_ref: "rommgr.cpp:185-186" - - name: "kick40068.A4000" + - name: "amiga-os-310-a4000.rom" system: commodore-amiga required: true hle_fallback: true size: 524288 crc32: "d6bae334" sha1: "5fe04842d04a489720f0f4bb0e46948199406f49" - aliases: - - "kick40068.A4000.rom" - - "amiga-os-310-a4000.rom" - - "Kickstart v3.1 r40.068 (1993-12)(Commodore)(A4000)[!].rom" - note: "Kickstart 3.1 r40.68. Amiga 4000 Kickstart. Also copied to WHDBoot." + note: "KS ROM v3.1 r40.68 (A4000)." source_ref: "rommgr.cpp:195-196" - - name: "kick40060.CD32" + - name: "amiga-os-310-cd32.rom" system: commodore-cd32 required: true hle_fallback: true size: 524288 crc32: "1e62d4a5" sha1: "3525be8887f79b5929e017b42380a79edfee542d" - aliases: - - "kick40060.CD32.rom" - - "amiga-os-310-cd32.rom" - - "Kickstart v3.1 r40.060 (1993-05)(Commodore)(CD32)[!].rom" - - "Kickstart v3.1 r40.60 (1993)(Commodore)(CD32).rom" - note: "CD32 Kickstart 3.1 r40.60." + note: "CD32 KS ROM v3.1 r40.60." source_ref: "rommgr.cpp:323-324" - - name: "kick40060.CD32.ext" + - name: "amiga-ext-310-cd32.rom" system: commodore-cd32 required: true size: 524288 crc32: "87746be2" sha1: "5bef3d628ce59cc02a66e6e4ae0da48f60e78f7f" - aliases: - - "kick40060.CD32.ext.rom" - - "amiga-os-310-cd32-ext.rom" - - "CD32 Extended-ROM r40.60 (1993)(Commodore)(CD32).rom" - note: "CD32 extended ROM, passed as kickstart_ext_rom_file." - source_ref: "rommgr.cpp:325-326" + note: "CD32 extended ROM r40.60, passed as kickstart_ext_rom_file." + source_ref: "rommgr.cpp:325-326, memory.cpp:1833-1849" - - name: "kick34005.CDTV" + - name: "amiga-ext-130-cdtv.rom" system: commodore-cdtv required: true hle_fallback: true size: 262144 crc32: "42baa124" sha1: "7ba40ffa17e500ed9fed041f3424bd81d9c907be" - aliases: - - "kick34005.CDTV.rom" - - "amiga-os-130-cdtv-ext.rom" - - "CDTV Extended-ROM v1.0 (1991)(Commodore)(CDTV)[!].rom" - - "CDTV Extended-ROM v1.0 (1992)(Commodore)(CDTV).rom" note: "CDTV extended ROM v1.0, passed as kickstart_ext_rom_file with the 1.3 Kickstart." - source_ref: "rommgr.cpp:339-340" + source_ref: "rommgr.cpp:339-340, memory.cpp:1833-1849" - name: "rom.key" + found_by: name system: commodore-amiga required: false size: 2069 crc32: "869ae1b1" sha1: "801bbab32e3d37386dd1636d4f1d6fa7e21d5874" - note: "Cloanto Amiga Forever ROM key. Read next to the Kickstart file, needed only for encrypted ROMs." - source_ref: "rommgr.cpp:119-120, rommgr.cpp:1513-1527" + note: "Cloanto Amiga Forever ROM key. Read from the configured key path, the ROM path, roms/, the data path, ../shared/rom/ and next to the Kickstart file, needed only for encrypted ROMs." + source_ref: "rommgr.cpp:119-120, rommgr.cpp:1459-1535" diff --git a/tests/test_profile_checks.py b/tests/test_profile_checks.py index bde9d103..ad0d841f 100644 --- a/tests/test_profile_checks.py +++ b/tests/test_profile_checks.py @@ -454,5 +454,26 @@ class AmiberryNamesComeFromItsCode(unittest.TestCase): self.assertEqual(_launcher_citations(profile), []) +class WinUaeNamesComeFromItsCode(unittest.TestCase): + """get_kickstart_filehandle opens kickstart_rom_file, then kick.rom under + the data path, then a scanned ROM of the configured name + (memory.cpp:2038-2071 at 7ee16ec5). The scan identifies Kickstarts by + content. Every entry carried the names and aliases RetroBat's + Uae.Generator.cs searches, and kick.rom was missing.""" + + def test_kick_rom_is_read_by_name_and_kickstarts_are_labels(self): + from validation import opens_by_name, read_from_system_dir + + profile = _profile("winuae") + kick = next(f for f in profile["files"] if f["name"] == "kick.rom") + self.assertTrue(opens_by_name(kick, profile, True)) + self.assertFalse(read_from_system_dir(kick, True)) + labels = [f for f in profile["files"] if f.get("sha1") and f["name"] != "rom.key"] + self.assertTrue(labels) + self.assertFalse(any(opens_by_name(f, profile, True) for f in labels)) + self.assertEqual([f["name"] for f in profile["files"] if f.get("aliases")], []) + self.assertEqual(_launcher_citations(profile), []) + + if __name__ == "__main__": unittest.main() From 61f0d033b547677ba3264de2a0f292c2fb90f7cf Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:25:10 +0200 Subject: [PATCH 09/11] chore: split a test docstring sentence --- tests/test_profile_checks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_profile_checks.py b/tests/test_profile_checks.py index ad0d841f..e4fb44c9 100644 --- a/tests/test_profile_checks.py +++ b/tests/test_profile_checks.py @@ -420,7 +420,7 @@ def _launcher_citations(profile: dict) -> list[str]: class BizHawkFindsFirmwareByHash(unittest.TestCase): """DoScanAndResolve hashes every file of a known firmware size under - the firmware folder and binds each slot to the best present option; a + the firmware folder and binds each slot to the best present option. A user specification names any file (FirmwareManager.cs:143-222 at bdddf4a5). No file name is opened by the code, so every entry is a label. 38 entries carried the names RetroBat's Bizhawk.Generator.cs From eb385a40396d284b3bd990b804aa7f2a3ce7213d Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:27:09 +0200 Subject: [PATCH 10/11] docs: note the profile verdict check in the guide --- wiki/testing-guide.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/wiki/testing-guide.md b/wiki/testing-guide.md index 6f195833..1fd24c44 100644 --- a/wiki/testing-guide.md +++ b/wiki/testing-guide.md @@ -261,13 +261,16 @@ to the way the project writes: - None of the marketing vocabulary the test lists, and no superlatives. A number with its criterion says more. - Headings in sentence case, never repeating the site name. +- In emulator profiles, no verdict on another project's file: "phantom", + "misleading", "bogus", "typo", "has errors", "incorrectly says". The note + states what that file declares and what the code reads. Formatting stays: bold labels, lists, tables and admonitions make a page easier to use. When markup shows raw on the site, the rendering is fixed and the formatting kept. -What the test cannot read is tone. Text that names another project says what -changes, not who erred: "hash updated to the emulator source", "files added", +Beyond those words the test cannot read tone. Text that names another +project says what changes, not who erred: "hash updated to the emulator source", "files added", "required flags aligned with the code". No "wrong", "bogus" or "phantom" about someone else's work. Notes in a profile say what the core does, nothing about what it is not. A reply on an issue or a pull request thanks once, gives the From e83f3e9d8a4313d3bd8a0945a5d17c352bb57fdc Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Wed, 21 Oct 2026 05:37:14 +0200 Subject: [PATCH 11/11] chore: regenerate manifests and native exports --- exports/batocera.json | 4 +- exports/recalbox.json | 18 +- exports/recalbox/es_bios.xml | 1 - exports/retrobat.json | 853 +++---------------------- exports/retrobat/batocera-systems.json | 260 +------- exports/retropie.json | 13 +- exports/rocknix.json | 6 +- install/batocera.json | 87 +-- install/emudeck.json | 58 +- install/lakka.json | 64 +- install/recalbox.json | 36 +- install/retroarch.json | 64 +- install/retrobat.json | 802 ++++++++++++++++------- install/retrodeck.json | 64 +- install/retropie.json | 44 +- install/rocknix.json | 82 +-- 16 files changed, 862 insertions(+), 1594 deletions(-) diff --git a/exports/batocera.json b/exports/batocera.json index 9241d5c8..4a2caa45 100644 --- a/exports/batocera.json +++ b/exports/batocera.json @@ -6,11 +6,11 @@ "files": [ "batocera-systems" ], - "summary": "692 kept, 138 added, 3 hashes corrected, 0 requirements corrected, 1411 additions left out, 115 entries found by content not listed", + "summary": "692 kept, 138 added, 3 hashes corrected, 0 requirements corrected, 1410 additions left out, 115 entries found by content not listed", "counts": { "kept": 692, "added": 138, - "not_added": 1411, + "not_added": 1410, "not_kept": 0 }, "changes": [ diff --git a/exports/recalbox.json b/exports/recalbox.json index a342a215..236e2eba 100644 --- a/exports/recalbox.json +++ b/exports/recalbox.json @@ -7,10 +7,10 @@ "files": [ "es_bios.xml" ], - "summary": "357 kept, 88 added, 4 hashes corrected, 129 requirements corrected, 527 additions left out, 102 entries found by content not listed", + "summary": "357 kept, 87 added, 4 hashes corrected, 129 requirements corrected, 527 additions left out, 103 entries found by content not listed", "counts": { "kept": 357, - "added": 88, + "added": 87, "not_added": 527, "not_kept": 0 }, @@ -198,18 +198,6 @@ "required": false } }, - { - "kind": "added", - "system": "amiga600", - "name": "amiga-os-310.rom", - "destination": "amiga-os-310.rom", - "field": null, - "old": null, - "new": { - "md5": "730888fb1bd9a3606d51f772ed136528", - "required": false - } - }, { "kind": "added", "system": "amiga600", @@ -2281,7 +2269,7 @@ "hashes_cleared": [], "requirements_corrected": 129, "withheld": [], - "found_by_content": 102, + "found_by_content": 103, "removal_candidates": [ { "system": "pc98", diff --git a/exports/recalbox/es_bios.xml b/exports/recalbox/es_bios.xml index 07514c27..d4e031aa 100644 --- a/exports/recalbox/es_bios.xml +++ b/exports/recalbox/es_bios.xml @@ -20,7 +20,6 @@ - diff --git a/exports/retrobat.json b/exports/retrobat.json index c773115b..5aa31f52 100644 --- a/exports/retrobat.json +++ b/exports/retrobat.json @@ -6,58 +6,14 @@ "files": [ "batocera-systems.json" ], - "summary": "360 kept, 138 added, 2 hashes corrected, 0 requirements corrected, 13 hashes filled, 1069 additions left out, 248 entries found by content not listed", + "summary": "360 kept, 78 added, 2 hashes corrected, 0 requirements corrected, 3 hashes filled, 1010 additions left out, 415 entries found by content not listed", "counts": { "kept": 360, - "added": 138, - "not_added": 1069, + "added": 78, + "not_added": 1010, "not_kept": 0 }, "changes": [ - { - "kind": "added", - "system": "3do", - "name": "panafz1_dev_0.9.bin", - "destination": "panafz1_dev_0.9.bin", - "field": null, - "old": null, - "new": { - "md5": "05435442e0b7a91a121eef6e91b112de" - } - }, - { - "kind": "added", - "system": "3do", - "name": "panafz1_dev.bin", - "destination": "panafz1_dev.bin", - "field": null, - "old": null, - "new": { - "md5": "5fa312e8b1315e840221c658dd71f7a5" - } - }, - { - "kind": "added", - "system": "3do", - "name": "panafz1e.bin", - "destination": "panafz1e.bin", - "field": null, - "old": null, - "new": { - "md5": "ba3eda87fde9bd7f09c2b9db3dbb9887" - } - }, - { - "kind": "added", - "system": "3do", - "name": "panafz1e-unencrypted.bin", - "destination": "panafz1e-unencrypted.bin", - "field": null, - "old": null, - "new": { - "md5": "7d5f8489f70455e5439eb7c4d5bbf609" - } - }, { "kind": "added", "system": "3do", @@ -69,17 +25,6 @@ "md5": "a496cfdded3da562759be3561317b605" } }, - { - "kind": "added", - "system": "3do", - "name": "panafz1j - norsa.bin", - "destination": "panafz1j - norsa.bin", - "field": null, - "old": null, - "new": { - "md5": "f6c71de7470d16abe4f71b1444883dc8" - } - }, { "kind": "added", "system": "3do", @@ -113,28 +58,6 @@ "md5": "cf11bbb5a16d7af9875cca9de9a15e09" } }, - { - "kind": "added", - "system": "3do", - "name": "panafz10j.bin", - "destination": "panafz10j.bin", - "field": null, - "old": null, - "new": { - "md5": "20706f726c22d79d3c385e215d7428e2" - } - }, - { - "kind": "added", - "system": "3do", - "name": "goldstar_fc1_enc.bin", - "destination": "goldstar_fc1_enc.bin", - "field": null, - "old": null, - "new": { - "md5": "b42a2207226a669415886007a9dbcad5" - } - }, { "kind": "added", "system": "3do", @@ -146,28 +69,6 @@ "md5": "35fa1a1ebaaeea286dc5cd15487c13ea" } }, - { - "kind": "added", - "system": "3do", - "name": "sanyo_hc21_b3_unenc.bin", - "destination": "sanyo_hc21_b3_unenc.bin", - "field": null, - "old": null, - "new": { - "md5": "4ca4a976237b6c8fd3abfb393d072469" - } - }, - { - "kind": "added", - "system": "3do", - "name": "sanyo_hc21_alpha.bin", - "destination": "sanyo_hc21_alpha.bin", - "field": null, - "old": null, - "new": { - "md5": "99ba550f1a284da0bea7f380b6e4b436" - } - }, { "kind": "added", "system": "3do", @@ -179,17 +80,6 @@ "md5": "8970fc987ab89a7f64da9f8a8c4333ff" } }, - { - "kind": "added", - "system": "3do", - "name": "3do_devkit_1.0fc2.bin", - "destination": "3do_devkit_1.0fc2.bin", - "field": null, - "old": null, - "new": { - "md5": "45a010f04b1df9c072983378c318b259" - } - }, { "kind": "added", "system": "3do", @@ -410,138 +300,6 @@ "md5": "c5ba6165df42fc69b32942b248fca725" } }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-310.rom", - "destination": "amiga-os-310.rom", - "field": null, - "old": null, - "new": { - "md5": "730888fb1bd9a3606d51f772ed136528" - } - }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-130.rom", - "destination": "amiga-os-130.rom", - "field": null, - "old": null, - "new": { - "md5": "82a21c1890cae844b3df741f2762d48d" - } - }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-120.rom", - "destination": "amiga-os-120.rom", - "field": null, - "old": null, - "new": { - "md5": "85ad74194e87c08904327de1a9443b7a" - } - }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-310-a600.rom", - "destination": "amiga-os-310-a600.rom", - "field": null, - "old": null, - "new": { - "md5": "e40a5dfb3d017ba8779faba30cbd1c8e" - } - }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-205-a600.rom", - "destination": "amiga-os-205-a600.rom", - "field": null, - "old": null, - "new": { - "md5": "465646c9b6729f77eea5314d1f057951" - } - }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-204.rom", - "destination": "amiga-os-204.rom", - "field": null, - "old": null, - "new": { - "md5": "dc10d7bdd1b6f450773dfb558477c230" - } - }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-310-a1200.rom", - "destination": "amiga-os-310-a1200.rom", - "field": null, - "old": null, - "new": { - "md5": "646773759326fbac3b2311fd8c8793ee" - } - }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-300-a1200.rom", - "destination": "amiga-os-300-a1200.rom", - "field": null, - "old": null, - "new": { - "md5": "b7cc148386aa631136f510cd29e42fc3" - } - }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-310-a4000.rom", - "destination": "amiga-os-310-a4000.rom", - "field": null, - "old": null, - "new": { - "md5": "9bdedde6a4f33555b4a270c8ca53297d" - } - }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-300-a4000.rom", - "destination": "amiga-os-300-a4000.rom", - "field": null, - "old": null, - "new": { - "md5": "9b8bdd5a3fd32c2a5a6f5b1aefc799a5" - } - }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-310-a4000t.rom", - "destination": "amiga-os-310-a4000t.rom", - "field": null, - "old": null, - "new": { - "md5": "e873c43040b4d7a9c65f37cf2da2158f" - } - }, - { - "kind": "added", - "system": "amiga1200", - "name": "amiga-os-310-cd32.rom", - "destination": "amiga-os-310-cd32.rom", - "field": null, - "old": null, - "new": { - "md5": "5f8924d013dd57a89cf349f4cdedc6b1" - } - }, { "kind": "added", "system": "amiga1200", @@ -652,33 +410,6 @@ "md5": "40cdf89f35b68cfefd4df5fb0256e02f" } }, - { - "kind": "hash_filled", - "system": "apple2", - "name": "AppleIIe_DiskII.rom", - "destination": "AppleIIe_DiskII.rom", - "field": "md5", - "old": null, - "new": "2020aa1413ff77fe29353f3ee72dc295" - }, - { - "kind": "hash_filled", - "system": "apple2", - "name": "AppleIIe.rom", - "destination": "AppleIIe.rom", - "field": "md5", - "old": null, - "new": "38063e08c778503fc03ecebb979769e9" - }, - { - "kind": "hash_filled", - "system": "atari7800", - "name": "A78_highscore.bin", - "destination": "A78_highscore.bin", - "field": "md5", - "old": null, - "new": "c8a73288ab97226c52602204ab894286" - }, { "kind": "added", "system": "atarist", @@ -950,28 +681,6 @@ "md5": "e10c53c2f8b90bab96ead2d368858623" } }, - { - "kind": "added", - "system": "gb", - "name": "GB_mgb.bin", - "destination": "GB_mgb.bin", - "field": null, - "old": null, - "new": { - "md5": "71a378e71ff30b2d8a1f02bf5c7896aa" - } - }, - { - "kind": "added", - "system": "gba", - "name": "GBA_bios_Debug-(J).rom", - "destination": "GBA_bios_Debug-(J).rom", - "field": null, - "old": null, - "new": { - "md5": "e60e599135009129b288988a1cba91df" - } - }, { "kind": "added", "system": "gba", @@ -983,39 +692,6 @@ "md5": "a860e8c0b6d573d191e4ec7db1b1e4f6" } }, - { - "kind": "added", - "system": "gbc", - "name": "GBC_cgbE.bin", - "destination": "GBC_cgbE.bin", - "field": null, - "old": null, - "new": { - "md5": "48991ee7b1813d0cba5b099df6578668" - } - }, - { - "kind": "added", - "system": "gbc", - "name": "GBC_agb.bin", - "destination": "GBC_agb.bin", - "field": null, - "old": null, - "new": { - "md5": "e6cefb5f7d352fab6681989763917c73" - } - }, - { - "kind": "added", - "system": "gbc", - "name": "GBC_agb0.bin", - "destination": "GBC_agb0.bin", - "field": null, - "old": null, - "new": { - "md5": "a3bdf3d628e58cf6821fe87d3efd51a9" - } - }, { "kind": "added", "system": "jaguar", @@ -1049,90 +725,6 @@ "md5": "6e844759720226e58d55ecaf33608a13" } }, - { - "kind": "hash_filled", - "system": "mastersystem", - "name": "[BIOS] Sega Master System (USA, Europe) (v1.3).sms", - "destination": "[BIOS] Sega Master System (USA, Europe) (v1.3).sms", - "field": "md5", - "old": null, - "new": "840481177270d5642a14ca71ee72844c" - }, - { - "kind": "hash_filled", - "system": "mastersystem", - "name": "[BIOS] Sega Master System (Japan) (v2.1).sms", - "destination": "[BIOS] Sega Master System (Japan) (v2.1).sms", - "field": "md5", - "old": null, - "new": "24a519c53f67b00640d0048ef7089105" - }, - { - "kind": "added", - "system": "mastersystem", - "name": "SMS_us_1.0b.sms", - "destination": "SMS_us_1.0b.sms", - "field": null, - "old": null, - "new": { - "md5": "626b3453613e43d5a47908a8944ba583" - } - }, - { - "kind": "added", - "system": "mastersystem", - "name": "SMS_m404.sms", - "destination": "SMS_m404.sms", - "field": null, - "old": null, - "new": { - "md5": "3153447d155fb8bfc66a4d1c41e399b9" - } - }, - { - "kind": "added", - "system": "mastersystem", - "name": "SMS_kr.sms", - "destination": "SMS_kr.sms", - "field": null, - "old": null, - "new": { - "md5": "e49e63328c78fe3d24ae32bf903583e0" - } - }, - { - "kind": "added", - "system": "msx", - "name": "MSX_cbios_main_msx1.rom", - "destination": "MSX_cbios_main_msx1.rom", - "field": null, - "old": null, - "new": { - "md5": "8514a6af538e0fadbe660a206dcb5652" - } - }, - { - "kind": "added", - "system": "msx", - "name": "MSX_1.0.rom", - "destination": "MSX_1.0.rom", - "field": null, - "old": null, - "new": { - "md5": "95c94878c0ecf0b4c0d8bc8deaa9d7f3" - } - }, - { - "kind": "added", - "system": "msx", - "name": "MSX_jpn.rom", - "destination": "MSX_jpn.rom", - "field": null, - "old": null, - "new": { - "md5": "9218f6dd89f7ba01e3090d44721b4260" - } - }, { "kind": "hash_filled", "system": "nds", @@ -1151,28 +743,6 @@ "old": null, "new": "322ceeafb77b0cc96a1fcc6271e0e0ae" }, - { - "kind": "added", - "system": "nds", - "name": "NDS_Firmware_2.bin", - "destination": "NDS_Firmware_2.bin", - "field": null, - "old": null, - "new": { - "md5": "b8c0b3f620410591f47dafd5866760e0" - } - }, - { - "kind": "added", - "system": "nds", - "name": "NDS_Lite_Firmware.bin", - "destination": "NDS_Lite_Firmware.bin", - "field": null, - "old": null, - "new": { - "md5": "3c704824663ce26b6a1ed4d85238ae5b" - } - }, { "kind": "added", "system": "nds", @@ -1215,37 +785,6 @@ "md5": "006a881532f2caffc3fe9fb5593f2ed5" } }, - { - "kind": "added", - "system": "pcenginecd", - "name": "PCECD_gecard.pce", - "destination": "PCECD_gecard.pce", - "field": null, - "old": null, - "new": { - "md5": "6d2cb14fc3e1f65ceb135633d1694122" - } - }, - { - "kind": "hash_filled", - "system": "pcfx", - "name": "fx-scsi.rom", - "destination": "fx-scsi.rom", - "field": "md5", - "old": null, - "new": "430e9745f9235c515bc8e652d6ca3004" - }, - { - "kind": "added", - "system": "pcfx", - "name": "PCFX_v101.bin", - "destination": "PCFX_v101.bin", - "field": null, - "old": null, - "new": { - "md5": "e2fb7c7220e3a7838c2dd7e401a7f3d8" - } - }, { "kind": "added", "system": "psx", @@ -1334,275 +873,6 @@ "md5": "81bbe60ba7a3d1cea1d48c14cbcc647b" } }, - { - "kind": "added", - "system": "satellaview", - "name": "Satellaview_BS-X.sfc", - "destination": "Satellaview_BS-X.sfc", - "field": null, - "old": null, - "new": { - "md5": "fed4d8242cfbed61343d53d48432aced" - } - }, - { - "kind": "added", - "system": "satellaview", - "name": "Satellaview_Mahjong.sfc", - "destination": "Satellaview_Mahjong.sfc", - "field": null, - "old": null, - "new": { - "md5": "a859f13ed1a497e34f94d80e49861fa4" - } - }, - { - "kind": "added", - "system": "satellaview", - "name": "Satellaview_GNEXT.sfc", - "destination": "Satellaview_GNEXT.sfc", - "field": null, - "old": null, - "new": { - "md5": "c87f0ed9f204464bb03200cea5bd290f" - } - }, - { - "kind": "added", - "system": "satellaview", - "name": "Satellaview_RPG_Tsukuru.sfc", - "destination": "Satellaview_RPG_Tsukuru.sfc", - "field": null, - "old": null, - "new": { - "md5": "12f1e82f2251eee4b754611887e89821" - } - }, - { - "kind": "added", - "system": "satellaview", - "name": "Satellaview_SameGame.sfc", - "destination": "Satellaview_SameGame.sfc", - "field": null, - "old": null, - "new": { - "md5": "35a61b2ec6e63d16799c09e1957fcdb4" - } - }, - { - "kind": "added", - "system": "satellaview", - "name": "Satellaview_Derby_Stallion_96.sfc", - "destination": "Satellaview_Derby_Stallion_96.sfc", - "field": null, - "old": null, - "new": { - "md5": "e1a6cfe35640ee9eb661c2239ccc0717" - } - }, - { - "kind": "added", - "system": "satellaview", - "name": "Satellaview_Ongaku_Tsukuru.sfc", - "destination": "Satellaview_Ongaku_Tsukuru.sfc", - "field": null, - "old": null, - "new": { - "md5": "5797c69fdc9e92284089128d6794efe4" - } - }, - { - "kind": "added", - "system": "satellaview", - "name": "Satellaview_SoundNovel_Tsukuru.sfc", - "destination": "Satellaview_SoundNovel_Tsukuru.sfc", - "field": null, - "old": null, - "new": { - "md5": "92504988268c3888f0e7041a1f9567ae" - } - }, - { - "kind": "added", - "system": "satellaview", - "name": "Satellaview_Bass_Tsuri.sfc", - "destination": "Satellaview_Bass_Tsuri.sfc", - "field": null, - "old": null, - "new": { - "md5": "b6aecd4135d37c402a9e4512615c6b6b" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_1.00a-(U+E).bin", - "destination": "SAT_1.00a-(U+E).bin", - "field": null, - "old": null, - "new": { - "md5": "f273555d7d91e8a5a6bfd9bcf066331c" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_17740-(J).bin", - "destination": "SAT_STV_17740-(J).bin", - "field": null, - "old": null, - "new": { - "md5": "a36acd9ac53b668bebbd98bd192c43e9" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_17740A-(J).bin", - "destination": "SAT_STV_17740A-(J).bin", - "field": null, - "old": null, - "new": { - "md5": "6193c4357b39916066d810bc0b2cb153" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_17951A-(J).bin", - "destination": "SAT_STV_17951A-(J).bin", - "field": null, - "old": null, - "new": { - "md5": "4bee9b193799bd221a7482c7d7765295" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_19730-(J).bin", - "destination": "SAT_STV_19730-(J).bin", - "field": null, - "old": null, - "new": { - "md5": "099c908e4af55d6602bb5fddbbc2d0b3" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_20091-(J).bin", - "destination": "SAT_STV_20091-(J).bin", - "field": null, - "old": null, - "new": { - "md5": "34175c7ad31acbe44f2baccc7ea065c7" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_23603-(J).bin", - "destination": "SAT_STV_23603-(J).bin", - "field": null, - "old": null, - "new": { - "md5": "202226db8648ef036b57bc64a4180c92" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_17742A-(T).bin", - "destination": "SAT_STV_17742A-(T).bin", - "field": null, - "old": null, - "new": { - "md5": "858fc8d8ad62059ea912ec09e9a38111" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_17953A-(T).bin", - "destination": "SAT_STV_17953A-(T).bin", - "field": null, - "old": null, - "new": { - "md5": "251f89478034d93abdf54d05b43c16c0" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_19854-(T).bin", - "destination": "SAT_STV_19854-(T).bin", - "field": null, - "old": null, - "new": { - "md5": "fa6117a16a7df94dcc6e9e12896c66f2" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_17741A-(U).bin", - "destination": "SAT_STV_17741A-(U).bin", - "field": null, - "old": null, - "new": { - "md5": "4c51a40cd3d0eec13c3b25c6b70ad632" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_17952A-(U).bin", - "destination": "SAT_STV_17952A-(U).bin", - "field": null, - "old": null, - "new": { - "md5": "249b67334cfae53810c1d1e3b93957a3" - } - }, - { - "kind": "added", - "system": "saturn", - "name": "SAT_STV_17954A-(E).bin", - "destination": "SAT_STV_17954A-(E).bin", - "field": null, - "old": null, - "new": { - "md5": "ba2cb634c15e59d7ea5552729306f2ef" - } - }, - { - "kind": "hash_filled", - "system": "sega32x", - "name": "32X_G_BIOS.BIN", - "destination": "32X_G_BIOS.BIN", - "field": "md5", - "old": null, - "new": "6a5433f6a132a2b683635819a6dcf085" - }, - { - "kind": "hash_filled", - "system": "sega32x", - "name": "32X_M_BIOS.BIN", - "destination": "32X_M_BIOS.BIN", - "field": "md5", - "old": null, - "new": "f88354ec482be09aeccd76a97bb75868" - }, - { - "kind": "hash_filled", - "system": "sega32x", - "name": "32X_S_BIOS.BIN", - "destination": "32X_S_BIOS.BIN", - "field": "md5", - "old": null, - "new": "7f041b6a55cd7423a6c08a219335269e" - }, { "kind": "added", "system": "triforce", @@ -1636,26 +906,6 @@ "md5": "d063803adcced52217989bd825d69eb8" } }, - { - "kind": "hash_filled", - "system": "vectrex", - "name": "Vectrex_Bios.bin", - "destination": "Vectrex_Bios.bin", - "field": "md5", - "old": null, - "new": "ba9260bb961d60e718378cc16a8051d7" - }, - { - "kind": "added", - "system": "vectrex", - "name": "VEC_Minestorm.vec", - "destination": "VEC_Minestorm.vec", - "field": null, - "old": null, - "new": { - "md5": "ab082fa8c8e632dd68589a8c7741388f" - } - }, { "kind": "added", "system": "xbox", @@ -1673,26 +923,16 @@ "neogeocd/neocdz.zip md5" ], "hashes_filled": [ - "apple2/AppleIIe_DiskII.rom md5", - "apple2/AppleIIe.rom md5", - "atari7800/A78_highscore.bin md5", "chihiro/chihiro_xbox_bios.bin md5", - "mastersystem/[BIOS] Sega Master System (USA, Europe) (v1.3).sms md5", - "mastersystem/[BIOS] Sega Master System (Japan) (v2.1).sms md5", "nds/dsi_bios9.bin md5", - "nds/dsi_bios7.bin md5", - "pcfx/fx-scsi.rom md5", - "sega32x/32X_G_BIOS.BIN md5", - "sega32x/32X_M_BIOS.BIN md5", - "sega32x/32X_S_BIOS.BIN md5", - "vectrex/Vectrex_Bios.bin md5" + "nds/dsi_bios7.bin md5" ], "sizes_corrected": [], "sizes_removed": [], "hashes_cleared": [], "requirements_corrected": 0, "withheld": [], - "found_by_content": 248, + "found_by_content": 415, "removal_candidates": [ { "system": "apple2", @@ -2014,6 +1254,68 @@ "zaccariapinball" ] }, + { + "system": "mastersystem", + "name": "[BIOS] Sega Master System (USA, Europe) (v1.3).sms", + "destination": "[BIOS] Sega Master System (USA, Europe) (v1.3).sms", + "verdict": "undetermined", + "reason": "a core the platform names has no profile yet", + "cores_examined": [ + "ares", + "bizhawk", + "blastem", + "gearsystem", + "genesis_plus_gx", + "genesis_plus_gx_expanded", + "genesis_plus_gx_wide", + "jgenesis", + "kega-fusion", + "mednafen", + "picodrive", + "zesarux" + ], + "unresolved_cores": [ + "amigaforever", + "exodos", + "mugen", + "pinballfx", + "powerbomberman", + "quiverlauncher", + "windows", + "zaccariapinball" + ] + }, + { + "system": "mastersystem", + "name": "[BIOS] Sega Master System (Japan) (v2.1).sms", + "destination": "[BIOS] Sega Master System (Japan) (v2.1).sms", + "verdict": "undetermined", + "reason": "a core the platform names has no profile yet", + "cores_examined": [ + "ares", + "bizhawk", + "blastem", + "gearsystem", + "genesis_plus_gx", + "genesis_plus_gx_expanded", + "genesis_plus_gx_wide", + "jgenesis", + "kega-fusion", + "mednafen", + "picodrive", + "zesarux" + ], + "unresolved_cores": [ + "amigaforever", + "exodos", + "mugen", + "pinballfx", + "powerbomberman", + "quiverlauncher", + "windows", + "zaccariapinball" + ] + }, { "system": "msx", "name": "MSXDOS2.ROM", @@ -2102,6 +1404,27 @@ "windows", "zaccariapinball" ] + }, + { + "system": "vectrex", + "name": "Vectrex_Bios.bin", + "destination": "Vectrex_Bios.bin", + "verdict": "undetermined", + "reason": "a core the platform names has no profile yet", + "cores_examined": [ + "bizhawk", + "vecx" + ], + "unresolved_cores": [ + "amigaforever", + "exodos", + "mugen", + "pinballfx", + "powerbomberman", + "quiverlauncher", + "windows", + "zaccariapinball" + ] } ], "invalid": [] diff --git a/exports/retrobat/batocera-systems.json b/exports/retrobat/batocera-systems.json index 1872257e..295b860b 100644 --- a/exports/retrobat/batocera-systems.json +++ b/exports/retrobat/batocera-systems.json @@ -14,30 +14,10 @@ "md5": "8639fd5e549bd6238cfee79e3e749114", "file": "bios/goldstar.bin" }, - { - "md5": "05435442e0b7a91a121eef6e91b112de", - "file": "bios/panafz1_dev_0.9.bin" - }, - { - "md5": "5fa312e8b1315e840221c658dd71f7a5", - "file": "bios/panafz1_dev.bin" - }, - { - "md5": "ba3eda87fde9bd7f09c2b9db3dbb9887", - "file": "bios/panafz1e.bin" - }, - { - "md5": "7d5f8489f70455e5439eb7c4d5bbf609", - "file": "bios/panafz1e-unencrypted.bin" - }, { "md5": "a496cfdded3da562759be3561317b605", "file": "bios/panafz1j.bin" }, - { - "md5": "f6c71de7470d16abe4f71b1444883dc8", - "file": "bios/panafz1j - norsa.bin" - }, { "md5": "1477bda80dc33731a65468c1f5bcbee9", "file": "bios/panafz10-norsa.bin" @@ -50,34 +30,14 @@ "md5": "cf11bbb5a16d7af9875cca9de9a15e09", "file": "bios/panafz10e-anvil-norsa.bin" }, - { - "md5": "20706f726c22d79d3c385e215d7428e2", - "file": "bios/panafz10j.bin" - }, - { - "md5": "b42a2207226a669415886007a9dbcad5", - "file": "bios/goldstar_fc1_enc.bin" - }, { "md5": "35fa1a1ebaaeea286dc5cd15487c13ea", "file": "bios/sanyotry.bin" }, - { - "md5": "4ca4a976237b6c8fd3abfb393d072469", - "file": "bios/sanyo_hc21_b3_unenc.bin" - }, - { - "md5": "99ba550f1a284da0bea7f380b6e4b436", - "file": "bios/sanyo_hc21_alpha.bin" - }, { "md5": "8970fc987ab89a7f64da9f8a8c4333ff", "file": "bios/3do_arcade_saot.bin" }, - { - "md5": "45a010f04b1df9c072983378c318b259", - "file": "bios/3do_devkit_1.0fc2.bin" - }, { "md5": "b8dc97f778a6245c58e064b0312e8281", "file": "bios/panafz1-kanji.bin" @@ -238,54 +198,6 @@ "md5": "c5ba6165df42fc69b32942b248fca725", "file": "bios/whdboot/save-data/Kickstarts/kick31034.A1000.RTB" }, - { - "md5": "730888fb1bd9a3606d51f772ed136528", - "file": "bios/amiga-os-310.rom" - }, - { - "md5": "82a21c1890cae844b3df741f2762d48d", - "file": "bios/amiga-os-130.rom" - }, - { - "md5": "85ad74194e87c08904327de1a9443b7a", - "file": "bios/amiga-os-120.rom" - }, - { - "md5": "e40a5dfb3d017ba8779faba30cbd1c8e", - "file": "bios/amiga-os-310-a600.rom" - }, - { - "md5": "465646c9b6729f77eea5314d1f057951", - "file": "bios/amiga-os-205-a600.rom" - }, - { - "md5": "dc10d7bdd1b6f450773dfb558477c230", - "file": "bios/amiga-os-204.rom" - }, - { - "md5": "646773759326fbac3b2311fd8c8793ee", - "file": "bios/amiga-os-310-a1200.rom" - }, - { - "md5": "b7cc148386aa631136f510cd29e42fc3", - "file": "bios/amiga-os-300-a1200.rom" - }, - { - "md5": "9bdedde6a4f33555b4a270c8ca53297d", - "file": "bios/amiga-os-310-a4000.rom" - }, - { - "md5": "9b8bdd5a3fd32c2a5a6f5b1aefc799a5", - "file": "bios/amiga-os-300-a4000.rom" - }, - { - "md5": "e873c43040b4d7a9c65f37cf2da2158f", - "file": "bios/amiga-os-310-a4000t.rom" - }, - { - "md5": "5f8924d013dd57a89cf349f4cdedc6b1", - "file": "bios/amiga-os-310-cd32.rom" - }, { "md5": "6c5b44c1a2bcee664129f850bfe4ed8a", "file": "bios/uae_data/drive_click_A500.wav" @@ -417,11 +329,11 @@ "file": "bios/d2fdc.zip" }, { - "md5": "2020aa1413ff77fe29353f3ee72dc295", + "md5": "", "file": "bios/AppleIIe_DiskII.rom" }, { - "md5": "38063e08c778503fc03ecebb979769e9", + "md5": "", "file": "bios/AppleIIe.rom" }, { @@ -617,7 +529,7 @@ "file": "bios/ProSystem.dat" }, { - "md5": "c8a73288ab97226c52602204ab894286", + "md5": "", "file": "bios/A78_highscore.bin" } ] @@ -1285,10 +1197,6 @@ { "md5": "32fbbd84168d3482956eb3c5051637f5", "file": "bios/gb_bios.bin" - }, - { - "md5": "71a378e71ff30b2d8a1f02bf5c7896aa", - "file": "bios/GB_mgb.bin" } ] }, @@ -1300,10 +1208,6 @@ "md5": "a860e8c0b6d573d191e4ec7db1b1e4f6", "file": "bios/gba_bios.bin" }, - { - "md5": "e60e599135009129b288988a1cba91df", - "file": "bios/GBA_bios_Debug-(J).rom" - }, { "md5": "a860e8c0b6d573d191e4ec7db1b1e4f6", "file": "bios/BIOSGBA.ROM" @@ -1317,18 +1221,6 @@ { "md5": "dbfce9db9deaa2567f6a84fde55f9680", "file": "bios/gbc_bios.bin" - }, - { - "md5": "48991ee7b1813d0cba5b099df6578668", - "file": "bios/GBC_cgbE.bin" - }, - { - "md5": "e6cefb5f7d352fab6681989763917c73", - "file": "bios/GBC_agb.bin" - }, - { - "md5": "a3bdf3d628e58cf6821fe87d3efd51a9", - "file": "bios/GBC_agb0.bin" } ] }, @@ -1511,24 +1403,12 @@ "name": "Master System", "biosFiles": [ { - "md5": "840481177270d5642a14ca71ee72844c", + "md5": "", "file": "bios/[BIOS] Sega Master System (USA, Europe) (v1.3).sms" }, { - "md5": "24a519c53f67b00640d0048ef7089105", + "md5": "", "file": "bios/[BIOS] Sega Master System (Japan) (v2.1).sms" - }, - { - "md5": "626b3453613e43d5a47908a8944ba583", - "file": "bios/SMS_us_1.0b.sms" - }, - { - "md5": "3153447d155fb8bfc66a4d1c41e399b9", - "file": "bios/SMS_m404.sms" - }, - { - "md5": "e49e63328c78fe3d24ae32bf903583e0", - "file": "bios/SMS_kr.sms" } ] }, @@ -1587,18 +1467,6 @@ { "md5": "42af93619160ef2116416f74a6cb12f2", "file": "bios/openMSX/share/systemroms/yrw801.rom" - }, - { - "md5": "8514a6af538e0fadbe660a206dcb5652", - "file": "bios/MSX_cbios_main_msx1.rom" - }, - { - "md5": "95c94878c0ecf0b4c0d8bc8deaa9d7f3", - "file": "bios/MSX_1.0.rom" - }, - { - "md5": "9218f6dd89f7ba01e3090d44721b4260", - "file": "bios/MSX_jpn.rom" } ] }, @@ -1816,14 +1684,6 @@ "md5": "", "file": "bios/dsi_firmware.bin" }, - { - "md5": "b8c0b3f620410591f47dafd5866760e0", - "file": "bios/NDS_Firmware_2.bin" - }, - { - "md5": "3c704824663ce26b6a1ed4d85238ae5b", - "file": "bios/NDS_Lite_Firmware.bin" - }, { "md5": "df692a80a5b1bc90728bc3dfc76cd948", "file": "bios/BIOSNDS7.ROM" @@ -2041,10 +1901,6 @@ { "md5": "38179df8f4ac870017db21ebcbf53114", "file": "bios/syscard3.pce" - }, - { - "md5": "6d2cb14fc3e1f65ceb135633d1694122", - "file": "bios/PCECD_gecard.pce" } ] }, @@ -2057,12 +1913,8 @@ "file": "bios/pcfx.rom" }, { - "md5": "430e9745f9235c515bc8e652d6ca3004", + "md5": "", "file": "bios/fx-scsi.rom" - }, - { - "md5": "e2fb7c7220e3a7838c2dd7e401a7f3d8", - "file": "bios/PCFX_v101.bin" } ] }, @@ -2147,42 +1999,6 @@ { "md5": "fed4d8242cfbed61343d53d48432aced", "file": "bios/BS-X.bin" - }, - { - "md5": "fed4d8242cfbed61343d53d48432aced", - "file": "bios/Satellaview_BS-X.sfc" - }, - { - "md5": "a859f13ed1a497e34f94d80e49861fa4", - "file": "bios/Satellaview_Mahjong.sfc" - }, - { - "md5": "c87f0ed9f204464bb03200cea5bd290f", - "file": "bios/Satellaview_GNEXT.sfc" - }, - { - "md5": "12f1e82f2251eee4b754611887e89821", - "file": "bios/Satellaview_RPG_Tsukuru.sfc" - }, - { - "md5": "35a61b2ec6e63d16799c09e1957fcdb4", - "file": "bios/Satellaview_SameGame.sfc" - }, - { - "md5": "e1a6cfe35640ee9eb661c2239ccc0717", - "file": "bios/Satellaview_Derby_Stallion_96.sfc" - }, - { - "md5": "5797c69fdc9e92284089128d6794efe4", - "file": "bios/Satellaview_Ongaku_Tsukuru.sfc" - }, - { - "md5": "92504988268c3888f0e7041a1f9567ae", - "file": "bios/Satellaview_SoundNovel_Tsukuru.sfc" - }, - { - "md5": "b6aecd4135d37c402a9e4512615c6b6b", - "file": "bios/Satellaview_Bass_Tsuri.sfc" } ] }, @@ -2213,58 +2029,6 @@ { "md5": "af5828fdff51384f99b3c4926be27762", "file": "bios/kronos/saturn_bios.bin" - }, - { - "md5": "f273555d7d91e8a5a6bfd9bcf066331c", - "file": "bios/SAT_1.00a-(U+E).bin" - }, - { - "md5": "a36acd9ac53b668bebbd98bd192c43e9", - "file": "bios/SAT_STV_17740-(J).bin" - }, - { - "md5": "6193c4357b39916066d810bc0b2cb153", - "file": "bios/SAT_STV_17740A-(J).bin" - }, - { - "md5": "4bee9b193799bd221a7482c7d7765295", - "file": "bios/SAT_STV_17951A-(J).bin" - }, - { - "md5": "099c908e4af55d6602bb5fddbbc2d0b3", - "file": "bios/SAT_STV_19730-(J).bin" - }, - { - "md5": "34175c7ad31acbe44f2baccc7ea065c7", - "file": "bios/SAT_STV_20091-(J).bin" - }, - { - "md5": "202226db8648ef036b57bc64a4180c92", - "file": "bios/SAT_STV_23603-(J).bin" - }, - { - "md5": "858fc8d8ad62059ea912ec09e9a38111", - "file": "bios/SAT_STV_17742A-(T).bin" - }, - { - "md5": "251f89478034d93abdf54d05b43c16c0", - "file": "bios/SAT_STV_17953A-(T).bin" - }, - { - "md5": "fa6117a16a7df94dcc6e9e12896c66f2", - "file": "bios/SAT_STV_19854-(T).bin" - }, - { - "md5": "4c51a40cd3d0eec13c3b25c6b70ad632", - "file": "bios/SAT_STV_17741A-(U).bin" - }, - { - "md5": "249b67334cfae53810c1d1e3b93957a3", - "file": "bios/SAT_STV_17952A-(U).bin" - }, - { - "md5": "ba2cb634c15e59d7ea5552729306f2ef", - "file": "bios/SAT_STV_17954A-(E).bin" } ] }, @@ -2305,15 +2069,15 @@ "name": "Sega 32X", "biosFiles": [ { - "md5": "6a5433f6a132a2b683635819a6dcf085", + "md5": "", "file": "bios/32X_G_BIOS.BIN" }, { - "md5": "f88354ec482be09aeccd76a97bb75868", + "md5": "", "file": "bios/32X_M_BIOS.BIN" }, { - "md5": "7f041b6a55cd7423a6c08a219335269e", + "md5": "", "file": "bios/32X_S_BIOS.BIN" } ] @@ -2475,12 +2239,8 @@ "name": "Vectrex", "biosFiles": [ { - "md5": "ba9260bb961d60e718378cc16a8051d7", + "md5": "", "file": "bios/Vectrex_Bios.bin" - }, - { - "md5": "ab082fa8c8e632dd68589a8c7741388f", - "file": "bios/VEC_Minestorm.vec" } ] }, diff --git a/exports/retropie.json b/exports/retropie.json index 09d1b14b..51256b0a 100644 --- a/exports/retropie.json +++ b/exports/retropie.json @@ -6,7 +6,7 @@ "files": [ "scriptmodules/emulators/quasi88.sh" ], - "summary": "1 packages updated. Left as is: dgen, gpsp, lr-freechaf, uae4arm, which no profiled core matches. Left as is: lr-fbneo, lr-fmsx, openmsx, pcsx2 and 1 more, whose help text lists no files to add to. Left as is: xm7, whose help text names a file no profile documents yet (dicrom.rom, extsub.rom, fbasic30.rom, fddseek.wav, initiate.rom, relay_on.wav, relayoff.wav, subsys_a.rom, subsys_b.rom, subsys_c.rom, subsyscg.rom). Left as is: sdltrs, whose help text names a file no profile documents yet (level3.rom, level4.rom, level4p.rom). Left as is: lr-opera, whose help text names a file no profile documents yet (panazf10.bin), 108 entries found by content not listed", + "summary": "1 packages updated. Left as is: dgen, gpsp, lr-freechaf, uae4arm, which no profiled core matches. Left as is: lr-fbneo, lr-fmsx, openmsx, pcsx2 and 1 more, whose help text lists no files to add to. Left as is: xm7, whose help text names a file no profile documents yet (dicrom.rom, extsub.rom, fbasic30.rom, fddseek.wav, initiate.rom, relay_on.wav, relayoff.wav, subsys_a.rom, subsys_b.rom, subsys_c.rom, subsyscg.rom). Left as is: sdltrs, whose help text names a file no profile documents yet (level3.rom, level4.rom, level4p.rom). Left as is: lr-opera, whose help text names a file no profile documents yet (panazf10.bin), 109 entries found by content not listed", "counts": null, "changes": [ { @@ -423,15 +423,6 @@ "old": null, "new": {} }, - { - "kind": "added", - "system": "Commodore - Amiga", - "name": "amiga-os-310.rom", - "destination": "amiga-os-310.rom", - "field": null, - "old": null, - "new": {} - }, { "kind": "added", "system": "Commodore - Amiga", @@ -12257,7 +12248,7 @@ "hashes_cleared": [], "requirements_corrected": 0, "withheld": [], - "found_by_content": 108, + "found_by_content": 109, "removal_candidates": [ { "system": "Dinothawr", diff --git a/exports/rocknix.json b/exports/rocknix.json index 2f473a70..cec188aa 100644 --- a/exports/rocknix.json +++ b/exports/rocknix.json @@ -7,11 +7,11 @@ "files": [ "rocknix-systems" ], - "summary": "38 kept, 1 added, 0 hashes corrected, 0 requirements corrected, 1362 additions left out, 142 entries found by content not listed", + "summary": "38 kept, 1 added, 0 hashes corrected, 0 requirements corrected, 1361 additions left out, 143 entries found by content not listed", "counts": { "kept": 38, "added": 1, - "not_added": 1362, + "not_added": 1361, "not_kept": 0 }, "changes": [ @@ -34,7 +34,7 @@ "hashes_cleared": [], "requirements_corrected": 0, "withheld": [], - "found_by_content": 142, + "found_by_content": 143, "removal_candidates": [], "invalid": [] } diff --git a/install/batocera.json b/install/batocera.json index a0c11b28..355968ed 100644 --- a/install/batocera.json +++ b/install/batocera.json @@ -5,7 +5,7 @@ "platform": "batocera", "display_name": "Batocera", "version": "1.0", - "generated": "2026-10-20T19:45:33Z", + "generated": "2026-10-20T20:05:06Z", "base_destination": "bios", "detect": [ { @@ -272,10 +272,10 @@ } } ], - "total_files": 14483, - "total_size": 9772313890, - "pack_files": 14485, - "pack_size": 9772313890, + "total_files": 14481, + "total_size": 9770979038, + "pack_files": 14483, + "pack_size": 9770979038, "total_omitted": 399, "omitted_files": [ { @@ -128439,6 +128439,27 @@ "xegs" ] }, + { + "dest": "hiscore.dat", + "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", + "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", + "size": 36182, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", + "cores": [ + "mame2000" + ], + "alternatives": [ + { + "sha1": "7381472bf046126257e51a0124e4553282f020e5", + "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", + "size": 322458, + "repo_path": "bios/Arcade/Arcade/hiscore.dat", + "cores": [ + "visual-pinball" + ] + } + ] + }, { "dest": "mame2003-plus/artwork/blueshrk.zip", "sha1": "4317f301d6e4117dfde42b33dfaf73a2b25f43c1", @@ -168101,32 +168122,6 @@ "amiberry" ] }, - { - "dest": "kick02019.AROS", - "sha1": "f1952b97e0fa7661e99efb4954e0a86371952c1d", - "sha256": "2bca61323950fbbe2472bb1cdab99311a5df6a78c8f7ae6a8819656629bf9dd2", - "size": 524288, - "repo_path": "bios/Commodore/Amiga/kick02019.AROS", - "cores": [ - "amiberry" - ], - "systems": [ - "commodore-amiga" - ] - }, - { - "dest": "kick02019.AROS.ext", - "sha1": "8b193a6515e0c8b3555ef4142417208dbbdb025e", - "sha256": "ba7965b27c553a517de3c7c81988a6bb6b3a12ceef465a0a4f6d30a6ff811b7c", - "size": 524288, - "repo_path": "bios/Commodore/Amiga/kick02019.AROS.ext", - "cores": [ - "amiberry" - ], - "systems": [ - "commodore-amiga" - ] - }, { "dest": "rom.key", "sha1": "801bbab32e3d37386dd1636d4f1d6fa7e21d5874", @@ -171043,36 +171038,6 @@ } ] }, - { - "dest": "hiscore.dat", - "sha1": "7381472bf046126257e51a0124e4553282f020e5", - "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", - "size": 322458, - "repo_path": "bios/Arcade/Arcade/hiscore.dat", - "cores": [ - "fbalpha2012" - ], - "alternatives": [ - { - "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", - "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", - "size": 36182, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", - "cores": [ - "mame2000" - ] - }, - { - "sha1": "7381472bf046126257e51a0124e4553282f020e5", - "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", - "size": 322458, - "repo_path": "bios/Arcade/Arcade/hiscore.dat", - "cores": [ - "visual-pinball" - ] - } - ] - }, { "dest": "fba2012/samples/dkong.zip", "sha1": "764ec667084bc237c1de6bd1db7541ad8cb59975", diff --git a/install/emudeck.json b/install/emudeck.json index 84e02fa1..845c6dc1 100644 --- a/install/emudeck.json +++ b/install/emudeck.json @@ -5,7 +5,7 @@ "platform": "emudeck", "display_name": "EmuDeck", "version": "1.0", - "generated": "2026-10-20T19:45:33Z", + "generated": "2026-10-20T20:05:06Z", "base_destination": "bios", "detect": [ { @@ -279,9 +279,9 @@ } ], "total_files": 8184, - "total_size": 7838923553, + "total_size": 7838637277, "pack_files": 8186, - "pack_size": 7838923553, + "pack_size": 7838637277, "total_omitted": 11, "omitted_files": [ { @@ -21093,6 +21093,27 @@ "jollycv" ] }, + { + "dest": "hiscore.dat", + "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", + "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", + "size": 36182, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", + "cores": [ + "mame2000" + ], + "alternatives": [ + { + "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", + "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", + "size": 216250, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", + "cores": [ + "mame2015" + ] + } + ] + }, { "dest": "mame2003/hiscore.dat", "sha1": "a22ec279222ec6aeb3249932f7d377b7cf1e7bf1", @@ -61441,37 +61462,6 @@ "smsplus" ] }, - { - "dest": "hiscore.dat", - "sha1": "7381472bf046126257e51a0124e4553282f020e5", - "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", - "size": 322458, - "repo_path": "bios/Arcade/Arcade/hiscore.dat", - "cores": [ - "fbalpha2012", - "fbalpha2012_cps3" - ], - "alternatives": [ - { - "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", - "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", - "size": 36182, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", - "cores": [ - "mame2000" - ] - }, - { - "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", - "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", - "size": 216250, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", - "cores": [ - "mame2015" - ] - } - ] - }, { "dest": "fba2012/samples/dkong.zip", "sha1": "764ec667084bc237c1de6bd1db7541ad8cb59975", diff --git a/install/lakka.json b/install/lakka.json index eccc6019..997fb553 100644 --- a/install/lakka.json +++ b/install/lakka.json @@ -5,7 +5,7 @@ "platform": "lakka", "display_name": "Lakka", "version": "1.0", - "generated": "2026-10-20T19:45:33Z", + "generated": "2026-10-20T20:05:06Z", "base_destination": "system", "detect": [ { @@ -19,9 +19,9 @@ ], "standalone_copies": [], "total_files": 8052, - "total_size": 6850001407, + "total_size": 6849715131, "pack_files": 8362, - "pack_size": 6871894291, + "pack_size": 6871608015, "total_omitted": 11, "omitted_files": [ { @@ -105534,40 +105534,6 @@ "coleco-colecovision" ] }, - { - "dest": "hiscore.dat", - "sha1": "7381472bf046126257e51a0124e4553282f020e5", - "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", - "size": 322458, - "repo_path": "bios/Arcade/Arcade/hiscore.dat", - "cores": [ - "fbalpha2012", - "fbalpha2012_cps3" - ], - "systems": [ - "arcade" - ], - "alternatives": [ - { - "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", - "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", - "size": 36182, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", - "cores": [ - "mame2000" - ] - }, - { - "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", - "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", - "size": 216250, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", - "cores": [ - "mame2015" - ] - } - ] - }, { "dest": "fbalpha2012/hiscore.dat", "sha1": "7381472bf046126257e51a0124e4553282f020e5", @@ -106145,6 +106111,30 @@ "philips-cdi" ] }, + { + "dest": "hiscore.dat", + "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", + "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", + "size": 36182, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", + "cores": [ + "mame2000" + ], + "systems": [ + "arcade" + ], + "alternatives": [ + { + "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", + "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", + "size": 216250, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", + "cores": [ + "mame2015" + ] + } + ] + }, { "dest": "mame2003/hiscore.dat", "sha1": "a22ec279222ec6aeb3249932f7d377b7cf1e7bf1", diff --git a/install/recalbox.json b/install/recalbox.json index e2928e5e..56607da6 100644 --- a/install/recalbox.json +++ b/install/recalbox.json @@ -5,7 +5,7 @@ "platform": "recalbox", "display_name": "Recalbox", "version": "1.0", - "generated": "2026-10-20T19:45:33Z", + "generated": "2026-10-20T20:05:06Z", "base_destination": "bios", "detect": [ { @@ -270,10 +270,10 @@ } } ], - "total_files": 3371, - "total_size": 4406469294, - "pack_files": 3373, - "pack_size": 4406469294, + "total_files": 3369, + "total_size": 4405420718, + "pack_files": 3371, + "pack_size": 4405420718, "total_omitted": 13, "omitted_files": [ { @@ -36808,32 +36808,6 @@ "commodore-amiga" ] }, - { - "dest": "kick02019.AROS", - "sha1": "f1952b97e0fa7661e99efb4954e0a86371952c1d", - "sha256": "2bca61323950fbbe2472bb1cdab99311a5df6a78c8f7ae6a8819656629bf9dd2", - "size": 524288, - "repo_path": "bios/Commodore/Amiga/kick02019.AROS", - "cores": [ - "amiberry" - ], - "systems": [ - "commodore-amiga" - ] - }, - { - "dest": "kick02019.AROS.ext", - "sha1": "8b193a6515e0c8b3555ef4142417208dbbdb025e", - "sha256": "ba7965b27c553a517de3c7c81988a6bb6b3a12ceef465a0a4f6d30a6ff811b7c", - "size": 524288, - "repo_path": "bios/Commodore/Amiga/kick02019.AROS.ext", - "cores": [ - "amiberry" - ], - "systems": [ - "commodore-amiga" - ] - }, { "dest": "ATARIBAS.ROM", "sha1": "3693c9cb9bf3b41bae1150f7a8264992468fc8c0", diff --git a/install/retroarch.json b/install/retroarch.json index 8fed4007..e81c42e5 100644 --- a/install/retroarch.json +++ b/install/retroarch.json @@ -5,7 +5,7 @@ "platform": "retroarch", "display_name": "RetroArch", "version": "1.0", - "generated": "2026-10-20T19:45:33Z", + "generated": "2026-10-20T20:05:06Z", "base_destination": "system", "detect": [ { @@ -399,9 +399,9 @@ } ], "total_files": 8059, - "total_size": 6943180812, + "total_size": 6942894536, "pack_files": 10697, - "pack_size": 6983546584, + "pack_size": 6983260308, "total_omitted": 11, "omitted_files": [ { @@ -106482,40 +106482,6 @@ "coleco-colecovision" ] }, - { - "dest": "hiscore.dat", - "sha1": "7381472bf046126257e51a0124e4553282f020e5", - "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", - "size": 322458, - "repo_path": "bios/Arcade/Arcade/hiscore.dat", - "cores": [ - "fbalpha2012", - "fbalpha2012_cps3" - ], - "systems": [ - "arcade" - ], - "alternatives": [ - { - "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", - "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", - "size": 36182, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", - "cores": [ - "mame2000" - ] - }, - { - "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", - "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", - "size": 216250, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", - "cores": [ - "mame2015" - ] - } - ] - }, { "dest": "fbalpha2012/hiscore.dat", "sha1": "7381472bf046126257e51a0124e4553282f020e5", @@ -107093,6 +107059,30 @@ "philips-cdi" ] }, + { + "dest": "hiscore.dat", + "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", + "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", + "size": 36182, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", + "cores": [ + "mame2000" + ], + "systems": [ + "arcade" + ], + "alternatives": [ + { + "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", + "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", + "size": 216250, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", + "cores": [ + "mame2015" + ] + } + ] + }, { "dest": "mame2003/hiscore.dat", "sha1": "a22ec279222ec6aeb3249932f7d377b7cf1e7bf1", diff --git a/install/retrobat.json b/install/retrobat.json index 084e1dfc..ed39b904 100644 --- a/install/retrobat.json +++ b/install/retrobat.json @@ -5,7 +5,7 @@ "platform": "retrobat", "display_name": "RetroBat", "version": "1.0", - "generated": "2026-10-20T19:45:33Z", + "generated": "2026-10-20T20:05:06Z", "base_destination": "bios", "detect": [ { @@ -270,10 +270,10 @@ } } ], - "total_files": 5112, - "total_size": 8194952341, - "pack_files": 5114, - "pack_size": 8194952341, + "total_files": 5149, + "total_size": 8204608593, + "pack_files": 5151, + "pack_size": 8204608593, "total_omitted": 154, "omitted_files": [ { @@ -4178,7 +4178,6 @@ "repo_path": "bios/Atari/Lynx/Atari_LYNX_boot.img", "cores": [ "beetle_lynx", - "bizhawk", "handy", "holani", "mednafen" @@ -4336,7 +4335,6 @@ "size": 16384, "repo_path": "bios/Atari/7800/7800 BIOS (E).rom", "cores": [ - "bizhawk", "prosystem" ] } @@ -4359,7 +4357,6 @@ "size": 4096, "repo_path": "bios/Atari/7800/7800 BIOS (U).rom", "cores": [ - "bizhawk", "prosystem" ] } @@ -5282,7 +5279,6 @@ "repo_path": "bios/Coleco/ColecoVision/BIOS.col", "cores": [ "ares", - "bizhawk", "gearcoleco" ] } @@ -5338,8 +5334,7 @@ "size": 262144, "repo_path": "bios/Commodore/Amiga/Kickstart-v1.3-rev34.5-1987-Commodore-A500-A1000-A2000-CDTV.rom", "cores": [ - "puae", - "winuae" + "puae" ] } ] @@ -5361,8 +5356,7 @@ "size": 524288, "repo_path": "bios/Commodore/Amiga/amiga-os-204.rom", "cores": [ - "puae", - "winuae" + "puae" ] } ] @@ -5385,8 +5379,7 @@ "repo_path": "bios/Commodore/Amiga/amiga-os-310-a1200.rom", "cores": [ "amiberry", - "puae", - "winuae" + "puae" ] } ] @@ -5409,8 +5402,7 @@ "repo_path": "bios/Commodore/Amiga/amiga-os-310-a4000.rom", "cores": [ "amiberry", - "puae", - "winuae" + "puae" ] } ] @@ -5432,8 +5424,7 @@ "size": 524288, "repo_path": "bios/Commodore/Amiga/amiga-ext-310-cd32.rom", "cores": [ - "puae", - "winuae" + "puae" ] } ] @@ -5455,8 +5446,7 @@ "size": 262144, "repo_path": "bios/Commodore/Amiga/amiga-ext-130-cdtv.rom", "cores": [ - "puae", - "winuae" + "puae" ] } ] @@ -5478,8 +5468,7 @@ "size": 524288, "repo_path": "bios/Commodore/Amiga/amiga-os-310-cd32.rom", "cores": [ - "puae", - "winuae" + "puae" ] } ] @@ -6002,7 +5991,6 @@ "size": 1024, "repo_path": "bios/Arcade/FBNeo/sl90025.rom", "cores": [ - "bizhawk", "freechaf" ] } @@ -6570,7 +6558,6 @@ "size": 1024, "repo_path": "bios/Magnavox/Odyssey2/o2rom.bin", "cores": [ - "bizhawk", "o2em" ] } @@ -6593,7 +6580,6 @@ "size": 1024, "repo_path": "bios/Philips/Videopac/O2_PhillipsC52.bin", "cores": [ - "bizhawk", "o2em" ] } @@ -6616,7 +6602,6 @@ "size": 1024, "repo_path": "bios/Philips/Videopac/O2_G7400_bios.bin", "cores": [ - "bizhawk", "o2em" ] } @@ -6661,7 +6646,6 @@ "size": 8192, "repo_path": "bios/Mattel/Intellivision/INTV_EROM.bin", "cores": [ - "bizhawk", "freeintv", "jzintv" ] @@ -6685,7 +6669,6 @@ "size": 2048, "repo_path": "bios/Mattel/Intellivision/INTV_GROM.bin", "cores": [ - "bizhawk", "freeintv", "jzintv" ] @@ -7417,7 +7400,6 @@ "repo_path": "bios/NEC/PC-FX/PCFX_bios.bin", "cores": [ "beetle_pcfx", - "bizhawk", "mednafen" ] } @@ -7440,7 +7422,6 @@ "size": 524288, "repo_path": "bios/NEC/PC-FX/PCFX_fx-scsi.rom", "cores": [ - "bizhawk", "mednafen" ] } @@ -7599,29 +7580,20 @@ }, { "dest": "firmware.bin", - "sha1": "1cf9e67c2c703bb9961bbcdd39cd2c7e319a803b", - "sha256": "b5f5913048244b60f67a58eeac13ca48c1878dcb2aed3ab4fc874b098438ab34", + "sha1": "cfe072921ee3fb93f688743f8beef89043c3e9ad", + "sha256": "57a1d6b43c1399d219ea18644240c4d4c6787c829f0a67ded216472867857cd0", "size": 262144, - "repo_path": "bios/Nintendo/Nintendo DS/dsfirmware.bin", + "repo_path": "bios/Nintendo/Nintendo DS/firmware.bin", "cores": null, "systems": [ "nintendo-ds" ], "alternatives": [ { - "sha1": "ede9add041614eaa232059c63d8613b83fe4e954", - "sha256": "23250a16807e891e900004956139cebb6cb0bb66bbf5cea1cd598672a47195f6", + "sha1": "cfe072921ee3fb93f688743f8beef89043c3e9ad", + "sha256": "57a1d6b43c1399d219ea18644240c4d4c6787c829f0a67ded216472867857cd0", "size": 262144, - "repo_path": "bios/Nintendo/DS/NDS_Firmware_1.bin", - "cores": [ - "bizhawk" - ] - }, - { - "sha1": "1cf9e67c2c703bb9961bbcdd39cd2c7e319a803b", - "sha256": "b5f5913048244b60f67a58eeac13ca48c1878dcb2aed3ab4fc874b098438ab34", - "size": 262144, - "repo_path": "bios/Nintendo/Nintendo DS/dsfirmware.bin", + "repo_path": "bios/Nintendo/Nintendo DS/firmware.bin", "cores": [ "desmume", "melonds", @@ -7648,7 +7620,6 @@ "size": 16384, "repo_path": "bios/Nintendo/DS/NDS_Bios7.bin", "cores": [ - "bizhawk", "desmume", "melonds", "melonds_ds", @@ -7674,7 +7645,6 @@ "size": 4096, "repo_path": "bios/Nintendo/DS/NDS_Bios9.bin", "cores": [ - "bizhawk", "desmume", "melonds", "melonds_ds", @@ -7685,10 +7655,10 @@ }, { "dest": "dsi_bios9.bin", - "sha1": "719b9eef33692406d7170ff526069615759c4dfc", - "sha256": "6e9f70b51dc4f26289b597f14e2513620c2af964374a95f4c5a62b5cad199afc", + "sha1": "db61fa39ddbc5f5ed71fb19cda47609ef0201723", + "sha256": "664c608bd6ccfe583e87b3b924afa00f8697dc7ca92eeb6d206d68abb03d2e10", "size": 65536, - "repo_path": "bios/Nintendo/DS/NDS_Bios9i.bin", + "repo_path": "bios/Nintendo/DS/dsi_bios9.bin", "cores": null, "systems": [ "nintendo-ds" @@ -7700,7 +7670,6 @@ "size": 65536, "repo_path": "bios/Nintendo/DS/NDS_Bios9i.bin", "cores": [ - "bizhawk", "melonds", "melonds_ds" ] @@ -7709,10 +7678,10 @@ }, { "dest": "dsi_bios7.bin", - "sha1": "c7c7570bfe51c3c7c5da3b01331b94e7e7cb4f53", - "sha256": "12a03016ba07cfd874fc002df49a2c6eb2414eb7cfa395c2043035ec5e9193e8", + "sha1": "d2b17224e156ee5e55b5d8d9f323b1c9b86dd951", + "sha256": "28a13952901b4065ef3f08c3252b49a00b6525e301b7ddaa3a390b4c7cbef901", "size": 65536, - "repo_path": "bios/Nintendo/DS/NDS_Bios7i.bin", + "repo_path": "bios/Nintendo/DS/dsi_bios7.bin", "cores": null, "systems": [ "nintendo-ds" @@ -7724,7 +7693,6 @@ "size": 65536, "repo_path": "bios/Nintendo/DS/NDS_Bios7i.bin", "cores": [ - "bizhawk", "melonds", "melonds_ds" ] @@ -7748,7 +7716,6 @@ "size": 131072, "repo_path": "bios/Nintendo/Nintendo DS/dsi_firmware.bin", "cores": [ - "bizhawk", "melonds", "melonds_ds" ] @@ -7772,16 +7739,7 @@ "size": 8192, "repo_path": "bios/Nintendo/Famicom Disk System/.variants/disksys.rom.af5af53f", "cores": [ - "ares" - ] - }, - { - "sha1": "57fe1bdee955bb48d357e463ccbf129496930b62", - "sha256": "99c18490ed9002d9c6d999b9d8d15be5c051bdfa7cc7e73318053c9a994b0178", - "size": 8192, - "repo_path": "bios/Arcade/FBNeo/fdsbios.nes", - "cores": [ - "bizhawk", + "ares", "fceumm", "mednafen", "mesen", @@ -7807,7 +7765,6 @@ "size": 256, "repo_path": "bios/Nintendo/Game Boy/GB_dmg.bin", "cores": [ - "bizhawk", "gambatte", "mgba" ] @@ -7832,7 +7789,6 @@ "repo_path": "bios/Nintendo/Game Boy Advance/GBA_bios.rom", "cores": [ "ares", - "bizhawk", "gpsp", "jgenesis", "mednafen", @@ -7860,7 +7816,6 @@ "size": 2304, "repo_path": "bios/Nintendo/Game Boy Color/GBC_cgb.bin", "cores": [ - "bizhawk", "gambatte", "mgba" ] @@ -7924,6 +7879,8 @@ "cores": null, "systems": [ "nintendo-gb", + "nintendo-gbc", + "nintendo-satellaview", "nintendo-sgb" ], "declared_in": [ @@ -7931,12 +7888,11 @@ ], "alternatives": [ { - "sha1": "aa2f50a77dfb4823da96ba99309085a3c6278515", - "sha256": "0e4ddff32fc9d1eeaae812a157dd246459b00c9e14f2f61751f661f32361e360", + "sha1": "369e6eb5e0c975eaa52a4a3f6ee07b2a3c3c16de", + "sha256": "b60d493a7944ccf74c81f1e7b6bf38c2c7029e296648ea0e74cb22b10dd1fcb8", "size": 256, - "repo_path": "bios/Nintendo/Game Boy/GB_sgb.bin", + "repo_path": "bios/Nintendo/Super Game Boy/sgb_boot.bin", "cores": [ - "bizhawk", "mesen-s", "sameboy" ] @@ -7952,6 +7908,8 @@ "cores": null, "systems": [ "nintendo-gb", + "nintendo-gbc", + "nintendo-satellaview", "nintendo-sgb" ], "declared_in": [ @@ -7959,12 +7917,11 @@ ], "alternatives": [ { - "sha1": "93407ea10d2f30ab96a314d8eca44fe160aea734", - "sha256": "fd243c4fb27008986316ce3df29e9cfbcdc0cd52704970555a8bb76edbec3988", + "sha1": "f282b3aaf98f8423dab7d77f1aa0192be630f2fb", + "sha256": "8a65465a9da7ec657726a671da9a85963cf19d2c975e499aea6b97eb37e0b6ea", "size": 256, - "repo_path": "bios/Nintendo/Game Boy/GB_sgb2.bin", + "repo_path": "bios/Nintendo/Super Game Boy/sgb2_boot.bin", "cores": [ - "bizhawk", "mesen-s", "sameboy" ] @@ -8296,17 +8253,6 @@ "cores": null, "systems": [ "sega-master-system" - ], - "alternatives": [ - { - "sha1": "c315672807d8ddb8d91443729405c766dd95cae7", - "sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50", - "size": 8192, - "repo_path": "bios/Other/zesarux/sms.rom", - "cores": [ - "bizhawk" - ] - } ] }, { @@ -8318,17 +8264,6 @@ "cores": null, "systems": [ "sega-master-system" - ], - "alternatives": [ - { - "sha1": "a8c1b39a2e41137835eda6a5de6d46dd9fadbaf2", - "sha256": "67846e26764bd862f19179294347f7353a4166b62ac4198a5ec32933b7da486e", - "size": 8192, - "repo_path": "bios/Sega/Master System/MasterSystem/japanese-bios.sms", - "cores": [ - "bizhawk" - ] - } ] }, { @@ -8349,7 +8284,6 @@ "repo_path": "bios/Sega/Saturn/SAT_1.01-(J).bin", "cores": [ "beetle_saturn", - "bizhawk", "kronos", "mednafen", "ssf", @@ -8377,7 +8311,6 @@ "repo_path": "bios/Sega/Saturn/SAT_1.00-(U+E).bin", "cores": [ "beetle_saturn", - "bizhawk", "kronos", "mednafen", "yabasanshiro", @@ -8404,7 +8337,6 @@ "repo_path": "bios/Sega/Saturn/SAT_KoF95.bin", "cores": [ "beetle_saturn", - "bizhawk", "kronos", "mednafen", "ymir" @@ -8430,7 +8362,6 @@ "repo_path": "bios/Sega/Saturn/SAT_Ultraman.bin", "cores": [ "beetle_saturn", - "bizhawk", "kronos", "mednafen", "ymir" @@ -8910,7 +8841,6 @@ "repo_path": "bios/Sony/PlayStation/psxonpsp660.bin", "cores": [ "beetle_psx", - "bizhawk", "pcsx_rearmed", "swanstation" ] @@ -9129,17 +9059,6 @@ "cores": null, "systems": [ "vectrex" - ], - "alternatives": [ - { - "sha1": "b9bbf5bb0eac52d039a4a993a2d8064b862c9e28", - "sha256": "480cd76805efe1c87e2412d494ed03918049d7bb9da3b97a5647b768c3468eac", - "size": 4096, - "repo_path": "bios/GCE/Vectrex/VEC_Bios.bin", - "cores": [ - "bizhawk" - ] - } ] }, { @@ -10893,7 +10812,6 @@ "cores": [ "ares", "beetle_psx", - "bizhawk", "duckstation", "mednafen", "pcsx_rearmed", @@ -10901,6 +10819,12 @@ ], "systems": [ "sony-playstation" + ], + "regions": [ + "north-america" + ], + "region_groups": [ + "sony-playstation" ] }, { @@ -10912,7 +10836,6 @@ "cores": [ "ares", "beetle_psx", - "bizhawk", "duckstation", "mednafen", "pcsx_rearmed", @@ -10920,6 +10843,12 @@ ], "systems": [ "sony-playstation" + ], + "regions": [ + "japan" + ], + "region_groups": [ + "sony-playstation" ] }, { @@ -10931,7 +10860,6 @@ "cores": [ "ares", "beetle_psx", - "bizhawk", "duckstation", "mednafen", "pcsx_rearmed", @@ -10939,6 +10867,13 @@ ], "systems": [ "sony-playstation" + ], + "regions": [ + "europe", + "oceania" + ], + "region_groups": [ + "sony-playstation" ] }, { @@ -11062,13 +10997,25 @@ "repo_path": "bios/Sony/PlayStation/ps1_rom.bin", "cores": [ "beetle_psx", - "bizhawk", "swanstation" ], "systems": [ "sony-playstation" ] }, + { + "dest": "PSX_rom.bin", + "sha1": "c40146361eb8cf670b19fdc9759190257803cab7", + "sha256": "ab05d7bed4980fe1ddde6828b10b4968ab63d3f75dee3ef1deda16391ec29fb5", + "size": 524288, + "repo_path": "bios/Sony/PlayStation/ps1_rom.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "sony-playstation" + ] + }, { "dest": "panafz1_dev_0.9.bin", "sha1": "de3c55490733e6c69724d87e149b52ed955638ed", @@ -11334,7 +11281,8 @@ "size": 262144, "repo_path": "bios/Commodore/Amiga/Kickstart-v1.3-rev34.5-1987-Commodore-A500-A1000-A2000-CDTV.rom", "cores": [ - "bizhawk" + "bizhawk", + "winuae" ], "systems": [ "commodore-amiga" @@ -11360,7 +11308,8 @@ "size": 524288, "repo_path": "bios/Commodore/Amiga/kick31.rom", "cores": [ - "bizhawk" + "bizhawk", + "winuae" ], "systems": [ "commodore-amiga" @@ -11386,7 +11335,8 @@ "size": 524288, "repo_path": "bios/Commodore/Amiga/amiga-os-204.rom", "cores": [ - "bizhawk" + "bizhawk", + "winuae" ], "systems": [ "commodore-amiga" @@ -11399,7 +11349,8 @@ "size": 524288, "repo_path": "bios/Commodore/Amiga/amiga-os-310-a1200.rom", "cores": [ - "bizhawk" + "bizhawk", + "winuae" ], "systems": [ "commodore-amiga" @@ -11425,7 +11376,8 @@ "size": 524288, "repo_path": "bios/Commodore/Amiga/amiga-os-310-a4000.rom", "cores": [ - "bizhawk" + "bizhawk", + "winuae" ], "systems": [ "commodore-amiga" @@ -11464,7 +11416,8 @@ "size": 524288, "repo_path": "bios/Commodore/Amiga/amiga-os-310-cd32.rom", "cores": [ - "bizhawk" + "bizhawk", + "winuae" ], "systems": [ "commodore-amiga" @@ -11483,6 +11436,32 @@ "commodore-amiga" ] }, + { + "dest": "A78_NTSC_bios.bin", + "sha1": "d9d134bb6b36907c615a594cc7688f7bfcef5b43", + "sha256": "7d94551defcd8e7b045a34255654d6d169a683f63062d51dee3eedabf2042db0", + "size": 4096, + "repo_path": "bios/Atari/7800/7800 BIOS (U).rom", + "cores": [ + "bizhawk" + ], + "systems": [ + "atari7800" + ] + }, + { + "dest": "A78_PAL_BIOS.bin", + "sha1": "5a140136a16d1d83e4ff32a19409ca376a8df874", + "sha256": "63e1884e27c89d47e968e2c31dd268e17b415be590865739d5b366c76c123c48", + "size": 16384, + "repo_path": "bios/Atari/7800/7800 BIOS (E).rom", + "cores": [ + "bizhawk" + ], + "systems": [ + "atari7800" + ] + }, { "dest": "C64_Kernal.bin", "sha1": "1d503e56df85a62fee696e7618dc5b4e781df1bb", @@ -11534,7 +11513,7 @@ ] }, { - "dest": "sl131253.bin", + "dest": "ChannelF_SL31253.rom", "sha1": "81193965a374d77b99b4743d317824b53c3e3c78", "sha256": "876a263d28d8f9e9f51785b91269393f06599debae9ba2ef1cba67a283504e2c", "size": 1024, @@ -11547,7 +11526,7 @@ ] }, { - "dest": "sl131254.bin", + "dest": "ChannelF_SL31254.rom", "sha1": "8f70d1b74483ba3a37e86cf16c849d601a8c3d2c", "sha256": "a8d2c0d958b8ea0ee2855b5416993c149a3050cb3c85b781404d3c2a233defc1", "size": 1024, @@ -11559,6 +11538,32 @@ "fairchild-channel-f" ] }, + { + "dest": "ChannelF_sl90025.rom", + "sha1": "759e2ed31fbde4a2d8daf8b9f3e0dffebc90dae2", + "sha256": "bf3755d849438034f3ff92bde357310074c09088b22cf33e512ec06c65d4eaab", + "size": 1024, + "repo_path": "bios/Arcade/FBNeo/sl90025.rom", + "cores": [ + "bizhawk" + ], + "systems": [ + "fairchild-channel-f" + ] + }, + { + "dest": "Coleco_Bios.bin", + "sha1": "45bedc4cbdeac66c7df59e9e599195c778d86a92", + "sha256": "990bf1956f10207d8781b619eb74f89b00d921c8d45c95c334c16c8cceca09ad", + "size": 8192, + "repo_path": "bios/Coleco/ColecoVision/BIOS.col", + "cores": [ + "bizhawk" + ], + "systems": [ + "coleco-colecovision" + ] + }, { "dest": "doom2.wad", "sha1": "7ec7652fcfce8ddc6e801839291f0e28ef1d5ae7", @@ -11572,6 +11577,19 @@ "uzdoom" ] }, + { + "dest": "GBA_bios.rom", + "sha1": "300c20df6731a33952ded8c436f7f186d25d3492", + "sha256": "fd2547724b505f487e6dcb29ec2ecff3af35a841a77ab2e85fd87350abd36570", + "size": 16384, + "repo_path": "bios/Nintendo/Game Boy Advance/GBA_bios.rom", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-gba" + ] + }, { "dest": "GBA_bios_Debug-(J).rom", "sha1": "aa98a2ad32b86106340665d1222d7d973a1361c7", @@ -11585,6 +11603,19 @@ "nintendo-gba" ] }, + { + "dest": "GB_dmg.bin", + "sha1": "4ed31ec6b0b175bb109c0eb5fd3d193da823339f", + "sha256": "cf053eccb4ccafff9e67339d4e78e98dce7d1ed59be819d2a1ba2232c6fce1c7", + "size": 256, + "repo_path": "bios/Nintendo/Game Boy/GB_dmg.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-gb" + ] + }, { "dest": "GB_mgb.bin", "sha1": "4e68f9da03c310e84c523654b9026e51f26ce7f0", @@ -11598,6 +11629,45 @@ "nintendo-gb" ] }, + { + "dest": "GB_sgb.bin", + "sha1": "aa2f50a77dfb4823da96ba99309085a3c6278515", + "sha256": "0e4ddff32fc9d1eeaae812a157dd246459b00c9e14f2f61751f661f32361e360", + "size": 256, + "repo_path": "bios/Nintendo/Game Boy/GB_sgb.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-gb" + ] + }, + { + "dest": "GB_sgb2.bin", + "sha1": "93407ea10d2f30ab96a314d8eca44fe160aea734", + "sha256": "fd243c4fb27008986316ce3df29e9cfbcdc0cd52704970555a8bb76edbec3988", + "size": 256, + "repo_path": "bios/Nintendo/Game Boy/GB_sgb2.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-gb" + ] + }, + { + "dest": "GBC_cgb.bin", + "sha1": "1293d68bf9643bc4f36954c1e80e38f39864528d", + "sha256": "b4f2e416a35eef52cba161b159c7c8523a92594facb924b3ede0d722867c50c7", + "size": 2304, + "repo_path": "bios/Nintendo/Game Boy Color/GBC_cgb.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-gbc" + ] + }, { "dest": "GBC_cgbE.bin", "sha1": "f5f33729a956131d9c44310f0ae3bb0599e9ec3e", @@ -11947,6 +12017,45 @@ "bizhawk" ] }, + { + "dest": "INTV_EROM.bin", + "sha1": "5a65b922b562cb1f57dab51b73151283f0e20c7a", + "sha256": "1aeb614856beba95463166daf09304b414d5617d3f37d221724b3337fc4b2722", + "size": 8192, + "repo_path": "bios/Mattel/Intellivision/INTV_EROM.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "mattel-intellivision" + ] + }, + { + "dest": "INTV_GROM.bin", + "sha1": "f9608bb4ad1cfe3640d02844c7ad8e0bcd974917", + "sha256": "a80b6841182547d08635ad30a6af71441c4c9eed9391b3dd22feb30d8e50cc85", + "size": 2048, + "repo_path": "bios/Mattel/Intellivision/INTV_GROM.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "mattel-intellivision" + ] + }, + { + "dest": "Atari_LYNX_boot.img", + "sha1": "e4ed47fae31693e016b081c6bda48da5b70d7ccb", + "sha256": "c26a36c1990bcf841155e5a6fea4d2ee1a4d53b3cc772e70f257a962ad43b383", + "size": 512, + "repo_path": "bios/Atari/Lynx/Atari_LYNX_boot.img", + "cores": [ + "bizhawk" + ], + "systems": [ + "atari-lynx" + ] + }, { "dest": "MSX_cbios_main_msx1.rom", "sha1": "2f997e8a57528518c82ab3693fdae243dbbcc508", @@ -12014,6 +12123,110 @@ "nintendo-64dd" ] }, + { + "dest": "NDS_Bios7.bin", + "sha1": "24f67bdea115a2c847c8813a262502ee1607b7df", + "sha256": "ba65f690eb04ec92db67c0e299e21ad71de087d6d5de8a9cb17a62eaab563c17", + "size": 16384, + "repo_path": "bios/Nintendo/DS/NDS_Bios7.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-ds" + ] + }, + { + "dest": "NDS_Bios9.bin", + "sha1": "bfaac75f101c135e32e2aaf541de6b1be4c8c62d", + "sha256": "1693983a7707ae394786fa526c0552457888a51d4e410d715ef07acd5a540555", + "size": 4096, + "repo_path": "bios/Nintendo/DS/NDS_Bios9.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-ds" + ] + }, + { + "dest": "NDS_Bios7i.bin", + "sha1": "c7c7570bfe51c3c7c5da3b01331b94e7e7cb4f53", + "sha256": "12a03016ba07cfd874fc002df49a2c6eb2414eb7cfa395c2043035ec5e9193e8", + "size": 65536, + "repo_path": "bios/Nintendo/DS/NDS_Bios7i.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-ds" + ] + }, + { + "dest": "NDS_Bios9i.bin", + "sha1": "719b9eef33692406d7170ff526069615759c4dfc", + "sha256": "6e9f70b51dc4f26289b597f14e2513620c2af964374a95f4c5a62b5cad199afc", + "size": 65536, + "repo_path": "bios/Nintendo/DS/NDS_Bios9i.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-ds" + ] + }, + { + "dest": "NDS_Firmware_1.bin", + "sha1": "ede9add041614eaa232059c63d8613b83fe4e954", + "sha256": "23250a16807e891e900004956139cebb6cb0bb66bbf5cea1cd598672a47195f6", + "size": 262144, + "repo_path": "bios/Nintendo/DS/NDS_Firmware_1.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-ds" + ] + }, + { + "dest": "NDS_Firmware [b1].bin", + "sha1": "22a7547dbc302bcbfb4005cfb5a2d426d3f85ac6", + "sha256": "892fca81cbb124ffec38f8624dd4dfb9c7eb37334a57aca9c7a033b31b3fb2fb", + "size": 262144, + "repo_path": "bios/Nintendo/DS/NDS_Firmware [b1].bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-ds" + ] + }, + { + "dest": "NDS_Firmware [b2].bin", + "sha1": "ae22de59fbf3f35ccfbeacaeba6fa87ac5e7b14b", + "sha256": "dda30945f375dcefa14127a4924f7c8757e56c7c2fb0b61f80302ef586a8da45", + "size": 262144, + "repo_path": "bios/Nintendo/DS/NDS_Firmware [b2].bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-ds" + ] + }, + { + "dest": "NDS_Firmware [b3].bin", + "sha1": "1cf9e67c2c703bb9961bbcdd39cd2c7e319a803b", + "sha256": "b5f5913048244b60f67a58eeac13ca48c1878dcb2aed3ab4fc874b098438ab34", + "size": 262144, + "repo_path": "bios/Nintendo/Nintendo DS/dsfirmware.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nintendo-ds" + ] + }, { "dest": "NDS_Firmware_2.bin", "sha1": "2ef20b45d12cf00657d4b1bd37a5cc8506923440", @@ -12040,6 +12253,16 @@ "nintendo-ds" ] }, + { + "dest": "FDS_disksys-nintendo.rom", + "sha1": "57fe1bdee955bb48d357e463ccbf129496930b62", + "sha256": "99c18490ed9002d9c6d999b9d8d15be5c051bdfa7cc7e73318053c9a994b0178", + "size": 8192, + "repo_path": "bios/Arcade/FBNeo/fdsbios.nes", + "cores": [ + "bizhawk" + ] + }, { "dest": "FDS_disksys-twinfc.rom", "sha1": "e4e41472c454f928e53eb10e0509bf7d1146ecc1", @@ -12050,6 +12273,36 @@ "bizhawk" ] }, + { + "dest": "O2_Odyssey2.bin", + "sha1": "b2e1955d957a475de2411770452eff4ea19f4cee", + "sha256": "cb0c5d9ed64f7c1d8870333451832638885b9aa3d7013f0c05fd2a20a5e5bfef", + "size": 1024, + "repo_path": "bios/Magnavox/Odyssey2/o2rom.bin", + "cores": [ + "bizhawk" + ] + }, + { + "dest": "O2_PhillipsC52.bin", + "sha1": "a6120aed50831c9c0d95dbdf707820f601d9452e", + "sha256": "2ab1b2c7f4b28a74d0ecf3e073088fac19ce40866404420c70576e1862bb5502", + "size": 1024, + "repo_path": "bios/Philips/Videopac/O2_PhillipsC52.bin", + "cores": [ + "bizhawk" + ] + }, + { + "dest": "O2_G7400_bios.bin", + "sha1": "5130243429b40b01a14e1304d0394b8459a6fbae", + "sha256": "8e0413c324a748ca2e493652b8089aa1db129e1ba115b5f58a99e32cebe063e1", + "size": 1024, + "repo_path": "bios/Philips/Videopac/O2_G7400_bios.bin", + "cores": [ + "bizhawk" + ] + }, { "dest": "PCECD_3.0-(J).pce", "sha1": "79f5ff55dd10187c7fd7b8daab0b3ffbd1f56a2c", @@ -12070,6 +12323,19 @@ "bizhawk" ] }, + { + "dest": "PCFX_bios.bin", + "sha1": "1a77fd83e337f906aecab27a1604db064cf10074", + "sha256": "4b44ccf5d84cc83daa2e6a2bee00fdafa14eb58bdf5859e96d8861a891675417", + "size": 1048576, + "repo_path": "bios/NEC/PC-FX/PCFX_bios.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "nec-pc-fx" + ] + }, { "dest": "PCFX_v101.bin", "sha1": "8b662f7548078be52a871565e19511ccca28c5c8", @@ -12083,6 +12349,58 @@ "nec-pc-fx" ] }, + { + "dest": "PCFX_fx-scsi.rom", + "sha1": "65482a23ac5c10a6095aee1db5824cca54ead6e5", + "sha256": "7a2cf2cf33dc03e4520ad5ccd770ed967c0087fde540dca72b0e9ebd0e585623", + "size": 524288, + "repo_path": "bios/NEC/PC-FX/PCFX_fx-scsi.rom", + "cores": [ + "bizhawk" + ], + "systems": [ + "nec-pc-fx" + ] + }, + { + "dest": "PSX_3.0(A).bin", + "sha1": "0555c6fae8906f3f09baf5988f00e55f88e9f30b", + "sha256": "11052b6499e466bbf0a709b1f9cb6834a9418e66680387912451e971cf8a1fef", + "size": 524288, + "repo_path": "bios/Sony/PlayStation/scph5501.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "sony-playstation" + ] + }, + { + "dest": "PSX_3.0(J).bin", + "sha1": "b05def971d8ec59f346f2d9ac21fb742e3eb6917", + "sha256": "9c0421858e217805f4abe18698afea8d5aa36ff0727eb8484944e00eb5e7eadb", + "size": 524288, + "repo_path": "bios/Sony/PlayStation/scph5500.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "sony-playstation" + ] + }, + { + "dest": "PSX_3.0(E).bin", + "sha1": "f6bc2d1f5eb6593de7d089c425ac681d6fffd3f0", + "sha256": "1faaa18fa820a0225e488d9f086296b8e6c46df739666093987ff7d8fd352c09", + "size": 524288, + "repo_path": "bios/Sony/PlayStation/scph5502.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "sony-playstation" + ] + }, { "dest": "SAT_1.00-(J).bin", "sha1": "2b8cb4f87580683eb4d760e4ed210813d667f0a2", @@ -12097,6 +12415,32 @@ "sega-saturn" ] }, + { + "dest": "SAT_1.01-(J).bin", + "sha1": "df94c5b4d47eb3cc404d88b33a8fda237eaf4720", + "sha256": "dcfef4b99605f872b6c3b6d05c045385cdea3d1b702906a0ed930df7bcb7deac", + "size": 524288, + "repo_path": "bios/Sega/Saturn/SAT_1.01-(J).bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "sega-saturn" + ] + }, + { + "dest": "SAT_1.00-(U+E).bin", + "sha1": "faa8ea183a6d7bbe5d4e03bb1332519800d3fbc3", + "sha256": "96e106f740ab448cf89f0dd49dfbac7fe5391cb6bd6e14ad5e3061c13330266f", + "size": 524288, + "repo_path": "bios/Sega/Saturn/SAT_1.00-(U+E).bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "sega-saturn" + ] + }, { "dest": "SAT_1.00a-(U+E).bin", "sha1": "3bb41feb82838ab9a35601ac666de5aacfd17a58", @@ -12111,6 +12455,32 @@ "sega-saturn" ] }, + { + "dest": "SAT_KoF95.bin", + "sha1": "a67cd4f550751f8b91de2b8b74528ab4e0c11c77", + "sha256": "1dd154a9fcee1816749502b5b2497bf4b1f2d973df38d0984905ee83b12d5e81", + "size": 2097152, + "repo_path": "bios/Sega/Saturn/SAT_KoF95.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "sega-saturn" + ] + }, + { + "dest": "SAT_Ultraman.bin", + "sha1": "56c1b93da6b660bf393fbf48ca47569000ef4047", + "sha256": "6e3b35af6e45d9005460cfe44e3907563bde7a4636926ebd316dc84913efdd1b", + "size": 2097152, + "repo_path": "bios/Sega/Saturn/SAT_Ultraman.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "sega-saturn" + ] + }, { "dest": "SAT_STV_17740-(J).bin", "sha1": "06860d96923b81afbc21e0ad32ee19487d8ff6e7", @@ -12267,6 +12637,19 @@ "sega-saturn" ] }, + { + "dest": "SMS_us_1.3.sms", + "sha1": "c315672807d8ddb8d91443729405c766dd95cae7", + "sha256": "477617917a12a30f9f43844909dc2de6e6a617430f5c9a36306c86414a670d50", + "size": 8192, + "repo_path": "bios/Other/zesarux/sms.rom", + "cores": [ + "bizhawk" + ], + "systems": [ + "sega-master-system" + ] + }, { "dest": "SMS_us_1.0b.sms", "sha1": "29091ff60ef4c22b1ee17aa21e0e75bac6b36474", @@ -12293,6 +12676,19 @@ "sega-master-system" ] }, + { + "dest": "SMS_jp_2.1.sms", + "sha1": "a8c1b39a2e41137835eda6a5de6d46dd9fadbaf2", + "sha256": "67846e26764bd862f19179294347f7353a4166b62ac4198a5ec32933b7da486e", + "size": 8192, + "repo_path": "bios/Sega/Master System/MasterSystem/japanese-bios.sms", + "cores": [ + "bizhawk" + ], + "systems": [ + "sega-master-system" + ] + }, { "dest": "SMS_kr.sms", "sha1": "2feafd8f1c40fdf1bd5668f8c5c02e5560945b17", @@ -12633,6 +13029,19 @@ "bizhawk" ] }, + { + "dest": "VEC_Bios.bin", + "sha1": "b9bbf5bb0eac52d039a4a993a2d8064b862c9e28", + "sha256": "480cd76805efe1c87e2412d494ed03918049d7bb9da3b97a5647b768c3468eac", + "size": 4096, + "repo_path": "bios/GCE/Vectrex/VEC_Bios.bin", + "cores": [ + "bizhawk" + ], + "systems": [ + "vectrex" + ] + }, { "dest": "VEC_Minestorm.vec", "sha1": "65d07426b520ddd3115d40f255511e0fd2e20ae7", @@ -31401,6 +31810,36 @@ "atari-st" ] }, + { + "dest": "hiscore.dat", + "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", + "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", + "size": 36182, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", + "cores": [ + "mame2000" + ], + "alternatives": [ + { + "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", + "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", + "size": 216250, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", + "cores": [ + "mame2014" + ] + }, + { + "sha1": "7381472bf046126257e51a0124e4553282f020e5", + "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", + "size": 322458, + "repo_path": "bios/Arcade/Arcade/hiscore.dat", + "cores": [ + "visual-pinball" + ] + } + ] + }, { "dest": "mame2003-plus/artwork/blueshrk.zip", "sha1": "4317f301d6e4117dfde42b33dfaf73a2b25f43c1", @@ -36238,6 +36677,26 @@ "atari-jaguar" ] }, + { + "dest": "amiga-ext-310-cd32.rom", + "sha1": "5bef3d628ce59cc02a66e6e4ae0da48f60e78f7f", + "sha256": "d964826432559994ffe329f643fd4e42dbbff313362d9434945725d7119cae87", + "size": 524288, + "repo_path": "bios/Commodore/Amiga/amiga-ext-310-cd32.rom", + "cores": [ + "winuae" + ] + }, + { + "dest": "amiga-ext-130-cdtv.rom", + "sha1": "7ba40ffa17e500ed9fed041f3424bd81d9c907be", + "sha256": "6e48bb768539e8dae352553e5fdfa860682edaf9e26b105fadd8e26103171765", + "size": 262144, + "repo_path": "bios/Commodore/Amiga/amiga-ext-130-cdtv.rom", + "cores": [ + "winuae" + ] + }, { "dest": "IPLROM.DAT", "sha1": "0ed038ed2133b9f78c6e37256807424e0d927560", @@ -37172,32 +37631,6 @@ "commodore-amiga" ] }, - { - "dest": "kick02019.AROS", - "sha1": "f1952b97e0fa7661e99efb4954e0a86371952c1d", - "sha256": "2bca61323950fbbe2472bb1cdab99311a5df6a78c8f7ae6a8819656629bf9dd2", - "size": 524288, - "repo_path": "bios/Commodore/Amiga/kick02019.AROS", - "cores": [ - "amiberry" - ], - "systems": [ - "commodore-amiga" - ] - }, - { - "dest": "kick02019.AROS.ext", - "sha1": "8b193a6515e0c8b3555ef4142417208dbbdb025e", - "sha256": "ba7965b27c553a517de3c7c81988a6bb6b3a12ceef465a0a4f6d30a6ff811b7c", - "size": 524288, - "repo_path": "bios/Commodore/Amiga/kick02019.AROS.ext", - "cores": [ - "amiberry" - ], - "systems": [ - "commodore-amiga" - ] - }, { "dest": "konamigv.zip", "sha1": "b4ff14ed8c3e37a4b45ce2d80c692961ffc88270", @@ -39858,64 +40291,6 @@ "ep128emu_core" ] }, - { - "dest": "hiscore.dat", - "sha1": "7381472bf046126257e51a0124e4553282f020e5", - "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", - "size": 322458, - "repo_path": "bios/Arcade/Arcade/hiscore.dat", - "cores": [ - "fbalpha2012", - "fbalpha2012_cps3" - ], - "alternatives": [ - { - "sha1": "6f730abe0d76161336f09229f54e9f9ac7619d63", - "sha256": "f272f11991d4370e8495dbaee78dafd7c52932265ad12ca4a45ebd6cf940ce54", - "size": 333070, - "repo_path": "bios/Other/mame4droid-2024/plugins/hiscore/hiscore.dat", - "cores": [ - "groovymame" - ] - }, - { - "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", - "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", - "size": 36182, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", - "cores": [ - "mame2000" - ] - }, - { - "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", - "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", - "size": 216250, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", - "cores": [ - "mame2014" - ] - }, - { - "sha1": "4c1d58f7c1830694933e472ec1289060f7083fa9", - "sha256": "17b7b2424c984531b770571f958e71a9d0bbb578cd0f16c7a1a9ecacccd1140d", - "size": 82413, - "repo_path": "bios/Other/raine/hiscore.dat", - "cores": [ - "raine" - ] - }, - { - "sha1": "7381472bf046126257e51a0124e4553282f020e5", - "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", - "size": 322458, - "repo_path": "bios/Arcade/Arcade/hiscore.dat", - "cores": [ - "visual-pinball" - ] - } - ] - }, { "dest": "fba2012/samples/dkong.zip", "sha1": "764ec667084bc237c1de6bd1db7541ad8cb59975", @@ -99771,8 +100146,7 @@ "size": 524288, "repo_path": "bios/Commodore/Amiga/kick31.rom", "cores": [ - "puae", - "winuae" + "puae" ], "systems": [ "commodore-amiga" diff --git a/install/retrodeck.json b/install/retrodeck.json index 46d82665..f0f8748d 100644 --- a/install/retrodeck.json +++ b/install/retrodeck.json @@ -5,7 +5,7 @@ "platform": "retrodeck", "display_name": "RetroDECK", "version": "1.0", - "generated": "2026-10-20T19:45:33Z", + "generated": "2026-10-20T20:05:06Z", "base_destination": "", "detect": [ { @@ -286,9 +286,9 @@ } ], "total_files": 8560, - "total_size": 8649951793, + "total_size": 8649665517, "pack_files": 8562, - "pack_size": 8649951793, + "pack_size": 8649665517, "total_omitted": 32, "omitted_files": [ { @@ -59291,6 +59291,30 @@ "jollycv" ] }, + { + "dest": "bios/hiscore.dat", + "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", + "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", + "size": 36182, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", + "cores": [ + "mame2000" + ], + "systems": [ + "arcade" + ], + "alternatives": [ + { + "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", + "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", + "size": 216250, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", + "cores": [ + "mame2015" + ] + } + ] + }, { "dest": "bios/mame2003-plus/artwork/blueshrk.zip", "sha1": "4317f301d6e4117dfde42b33dfaf73a2b25f43c1", @@ -100696,40 +100720,6 @@ } ] }, - { - "dest": "bios/hiscore.dat", - "sha1": "7381472bf046126257e51a0124e4553282f020e5", - "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", - "size": 322458, - "repo_path": "bios/Arcade/Arcade/hiscore.dat", - "cores": [ - "fbalpha2012", - "fbalpha2012_cps3" - ], - "systems": [ - "arcade" - ], - "alternatives": [ - { - "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", - "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", - "size": 36182, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", - "cores": [ - "mame2000" - ] - }, - { - "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", - "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", - "size": 216250, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", - "cores": [ - "mame2015" - ] - } - ] - }, { "dest": "bios/fba2012/samples/dkong.zip", "sha1": "764ec667084bc237c1de6bd1db7541ad8cb59975", diff --git a/install/retropie.json b/install/retropie.json index bd6dc5f7..2ba5a2c9 100644 --- a/install/retropie.json +++ b/install/retropie.json @@ -15,10 +15,10 @@ } ], "standalone_copies": [], - "total_files": 8496, - "total_size": 8907267229, - "pack_files": 11052, - "pack_size": 8940634299, + "total_files": 8494, + "total_size": 8906218653, + "pack_files": 11050, + "pack_size": 8939585723, "total_omitted": 214, "omitted_files": [ { @@ -79766,32 +79766,6 @@ "amiberry" ] }, - { - "dest": "kick02019.AROS", - "sha1": "f1952b97e0fa7661e99efb4954e0a86371952c1d", - "sha256": "2bca61323950fbbe2472bb1cdab99311a5df6a78c8f7ae6a8819656629bf9dd2", - "size": 524288, - "repo_path": "bios/Commodore/Amiga/kick02019.AROS", - "cores": [ - "amiberry" - ], - "systems": [ - "commodore-amiga" - ] - }, - { - "dest": "kick02019.AROS.ext", - "sha1": "8b193a6515e0c8b3555ef4142417208dbbdb025e", - "sha256": "ba7965b27c553a517de3c7c81988a6bb6b3a12ceef465a0a4f6d30a6ff811b7c", - "size": 524288, - "repo_path": "bios/Commodore/Amiga/kick02019.AROS.ext", - "cores": [ - "amiberry" - ], - "systems": [ - "commodore-amiga" - ] - }, { "dest": "rom.key", "sha1": "801bbab32e3d37386dd1636d4f1d6fa7e21d5874", @@ -111005,16 +110979,6 @@ "arcade" ], "alternatives": [ - { - "sha1": "7381472bf046126257e51a0124e4553282f020e5", - "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", - "size": 322458, - "repo_path": "bios/Arcade/Arcade/hiscore.dat", - "cores": [ - "fbalpha2012", - "fbalpha2012_cps3" - ] - }, { "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", diff --git a/install/rocknix.json b/install/rocknix.json index cc25f06d..45dd9f31 100644 --- a/install/rocknix.json +++ b/install/rocknix.json @@ -5,7 +5,7 @@ "platform": "rocknix", "display_name": "ROCKNIX", "version": "1.0", - "generated": "2026-10-20T19:45:33Z", + "generated": "2026-10-20T20:05:06Z", "base_destination": "bios", "detect": [ { @@ -19,10 +19,10 @@ } ], "standalone_copies": [], - "total_files": 7118, - "total_size": 8395467125, - "pack_files": 7120, - "pack_size": 8395467125, + "total_files": 7116, + "total_size": 8394132273, + "pack_files": 7118, + "pack_size": 8394132273, "total_omitted": 41, "omitted_files": [ { @@ -20231,6 +20231,27 @@ "mamemess" ] }, + { + "dest": "hiscore.dat", + "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", + "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", + "size": 36182, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", + "cores": [ + "mame2000" + ], + "alternatives": [ + { + "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", + "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", + "size": 216250, + "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", + "cores": [ + "mame2015" + ] + } + ] + }, { "dest": "mame2003/hiscore.dat", "sha1": "a22ec279222ec6aeb3249932f7d377b7cf1e7bf1", @@ -48191,26 +48212,6 @@ "amiberry" ] }, - { - "dest": "kick02019.AROS", - "sha1": "f1952b97e0fa7661e99efb4954e0a86371952c1d", - "sha256": "2bca61323950fbbe2472bb1cdab99311a5df6a78c8f7ae6a8819656629bf9dd2", - "size": 524288, - "repo_path": "bios/Commodore/Amiga/kick02019.AROS", - "cores": [ - "amiberry" - ] - }, - { - "dest": "kick02019.AROS.ext", - "sha1": "8b193a6515e0c8b3555ef4142417208dbbdb025e", - "sha256": "ba7965b27c553a517de3c7c81988a6bb6b3a12ceef465a0a4f6d30a6ff811b7c", - "size": 524288, - "repo_path": "bios/Commodore/Amiga/kick02019.AROS.ext", - "cores": [ - "amiberry" - ] - }, { "dest": "rom.key", "sha1": "801bbab32e3d37386dd1636d4f1d6fa7e21d5874", @@ -50739,37 +50740,6 @@ } ] }, - { - "dest": "hiscore.dat", - "sha1": "7381472bf046126257e51a0124e4553282f020e5", - "sha256": "9d44fc928c0df41debad1b86739bd6ca96a5891b3b499f6fb3d7e9ea95ca8de5", - "size": 322458, - "repo_path": "bios/Arcade/Arcade/hiscore.dat", - "cores": [ - "fbalpha2012", - "fbalpha2012_cps3" - ], - "alternatives": [ - { - "sha1": "21ddda0c61bd4f1cc04fb9d09e16d403d620f9e8", - "sha256": "045da3c1124ba1726738db704a8132590ea2c42fdb327392cff05fc124f8ad3b", - "size": 36182, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.21ddda0c", - "cores": [ - "mame2000" - ] - }, - { - "sha1": "68e94fb579f46f3255ef7c34c0322f3f0f3c8e20", - "sha256": "c470a579d8836299e64b835012f7c536115aac695ba9ae10ecd4d168bede54ca", - "size": 216250, - "repo_path": "bios/Arcade/Arcade/.variants/hiscore.dat.68e94fb5", - "cores": [ - "mame2015" - ] - } - ] - }, { "dest": "fba2012/samples/dkong.zip", "sha1": "764ec667084bc237c1de6bd1db7541ad8cb59975",