From 5255716273a7eab5a3c95334eab3ade72bcdc4ec Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 12:02:36 +0100 Subject: [PATCH 1/8] fix: read EmuELEC's home in launcher paths EmuELEC links /storage/.local/share/flycast to /storage/roms/bios/dc (flycast.sh:11-14 at v4.8), and Flycast reads $HOME/.local/share/flycast. Root's home there is /storage (packages/sysutils/busybox/package.mk:168, profile.d/98-busybox.conf:4, sourced by flycast.sh:7), which nothing recorded, so the link bound nothing and flycastsa's files went to the BIOS root. The registry's home_directory now spells that directory as ~ in the handles and directories of launcher records. flycastsa's ten files land in bios/dc, where the libretro build already reads them. The manifest drops dc_boot.bin and dc_nvmem.bin from the BIOS root, which no emulator reads there, and six arcade archives at the root go back to the MAME sets the mame cores claim. --- platforms/_registry.yml | 4 ++++ scripts/launchers.py | 14 ++++++++++---- tests/test_launcher_placement.py | 26 ++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 4 deletions(-) diff --git a/platforms/_registry.yml b/platforms/_registry.yml index 42bf41f68..6c5babac7 100644 --- a/platforms/_registry.yml +++ b/platforms/_registry.yml @@ -931,6 +931,10 @@ platforms: # retroarch/package.mk:115 at v4.8) and setsettings.sh never sets it, so # RetroArch saves beside each game: no single place. save_directory: null + # root's home, which every launcher script gets from /etc/profile + # (packages/sysutils/busybox/package.mk:168 and + # packages/sysutils/busybox/profile.d/98-busybox.conf:4 at v4.8). + home_directory: /storage schedule: monthly target_scraper: emuelec_targets target_source: https://github.com/EmuELEC/EmuELEC/blob/dev/packages/sx05re/emuelec/package.mk diff --git a/scripts/launchers.py b/scripts/launchers.py index 7b898da25..e3ca1e6ff 100644 --- a/scripts/launchers.py +++ b/scripts/launchers.py @@ -347,14 +347,19 @@ _HOME = re.compile(r"^(?:\$\{HOME\}|\$HOME|\$home|~)(?=/|$)") _FLATPAK_DATA = re.compile(r"^~/\.var/app/[^/]+/data(?=/|$)") -def normalize_handle(token: str) -> str: +def normalize_handle(token: str, home: str = "") -> str: """One spelling for a path, setting or function a launcher record names. ``$home``, ``$HOME``, ``${HOME}`` and ``~`` are one directory, and a - Flatpak's data directory is its ``$XDG_DATA_HOME``. + Flatpak's data directory is its ``$XDG_DATA_HOME``. ``home`` is the + platform's home directory spelled out (``home_directory``): EmuELEC + links /storage/.local/share/flycast, Flycast's ~/.local/share/flycast. """ token = token.strip().strip("\"'").rstrip(",;").rstrip("/") token = token.removesuffix("()") + home = home.rstrip("/") + if home and _below(token, home) is not None: + token = "~" + token[len(home):] token = _HOME.sub("~", token) return _FLATPAK_DATA.sub("$XDG_DATA_HOME", token) @@ -464,6 +469,7 @@ def handed_directories(config: dict) -> list[HandedDirectory]: holds gives one directory per system the platform declares. """ base = str(config.get("base_destination") or "bios") + home = str(config.get("home_directory") or "") natives = native_systems(config) declared = {d.lower() for d in declared_destinations(config)} found: list[HandedDirectory] = [] @@ -490,7 +496,7 @@ def handed_directories(config: dict) -> list[HandedDirectory]: if any(re.search(r"[\s,:;]", part) for part in parts): continue for part in parts: - directory = normalize_handle(part) + directory = normalize_handle(part, home) if passes_to.startswith(WORKING_DIRECTORY_PASSED): # The program runs from the directory: what its code # reads through getcwd(), or relative to it, is below it. @@ -499,7 +505,7 @@ def handed_directories(config: dict) -> list[HandedDirectory]: handles = frozenset( handle for token in passes_to.split() - if (handle := normalize_handle(token)) and handle != directory + if (handle := normalize_handle(token, home)) and handle != directory ) | ini_keys(passes_to) folder = _folder_in_bios(part, base) for emulator in (e.strip() for e in str(record.get("emulator", "")).split(",")): diff --git a/tests/test_launcher_placement.py b/tests/test_launcher_placement.py index 95170a93a..2f734d495 100644 --- a/tests/test_launcher_placement.py +++ b/tests/test_launcher_placement.py @@ -721,5 +721,31 @@ class Quasi88OnRetroPie(unittest.TestCase): ) +class FlycastOnEmuELEC(unittest.TestCase): + """EmuELEC links /storage/.local/share/flycast to bios/dc (flycast.sh:11-14), + and root's home is /storage (busybox profile.d/98-busybox.conf:4).""" + + def test_the_home_directory_is_spelled_as_home(self) -> None: + from launchers import normalize_handle + + self.assertEqual( + normalize_handle("/storage/.local/share/flycast", "/storage"), "~/.local/share/flycast" + ) + self.assertEqual(normalize_handle("/storage", "/storage/"), "~") + self.assertEqual(normalize_handle("/storagex/a", "/storage"), "/storagex/a") + self.assertEqual( + normalize_handle("/storage/.local/share/flycast"), "/storage/.local/share/flycast" + ) + + def test_the_bios_lands_in_dc(self) -> None: + profile = load_emulator_profiles(str(REPO_ROOT / "emulators"))["flycast"] + config = load_platform_config("emuelec", str(REPO_ROOT / "platforms")) + layouts = platform_layouts("flycast", profile, standalone_set(config)) + (view,) = [v for v, standalone in layouts if standalone] + self.assertTrue(view["files"]) + for entry in view["files"]: + self.assertEqual(entry["standalone_path"], "dc/" + entry["layout_path"]) + + if __name__ == "__main__": unittest.main() From 0e0e24d905c1844c5bfb965f36ec579350f3060f Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 12:20:40 +0100 Subject: [PATCH 2/8] feat: name the data-storage key of EKA2L1 EKA2L1 keeps its devices under the data-storage folder, data by default and relative to the working directory (src/emu/config/include/config/options.inl:45). RetroBat writes data-storage = bios/eka2l1/data (Eka2l1.Generator.cs:153, 156), so the layout's data/ folder is placed there. The SYM.ROM extra at data/roms/nem-4/ of the BIOS root, read by nobody, leaves the RetroBat manifest: RetroBat declares the file at eka2l1/data/roms/NEM-4/SYM.ROM, the same slot on its case-folding filesystem. The files shipped beside the executable are named as read in the emulator folder. --- emulators/eka2l1.yml | 2 ++ tests/test_launcher_placement.py | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/emulators/eka2l1.yml b/emulators/eka2l1.yml index 2225d30db..520cfb5c3 100644 --- a/emulators/eka2l1.yml +++ b/emulators/eka2l1.yml @@ -29,6 +29,8 @@ cores: systems: - ngage - symbian +standalone_directories: + - "data-storage = data" data_root: android: diff --git a/tests/test_launcher_placement.py b/tests/test_launcher_placement.py index 2f734d495..932223245 100644 --- a/tests/test_launcher_placement.py +++ b/tests/test_launcher_placement.py @@ -747,5 +747,26 @@ class FlycastOnEmuELEC(unittest.TestCase): self.assertEqual(entry["standalone_path"], "dc/" + entry["layout_path"]) +def standalone_view(emulator: str, platform: str) -> dict: + profile = load_emulator_profiles(str(REPO_ROOT / "emulators"))[emulator] + config = load_platform_config(platform, str(REPO_ROOT / "platforms")) + (view,) = [v for v, standalone in platform_layouts(emulator, profile, standalone_set(config)) + if standalone] + return view + + +class Eka2l1OnRetroBat(unittest.TestCase): + """RetroBat writes data-storage = bios/eka2l1/data (Eka2l1.Generator.cs:153, 156).""" + + def test_the_device_rom_lands_in_eka2l1_data(self) -> None: + view = standalone_view("eka2l1", "retrobat") + (rom,) = [e for e in view["files"] if e["name"] == "SYM.ROM"] + self.assertEqual(rom["standalone_path"], "eka2l1/data/roms/nem-4/SYM.ROM") + # Shipped beside the executable, in RetroBat's emulator folder. + for entry in view["files"]: + if entry.get("mode") == "standalone": + self.assertEqual(entry.get("unplaced"), "outside_bios_folder", entry["name"]) + + if __name__ == "__main__": unittest.main() From 74ef0a37d5711b7e854a1636ce7c6113af839155 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 12:20:55 +0100 Subject: [PATCH 3/8] fix: place Cemu's MLC where RetroDECK sets it RetroDECK sets mlc_path to $bios_path/cemu (cemu/component_prepare.sh:14, 29), which replaces the MLC Cemu reads under its user data directory (src/config/CemuConfig.cpp:25-26, ActiveSettings.cpp:295-320). The profile names that key, so the layout's mlc01/ folder is placed in bios/cemu. Two readers kept the binding from reaching the manifest: - a moved entry kept its standalone load_from, data_dir, and the gap report set the MLC aside as read outside the system directory. The platform's folder now replaces the build's own root. - an entry read outside the BIOS tree was no longer offered to the launcher layer, so RetroDECK's link of keys.txt to bios/cemu/keys.txt went unserved. It is offered again, fills no destination by its own path, and a launcher place it fills settles it. The RetroDECK manifest gains the 55 MLC files under bios/cemu/. It drops the root copies of keys.txt, otp.bin, seeprom.bin, shareddata.bin, cafeLibs/ and resources/sharedFonts/, which standalone Cemu reads in the Flatpak's $XDG_DATA_HOME/Cemu and names them as read outside the BIOS folder. The libretro copies under bios/Cemu/ stay. --- emulators/cemu.yml | 6 ++++-- scripts/common.py | 8 ++++++++ scripts/launchers.py | 7 ++++++- scripts/verify.py | 5 ++++- tests/test_launcher_placement.py | 16 ++++++++++++++++ 5 files changed, 38 insertions(+), 4 deletions(-) diff --git a/emulators/cemu.yml b/emulators/cemu.yml index dd27018ea..5f1da83ef 100644 --- a/emulators/cemu.yml +++ b/emulators/cemu.yml @@ -20,6 +20,8 @@ cores: - cemu - "cemu-sa" systems: [nintendo-wiiu] +standalone_directories: + - "mlc_path = mlc01" data_directories: - ref: cemu-gameprofiles @@ -71,7 +73,7 @@ notes: | directory of that name (saves sorted per core). Standalone Cemu uses the portable directory next to the executable when it exists, otherwise the user data directory given per system in data_root, and the MLC defaults to - /mlc01. path: entries below are + /mlc01, which mlc_path in settings.xml replaces. path: entries below are the libretro destination under the system directory, or under the save directory for the MLC (load_from), and standalone_path: is relative to the Cemu user data directory, which holds the MLC by default (load_from @@ -80,7 +82,7 @@ notes: | ref: src/libretro/CemuLibretro.cpp:2110-2170, src/libretro/CemuLibretro.cpp:4083-4091, src/gui/wxgui/CemuApp.cpp:89-124, src/gui/wxgui/CemuApp.cpp:126-172, - src/config/ActiveSettings.cpp:295-321 + src/config/ActiveSettings.cpp:295-321, src/config/CemuConfig.cpp:25-26 keys.txt is read once from the user data path. A missing file is created with a comment header and an example key. Each line is stripped of diff --git a/scripts/common.py b/scripts/common.py index 09d2900e2..d0f4236d5 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -3117,6 +3117,14 @@ def platform_layouts( tree, path = placed moved = {**f, "standalone_path": path, "layout_path": standalone_layout_path(f, profile)} + if f.get("load_from"): + # The build's own root no longer applies: RetroDECK hands + # Cemu's MLC, read from its data directory, to bios/cemu. + load_from = f["load_from"] + moved["load_from"] = { + **(load_from if isinstance(load_from, dict) else {"libretro": load_from}), + "standalone": "system_dir", + } if tree == "install": # Below the roms root inside the install tree (AmberELEC's # /storage/roms): a plain dest the platform prefix skips. diff --git a/scripts/launchers.py b/scripts/launchers.py index e3ca1e6ff..6f1b68dda 100644 --- a/scripts/launchers.py +++ b/scripts/launchers.py @@ -1093,7 +1093,9 @@ class LauncherLayer: # core asked for it: the pack puts a file there either way. reported_at: dict[str, dict] = {} for _emulator, _standalone, _entry, report in candidates: - if report.get("in_repo"): + # A file the layout reads outside the BIOS tree fills no + # destination of it. + if report.get("in_repo") and not report.get("unplaced"): destination = sanitize_pack_path(report.get("path") or report.get("name", "")) reported_at.setdefault(destination, report) by_layout: dict[tuple[str, bool], list[tuple[dict, dict]]] = {} @@ -1137,6 +1139,9 @@ class LauncherLayer: continue if isinstance(filled, dict): added.append(filled) + # The launcher hands the emulator that file from the BIOS + # tree: read outside it no more. + settled.update(id(report) for _c, report in matched if report.get("unplaced")) if place.stands_for_default: # The emulator opens the launcher's file instead of its # own name, so a copy under that name is read by nobody: diff --git a/scripts/verify.py b/scripts/verify.py index 9aaf6b4ca..b17248aeb 100644 --- a/scripts/verify.py +++ b/scripts/verify.py @@ -809,7 +809,10 @@ def find_undeclared_files( # Read below the roms directory (ROCKNIX's roms/pico-8) # or in an emulator folder (RetroBat's emulators/pico8). entry["root"] = f["root"] - elif launcher_layer and not save_root: + if launcher_layer and not save_root and f.get("root") not in OUTER_ROOTS: + # One read outside the BIOS tree is still served where a + # launcher links that very file: RetroDECK links Cemu's + # keys.txt to bios/cemu/keys.txt. launcher_candidates.append((emu_name, is_standalone, f, entry)) keys = set_keys((emu_name, is_standalone), f) if duplicate: diff --git a/tests/test_launcher_placement.py b/tests/test_launcher_placement.py index 932223245..e0140569e 100644 --- a/tests/test_launcher_placement.py +++ b/tests/test_launcher_placement.py @@ -768,5 +768,21 @@ class Eka2l1OnRetroBat(unittest.TestCase): self.assertEqual(entry.get("unplaced"), "outside_bios_folder", entry["name"]) +class CemuOnRetroDECK(unittest.TestCase): + """RetroDECK sets mlc_path to $bios_path/cemu (cemu/component_prepare.sh:14, 29) + and keeps Cemu's user data in its Flatpak's $XDG_DATA_HOME/Cemu.""" + + def test_the_mlc_lands_in_cemu(self) -> None: + view = standalone_view("cemu", "retrodeck") + mlc = [e for e in view["files"] if (e.get("layout_path") or "").startswith("mlc01/")] + self.assertTrue(mlc) + for entry in mlc: + self.assertEqual( + entry["standalone_path"], "cemu/" + entry["layout_path"].removeprefix("mlc01/") + ) + (otp,) = [e for e in view["files"] if e["name"] == "otp.bin"] + self.assertEqual(otp.get("unplaced"), "outside_bios_folder") + + if __name__ == "__main__": unittest.main() From 2fc3df50c6a6a2f7a8ae9afa216ee850dbbc49c0 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 12:21:05 +0100 Subject: [PATCH 4/8] fix: place Dolphin's User folder a platform sets Dolphin reads its User folder at $XDG_DATA_HOME/dolphin-emu, else ~/.local/share/dolphin-emu (Source/Core/UICommon/UICommon.cpp:449-477). The profile names both, so a launcher handing that folder places the layout: - EmuELEC starts Dolphin with XDG_DATA_HOME=/storage/roms/dolphin (dolphinSA/scripts/dolphin.sh:28): its 30 files move from the BIOS root to dolphin/dolphin-emu/ of the install tree. - RetroDECK links User/Triforce to bios/Triforce (dolphin/component_prepare.sh:30, 49), where its list already puts segaboot.gcm. The rest of the User folder sits in the Flatpak's data directory and is named as read outside the BIOS folder. An entry only the standalone build reads, path and no standalone_path, now takes that path as its layout path (Load/Firmware/rtl_bt/), and the pass copying a name the platform declares elsewhere reaches an unprefixed path: gba_bios.bin lands in dolphin/dolphin-emu/GBA/. --- emulators/dolphin.yml | 3 +++ scripts/common.py | 6 ++++-- scripts/packextras.py | 11 +++++++++-- tests/test_launcher_placement.py | 23 +++++++++++++++++++++++ 4 files changed, 39 insertions(+), 4 deletions(-) diff --git a/emulators/dolphin.yml b/emulators/dolphin.yml index 64d47251f..03f3891ba 100644 --- a/emulators/dolphin.yml +++ b/emulators/dolphin.yml @@ -23,6 +23,9 @@ cores: - "dolphin-qt-gc" - "dolphin-qt-wii" systems: [nintendo-gamecube, nintendo-wii, sega-triforce] +standalone_directories: + - "$XDG_DATA_HOME/dolphin-emu" + - "~/.local/share/dolphin-emu" data_root: android: path: "Android/data/org.dolphinemu.dolphinemu/files" diff --git a/scripts/common.py b/scripts/common.py index d0f4236d5..9be55a3f3 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -2985,12 +2985,14 @@ def standalone_layout_path(entry: dict, profile: dict) -> str | None: ``standalone_path`` when the entry has one. A profile with no libretro build has one layout, so its ``path`` is that layout: UAE4All2 reads - kickstarts/kick13.rom below its working directory. + kickstarts/kick13.rom below its working directory. So does an entry only + the standalone build reads (``mode: standalone``), whose destination is + its ``path``: Dolphin's Load/Firmware/rtl_bt/ under its User directory. """ own = entry.get("standalone_path") if own: return own - if "libretro" in str(profile.get("type", "")): + if "libretro" in str(profile.get("type", "")) and entry.get("mode") != "standalone": return None return entry.get("path") or None diff --git a/scripts/packextras.py b/scripts/packextras.py index 3b3ad8354..ad394c0ba 100644 --- a/scripts/packextras.py +++ b/scripts/packextras.py @@ -1399,7 +1399,7 @@ def _collect_emulator_extras( # covered elsewhere belongs to another program's file. # Nor is one placed outside the BIOS tree by the layout. if (fname not in covered_names or f.get("unsourceable") or f.get("unplaced") - or f.get("root") in OUTER_ROOTS or f.get("unprefixed")): + or f.get("root") in OUTER_ROOTS): continue # Installed with the emulator or by the platform's package, # as the first pass already decided for the same entry. @@ -1429,7 +1429,12 @@ def _collect_emulator_extras( # of the directory core files go to, which the platform may not # declare (Recalbox has its System Cards under pcenginecd/ only, # geargrafx reads them from the root). - full_dest = prefixed_destination(dest, extras_prefix) + # A path of the install tree outside the BIOS folder keeps no + # prefix: EmuELEC's dolphin/dolphin-emu/GBA/gba_bios.bin. + full_dest = ( + sanitize_pack_path(dest) if f.get("unprefixed") + else prefixed_destination(dest, extras_prefix) + ) if full_dest in seen_dests and full_dest not in taken: continue if full_dest in taken and full_dest not in seen and fname not in platform_names: @@ -1475,6 +1480,8 @@ def _collect_emulator_extras( extra["contents"] = f["contents"] if f.get("system_dir"): extra["system_dir"] = f["system_dir"] + if f.get("unprefixed"): + extra["unprefixed"] = True extra["claim_order"] = (2, 0, emu_name) if _take(extra, full_dest, seen_dests, taken): extras.append(extra) diff --git a/tests/test_launcher_placement.py b/tests/test_launcher_placement.py index e0140569e..b03bd26d2 100644 --- a/tests/test_launcher_placement.py +++ b/tests/test_launcher_placement.py @@ -784,5 +784,28 @@ class CemuOnRetroDECK(unittest.TestCase): self.assertEqual(otp.get("unplaced"), "outside_bios_folder") +class DolphinUserDirectory(unittest.TestCase): + """EmuELEC runs Dolphin with XDG_DATA_HOME=/storage/roms/dolphin (dolphin.sh:28), + RetroDECK links $XDG_DATA_HOME/dolphin-emu/Triforce to bios/Triforce + (dolphin/component_prepare.sh:30, 49).""" + + def test_emuelec_installs_the_user_directory_below_its_roms(self) -> None: + view = standalone_view("dolphin", "emuelec") + placed = {e["name"]: e["standalone_path"] for e in view["files"] if e.get("layout_path")} + self.assertEqual(placed["segaboot.gcm"], "dolphin/dolphin-emu/Triforce/segaboot.gcm") + # A standalone-only entry's path is its place in the User directory. + self.assertEqual( + placed["rtl8723a_fw.bin"], "dolphin/dolphin-emu/Load/Firmware/rtl_bt/rtl8723a_fw.bin" + ) + self.assertTrue(all(e.get("unprefixed") for e in view["files"] if e.get("layout_path"))) + + def test_retrodeck_places_triforce_alone(self) -> None: + view = standalone_view("dolphin", "retrodeck") + placed = {e["name"]: e["standalone_path"] for e in view["files"] if e.get("layout_path")} + self.assertEqual(placed, {"segaboot.gcm": "Triforce/segaboot.gcm"}) + (ipl, *_) = [e for e in view["files"] if e["name"] == "IPL.bin"] + self.assertEqual(ipl.get("unplaced"), "outside_bios_folder") + + if __name__ == "__main__": unittest.main() From 5e13f11e3f4d0c945f97c686a151cf87ac6d4c9c Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 12:21:10 +0100 Subject: [PATCH 5/8] docs: say what GZDoom's FileSearch serves RetroDECK writes bios/gzdoom into [FileSearch.Directories] (gzdoom/rd_assets/rd_config/gzdoom.ini:19). BaseFileSearch reads that list after the program directory for the engine pk3s, and for -file, -deh, -bex and zvox.wad (src/common/utility/findfile.cpp:224-296). IWADs come from IWADSearch.Directories and their Load files from the IWAD's folder (src/d_iwad.cpp:456-476, 613-624, 877-901), so no entry of the profile is read from bios/gzdoom and nothing is bound. --- emulators/gzdoom.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/emulators/gzdoom.yml b/emulators/gzdoom.yml index 026507747..94a554604 100644 --- a/emulators/gzdoom.yml +++ b/emulators/gzdoom.yml @@ -30,6 +30,14 @@ notes: | The last three are skipped for shareware IWADs and with -noextras. ref: src/d_main.cpp:2050-2071 + BaseFileSearch tries the program directory first for these resources, then + the name as given, then each FileSearch.Directories path. The same search + serves -file, -deh and -bex arguments and zvox.wad. IWADs are not looked up + there: candidates come from the IWADSearch.Directories paths, and the Load + files of an IWAD block from the IWAD's own directory. + ref: src/common/utility/findfile.cpp:106-115, 224-296, + src/d_main.cpp:1802-1803, 2083, src/d_iwad.cpp:456-476, 613-624, 877-901 + Game data is a user-supplied IWAD. iwadinfo.txt declares each known IWAD with its IWADName, MustContain lumps and support files. The search directories are scanned for the file names of its Names block From 6947df629a98deeeb8507bc8eedb144cb58a98cd Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:05:52 +0100 Subject: [PATCH 6/8] fix: read MAME's sets through its search paths MAME splits rompath, samplepath, hashpath and pluginspath on semicolons and tries each directory in turn (src/emu/fileio.cpp:53-58, 330-392, src/emu/emuopts.cpp:44-46, 53). The launcher records spell those lists with the game's own folder in them, which handed_directories skipped: - RetroBat passes -rp bios; (Mame64.Generator.cs:93-96) and -rompath bios/psxmame/bios; to pSxMAME (PSXMame.Generator.cs:38-48). - KNULLI passes -rompath ;/userdata/bios/mame;/userdata/bios (mameGenerator.py:116-122). - RetroPie writes rompath $romdir/mame;$romdir/arcade;$biosdir/mame (mame.sh:133). A semicolon list now gives each directory but the game's folder. A pool that already lists the folder the files take keeps them there, and a pool standing for the whole layout holds its files, never its folders. The MAME profile names its sets at the top of the rompath and its search settings as pools, pSxMAME its sets and rompath. RetroBat's -sp and -hash records split on `bool hbmame = emulator == "hbmame"` (Mame64.Generator.cs:30): bios/mame/samples for mame64, bios/hbmame/samples for hbmame. Manifests: RetroBat gains the 12 pSxMAME sets in psxmame/bios and drops samples/bbc.zip, read by nobody, which mame/samples/bbc.zip already serves. KNULLI drops the same copy. RetroPie gains the 1427 MAME sets in BIOS/mame, the root copies staying for the libretro cores. EmuDeck names samples/bbc.zip as read outside the BIOS folder. RetroDECK's samplepath is $bios_path/mame-sa/samples (mame/component_prepare.sh:94, 117): bbc.zip moves there from bios/samples/. Its MAME runs with the -rompath ES-DE passes, %GAMEDIR%;%ROMPATH%/, so the standalone sets are named as read outside the BIOS folder and the root copies stay for the libretro core. The 1427 sets of RetroBat, KNULLI and EmuDeck stay at the BIOS root, listed in their rompath. No file of any manifest is lost. --- emulators/mame.yml | 1445 +++++++++++++++++++++++++ emulators/psxmame.yml | 19 + platforms/retrobat.yml | 32 +- scripts/launchers.py | 55 +- scripts/scraper/retrobat_launchers.py | 42 +- tests/test_launcher_placement.py | 52 + tests/test_standalone_links.py | 42 +- 7 files changed, 1665 insertions(+), 22 deletions(-) diff --git a/emulators/mame.yml b/emulators/mame.yml index 10b8f4a89..7026a3b1a 100644 --- a/emulators/mame.yml +++ b/emulators/mame.yml @@ -139,6 +139,19 @@ systems: - virtuality-su2000 - arcade +standalone_pools: + rompath: "" + "-rompath": "" + "-rp": "" + samplepath: "samples" + "-samplepath": "samples" + "-sp": "samples" + hashpath: "hash" + "-hashpath": "hash" + "-hash": "hash" + pluginspath: "plugins" + "-pluginspath": "plugins" + data_root: windows: path: "" @@ -161,6 +174,11 @@ notes: | Paths under system_dir/mame/ (artwork, cheat, hash, ini, plugins, samples, crosshair). ROM search: content_dir + system_dir/mame/bios + system_dir/mame/roms. Cheats via per-game XML files. + The standalone build splits every search path on semicolons and tries + each directory in turn until the file opens (src/emu/fileio.cpp:53-58, + 330-392). rompath defaults to roms, samplepath to samples, hashpath to + hash and pluginspath to plugins (src/emu/emuopts.cpp:44-46, 53), and the + sets are read at the top of a rompath directory. BIOS root set names follow current MAME conventions. ZN-based boards renamed from legacy names (cpzn1 to coh1000c, atpsx to coh1000a, etc.). @@ -808,6 +826,7 @@ files: # SNK Neo Geo MVS/AES - name: neogeo.zip + standalone_path: "neogeo.zip" required: true category: bios_zip system: snk-neogeo-mvs @@ -956,6 +975,7 @@ files: # IGS PGM - name: pgm.zip + standalone_path: "pgm.zip" required: true category: bios_zip system: igs-pgm @@ -980,6 +1000,7 @@ files: # Sega NAOMI / NAOMI 2 / GD-ROM / Atomiswave - name: naomi.zip + standalone_path: "naomi.zip" required: true category: bios_zip system: sega-naomi @@ -1117,6 +1138,7 @@ files: sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc" - name: naomi2.zip + standalone_path: "naomi2.zip" required: true category: bios_zip system: sega-naomi2 @@ -1188,6 +1210,7 @@ files: sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc" - name: naomigd.zip + standalone_path: "naomigd.zip" required: true category: bios_zip system: sega-naomigd @@ -1239,6 +1262,7 @@ files: sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc" - name: awbios.zip + standalone_path: "awbios.zip" required: true category: bios_zip system: sammy-atomiswave @@ -1258,6 +1282,7 @@ files: sha1: "5128fe2ddcced77332bdcab691c09958051fa564" - name: hod2bios.zip + standalone_path: "hod2bios.zip" required: false category: bios_zip system: sega-naomi @@ -1294,6 +1319,7 @@ files: sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc" - name: f355dlx.zip + standalone_path: "f355dlx.zip" required: false category: bios_zip system: sega-naomi @@ -1329,6 +1355,7 @@ files: sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc" - name: f355bios.zip + standalone_path: "f355bios.zip" required: false category: bios_zip system: sega-naomi @@ -1356,6 +1383,7 @@ files: sha1: "3a730ebcf56e0060fef6b1b02eb2eb7cfb7e61dc" - name: airlbios.zip + standalone_path: "airlbios.zip" required: false category: bios_zip system: sega-naomi @@ -1380,6 +1408,7 @@ files: # Sega ST-V / Lindbergh / SP / Hikaru / Chihiro / Triforce - name: stvbios.zip + standalone_path: "stvbios.zip" required: true category: bios_zip system: sega-stv @@ -1447,6 +1476,7 @@ files: sha1: "7d9364d546f3d3f839ec36be148076f8d26a65a6" - name: lindbios.zip + standalone_path: "lindbios.zip" required: true category: bios_zip system: sega-lindbergh @@ -1477,6 +1507,7 @@ files: sha1: "f129787e487984edd23bf344f2e9500c85052275" - name: segasp.zip + standalone_path: "segasp.zip" system: sega-systemsp required: true category: bios_zip @@ -1532,6 +1563,7 @@ files: sha1: "832a3db097af680d1d0eb9451b4650565f0cf8c7" - name: hikaru.zip + standalone_path: "hikaru.zip" required: true category: bios_zip system: sega-hikaru @@ -1564,6 +1596,7 @@ files: bad_dump: true - name: chihiro.zip + standalone_path: "chihiro.zip" required: true category: bios_zip system: sega-chihiro @@ -1599,6 +1632,7 @@ files: sha1: "82dad6e2a75bab4a4840dc6939462f1fb9b95101" - name: triforce.zip + standalone_path: "triforce.zip" required: true category: bios_zip system: sega-triforce @@ -1610,6 +1644,7 @@ files: sha1: "c3cb7227e4dbc2af861e76d00cb59726105a2e4c" - name: shtzone.zip + standalone_path: "shtzone.zip" system: sega-shootingzone required: true category: bios_zip @@ -1621,6 +1656,7 @@ files: sha1: "43fd8bfc395e3b2e3fbe9645d692a5eb04783d9c" - name: sammymdl.zip + standalone_path: "sammymdl.zip" system: sammy-medal required: true category: bios_zip @@ -1644,6 +1680,7 @@ files: # Sega Mega Drive arcade - name: megaplay.zip + standalone_path: "megaplay.zip" required: true category: bios_zip system: sega-megaplay @@ -1684,6 +1721,7 @@ files: bad_dump: true - name: megatech.zip + standalone_path: "megatech.zip" required: true category: bios_zip system: sega-megatech @@ -1711,6 +1749,7 @@ files: sha1: "c9008c431a937c084fb475273093ca0b434b5f47" - name: isgsm.zip + standalone_path: "isgsm.zip" system: sega-isgsm required: true category: bios_zip @@ -1722,6 +1761,7 @@ files: sha1: "97ba0e0f0be832a5114d95151e519bc027f6675b" - name: systemy2.zip + standalone_path: "systemy2.zip" system: sielectronics-y2 required: true category: bios_zip @@ -1734,6 +1774,7 @@ files: # DECO Cassette - name: decocass.zip + standalone_path: "decocass.zip" required: true category: bios_zip system: deco-cassette @@ -1922,6 +1963,7 @@ files: # Nintendo arcade - name: playch10.zip + standalone_path: "playch10.zip" required: true category: bios_zip system: nintendo-playch10 @@ -2013,6 +2055,7 @@ files: sha1: "d10acafc8da9ff479c270ec01180cca61efe62f5" - name: nss.zip + standalone_path: "nss.zip" required: true category: bios_zip system: nintendo-nss @@ -2035,6 +2078,7 @@ files: sha1: "e3942f9d508c3c8074c3c3941376c37ca68b8e54" - name: sfcbox.zip + standalone_path: "sfcbox.zip" required: true category: bios_zip system: nintendo-sfcbox @@ -2056,6 +2100,7 @@ files: sha1: "a3d336db585fe02a37c323422d9db6a33fd489a6" - name: aleck64.zip + standalone_path: "aleck64.zip" system: nintendo-aleck64 required: true category: bios_zip @@ -2076,6 +2121,7 @@ files: # Philips CD-i - name: cdibios.zip + standalone_path: "cdibios.zip" required: true category: bios_zip system: philips-cdi @@ -2099,6 +2145,7 @@ files: # Commodore Cubo (CD32-based) - name: cubo.zip + standalone_path: "cubo.zip" required: true category: bios_zip system: commodore-cubo @@ -2111,6 +2158,7 @@ files: # Namco boards - name: sys246.zip + standalone_path: "sys246.zip" required: true category: bios_zip system: namco-system246 @@ -2122,6 +2170,7 @@ files: sha1: "f0a74bbcaf801f3fd0b7002ebd0118564aae3528" - name: sys256.zip + standalone_path: "sys256.zip" required: true category: bios_zip system: namco-system256 @@ -2133,6 +2182,7 @@ files: sha1: "bc4fb4e1e53adbd92385f1726bd69663ff870f1e" - name: sys573.zip + standalone_path: "sys573.zip" required: true category: bios_zip system: namco-system573 @@ -2171,6 +2221,7 @@ files: # Konami - name: konamigx.zip + standalone_path: "konamigx.zip" system: konami-gx required: true category: bios_zip @@ -2182,6 +2233,7 @@ files: sha1: "c483aa98ff8ef40cdac359c19ad23fea5ecc1906" - name: konamigv.zip + standalone_path: "konamigv.zip" required: true category: bios_zip system: konami-gv @@ -2193,6 +2245,7 @@ files: sha1: "02a82a2fe1fba0404517c3602324bfa64e23e478" - name: kviper.zip + standalone_path: "kviper.zip" required: true category: bios_zip system: konami-viper @@ -2212,6 +2265,7 @@ files: sha1: "ed7cd9b2763b3e377df9663943160f9871f65105" - name: gq863.zip + standalone_path: "gq863.zip" required: true category: bios_zip system: konami-twinkle @@ -2227,6 +2281,7 @@ files: sha1: "cab5209f90f47b9ee6e721479913ad74e3ba84b1" - name: bubsys.zip + standalone_path: "bubsys.zip" system: konami-bubblesystem required: true category: bios_zip @@ -2250,6 +2305,7 @@ files: sha1: "7ab46f9d5d587665782cefc623b8de0124a6d38a" - name: konendev.zip + standalone_path: "konendev.zip" system: konami-endeavour required: true category: bios_zip @@ -2261,6 +2317,7 @@ files: sha1: "3d2c40c9d504358d890364e26c9562e40314d8a4" - name: kpython.zip + standalone_path: "kpython.zip" system: konami-python required: true category: bios_zip @@ -2272,6 +2329,7 @@ files: sha1: "4bc268a996825c1bdf6ae277d331fe7bdc0cc00c" - name: kpython2.zip + standalone_path: "kpython2.zip" system: konami-python2 required: true category: bios_zip @@ -2284,6 +2342,7 @@ files: # Sony ZN-based (PSX arcade, renamed from legacy cpzn/atpsx names) - name: coh1000c.zip + standalone_path: "coh1000c.zip" required: true category: bios_zip system: capcom-zn1 @@ -2305,6 +2364,7 @@ files: sha1: "966f3aee5d00e1312c455f855915d621e6cb0672" - name: coh3002c.zip + standalone_path: "coh3002c.zip" required: true category: bios_zip system: capcom-zn2 @@ -2320,6 +2380,7 @@ files: sha1: "3c3fb8227b05dace042dc1429b9f2355b1a15638" - name: coh1000t.zip + standalone_path: "coh1000t.zip" system: taito-fx1 required: true category: bios_zip @@ -2335,6 +2396,7 @@ files: sha1: "96d94f2b06fb7ecd91454969f4959a583ffb9d5a" - name: coh1000a.zip + standalone_path: "coh1000a.zip" system: acclaim-zn1 required: true category: bios_zip @@ -2350,6 +2412,7 @@ files: sha1: "decf77ab50f7f58c641c3214a11647924f3a8998" - name: coh1000w.zip + standalone_path: "coh1000w.zip" system: atari-zn1 required: true category: bios_zip @@ -2365,6 +2428,7 @@ files: sha1: "8e87941bfb374172628c8a37647e3a66b7166aa8" - name: coh1001l.zip + standalone_path: "coh1001l.zip" system: atlus-zn1 required: true category: bios_zip @@ -2380,6 +2444,7 @@ files: sha1: "8d2fe1facb4473cc20b4b477aaf881f9280939cf" - name: coh1002v.zip + standalone_path: "coh1002v.zip" system: videosystem-zn1 required: true category: bios_zip @@ -2395,6 +2460,7 @@ files: sha1: "b01479dc75a4a8a86bee7ac7cd10af2bda332544" - name: coh1002e.zip + standalone_path: "coh1002e.zip" system: eighting-zn1 required: true category: bios_zip @@ -2410,6 +2476,7 @@ files: sha1: "1069c1d9015028a51a1b314cfacb014ea90aa425" - name: coh1002m.zip + standalone_path: "coh1002m.zip" system: tecmo-tps required: true category: bios_zip @@ -2426,6 +2493,7 @@ files: # Taito - name: coh3002t.zip + standalone_path: "coh3002t.zip" system: taito-gnet required: true category: bios_zip @@ -2469,6 +2537,7 @@ files: sha1: "c6918dfbb6fcf686dde4b731e84f740177ab31f0" - name: coh1002t.zip + standalone_path: "coh1002t.zip" system: taito-gnet required: true category: bios_zip @@ -2492,6 +2561,7 @@ files: sha1: "9ce888bd2a7e575c8ca71d978cb85de22afb5660" - name: taitotz.zip + standalone_path: "taitotz.zip" system: taito-typezero required: true category: bios_zip @@ -2508,6 +2578,7 @@ files: # Super Kaneko Nova System - name: skns.zip + standalone_path: "skns.zip" required: true category: bios_zip system: super-kaneko-nova @@ -2543,6 +2614,7 @@ files: sha1: "463962ffe19880135f0d95a7beda79e27448e872" - name: mac2bios.zip + standalone_path: "mac2bios.zip" system: imax-macs required: false category: bios_zip @@ -2550,6 +2622,7 @@ files: note: "macs2os_l.bin and macs2os_h.bin are both NO_DUMP (src/mame/seta/macs.cpp:532-535). handle_missing_file (src/emu/romload.cpp:529-571) counts a missing NO_DUMP ROM as known bad, not an error, so the machine runs without the set." - name: macsbios.zip + standalone_path: "macsbios.zip" system: imax-macs required: true category: bios_zip @@ -2570,6 +2643,7 @@ files: # Panasonic 3DO - name: 3dobios.zip + standalone_path: "3dobios.zip" required: true category: bios_zip system: panasonic-3do @@ -2597,6 +2671,7 @@ files: sha1: "b01c53da256dde43ffec4ad3fc3adfa8d635e943" - name: alg3do.zip + standalone_path: "alg3do.zip" system: panasonic-3do required: true category: bios_zip @@ -2609,6 +2684,7 @@ files: # Hyper Neo-Geo 64 - name: hng64.zip + standalone_path: "hng64.zip" required: true category: bios_zip system: hyper-neogeo64 @@ -2657,6 +2733,7 @@ files: # Amiga-based - name: ar_bios.zip + standalone_path: "ar_bios.zip" system: arcadia-systems required: true category: bios_zip @@ -2748,6 +2825,7 @@ files: sha1: "80070521476e92323a6baa6e55928ca5b751a332" - name: alg_bios.zip + standalone_path: "alg_bios.zip" system: alg-laserdisc required: true category: bios_zip @@ -2761,6 +2839,7 @@ files: # Atari - name: atarisy1.zip + standalone_path: "atarisy1.zip" system: atari-system1 required: true category: bios_zip @@ -2828,6 +2907,7 @@ files: sha1: "0a42a4816c89447b16e1f3245409591efea98a4a" - name: maxaflex.zip + standalone_path: "maxaflex.zip" system: exidy-maxaflex required: true category: bios_zip @@ -2848,6 +2928,7 @@ files: # Crystal System - name: crysbios.zip + standalone_path: "crysbios.zip" system: brezzasoft-crystal required: true category: bios_zip @@ -2867,6 +2948,7 @@ files: # Galaxy Games # Aristocrat - name: aristmk5.zip + standalone_path: "aristmk5.zip" system: aristocrat-mk5 required: true category: bios_zip @@ -2967,6 +3049,7 @@ files: sha1: "1ca091fba69e92f262dbb3d40f515703c8981793" - name: aristmk6.zip + standalone_path: "aristmk6.zip" system: aristocrat-mk6 required: true category: bios_zip @@ -3370,6 +3453,7 @@ files: sha1: "6e9c9d7960fe0ef083ff824287a99d9c0b9f5e6a" - name: aristmk7.zip + standalone_path: "aristmk7.zip" system: aristocrat-mk7 required: true category: bios_zip @@ -3382,6 +3466,7 @@ files: # Pinball - name: allied.zip + standalone_path: "allied.zip" system: allied-leisure-pinball required: true category: bios_zip @@ -3401,6 +3486,7 @@ files: sha1: "baa0f73fda08a3c5d6f1423fb329e4febb07ef97" - name: gp_110.zip + standalone_path: "gp_110.zip" system: gameplan-mpu1 required: true category: bios_zip @@ -3416,6 +3502,7 @@ files: sha1: "767e15e19e11399935c890c1d1034dccf1ad7f92" - name: gts1.zip + standalone_path: "gts1.zip" system: gottlieb-system1 required: true category: bios_zip @@ -3431,6 +3518,7 @@ files: sha1: "31245daa9972ef8652caee69986585bb8239e86e" - name: recel.zip + standalone_path: "recel.zip" system: recel-system3 required: true category: bios_zip @@ -3446,6 +3534,7 @@ files: sha1: "8545e168a5f256150bcff12d1e6d8efffd08c3cd" - name: slvrball.zip + standalone_path: "slvrball.zip" system: tab-silverball required: true category: bios_zip @@ -3549,6 +3638,7 @@ files: # Nichibutsu - name: nichidvd.zip + standalone_path: "nichidvd.zip" system: nichibutsu-hrdvd required: true category: bios_zip @@ -3569,6 +3659,7 @@ files: # EFO Cedar Magnet - name: cedmag.zip + standalone_path: "cedmag.zip" system: efo-cedar-magnet required: true category: bios_zip @@ -3581,6 +3672,7 @@ files: # Misc - name: iteagle.zip + standalone_path: "iteagle.zip" system: itech-eagle required: true category: bios_zip @@ -3668,6 +3760,7 @@ files: sha1: "213cbdd6cd37ad9b5bfc9545084892a68d29f5ff" - name: su2000.zip + standalone_path: "su2000.zip" system: virtuality-su2000 required: true category: bios_zip @@ -3851,6 +3944,7 @@ files: sha1: "087b5a56ddb6bef6b1bc93b9a8e0d23de27aa399" - name: tourvis.zip + standalone_path: "tourvis.zip" system: pce-tourvision required: true category: bios_zip @@ -3913,6 +4007,7 @@ files: sha1: "881ea7802b9e241473bc8ced0472e0f1851c9886" - name: v4bios.zip + standalone_path: "v4bios.zip" system: barcrest-mpu4 required: true category: bios_zip @@ -3924,6 +4019,7 @@ files: sha1: "49798165640627eb31024319353da04380787b10" - name: miuchiz.zip + standalone_path: "miuchiz.zip" system: miuchiz required: true category: bios_zip @@ -3935,6 +4031,7 @@ files: sha1: "633365fd19a3d0f2ce56cb499b2577a5fb53e466" - name: pumpitup.zip + standalone_path: "pumpitup.zip" system: andamiro-pumpitup required: true category: bios_zip @@ -3961,6 +4058,7 @@ files: # Bally Astrocade - name: astrocde.zip + standalone_path: "astrocde.zip" required: true category: bios_zip system: bally-astrocade @@ -3972,6 +4070,7 @@ files: crc32: "ebc77f3a" - name: astrocdl.zip + standalone_path: "astrocdl.zip" required: false category: bios_zip system: bally-astrocade @@ -3983,6 +4082,7 @@ files: crc32: "d7c517ba" - name: astrocdw.zip + standalone_path: "astrocdw.zip" required: false category: bios_zip system: bally-astrocade @@ -3995,6 +4095,7 @@ files: # Apple IIgs - name: apple2gs.zip + standalone_path: "apple2gs.zip" required: true category: bios_zip system: apple-iigs @@ -4019,6 +4120,7 @@ files: # Apple Macintosh, machines and the devices they instantiate - name: mac128k.zip + standalone_path: "mac128k.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4036,6 +4138,7 @@ files: crc32: "fd2665c2" - name: mac512k.zip + standalone_path: "mac512k.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -4052,6 +4155,7 @@ files: crc32: "d51f376e" - name: macplus.zip + standalone_path: "macplus.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4094,6 +4198,7 @@ files: crc32: "a28ba8ec" - name: macse.zip + standalone_path: "macse.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4107,6 +4212,7 @@ files: crc32: "0f7ff80c" - name: macclasc.zip + standalone_path: "macclasc.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4120,6 +4226,7 @@ files: crc32: "510d7d38" - name: mac2fdhd.zip + standalone_path: "mac2fdhd.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4133,6 +4240,7 @@ files: crc32: "ce3b966f" - name: maciix.zip + standalone_path: "maciix.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -4147,6 +4255,7 @@ files: crc32: "ce3b966f" - name: maclc3.zip + standalone_path: "maclc3.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4160,6 +4269,7 @@ files: crc32: "e578f5f3" - name: adbmodem.zip + standalone_path: "adbmodem.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4174,6 +4284,7 @@ files: sha1: "4a35a44605073ae6076a0292e2056ee4d938d1bd" - name: egret.zip + standalone_path: "egret.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4199,6 +4310,7 @@ files: sha1: "8b0dae3ec66cdddbf71567365d2c462688aeb571" - name: mackbd_m0110.zip + standalone_path: "mackbd_m0110.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4213,6 +4325,7 @@ files: sha1: "32a3b58afb445a8675b12a4de3aec2fa00c99222" - name: mackbd_m0110a.zip + standalone_path: "mackbd_m0110a.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4226,6 +4339,7 @@ files: sha1: "a80404a122d74721cda13b285c412057c2c78bd7" - name: mackbd_m0120.zip + standalone_path: "mackbd_m0120.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4240,6 +4354,7 @@ files: sha1: "32a3b58afb445a8675b12a4de3aec2fa00c99222" - name: nb_mdc824.zip + standalone_path: "nb_mdc824.zip" required: true category: bios_zip system: apple-macintosh-ii @@ -4254,6 +4369,7 @@ files: sha1: "4d3c0632711b7b31c8e0c5cfdd7ec1904f178336" - name: nb_image.zip + standalone_path: "nb_image.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -4269,6 +4385,7 @@ files: # Acorn Electron - name: electron.zip + standalone_path: "electron.zip" required: true category: bios_zip system: electron @@ -4283,6 +4400,7 @@ files: crc32: "b997f9cb" - name: electron64.zip + standalone_path: "electron64.zip" required: false category: bios_zip system: electron @@ -4300,6 +4418,7 @@ files: crc32: "f80a0cea" - name: electron_plus1.zip + standalone_path: "electron_plus1.zip" required: true category: bios_zip system: electron @@ -4315,6 +4434,7 @@ files: sha1: "2de04ab7c81414d6c9c967f965c53fc276392463" - name: electron_plus3.zip + standalone_path: "electron_plus3.zip" required: true category: bios_zip system: electron @@ -4352,6 +4472,7 @@ files: # Tandy MC-10 - name: mc10.zip + standalone_path: "mc10.zip" required: true category: bios_zip system: mc10 @@ -4364,6 +4485,7 @@ files: crc32: "11fda97e" - name: alice.zip + standalone_path: "alice.zip" required: false category: bios_zip system: mc10 @@ -4377,6 +4499,7 @@ files: # NEC PC-8001 - name: pc8001.zip + standalone_path: "pc8001.zip" required: true category: bios_zip system: pc80 @@ -4403,6 +4526,7 @@ files: crc32: "56653188" - name: pc8001mk2sr.zip + standalone_path: "pc8001mk2sr.zip" required: false category: bios_zip system: pc80 @@ -4432,6 +4556,7 @@ files: # Atari XE Game System - name: xegs.zip + standalone_path: "xegs.zip" required: true category: bios_zip system: xegs @@ -4445,6 +4570,7 @@ files: # Casio Loopy - name: casloopy.zip + standalone_path: "casloopy.zip" required: true category: bios_zip system: casio-loopy @@ -4461,6 +4587,7 @@ files: # Casio PV-2000 - name: pv2000.zip + standalone_path: "pv2000.zip" required: true category: bios_zip system: casio-pv2000 @@ -4473,6 +4600,7 @@ files: # Coleco Adam - name: adam.zip + standalone_path: "adam.zip" required: true category: bios_zip system: coleco-adam @@ -4508,6 +4636,7 @@ files: crc32: "035a7a3d" - name: adam_kb.zip + standalone_path: "adam_kb.zip" required: true category: bios_zip system: coleco-adam @@ -4520,6 +4649,7 @@ files: sha1: "83162ffc75847328a05429135b728a63efb05b93" - name: adam_prn.zip + standalone_path: "adam_prn.zip" required: true category: bios_zip system: coleco-adam @@ -4532,6 +4662,7 @@ files: sha1: "32b40679749ad0317c2c9ee9ca619fad6d850ce7" - name: adam_ddp.zip + standalone_path: "adam_ddp.zip" required: true category: bios_zip system: coleco-adam @@ -4544,6 +4675,7 @@ files: sha1: "b970f11e8f443fa130fba02ad1f60da51bf89673" - name: adam_fdc.zip + standalone_path: "adam_fdc.zip" required: true category: bios_zip system: coleco-adam @@ -4556,6 +4688,7 @@ files: sha1: "1cb68891c3af80e99efad7e309136ca37244f060" - name: adam_fdc_320kb.zip + standalone_path: "adam_fdc_320kb.zip" required: false category: bios_zip system: coleco-adam @@ -4578,6 +4711,7 @@ files: sha1: "bc8dd00dd5cde9500a4cd7dc1e4d74330184472a" - name: adam_fdc_a720dipi.zip + standalone_path: "adam_fdc_a720dipi.zip" required: false category: bios_zip system: coleco-adam @@ -4589,6 +4723,7 @@ files: sha1: "15b3aaebba38af84f6a1a6ccdf840ca3d58635da" - name: adam_fdc_fp720at.zip + standalone_path: "adam_fdc_fp720at.zip" required: false category: bios_zip system: coleco-adam @@ -4600,6 +4735,7 @@ files: sha1: "e593a89d7c6e7ea99e7ce376ffa2732d7b646d49" - name: adam_fdc_mihddd.zip + standalone_path: "adam_fdc_mihddd.zip" required: false category: bios_zip system: coleco-adam @@ -4611,6 +4747,7 @@ files: sha1: "f6df22339c93dca938b65d0cbe23abcad89ec230" - name: adam_spi.zip + standalone_path: "adam_spi.zip" required: false category: bios_zip system: coleco-adam @@ -4623,6 +4760,7 @@ files: # Entex Adventure Vision - name: advision.zip + standalone_path: "advision.zip" required: true category: bios_zip system: entex-advision @@ -4639,6 +4777,7 @@ files: # APF M-1000 / Imagination Machine - name: apfm1000.zip + standalone_path: "apfm1000.zip" required: true category: bios_zip system: apf-m1000 @@ -4659,6 +4798,7 @@ files: # Sega Advanced Pico BEENA - name: beena.zip + standalone_path: "beena.zip" required: true category: bios_zip system: sega-beena @@ -4675,6 +4815,7 @@ files: # Bandai RX-78 - name: rx78.zip + standalone_path: "rx78.zip" required: true category: bios_zip system: bandai-rx78 @@ -4688,6 +4829,7 @@ files: # Sega AI Computer - name: segaai.zip + standalone_path: "segaai.zip" required: true category: bios_zip system: sega-ai @@ -4715,6 +4857,7 @@ files: crc32: "e042754b" - name: segaai_soundbox.zip + standalone_path: "segaai_soundbox.zip" required: false category: bios_zip system: sega-ai @@ -4729,6 +4872,7 @@ files: # Camputers Lynx 48K - name: lynx48k.zip + standalone_path: "lynx48k.zip" required: true category: bios_zip system: camplynx @@ -4753,6 +4897,7 @@ files: # Camputers Lynx 96K - name: lynx96k.zip + standalone_path: "lynx96k.zip" required: true category: bios_zip system: camplynx @@ -4785,6 +4930,7 @@ files: # Camputers Lynx 128K - name: lynx128k.zip + standalone_path: "lynx128k.zip" required: true category: bios_zip system: camplynx @@ -4809,6 +4955,7 @@ files: # VTech CreatiVision - name: crvision.zip + standalone_path: "crvision.zip" required: true category: bios_zip system: crvision @@ -4820,6 +4967,7 @@ files: crc32: "c3c590c6" - name: fnvision.zip + standalone_path: "fnvision.zip" required: false category: bios_zip system: crvision @@ -4832,6 +4980,7 @@ files: crc32: "05602697" - name: lasr2001.zip + standalone_path: "lasr2001.zip" required: false category: bios_zip system: crvision @@ -4844,6 +4993,7 @@ files: crc32: "4dc35c39" - name: manager.zip + standalone_path: "manager.zip" required: false category: bios_zip system: crvision @@ -4861,6 +5011,7 @@ files: # VTech Laser 310 (VZ-300) - name: laser310.zip + standalone_path: "laser310.zip" required: true category: bios_zip system: laser310 @@ -4878,6 +5029,7 @@ files: # VTech Socrates Educational Video System - name: socrates.zip + standalone_path: "socrates.zip" required: true category: bios_zip system: vtech-socrates @@ -4907,6 +5059,7 @@ files: # VTech V.Smile Console - name: vsmile.zip + standalone_path: "vsmile.zip" required: true category: bios_zip system: vtech-vsmile @@ -4928,6 +5081,7 @@ files: # Bit Corporation Gamate - name: gamate.zip + standalone_path: "gamate.zip" required: true category: bios_zip system: gamate @@ -4944,6 +5098,7 @@ files: # Epoch Game Pocket Computer - name: gamepock.zip + standalone_path: "gamepock.zip" required: true category: bios_zip system: gamepock @@ -4956,6 +5111,7 @@ files: # Hartung Game Master - name: gmaster.zip + standalone_path: "gmaster.zip" required: true category: bios_zip system: hartung-game-master @@ -4968,6 +5124,7 @@ files: # Tiger game.com - name: gamecom.zip + standalone_path: "gamecom.zip" required: true category: bios_zip system: tiger-game-com @@ -4986,6 +5143,7 @@ files: # GamePark GP32 - name: gp32.zip + standalone_path: "gp32.zip" required: true category: bios_zip system: gamepark-gp32 @@ -5018,6 +5176,7 @@ files: # Fujitsu FM-7 family - name: fm7.zip + standalone_path: "fm7.zip" required: true category: bios_zip system: fm7 @@ -5045,6 +5204,7 @@ files: crc32: "62402ac9" - name: fm77av.zip + standalone_path: "fm77av.zip" required: true category: bios_zip system: fm7 @@ -5072,6 +5232,7 @@ files: crc32: "e9f16c42" - name: fmnew7.zip + standalone_path: "fmnew7.zip" required: false category: bios_zip system: fm7 @@ -5089,6 +5250,7 @@ files: # Technosys Aamber Pegasus - name: pegasus.zip + standalone_path: "pegasus.zip" required: true category: bios_zip system: pegasus @@ -5134,6 +5296,7 @@ files: # Amstrad PCW (Joyce) - name: pcw8256.zip + standalone_path: "pcw8256.zip" required: true category: bios_zip system: pcw @@ -5156,6 +5319,7 @@ files: crc32: "25260958" - name: pcw9512.zip + standalone_path: "pcw9512.zip" required: true category: bios_zip system: pcw @@ -5174,6 +5338,7 @@ files: # vis.cpp: vis (parent, WORKING). Tandy/Memorex MD-2500 (1992). # CD-ROM-based multimedia system built on modified 286 PC hardware. - name: vis.zip + standalone_path: "vis.zip" required: true category: bios_zip system: tandy-vis @@ -5195,6 +5360,7 @@ files: # Z80-based home computers (1977-1983). Only trs80 (Level I) is MACHINE_SUPPORTS_SAVE, # all others MACHINE_NOT_WORKING. Software lists: trs80_cass, trs80_flop, trs80_quik. - name: trs80.zip + standalone_path: "trs80.zip" required: true category: bios_zip system: trs80 @@ -5211,6 +5377,7 @@ files: crc32: "0033f2b9" - name: trs80l2.zip + standalone_path: "trs80l2.zip" required: true category: bios_zip system: trs80 @@ -5250,6 +5417,7 @@ files: crc32: "0033f2b9" - name: eg3003.zip + standalone_path: "eg3003.zip" required: false category: bios_zip system: trs80 @@ -5281,6 +5449,7 @@ files: crc32: "150c5f1f" - name: sys80.zip + standalone_path: "sys80.zip" required: false category: bios_zip system: trs80 @@ -5297,6 +5466,7 @@ files: crc32: "0033f2b9" - name: ht1080z.zip + standalone_path: "ht1080z.zip" required: false category: bios_zip system: trs80 @@ -5309,6 +5479,7 @@ files: crc32: "e8c59d4f" - name: ht1080z2.zip + standalone_path: "ht1080z2.zip" required: false category: bios_zip system: trs80 @@ -5325,6 +5496,7 @@ files: crc32: "6728f0ab" - name: ht108064.zip + standalone_path: "ht108064.zip" required: false category: bios_zip system: trs80 @@ -5349,6 +5521,7 @@ files: crc32: "e76b73a4" - name: trs80m3.zip + standalone_path: "trs80m3.zip" required: true category: bios_zip system: trs80 @@ -5388,6 +5561,7 @@ files: crc32: "444c8b60" - name: trs80m4.zip + standalone_path: "trs80m4.zip" required: false category: bios_zip system: trs80 @@ -5406,6 +5580,7 @@ files: crc32: "444c8b60" - name: trs80m4p.zip + standalone_path: "trs80m4p.zip" required: false category: bios_zip system: trs80 @@ -5430,6 +5605,7 @@ files: crc32: "1ac44bea" - name: cp500.zip + standalone_path: "cp500.zip" required: false category: bios_zip system: trs80 @@ -5451,6 +5627,7 @@ files: # cartridge slot with the "fdc" option by default, the coco_fdc device. # Software lists: coco_cart, coco_flop. - name: coco.zip + standalone_path: "coco.zip" required: true category: bios_zip system: coco @@ -5482,6 +5659,7 @@ files: crc32: "a82a6254" - name: coco2b.zip + standalone_path: "coco2b.zip" required: true category: bios_zip system: coco @@ -5498,6 +5676,7 @@ files: crc32: "a82a6254" - name: coco3.zip + standalone_path: "coco3.zip" required: true category: bios_zip system: coco @@ -5510,6 +5689,7 @@ files: crc32: "b4c88d6c" - name: coco3p.zip + standalone_path: "coco3p.zip" required: true category: bios_zip system: coco @@ -5522,6 +5702,7 @@ files: crc32: "ff050d80" - name: coco_fdc.zip + standalone_path: "coco_fdc.zip" required: true category: bios_zip system: coco @@ -5583,6 +5764,7 @@ files: # Dragon 64 - name: dragon64.zip + standalone_path: "dragon64.zip" required: true category: bios_zip system: dragon64 @@ -5600,6 +5782,7 @@ files: # Acorn Archimedes - name: aa310.zip + standalone_path: "aa310.zip" required: true category: bios_zip system: acorn-archimedes @@ -5752,6 +5935,7 @@ files: crc32: "96ed59b2" - name: archimedes_keyboard.zip + standalone_path: "archimedes_keyboard.zip" required: true category: bios_zip system: acorn-archimedes @@ -5765,6 +5949,7 @@ files: # Epoch Super Cassette Vision - name: scv.zip + standalone_path: "scv.zip" required: true category: bios_zip system: scv @@ -5786,6 +5971,7 @@ files: # TI-99/4A - name: ti99_4a.zip + standalone_path: "ti99_4a.zip" required: true category: bios_zip system: ti99 @@ -5814,6 +6000,7 @@ files: crc32: "37859301" - name: ti99_speech.zip + standalone_path: "ti99_speech.zip" required: false category: bios_zip system: ti99 @@ -5833,6 +6020,7 @@ files: # Tomy Tutor - name: tutor.zip + standalone_path: "tutor.zip" required: true category: bios_zip system: tutor @@ -5854,6 +6042,7 @@ files: # Philips VG-5000 - name: vg5k.zip + standalone_path: "vg5k.zip" required: true category: bios_zip system: philips-vg5k @@ -5882,6 +6071,7 @@ files: # bbcmc.cpp: bbcmc (parent, BBC Master Compact). Software lists bbc_flop, # bbc_cass and bbc_rom among others. - name: bbcm.zip + standalone_path: "bbcm.zip" required: true category: bios_zip system: acorn-bbc-micro @@ -5938,6 +6128,7 @@ files: sha1: "f3cb7f12b7432caba28d067f01af575779220aac" - name: bbcmc.zip + standalone_path: "bbcmc.zip" required: true category: bios_zip system: acorn-bbc-micro @@ -5956,6 +6147,7 @@ files: sha1: "140d002d2d9cd34b47197a2ba823505af2a84633" - name: saa5050.zip + standalone_path: "saa5050.zip" required: true category: bios_zip system: acorn-bbc-micro @@ -5971,6 +6163,7 @@ files: sha1: "6c8daba70374e5aa3a6402f24cdc5f8677d58a0f" - name: bbc_tube_80186.zip + standalone_path: "bbc_tube_80186.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -5991,6 +6184,7 @@ files: sha1: "45dc8d7e7936afbec6de423569d9005a1c350316" - name: bbc_bitstik1.zip + standalone_path: "bbc_bitstik1.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -6003,6 +6197,7 @@ files: sha1: "c6f2cf2f6d1e48819a8381c6a1c97ca8fa5ab117" - name: bbc_bitstik2.zip + standalone_path: "bbc_bitstik2.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -6031,6 +6226,7 @@ files: # bk.cpp: bk0010 (parent) with clones bk001001, bk0010fd, bk0011 and # bk0011m. A clone looks for its ROMs in its own set, then in bk0010.zip. - name: bk0010.zip + standalone_path: "bk0010.zip" required: true category: bios_zip system: elektronika-bk @@ -6054,6 +6250,7 @@ files: # GCE Vectrex - name: vectrex.zip + standalone_path: "vectrex.zip" required: true category: bios_zip system: vectrex @@ -6073,6 +6270,7 @@ files: # Enterprise 64/128 - name: ep64_exdos.zip + standalone_path: "ep64_exdos.zip" required: false category: bios_zip system: enterprise-64-128 @@ -6089,6 +6287,7 @@ files: # Device ROMs: sound chip ROM data - name: qsound.zip + standalone_path: "qsound.zip" required: false category: bios_zip systems: @@ -6107,6 +6306,7 @@ files: sha1: "555f50fe5cdf127619da7d854c03f4a244a0c501" - name: ym2413.zip + standalone_path: "ym2413.zip" required: false category: bios_zip systems: @@ -6125,6 +6325,7 @@ files: sha1: "bb5537717e0b34849456b5ca7d405403dc3f8fda" - name: ym2608.zip + standalone_path: "ym2608.zip" required: false category: bios_zip systems: @@ -6143,6 +6344,7 @@ files: sha1: "50b6c3e288eaa12ad275d4f323267bb72b0445df" - name: ekara.zip + standalone_path: "ekara.zip" system: tvgames required: true category: bios_zip @@ -6154,6 +6356,7 @@ files: sha1: "d75dda7434933135d2f7e353840a9384e9a0d586" - name: ekaraa.zip + standalone_path: "ekaraa.zip" system: tvgames required: true category: bios_zip @@ -6165,6 +6368,7 @@ files: sha1: "450fbe53826cdb87ec797f84b9757987afcc1ec5" - name: ekaraj.zip + standalone_path: "ekaraj.zip" system: tvgames required: true category: bios_zip @@ -6176,6 +6380,7 @@ files: sha1: "58b7f36a81571a2df5e812c118fdf68812a05abc" - name: ekarag.zip + standalone_path: "ekarag.zip" system: tvgames required: true category: bios_zip @@ -6187,6 +6392,7 @@ files: sha1: "433e65a6ea029b67ee62b4b3de52ff3504cfdf16" - name: ekaras.zip + standalone_path: "ekaras.zip" system: tvgames required: true category: bios_zip @@ -6198,6 +6404,7 @@ files: sha1: "402053e22e371c5f5e8069a4bf3b33841e742375" - name: isinger.zip + standalone_path: "isinger.zip" system: tvgames required: true category: bios_zip @@ -6209,6 +6416,7 @@ files: sha1: "879da069ca8c126232a1b2dfcce25c8615540e48" - name: ekaraphs.zip + standalone_path: "ekaraphs.zip" system: tvgames required: true category: bios_zip @@ -6220,6 +6428,7 @@ files: sha1: "baaf35d56fa45b6f995b8466331bb30f0035f734" - name: epitch.zip + standalone_path: "epitch.zip" system: tvgames required: true category: bios_zip @@ -6231,6 +6440,7 @@ files: sha1: "58b7f36a81571a2df5e812c118fdf68812a05abc" - name: ekaramix.zip + standalone_path: "ekaramix.zip" system: tvgames required: true category: bios_zip @@ -6242,6 +6452,7 @@ files: sha1: "26f8c9edcbbed77e86a1cb5a0b91c92a16fef433" - name: ddrfammt.zip + standalone_path: "ddrfammt.zip" system: tvgames required: true category: bios_zip @@ -6253,6 +6464,7 @@ files: sha1: "a1043047056dd27bca69767ee2044461ec549465" - name: popira.zip + standalone_path: "popira.zip" system: tvgames required: true category: bios_zip @@ -6264,6 +6476,7 @@ files: sha1: "fb2ae023fc8a188c79b2d6550f737e06c05e12da" - name: popirak.zip + standalone_path: "popirak.zip" system: tvgames required: true category: bios_zip @@ -6275,6 +6488,7 @@ files: sha1: "7877ac33b57bdd8ceac6bda3b0006a3274ad4dce" - name: popira2.zip + standalone_path: "popira2.zip" system: tvgames required: true category: bios_zip @@ -6286,6 +6500,7 @@ files: sha1: "8b6c812d37e2dc2f2531b0e47d84ad8485729dc5" - name: taikodp.zip + standalone_path: "taikodp.zip" system: tvgames required: true category: bios_zip @@ -6297,6 +6512,7 @@ files: sha1: "03cae465965935fc084fb906f8f5de7679f42dd1" - name: jpopira.zip + standalone_path: "jpopira.zip" system: tvgames required: true category: bios_zip @@ -6312,6 +6528,7 @@ files: sha1: "e8f4ab51445777fe459f9ff09333f548c4e3507c" - name: evio.zip + standalone_path: "evio.zip" system: tvgames required: true category: bios_zip @@ -6323,6 +6540,7 @@ files: sha1: "f2b7e213eb78065a63ef484a619bcfc61299e30e" - name: tak_daig.zip + standalone_path: "tak_daig.zip" system: tvgames required: true category: bios_zip @@ -6334,6 +6552,7 @@ files: sha1: "7d7b54684f8b0b92daf02738560779c7df627b91" - name: gcslottv.zip + standalone_path: "gcslottv.zip" system: tvgames required: true category: bios_zip @@ -6345,6 +6564,7 @@ files: sha1: "1c7fc0c85d817db1550d40c0258f424770e0bd81" - name: hikara.zip + standalone_path: "hikara.zip" system: tvgames required: true category: bios_zip @@ -6356,6 +6576,7 @@ files: sha1: "684dcfeaa8ac2888da2055617603494ce5fed93c" - name: galgames.zip + standalone_path: "galgames.zip" system: ces-galaxy-games required: true category: bios_zip @@ -7356,6 +7577,7 @@ files: # ref: upstream src/frontend/mame/infoxml.cpp:761-765, 786, 1010-1015, # upstream src/frontend/mame/infoxml.cpp:2129-2172 - name: 22vp931.zip + standalone_path: "22vp931.zip" required: false category: bios_zip system: arcade @@ -7369,6 +7591,7 @@ files: sha1: "ea2d7f6a044ed085ce5e09d8b1b1a21c37f0e9b8" - name: 3c505.zip + standalone_path: "3c505.zip" required: false category: bios_zip systems: @@ -7404,6 +7627,7 @@ files: sha1: "ca5ddcb272ab2851e00473dc960b23039746e3d2" - name: 3xtwin.zip + standalone_path: "3xtwin.zip" required: false category: bios_zip systems: @@ -7421,6 +7645,7 @@ files: sha1: "359428ce0047f9192a44790c8670af956cf6ed70" - name: 4dparprn.zip + standalone_path: "4dparprn.zip" required: false category: bios_zip systems: @@ -7437,6 +7662,7 @@ files: sha1: "d6179664d6860df5ed26fce72f253e28f933b01a" - name: a1000kbd_de.zip + standalone_path: "a1000kbd_de.zip" required: false category: bios_zip system: arcade @@ -7452,6 +7678,7 @@ files: bad_dump: true - name: a1000kbd_dk.zip + standalone_path: "a1000kbd_dk.zip" required: false category: bios_zip system: arcade @@ -7467,6 +7694,7 @@ files: bad_dump: true - name: a1000kbd_fr.zip + standalone_path: "a1000kbd_fr.zip" required: false category: bios_zip system: arcade @@ -7482,6 +7710,7 @@ files: bad_dump: true - name: a1000kbd_gb.zip + standalone_path: "a1000kbd_gb.zip" required: false category: bios_zip system: arcade @@ -7497,6 +7726,7 @@ files: bad_dump: true - name: a1000kbd_it.zip + standalone_path: "a1000kbd_it.zip" required: false category: bios_zip system: arcade @@ -7512,6 +7742,7 @@ files: bad_dump: true - name: a1000kbd_se.zip + standalone_path: "a1000kbd_se.zip" required: false category: bios_zip system: arcade @@ -7527,6 +7758,7 @@ files: bad_dump: true - name: a1000kbd_us.zip + standalone_path: "a1000kbd_us.zip" required: false category: bios_zip system: arcade @@ -7542,6 +7774,7 @@ files: bad_dump: true - name: a1200kbd_rb.zip + standalone_path: "a1200kbd_rb.zip" required: false category: bios_zip system: arcade @@ -7556,6 +7789,7 @@ files: sha1: "301ec6a69404457d912c89e3fc54095eda9f0e93" - name: a1cass.zip + standalone_path: "a1cass.zip" required: false category: bios_zip system: arcade @@ -7574,6 +7808,7 @@ files: sha1: "851f3bd6863859a1a6909179a5e5bf744b3d807e" - name: a2000kbd_ch.zip + standalone_path: "a2000kbd_ch.zip" required: false category: bios_zip system: arcade @@ -7588,6 +7823,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a2000kbd_de.zip + standalone_path: "a2000kbd_de.zip" required: false category: bios_zip system: arcade @@ -7602,6 +7838,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a2000kbd_dk.zip + standalone_path: "a2000kbd_dk.zip" required: false category: bios_zip system: arcade @@ -7616,6 +7853,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a2000kbd_es.zip + standalone_path: "a2000kbd_es.zip" required: false category: bios_zip system: arcade @@ -7630,6 +7868,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a2000kbd_fr.zip + standalone_path: "a2000kbd_fr.zip" required: false category: bios_zip system: arcade @@ -7644,6 +7883,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a2000kbd_g80_de.zip + standalone_path: "a2000kbd_g80_de.zip" required: false category: bios_zip system: arcade @@ -7658,6 +7898,7 @@ files: sha1: "e787dc05de227f30a47ac5b9ee7a355c2e9e693b" - name: a2000kbd_g80_dk.zip + standalone_path: "a2000kbd_g80_dk.zip" required: false category: bios_zip system: arcade @@ -7672,6 +7913,7 @@ files: sha1: "e787dc05de227f30a47ac5b9ee7a355c2e9e693b" - name: a2000kbd_g80_gb.zip + standalone_path: "a2000kbd_g80_gb.zip" required: false category: bios_zip system: arcade @@ -7686,6 +7928,7 @@ files: sha1: "e787dc05de227f30a47ac5b9ee7a355c2e9e693b" - name: a2000kbd_g80_se.zip + standalone_path: "a2000kbd_g80_se.zip" required: false category: bios_zip system: arcade @@ -7700,6 +7943,7 @@ files: sha1: "e787dc05de227f30a47ac5b9ee7a355c2e9e693b" - name: a2000kbd_g80_us.zip + standalone_path: "a2000kbd_g80_us.zip" required: false category: bios_zip system: arcade @@ -7714,6 +7958,7 @@ files: sha1: "e787dc05de227f30a47ac5b9ee7a355c2e9e693b" - name: a2000kbd_gb.zip + standalone_path: "a2000kbd_gb.zip" required: false category: bios_zip system: arcade @@ -7728,6 +7973,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a2000kbd_it.zip + standalone_path: "a2000kbd_it.zip" required: false category: bios_zip system: arcade @@ -7742,6 +7988,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a2000kbd_no.zip + standalone_path: "a2000kbd_no.zip" required: false category: bios_zip system: arcade @@ -7756,6 +8003,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a2000kbd_se.zip + standalone_path: "a2000kbd_se.zip" required: false category: bios_zip system: arcade @@ -7770,6 +8018,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a2000kbd_us.zip + standalone_path: "a2000kbd_us.zip" required: false category: bios_zip system: arcade @@ -7784,6 +8033,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a2aevm80.zip + standalone_path: "a2aevm80.zip" required: false category: bios_zip systems: @@ -7804,6 +8054,7 @@ files: sha1: "f90658ffee7740f3cb30ecef2e151f7dc6098833" - name: a2ap16.zip + standalone_path: "a2ap16.zip" required: false category: bios_zip systems: @@ -7824,6 +8075,7 @@ files: sha1: "19c95f91a67b948fc00a14621d574d629479d451" - name: a2ap16a.zip + standalone_path: "a2ap16a.zip" required: false category: bios_zip systems: @@ -7844,6 +8096,7 @@ files: sha1: "135f4f35607dd74941f0a3cae813227bf8a8a020" - name: a2aplcrd.zip + standalone_path: "a2aplcrd.zip" required: false category: bios_zip systems: @@ -7859,6 +8112,7 @@ files: sha1: "71d633be864b6084362e85108a4e600cbe6e44fe" - name: a2autokbd.zip + standalone_path: "a2autokbd.zip" required: false category: bios_zip system: arcade @@ -7873,6 +8127,7 @@ files: sha1: "a0cb73e43f30b6a05bd766136dcd3cee1384bf5f" - name: a2booti.zip + standalone_path: "a2booti.zip" required: false category: bios_zip systems: @@ -7888,6 +8143,7 @@ files: sha1: "f505ad4685cd44e4cce5b8d6d27b9c4fea159f11" - name: a2bufgrapplerplus.zip + standalone_path: "a2bufgrapplerplus.zip" required: false category: bios_zip systems: @@ -7908,6 +8164,7 @@ files: sha1: "f0907cf02d8c5dbf1bfacb0d626f2231142f0ff7" - name: a2bufgrapplerplusa.zip + standalone_path: "a2bufgrapplerplusa.zip" required: false category: bios_zip systems: @@ -7928,6 +8185,7 @@ files: sha1: "f0907cf02d8c5dbf1bfacb0d626f2231142f0ff7" - name: a2cffa02.zip + standalone_path: "a2cffa02.zip" required: false category: bios_zip systems: @@ -7944,6 +8202,7 @@ files: sha1: "d600692ed9626668233a22a48236af639410cb7b" - name: a2cffa2.zip + standalone_path: "a2cffa2.zip" required: false category: bios_zip systems: @@ -7960,6 +8219,7 @@ files: sha1: "080ff88f19de22328e162954ee2b51ee65f9d5cd" - name: a2corvus.zip + standalone_path: "a2corvus.zip" required: false category: bios_zip systems: @@ -7976,6 +8236,7 @@ files: sha1: "dbd6efeb3b54c0523b8b4eda8b3d737413f6a91a" - name: a2diskiing.zip + standalone_path: "a2diskiing.zip" required: false category: bios_zip systems: @@ -7992,6 +8253,7 @@ files: sha1: "d4181c9f046aafc3fb326b381baac809d9e38d16" - name: a2excel9.zip + standalone_path: "a2excel9.zip" required: false category: bios_zip system: arcade @@ -8009,6 +8271,7 @@ files: sha1: "d2960851ce8f70df12d23021dfbe031ec5a8988f" - name: a2focdrv.zip + standalone_path: "a2focdrv.zip" required: false category: bios_zip systems: @@ -8025,6 +8288,7 @@ files: sha1: "acf414aa145fcfa1c12aca0269f1f7ada82f1c04" - name: a2grappler.zip + standalone_path: "a2grappler.zip" required: false category: bios_zip systems: @@ -8041,6 +8305,7 @@ files: sha1: "791ebae64a7fad8f42bdfaec36b9e2d34f12ded8" - name: a2grapplerplus.zip + standalone_path: "a2grapplerplus.zip" required: false category: bios_zip systems: @@ -8063,6 +8328,7 @@ files: sha1: "433ae61a0553ee9c1628ea5b6376dac848c04cad" - name: a2hsscsi.zip + standalone_path: "a2hsscsi.zip" required: false category: bios_zip systems: @@ -8079,6 +8345,7 @@ files: sha1: "7d32227299933bfc1b7f8bc2062906fdfe530674" - name: a2ieee488.zip + standalone_path: "a2ieee488.zip" required: false category: bios_zip systems: @@ -8095,6 +8362,7 @@ files: sha1: "d5cd452bdb7f9ab5c1d77806ffea4b63da77f714" - name: a2iwm.zip + standalone_path: "a2iwm.zip" required: false category: bios_zip system: arcade @@ -8109,6 +8377,7 @@ files: sha1: "d4181c9f046aafc3fb326b381baac809d9e38d16" - name: a2kb200.zip + standalone_path: "a2kb200.zip" required: false category: bios_zip system: arcade @@ -8123,6 +8392,7 @@ files: sha1: "019742022a2a1b449cf3d739bfdd708af6202c44" - name: a2memexp.zip + standalone_path: "a2memexp.zip" required: false category: bios_zip systems: @@ -8139,6 +8409,7 @@ files: sha1: "6e823a1fa40ed37eeddcef23f5df24da2ea1463e" - name: a2mouse.zip + standalone_path: "a2mouse.zip" required: false category: bios_zip systems: @@ -8167,6 +8438,7 @@ files: sha1: "ba267b69a2fda2a2348b140979ece562411bb37b" - name: a2parprn.zip + standalone_path: "a2parprn.zip" required: false category: bios_zip systems: @@ -8184,6 +8456,7 @@ files: bad_dump: true - name: a2pdromdr.zip + standalone_path: "a2pdromdr.zip" required: false category: bios_zip systems: @@ -8199,6 +8472,7 @@ files: sha1: "f0733b7a68126adc5247a1008de2ea4f65ad645a" - name: a2pic.zip + standalone_path: "a2pic.zip" required: false category: bios_zip systems: @@ -8215,6 +8489,7 @@ files: sha1: "de8aa285dcac88b1cc80ec9128b092833f5174b6" - name: a2q68.zip + standalone_path: "a2q68.zip" required: false category: bios_zip systems: @@ -8231,6 +8506,7 @@ files: sha1: "e46d5e8256faece3723e9040f78fd1c8edb3ee0e" - name: a2q68plus.zip + standalone_path: "a2q68plus.zip" required: false category: bios_zip systems: @@ -8247,6 +8523,7 @@ files: sha1: "e46d5e8256faece3723e9040f78fd1c8edb3ee0e" - name: a2ramfac.zip + standalone_path: "a2ramfac.zip" required: false category: bios_zip systems: @@ -8275,6 +8552,7 @@ files: sha1: "9286d35907939aadb1fffd3e1d75603fe3e846ad" - name: a2romfp.zip + standalone_path: "a2romfp.zip" required: false category: bios_zip system: arcade @@ -8309,6 +8587,7 @@ files: sha1: "a28852ff997b4790e53d8d0352112c4b1a395098" - name: a2romint.zip + standalone_path: "a2romint.zip" required: false category: bios_zip system: arcade @@ -8350,6 +8629,7 @@ files: sha1: "52a18bd578a4694420009cad7a7a5779a8c00226" - name: a2scsi.zip + standalone_path: "a2scsi.zip" required: false category: bios_zip systems: @@ -8365,6 +8645,7 @@ files: sha1: "451c85c46b92e6ad2ad930f055ccf0fe3049936d" - name: a2sd.zip + standalone_path: "a2sd.zip" required: false category: bios_zip system: arcade @@ -8378,6 +8659,7 @@ files: sha1: "7e0acef01e622eeed6f8e87893d07c701bbef016" - name: a2sic.zip + standalone_path: "a2sic.zip" required: false category: bios_zip system: arcade @@ -8408,6 +8690,7 @@ files: sha1: "8ff44e892b2510573e9528d781b60429c38dbe30" - name: a2sider1.zip + standalone_path: "a2sider1.zip" required: false category: bios_zip systems: @@ -8424,6 +8707,7 @@ files: sha1: "7f50b5e00cac4960204f50448a6e2d623b1a41e2" - name: a2sider2.zip + standalone_path: "a2sider2.zip" required: false category: bios_zip systems: @@ -8440,6 +8724,7 @@ files: sha1: "8d0a5d6ce3b9a236771126033c4aba6c0cc5e704" - name: a2ssc.zip + standalone_path: "a2ssc.zip" required: false category: bios_zip systems: @@ -8456,6 +8741,7 @@ files: sha1: "6dab633470c6bc4cb3e81d09fda46597caf8ee57" - name: a2superdrive.zip + standalone_path: "a2superdrive.zip" required: false category: bios_zip systems: @@ -8472,6 +8758,7 @@ files: sha1: "440c3f84176c7b9f542da0b6ddf4fb13ec326c46" - name: a2suprterm.zip + standalone_path: "a2suprterm.zip" required: false category: bios_zip system: arcade @@ -8486,6 +8773,7 @@ files: sha1: "66a7411c46c04a8089a7ddfb5ffd9809dd08a21f" - name: a2surance.zip + standalone_path: "a2surance.zip" required: false category: bios_zip system: arcade @@ -8500,6 +8788,7 @@ files: sha1: "723dc6cd32de5a0f27af7503764185ac58904c05" - name: a2swyft.zip + standalone_path: "a2swyft.zip" required: false category: bios_zip system: arcade @@ -8517,6 +8806,7 @@ files: sha1: "38be885539cf91423a246378c411ac8b2f150ec6" - name: a2thunpl.zip + standalone_path: "a2thunpl.zip" required: false category: bios_zip systems: @@ -8533,6 +8823,7 @@ files: sha1: "60f434f5325899d7ea257a6e56e6f53eae65146a" - name: a2tk10.zip + standalone_path: "a2tk10.zip" required: false category: bios_zip system: arcade @@ -8547,6 +8838,7 @@ files: sha1: "27c5160b913e0f62120f384026d24b9f1acb6970" - name: a2tmstho.zip + standalone_path: "a2tmstho.zip" required: false category: bios_zip systems: @@ -8563,6 +8855,7 @@ files: sha1: "ae0173da61581a06188c1bee89e95a0aa536c411" - name: a2twarp.zip + standalone_path: "a2twarp.zip" required: false category: bios_zip system: arcade @@ -8577,6 +8870,7 @@ files: sha1: "7b75534e7895e04859a0b1337801c6eeb0cef52a" - name: a2ultrme.zip + standalone_path: "a2ultrme.zip" required: false category: bios_zip systems: @@ -8601,6 +8895,7 @@ files: sha1: "d4a36837cb98bb65f7ddef7455eb5a7f8e648a82" - name: a2ulttrm.zip + standalone_path: "a2ulttrm.zip" required: false category: bios_zip systems: @@ -8625,6 +8920,7 @@ files: sha1: "0ad0c5e802e48495da27f7bd26ee3ab1c92d74dd" - name: a2uniprint.zip + standalone_path: "a2uniprint.zip" required: false category: bios_zip systems: @@ -8641,6 +8937,7 @@ files: sha1: "0a2789ec2cb28f10a2836a91feabc24ceca8f142" - name: a2vidtrm.zip + standalone_path: "a2vidtrm.zip" required: false category: bios_zip systems: @@ -8708,6 +9005,7 @@ files: sha1: "50c3df528109c65491a001ec74e50351a652c1fd" - name: a2vistaa800.zip + standalone_path: "a2vistaa800.zip" required: false category: bios_zip system: arcade @@ -8722,6 +9020,7 @@ files: sha1: "8e0b4f4c6c467e2280bd250ee54f471728640964" - name: a2vtc1.zip + standalone_path: "a2vtc1.zip" required: false category: bios_zip systems: @@ -8746,6 +9045,7 @@ files: sha1: "0d9b1c3917e23ca35d5fbd405f05ff6e87122b92" - name: a2vulcan.zip + standalone_path: "a2vulcan.zip" required: false category: bios_zip system: apple-iigs @@ -8760,6 +9060,7 @@ files: sha1: "1d668e856e33c6eeb10fe26975341afa8acb81f5" - name: a2vulgld.zip + standalone_path: "a2vulgld.zip" required: false category: bios_zip system: apple-iigs @@ -8774,6 +9075,7 @@ files: sha1: "96a22c2540fa603648a4e638e176eee76523b4e1" - name: a2vuliie.zip + standalone_path: "a2vuliie.zip" required: false category: bios_zip system: arcade @@ -8788,6 +9090,7 @@ files: sha1: "d88ed27cd776f967b0e3440e05712b3830995f24" - name: a2zipdrv.zip + standalone_path: "a2zipdrv.zip" required: false category: bios_zip systems: @@ -8804,6 +9107,7 @@ files: sha1: "46636bfed88c864139e3d2826661908a8c07c459" - name: a3fdc.zip + standalone_path: "a3fdc.zip" required: false category: bios_zip system: arcade @@ -8818,6 +9122,7 @@ files: sha1: "bc39fbd5b9a8d2287ac5d0a42e639fc4d3c2f9d4" - name: a500kbd_ch.zip + standalone_path: "a500kbd_ch.zip" required: false category: bios_zip system: arcade @@ -8832,6 +9137,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a500kbd_de.zip + standalone_path: "a500kbd_de.zip" required: false category: bios_zip system: arcade @@ -8846,6 +9152,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a500kbd_dk.zip + standalone_path: "a500kbd_dk.zip" required: false category: bios_zip system: arcade @@ -8860,6 +9167,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a500kbd_es.zip + standalone_path: "a500kbd_es.zip" required: false category: bios_zip system: arcade @@ -8874,6 +9182,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a500kbd_fr.zip + standalone_path: "a500kbd_fr.zip" required: false category: bios_zip system: arcade @@ -8888,6 +9197,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a500kbd_gb.zip + standalone_path: "a500kbd_gb.zip" required: false category: bios_zip system: arcade @@ -8902,6 +9212,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a500kbd_it.zip + standalone_path: "a500kbd_it.zip" required: false category: bios_zip system: arcade @@ -8916,6 +9227,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a500kbd_no.zip + standalone_path: "a500kbd_no.zip" required: false category: bios_zip system: arcade @@ -8930,6 +9242,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a500kbd_se.zip + standalone_path: "a500kbd_se.zip" required: false category: bios_zip system: arcade @@ -8944,6 +9257,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a500kbd_us.zip + standalone_path: "a500kbd_us.zip" required: false category: bios_zip system: arcade @@ -8958,6 +9272,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a600kbd_ch.zip + standalone_path: "a600kbd_ch.zip" required: false category: bios_zip system: arcade @@ -8972,6 +9287,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a600kbd_de.zip + standalone_path: "a600kbd_de.zip" required: false category: bios_zip system: arcade @@ -8986,6 +9302,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a600kbd_dk.zip + standalone_path: "a600kbd_dk.zip" required: false category: bios_zip system: arcade @@ -9000,6 +9317,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a600kbd_es.zip + standalone_path: "a600kbd_es.zip" required: false category: bios_zip system: arcade @@ -9014,6 +9332,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a600kbd_fr.zip + standalone_path: "a600kbd_fr.zip" required: false category: bios_zip system: arcade @@ -9028,6 +9347,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a600kbd_gb.zip + standalone_path: "a600kbd_gb.zip" required: false category: bios_zip system: arcade @@ -9042,6 +9362,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a600kbd_it.zip + standalone_path: "a600kbd_it.zip" required: false category: bios_zip system: arcade @@ -9056,6 +9377,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a600kbd_no.zip + standalone_path: "a600kbd_no.zip" required: false category: bios_zip system: arcade @@ -9070,6 +9392,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a600kbd_se.zip + standalone_path: "a600kbd_se.zip" required: false category: bios_zip system: arcade @@ -9084,6 +9407,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: a600kbd_us.zip + standalone_path: "a600kbd_us.zip" required: false category: bios_zip system: arcade @@ -9098,6 +9422,7 @@ files: sha1: "83b21d0c8b93fc9b9b3b287fde4ec8f3badac5a2" - name: abc1600mac.zip + standalone_path: "abc1600mac.zip" required: false category: bios_zip system: arcade @@ -9115,6 +9440,7 @@ files: sha1: "a3871f0d796bea9df8f25d41b3169dd4b8ef65ab" - name: abc1600mover.zip + standalone_path: "abc1600mover.zip" required: false category: bios_zip system: arcade @@ -9148,6 +9474,7 @@ files: sha1: "1129917845f8e505998b15288f02bf907487e4ac" - name: abc55.zip + standalone_path: "abc55.zip" required: false category: bios_zip system: arcade @@ -9161,6 +9488,7 @@ files: sha1: "04a30141ac611d0544bbb786061515040c23480c" - name: abc77.zip + standalone_path: "abc77.zip" required: false category: bios_zip system: arcade @@ -9174,6 +9502,7 @@ files: sha1: "04a30141ac611d0544bbb786061515040c23480c" - name: abc800kb.zip + standalone_path: "abc800kb.zip" required: false category: bios_zip system: arcade @@ -9187,6 +9516,7 @@ files: sha1: "1824c5d304bbd09f97056cfa408e1b18b5219ba2" - name: abc80kb.zip + standalone_path: "abc80kb.zip" required: false category: bios_zip system: arcade @@ -9200,6 +9530,7 @@ files: sha1: "f88be4918bfd6230b73335c6a75a3010d33b2caa" - name: abc830.zip + standalone_path: "abc830.zip" required: false category: bios_zip system: arcade @@ -9234,6 +9565,7 @@ files: sha1: "61ad271de53152c1640c0b364fce46d1b0b4c7e2" - name: abc832.zip + standalone_path: "abc832.zip" required: false category: bios_zip system: arcade @@ -9268,6 +9600,7 @@ files: sha1: "61ad271de53152c1640c0b364fce46d1b0b4c7e2" - name: abc834.zip + standalone_path: "abc834.zip" required: false category: bios_zip system: arcade @@ -9302,6 +9635,7 @@ files: sha1: "61ad271de53152c1640c0b364fce46d1b0b4c7e2" - name: abc838.zip + standalone_path: "abc838.zip" required: false category: bios_zip system: arcade @@ -9336,6 +9670,7 @@ files: sha1: "61ad271de53152c1640c0b364fce46d1b0b4c7e2" - name: abc850flop.zip + standalone_path: "abc850flop.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/abcbus/lux21046.cpp:112-128" @@ -9369,6 +9704,7 @@ files: sha1: "61ad271de53152c1640c0b364fce46d1b0b4c7e2" - name: abc99.zip + standalone_path: "abc99.zip" required: false category: bios_zip system: arcade @@ -9398,6 +9734,7 @@ files: sha1: "0c1d9e320f82df05f4804992ef6f6f6cd20623f3" - name: abc_db4106.zip + standalone_path: "abc_db4106.zip" required: false category: bios_zip system: arcade @@ -9412,6 +9749,7 @@ files: sha1: "3f99ea2ef301d9e3415db152dad79171dc62cc2d" - name: abc_db4107.zip + standalone_path: "abc_db4107.zip" required: false category: bios_zip system: arcade @@ -9487,6 +9825,7 @@ files: sha1: "7ff8b2a19f71fe0279ab3e5a0a5fffcb6030360c" - name: abc_db4112.zip + standalone_path: "abc_db4112.zip" required: false category: bios_zip system: arcade @@ -9506,6 +9845,7 @@ files: sha1: "95c150d3152df318abd9267915d5669d2ec33895" - name: abc_fd2.zip + standalone_path: "abc_fd2.zip" required: false category: bios_zip system: arcade @@ -9527,6 +9867,7 @@ files: sha1: "d500377c34ac6c679c155f4a5208e1c3e00cd920" - name: abc_slutprov.zip + standalone_path: "abc_slutprov.zip" required: false category: bios_zip system: arcade @@ -9540,6 +9881,7 @@ files: sha1: "f97cb6526a1d10b189164f26157522e382ca6bc6" - name: abc_ssa.zip + standalone_path: "abc_ssa.zip" required: false category: bios_zip system: arcade @@ -9561,6 +9903,7 @@ files: sha1: "9010cb3426bc61711ae940551b79b6ecba67defa" - name: abc_uni800.zip + standalone_path: "abc_uni800.zip" required: false category: bios_zip system: arcade @@ -9574,6 +9917,7 @@ files: sha1: "0c641f4cf321f0003da3fbd435edb138a9b949b4" - name: abc_unidisk.zip + standalone_path: "abc_unidisk.zip" required: false category: bios_zip system: arcade @@ -9598,6 +9942,7 @@ files: sha1: "8db504d46ff0355c72bd58fd536abeb17425c532" - name: abcsio.zip + standalone_path: "abcsio.zip" required: false category: bios_zip system: arcade @@ -9615,6 +9960,7 @@ files: sha1: "d1f9b16530be28b03eeddb3f6ee4fa9e1cc9458e" - name: acb2072.zip + standalone_path: "acb2072.zip" required: false category: bios_zip systems: @@ -9638,6 +9984,7 @@ files: sha1: "82800005d532f0dc35cbf9ea6af75a97cb8b2e71" - name: ace80.zip + standalone_path: "ace80.zip" required: false category: bios_zip systems: @@ -9654,6 +10001,7 @@ files: sha1: "8e9e9f12b78d545ccd90f5e30b6804ceeb6c939f" - name: ace_sp_reelctrl.zip + standalone_path: "ace_sp_reelctrl.zip" required: false category: bios_zip system: arcade @@ -9668,6 +10016,7 @@ files: sha1: "44f78da8138caf4f79f1e8e9a2abe53d79c0fe79" - name: ace_sp_reelctrl_pcp.zip + standalone_path: "ace_sp_reelctrl_pcp.zip" required: false category: bios_zip system: arcade @@ -9682,6 +10031,7 @@ files: sha1: "d1d6ea68d9aace4a4ea0de212f17426bccfe5856" - name: acorn_vdu80.zip + standalone_path: "acorn_vdu80.zip" required: false category: bios_zip system: arcade @@ -9696,6 +10046,7 @@ files: sha1: "04c326a745ba6a78185ebc2adeecb53a166a6ab3" - name: acs8600_ics.zip + standalone_path: "acs8600_ics.zip" required: false category: bios_zip system: arcade @@ -9710,6 +10061,7 @@ files: sha1: "aee04574dea4c17112431536d3b7e3984b8afdc2" - name: agat7_flop.zip + standalone_path: "agat7_flop.zip" required: false category: bios_zip system: arcade @@ -9724,6 +10076,7 @@ files: sha1: "71626d3d2d4bbeeac2b77585b45a5566d20b8d34" - name: agat840k_hle.zip + standalone_path: "agat840k_hle.zip" required: false category: bios_zip system: arcade @@ -9738,6 +10091,7 @@ files: sha1: "5d369bad6cdd6a70b0bb16480eba69640de87a2e" - name: agat9_flop.zip + standalone_path: "agat9_flop.zip" required: false category: bios_zip system: arcade @@ -9752,6 +10106,7 @@ files: sha1: "bf955189ebffe874c20ef649a3db8177dc16af61" - name: agat_fdc.zip + standalone_path: "agat_fdc.zip" required: false category: bios_zip system: arcade @@ -9770,6 +10125,7 @@ files: sha1: "b5305e82c81240a6fdc932a559b5493c59f302c6" - name: aha1542a.zip + standalone_path: "aha1542a.zip" required: false category: bios_zip systems: @@ -9791,6 +10147,7 @@ files: sha1: "bba0d84fa1b67ea71905953c25201fa2020cf465" - name: aha1542b.zip + standalone_path: "aha1542b.zip" required: false category: bios_zip systems: @@ -9859,6 +10216,7 @@ files: sha1: "5ad1bb4bde3e8c30380b05d32ac273c781ab12a8" - name: aha1542c.zip + standalone_path: "aha1542c.zip" required: false category: bios_zip systems: @@ -9892,6 +10250,7 @@ files: sha1: "ae7900653357d5f32a2734bc13d9ec63bd805597" - name: aha1542cf.zip + standalone_path: "aha1542cf.zip" required: false category: bios_zip systems: @@ -9935,6 +10294,7 @@ files: sha1: "6edbdd9b0b15ef31ca0741cac31556d2d5266b6e" - name: aha1542cp.zip + standalone_path: "aha1542cp.zip" required: false category: bios_zip systems: @@ -9956,6 +10316,7 @@ files: sha1: "431dfc26312556ddd24fccc429b2b3e93bac5c2f" - name: aha1740.zip + standalone_path: "aha1740.zip" required: false category: bios_zip systems: @@ -9983,6 +10344,7 @@ files: sha1: "8ca143adfc7d20ad5d49f14dedabc8276454bf9e" - name: aha1742a.zip + standalone_path: "aha1742a.zip" required: false category: bios_zip systems: @@ -10021,6 +10383,7 @@ files: sha1: "18cb3960dc47f2c14beb88f9680c1f66c4652b04" - name: aha2940.zip + standalone_path: "aha2940.zip" required: false category: bios_zip systems: @@ -10038,6 +10401,7 @@ files: sha1: "f134df1a542d6af8dd1878c6db0c734b7701d756" - name: aha2940au.zip + standalone_path: "aha2940au.zip" required: false category: bios_zip systems: @@ -10059,6 +10423,7 @@ files: sha1: "93311b8c02e87492a40c1df6ea4eb60628bb2825" - name: alto2_cpu.zip + standalone_path: "alto2_cpu.zip" required: false category: bios_zip system: arcade @@ -10244,6 +10609,7 @@ files: sha1: "583327a7d70cd02702c941c0e43c1e9408ff7fd0" - name: altos2_kbd.zip + standalone_path: "altos2_kbd.zip" required: false category: bios_zip system: arcade @@ -10257,6 +10623,7 @@ files: sha1: "4b3f13e05058edef516a032a8a6652cc7e2d3be9" - name: am100kbd.zip + standalone_path: "am100kbd.zip" required: false category: bios_zip system: arcade @@ -10271,6 +10638,7 @@ files: sha1: "9f24c54f7cee41f7fef41294f05c4bc89d65acfb" - name: amiga_a2091.zip + standalone_path: "amiga_a2091.zip" required: false category: bios_zip system: arcade @@ -10330,6 +10698,7 @@ files: sha1: "761a1318106e49057f95258699076ec1079967ad" - name: amiga_a570.zip + standalone_path: "amiga_a570.zip" required: false category: bios_zip system: arcade @@ -10343,6 +10712,7 @@ files: sha1: "ed7e461d1fff3cda321631ae42b80e3cd4fa5ebb" - name: amiga_a590.zip + standalone_path: "amiga_a590.zip" required: false category: bios_zip system: arcade @@ -10421,6 +10791,7 @@ files: sha1: "761a1318106e49057f95258699076ec1079967ad" - name: amiga_ar1.zip + standalone_path: "amiga_ar1.zip" required: false category: bios_zip system: arcade @@ -10442,6 +10813,7 @@ files: bad_dump: true - name: amiga_ar2.zip + standalone_path: "amiga_ar2.zip" required: false category: bios_zip system: arcade @@ -10470,6 +10842,7 @@ files: bad_dump: true - name: amiga_ar3.zip + standalone_path: "amiga_ar3.zip" required: false category: bios_zip system: arcade @@ -10500,6 +10873,7 @@ files: sha1: "a7431d22bfdb746a8bb6073c9edf7a2b65c6d307" - name: amiga_buddha.zip + standalone_path: "amiga_buddha.zip" required: false category: bios_zip system: arcade @@ -10520,6 +10894,7 @@ files: sha1: "ec17a58962c373a2892090ec9b1722d2c326d631" - name: amiga_oktagon2008.zip + standalone_path: "amiga_oktagon2008.zip" required: false category: bios_zip system: arcade @@ -10534,6 +10909,7 @@ files: sha1: "56c441fa37d193393081b2e8ceae823bc7e97e49" - name: amiga_ripple.zip + standalone_path: "amiga_ripple.zip" required: false category: bios_zip system: arcade @@ -10549,6 +10925,7 @@ files: sha1: "83762ef5a883e5c43ad321eaa03fde7454f70785" - name: ampex230_kbd.zip + standalone_path: "ampex230_kbd.zip" required: false category: bios_zip system: arcade @@ -10562,6 +10939,7 @@ files: sha1: "46953d6b511ee37ca0aa2316af39c875b22ee2a7" - name: ap2000.zip + standalone_path: "ap2000.zip" required: false category: bios_zip systems: @@ -10595,6 +10973,7 @@ files: sha1: "219ffa6ff661ce95d5772c9fc1967093718f04e9" - name: aplcd150.zip + standalone_path: "aplcd150.zip" required: false category: bios_zip systems: @@ -10617,6 +10996,7 @@ files: sha1: "e4cd656e2a433229543e874a29f1567758170fc6" - name: aprissi.zip + standalone_path: "aprissi.zip" required: false category: bios_zip systems: @@ -10633,6 +11013,7 @@ files: sha1: "19f2bc1e60c3fd5e179c4a38f7ca4e3221553562" - name: arc_a448.zip + standalone_path: "arc_a448.zip" required: false category: bios_zip systems: @@ -10649,6 +11030,7 @@ files: sha1: "8140e9cf82dc67324963766d33efd5c8ad6d53f8" - name: arc_a448b.zip + standalone_path: "arc_a448b.zip" required: false category: bios_zip systems: @@ -10665,6 +11047,7 @@ files: sha1: "125b5a505498d91ca049f95fd05e693b2396bda6" - name: arc_acejoy.zip + standalone_path: "arc_acejoy.zip" required: false category: bios_zip systems: @@ -10680,6 +11063,7 @@ files: sha1: "1addf507844c6590d111765051a43fe571491224" - name: arc_armadeus.zip + standalone_path: "arc_armadeus.zip" required: false category: bios_zip systems: @@ -10696,6 +11080,7 @@ files: sha1: "6129d91bcd21bdab75f1293f9daa7612feaffc4b" - name: arc_bbcio_aga30.zip + standalone_path: "arc_bbcio_aga30.zip" required: false category: bios_zip systems: @@ -10713,6 +11098,7 @@ files: sha1: "ed8d0caa478f030e11348b23e915897f27dcf153" - name: arc_bbcio_aka10.zip + standalone_path: "arc_bbcio_aka10.zip" required: false category: bios_zip systems: @@ -10740,6 +11126,7 @@ files: sha1: "4c3de606de594c8f6ed236ffa19374c76e307226" - name: arc_bbcio_we.zip + standalone_path: "arc_bbcio_we.zip" required: false category: bios_zip systems: @@ -10757,6 +11144,7 @@ files: sha1: "05c79e38707e406eed23cec6b3d2730e8fe550e8" - name: arc_eaglem2.zip + standalone_path: "arc_eaglem2.zip" required: false category: bios_zip systems: @@ -10773,6 +11161,7 @@ files: sha1: "b3633b8e1d58f59f5894d14a737c69b6d9d5d46d" - name: arc_ether1_aka25.zip + standalone_path: "arc_ether1_aka25.zip" required: false category: bios_zip systems: @@ -10789,6 +11178,7 @@ files: sha1: "9a9404028d166d9cbb466513f514be5d3ea77956" - name: arc_ether2_aeh50.zip + standalone_path: "arc_ether2_aeh50.zip" required: false category: bios_zip systems: @@ -10805,6 +11195,7 @@ files: sha1: "417000f1fa8f61f8092f8f74a0359ffb3ce72768" - name: arc_ether3_aeh54.zip + standalone_path: "arc_ether3_aeh54.zip" required: false category: bios_zip systems: @@ -10821,6 +11212,7 @@ files: sha1: "103318a527ea5f9a3fe373bfb8f8d0ad3697617f" - name: arc_ethera.zip + standalone_path: "arc_ethera.zip" required: false category: bios_zip systems: @@ -10837,6 +11229,7 @@ files: sha1: "c6c9c9630b6777f4d49824b051fcd16fcb21b8f3" - name: arc_etherd.zip + standalone_path: "arc_etherd.zip" required: false category: bios_zip systems: @@ -10853,6 +11246,7 @@ files: sha1: "e972c1ab2ccfd20a6e5321549d555f8ae14e12f9" - name: arc_etherr.zip + standalone_path: "arc_etherr.zip" required: false category: bios_zip systems: @@ -10869,6 +11263,7 @@ files: sha1: "a8045e3749fbf24e721e84e57acb68753fa46428" - name: arc_faxpack.zip + standalone_path: "arc_faxpack.zip" required: false category: bios_zip systems: @@ -10885,6 +11280,7 @@ files: sha1: "bbd1c4560c3bde1e61f81ae6505cd5d4658c6cb8" - name: arc_greyhawk.zip + standalone_path: "arc_greyhawk.zip" required: false category: bios_zip systems: @@ -10901,6 +11297,7 @@ files: sha1: "e8d5d271e2c10430ae858d2f4337fc73a0c63d82" - name: arc_hdisc_akd52.zip + standalone_path: "arc_hdisc_akd52.zip" required: false category: bios_zip systems: @@ -10917,6 +11314,7 @@ files: sha1: "c8ebec931d6cef53b7b2965f526e8721c6cb3d28" - name: arc_hdisc_cw.zip + standalone_path: "arc_hdisc_cw.zip" required: false category: bios_zip systems: @@ -10933,6 +11331,7 @@ files: sha1: "da99cd0ee9d1eba237261f24b46e8399a2316086" - name: arc_hdisc_morley.zip + standalone_path: "arc_hdisc_morley.zip" required: false category: bios_zip systems: @@ -10949,6 +11348,7 @@ files: sha1: "42947aef6b2bafb4b971e5bc61aa31ecb385afe0" - name: arc_hdisc_we.zip + standalone_path: "arc_hdisc_we.zip" required: false category: bios_zip systems: @@ -10965,6 +11365,7 @@ files: sha1: "783d94839f47ee27032027d02e2e3f808659c540" - name: arc_ide_be.zip + standalone_path: "arc_ide_be.zip" required: false category: bios_zip systems: @@ -10997,6 +11398,7 @@ files: sha1: "f7d13fce76dbe7ac9a27fc7e4a859161bb98a9b5" - name: arc_ide_rdev.zip + standalone_path: "arc_ide_rdev.zip" required: false category: bios_zip systems: @@ -11013,6 +11415,7 @@ files: sha1: "84e5d31d631b69401c47ef1ce91f11f1bb317597" - name: arc_iomidi_aka15.zip + standalone_path: "arc_iomidi_aka15.zip" required: false category: bios_zip systems: @@ -11030,6 +11433,7 @@ files: sha1: "32e990c435b439d4a169e85a009fc6a864121c3f" - name: arc_lark.zip + standalone_path: "arc_lark.zip" required: false category: bios_zip systems: @@ -11047,6 +11451,7 @@ files: sha1: "f0b2ba52d0069dfe00a7ba66fba23e0eb2346d8c" - name: arc_lbp4.zip + standalone_path: "arc_lbp4.zip" required: false category: bios_zip systems: @@ -11069,6 +11474,7 @@ files: sha1: "b70afed20340e62279742996da9b0ccef51f08e2" - name: arc_midi2.zip + standalone_path: "arc_midi2.zip" required: false category: bios_zip systems: @@ -11086,6 +11492,7 @@ files: sha1: "d0440e4ef0fa7bbab2ea3d6f9f3f1d4513aec8c0" - name: arc_midi_aka16.zip + standalone_path: "arc_midi_aka16.zip" required: false category: bios_zip systems: @@ -11113,6 +11520,7 @@ files: sha1: "f6ad28d3cf9a14af3c103f9fae74795f539f24e8" - name: arc_midimax.zip + standalone_path: "arc_midimax.zip" required: false category: bios_zip systems: @@ -11135,6 +11543,7 @@ files: sha1: "8cba82ed214246b9fb55e24e87e4629231490465" - name: arc_midimax2.zip + standalone_path: "arc_midimax2.zip" required: false category: bios_zip systems: @@ -11152,6 +11561,7 @@ files: sha1: "d713bf8661542009defadb08cc6096af94efce3e" - name: arc_nexus_a500.zip + standalone_path: "arc_nexus_a500.zip" required: false category: bios_zip systems: @@ -11168,6 +11578,7 @@ files: sha1: "4d1c8cf82fddde1e0772c475da1b3283986aa7d3" - name: arc_rom_aka05.zip + standalone_path: "arc_rom_aka05.zip" required: false category: bios_zip systems: @@ -11185,6 +11596,7 @@ files: sha1: "e699157895433010b1ea110c78fbc80a4bc58f09" - name: arc_rom_r225.zip + standalone_path: "arc_rom_r225.zip" required: false category: bios_zip systems: @@ -11205,6 +11617,7 @@ files: sha1: "bb0825670bde59c80a73895141b2d8ad6ea87a2f" - name: arc_rs423.zip + standalone_path: "arc_rs423.zip" required: false category: bios_zip systems: @@ -11221,6 +11634,7 @@ files: sha1: "eb97839cd66dce33598aed90ac2f0624de1aa60d" - name: arc_scan256.zip + standalone_path: "arc_scan256.zip" required: false category: bios_zip systems: @@ -11237,6 +11651,7 @@ files: sha1: "9ea4bba1a752090b19a8ab9bf06414053fb8f7ff" - name: arc_scanjunior.zip + standalone_path: "arc_scanjunior.zip" required: false category: bios_zip systems: @@ -11254,6 +11669,7 @@ files: sha1: "3c63f8379d8fc222fc57838a9384ecec7c5d2484" - name: arc_scanjunior3.zip + standalone_path: "arc_scanjunior3.zip" required: false category: bios_zip systems: @@ -11271,6 +11687,7 @@ files: sha1: "382193f2b6cf8ba5ed04481d99050fe2f691ad0a" - name: arc_scanlight.zip + standalone_path: "arc_scanlight.zip" required: false category: bios_zip systems: @@ -11288,6 +11705,7 @@ files: sha1: "fa69fb69e01553b27409b65a37d3d30a376e7380" - name: arc_scanvideo.zip + standalone_path: "arc_scanvideo.zip" required: false category: bios_zip systems: @@ -11305,6 +11723,7 @@ files: sha1: "9fe739b42c5bf5dab69e3c1ffb1c3c5a5d8d7a50" - name: arc_scsi_aka30.zip + standalone_path: "arc_scsi_aka30.zip" required: false category: bios_zip systems: @@ -11321,6 +11740,7 @@ files: sha1: "6d52381fed7cfd0bd16e21566c2a5bcff98b72c0" - name: arc_scsi_aka31.zip + standalone_path: "arc_scsi_aka31.zip" required: false category: bios_zip systems: @@ -11337,6 +11757,7 @@ files: sha1: "1c2a2761a861d1560b6a245c5015059c2d0f71e7" - name: arc_scsi_aka32.zip + standalone_path: "arc_scsi_aka32.zip" required: false category: bios_zip systems: @@ -11364,6 +11785,7 @@ files: sha1: "42bddbe2841de7085371c5fe11d7c9b152070886" - name: arc_scsi_cumana.zip + standalone_path: "arc_scsi_cumana.zip" required: false category: bios_zip systems: @@ -11380,6 +11802,7 @@ files: sha1: "293b1dabd02cfa34251116d95dd19e8b58d0f0a5" - name: arc_scsi_ling.zip + standalone_path: "arc_scsi_ling.zip" required: false category: bios_zip systems: @@ -11396,6 +11819,7 @@ files: sha1: "c05ea28f33afa98bd9d18bfe7dafee0a5fe7f2f4" - name: arc_scsi_morley.zip + standalone_path: "arc_scsi_morley.zip" required: false category: bios_zip systems: @@ -11433,6 +11857,7 @@ files: sha1: "9164ef9edc9d2ed6a7a7c9ba6258e02db9b1d2cb" - name: arc_scsi_oak.zip + standalone_path: "arc_scsi_oak.zip" required: false category: bios_zip systems: @@ -11464,6 +11889,7 @@ files: sha1: "c102d90e4f5c16fedde1ba4637170a39ed7ab371" - name: arc_scsi_vti.zip + standalone_path: "arc_scsi_vti.zip" required: false category: bios_zip systems: @@ -11480,6 +11906,7 @@ files: sha1: "eb20b1369964cfaee156ba1fc3636997407cc7ba" - name: arc_serial.zip + standalone_path: "arc_serial.zip" required: false category: bios_zip systems: @@ -11496,6 +11923,7 @@ files: sha1: "c100cc4f5e3d87233e6db6a1da04ac7c19ac2357" - name: arc_spectra.zip + standalone_path: "arc_spectra.zip" required: false category: bios_zip systems: @@ -11512,6 +11940,7 @@ files: sha1: "bac53e4cd1047606e6314992e2581acf09e1b658" - name: arc_ua_morley.zip + standalone_path: "arc_ua_morley.zip" required: false category: bios_zip systems: @@ -11529,6 +11958,7 @@ files: sha1: "423208fb3132400d3582b29481b8f7b7e6cd0c70" - name: arc_uma_morley.zip + standalone_path: "arc_uma_morley.zip" required: false category: bios_zip systems: @@ -11546,6 +11976,7 @@ files: sha1: "0db73540fc329b71a977a2be20c66ae2ae39df78" - name: arc_upa_hccs.zip + standalone_path: "arc_upa_hccs.zip" required: false category: bios_zip systems: @@ -11563,6 +11994,7 @@ files: sha1: "1a5d5c2571624df6fbeff91045c5b40effeda1d9" - name: arc_upmidi_aka12.zip + standalone_path: "arc_upmidi_aka12.zip" required: false category: bios_zip systems: @@ -11580,6 +12012,7 @@ files: sha1: "4e0e2cf2586c8f2fc1431458f677a45164749ab2" - name: asc88.zip + standalone_path: "asc88.zip" required: false category: bios_zip systems: @@ -11597,6 +12030,7 @@ files: sha1: "49c44aafbb3f28478e4b5eeaa208b147fdf253b9" - name: ascsasi.zip + standalone_path: "ascsasi.zip" required: false category: bios_zip system: arcade @@ -11611,6 +12045,7 @@ files: sha1: "e94b39875e29daff199d120c4e79dfb1adbedab2" - name: at_keybc.zip + standalone_path: "at_keybc.zip" required: false category: bios_zip systems: @@ -11638,6 +12073,7 @@ files: sha1: "1ad475451db35a76d929824c035d582279fbe3a3" - name: atari1050.zip + standalone_path: "atari1050.zip" required: false category: bios_zip systems: @@ -11675,6 +12111,7 @@ files: sha1: "2e735fe1973000219dc81c463ca0d3fd90690d4a" - name: atari810.zip + standalone_path: "atari810.zip" required: false category: bios_zip systems: @@ -11697,6 +12134,7 @@ files: sha1: "075b1948a5736599d5501f0125c745b1b9fcced4" - name: atom_discpack.zip + standalone_path: "atom_discpack.zip" required: false category: bios_zip system: arcade @@ -11710,6 +12148,7 @@ files: sha1: "71ea0a4b8d9c3caf9718fc7cc279f4306a23b39c" - name: atom_gdos.zip + standalone_path: "atom_gdos.zip" required: false category: bios_zip system: arcade @@ -11724,6 +12163,7 @@ files: sha1: "b8ded5f6ca78664b30e608631e95a5d2b0b3c1fc" - name: atom_gdos2015.zip + standalone_path: "atom_gdos2015.zip" required: false category: bios_zip system: arcade @@ -11737,6 +12177,7 @@ files: sha1: "ff776eff6aadaf1a7f6d856cd6d1f1f59ac97112" - name: atom_speech.zip + standalone_path: "atom_speech.zip" required: false category: bios_zip system: arcade @@ -11751,6 +12192,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: atom_vdu80.zip + standalone_path: "atom_vdu80.zip" required: false category: bios_zip system: arcade @@ -11766,6 +12208,7 @@ files: bad_dump: true - name: ax208.zip + standalone_path: "ax208.zip" required: false category: bios_zip system: arcade @@ -11780,6 +12223,7 @@ files: sha1: "0dc7ab9bdaf73231d4d6627fe6308fe8103e1bbc" - name: ax208p.zip + standalone_path: "ax208p.zip" required: false category: bios_zip source_ref: "upstream src/devices/cpu/axc51/axc51.cpp:1563-1566" @@ -11793,6 +12237,7 @@ files: sha1: "b119000f93251894a352ecf675ee42f2e5c347bd" - name: banshee_x86.zip + standalone_path: "banshee_x86.zip" required: false category: bios_zip systems: @@ -11815,6 +12260,7 @@ files: sha1: "48b0bc08d142be3aa0d937ee56afd299b3b20386" - name: basf7100_kbd.zip + standalone_path: "basf7100_kbd.zip" required: false category: bios_zip system: arcade @@ -11829,6 +12275,7 @@ files: sha1: "6262379ba565c1de072b2b21dc3141db1ec5129c" - name: bbc_24bbc.zip + standalone_path: "bbc_24bbc.zip" required: false category: bios_zip systems: @@ -11846,6 +12293,7 @@ files: sha1: "65493cc1f6ae31cf39298d67dad42ea23be4cae6" - name: bbc_2ndserial.zip + standalone_path: "bbc_2ndserial.zip" required: false category: bios_zip systems: @@ -11863,6 +12311,7 @@ files: sha1: "9ebbe845734d77ebf1730ea622ce2db43f18b1c2" - name: bbc_acorn1770.zip + standalone_path: "bbc_acorn1770.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -11897,6 +12346,7 @@ files: sha1: "cf2ebc422a8d24ec6f1a0320520c38a0e704109a" - name: bbc_acorn8271.zip + standalone_path: "bbc_acorn8271.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -11951,6 +12401,7 @@ files: sha1: "387d2468c6e1360f5b531784ce95d5f71a50c2b5" - name: bbc_ams3.zip + standalone_path: "bbc_ams3.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -11969,6 +12420,7 @@ files: sha1: "a9d9123667e65334b28b8588b09642478653e356" - name: bbc_ariesb20.zip + standalone_path: "bbc_ariesb20.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -11989,6 +12441,7 @@ files: sha1: "d04bfd332d63f6f23dca2ef81a1d2074e3d88ee9" - name: bbc_ariesb32.zip + standalone_path: "bbc_ariesb32.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12004,6 +12457,7 @@ files: sha1: "466e3b68f1a8e0287ae095cb3c16dac6afc89dcb" - name: bbc_autoprom.zip + standalone_path: "bbc_autoprom.zip" required: false category: bios_zip systems: @@ -12024,6 +12478,7 @@ files: sha1: "9f584f0cc54bbbf6128e96f5f97fa811cc3d68ce" - name: bbc_beebspch.zip + standalone_path: "bbc_beebspch.zip" required: false category: bios_zip systems: @@ -12047,6 +12502,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: bbc_cc500.zip + standalone_path: "bbc_cc500.zip" required: false category: bios_zip systems: @@ -12064,6 +12520,7 @@ files: sha1: "e645afdc5c7574a487ff484b79ea21a3b476f847" - name: bbc_chameleon.zip + standalone_path: "bbc_chameleon.zip" required: false category: bios_zip systems: @@ -12083,6 +12540,7 @@ files: sha1: "72cf334cdb866ba3dd2353fc7da0dfdb6abf63a7" - name: bbc_cisco.zip + standalone_path: "bbc_cisco.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12113,6 +12571,7 @@ files: sha1: "500339258bd5cad363709c774c0cee36a17986cb" - name: bbc_cms6502.zip + standalone_path: "bbc_cms6502.zip" required: false category: bios_zip systems: @@ -12137,6 +12596,7 @@ files: sha1: "4a7393f3a45ea309f744441c16723e2ef447a281" - name: bbc_cumana1.zip + standalone_path: "bbc_cumana1.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12152,6 +12612,7 @@ files: sha1: "4bf31a420a9d752285b088ee4f08a64563527662" - name: bbc_cumana2.zip + standalone_path: "bbc_cumana2.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12167,6 +12628,7 @@ files: sha1: "0dced741482321938842746ee47090ae443d7ad5" - name: bbc_cumana68k.zip + standalone_path: "bbc_cumana68k.zip" required: false category: bios_zip systems: @@ -12183,6 +12645,7 @@ files: sha1: "1cb54119bf13b39d598573d8d6a7e9f70d88b50d" - name: bbc_cv1797.zip + standalone_path: "bbc_cv1797.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12198,6 +12661,7 @@ files: sha1: "9cd39d011290b97d5ba05b6c745689a8553be5fc" - name: bbc_datacentre.zip + standalone_path: "bbc_datacentre.zip" required: false category: bios_zip systems: @@ -12223,6 +12687,7 @@ files: sha1: "524826112e436728ba54e73f3f6b25c7b43abd69" - name: bbc_detalker.zip + standalone_path: "bbc_detalker.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/bbc/rom/detalker.cpp:50-53" @@ -12236,6 +12701,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: bbc_ieee488.zip + standalone_path: "bbc_ieee488.zip" required: false category: bios_zip systems: @@ -12264,6 +12730,7 @@ files: sha1: "0d3fcb79e70cfa42eff8cc78bf29c2493898d6eb" - name: bbc_integrab.zip + standalone_path: "bbc_integrab.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12289,6 +12756,7 @@ files: sha1: "b2b7fc3258936296f83d720759caacba5378edec" - name: bbc_kenda.zip + standalone_path: "bbc_kenda.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12303,6 +12771,7 @@ files: sha1: "594ae1d1aeaa20a1d5d1c64cd94d43926dda4029" - name: bbc_magazzino.zip + standalone_path: "bbc_magazzino.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12317,6 +12786,7 @@ files: sha1: "0d1959ff6456453842134be9b1a3dd2ee72ae884" - name: bbc_memexb20.zip + standalone_path: "bbc_memexb20.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12331,6 +12801,7 @@ files: sha1: "aad311797e204b0b69450460f8b4605409c31ddd" - name: bbc_mertec.zip + standalone_path: "bbc_mertec.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12345,6 +12816,7 @@ files: sha1: "0c4017ffbb480168e54c6b153da257ec5ea29d4e" - name: bbc_morleyaa.zip + standalone_path: "bbc_morleyaa.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12359,6 +12831,7 @@ files: sha1: "c80f47e3f661b1636d21ff542c7a39a586008098" - name: bbc_multiform.zip + standalone_path: "bbc_multiform.zip" required: false category: bios_zip systems: @@ -12379,6 +12852,7 @@ files: sha1: "0bc06ce54ab9a2242294bbbe9ce8f07e464bb674" - name: bbc_opus1770.zip + standalone_path: "bbc_opus1770.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12399,6 +12873,7 @@ files: sha1: "a1ad3e9acbd15400e7da1e50bc6673835cde1fe7" - name: bbc_opus2791.zip + standalone_path: "bbc_opus2791.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12428,6 +12903,7 @@ files: sha1: "05f461464707b4ca24636c9e726af561f227ccdb" - name: bbc_opus2793.zip + standalone_path: "bbc_opus2793.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12447,6 +12923,7 @@ files: sha1: "a6a57bb907d6b9bd351029fb0471a3a9c343da24" - name: bbc_opus3.zip + standalone_path: "bbc_opus3.zip" required: false category: bios_zip systems: @@ -12475,6 +12952,7 @@ files: sha1: "eca3631aa420691f96b72bfdf2e9c2b613e1bf33" - name: bbc_opus8272.zip + standalone_path: "bbc_opus8272.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12494,6 +12972,7 @@ files: sha1: "0b7194a234c2316ba825e878e3f69928bf3bb595" - name: bbc_opusa.zip + standalone_path: "bbc_opusa.zip" required: false category: bios_zip systems: @@ -12511,6 +12990,7 @@ files: sha1: "b9f5c749412528e4f8e9cda9f13e10f8405bb195" - name: bbc_pdram.zip + standalone_path: "bbc_pdram.zip" required: false category: bios_zip systems: @@ -12528,6 +13008,7 @@ files: sha1: "265359d1fb9c0adca53912aa6a42a995b8225a3e" - name: bbc_pms64k.zip + standalone_path: "bbc_pms64k.zip" required: false category: bios_zip systems: @@ -12545,6 +13026,7 @@ files: sha1: "da9abe3b1b0bf34ee5d6ed7ee032686403436289" - name: bbc_ramdisc.zip + standalone_path: "bbc_ramdisc.zip" required: false category: bios_zip systems: @@ -12562,6 +13044,7 @@ files: sha1: "17e727998756fe35ff451fd2ce1d4b5977be24fc" - name: bbc_raven20.zip + standalone_path: "bbc_raven20.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12582,6 +13065,7 @@ files: sha1: "e4f2acc07969e10c082355c82d8d1cbc1c08ee2e" - name: bbc_stl1770_1.zip + standalone_path: "bbc_stl1770_1.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12597,6 +13081,7 @@ files: sha1: "22e60d4dda37335f61c27a92ba76ccc3e2102c4e" - name: bbc_stl1770_2.zip + standalone_path: "bbc_stl1770_2.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12612,6 +13097,7 @@ files: sha1: "78ee759c0f762bc2717d8454a88f117516d28325" - name: bbc_stl2m128.zip + standalone_path: "bbc_stl2m128.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12626,6 +13112,7 @@ files: sha1: "d170632b88d0ab276a919b0076dca305094a39b2" - name: bbc_stl4m32.zip + standalone_path: "bbc_stl4m32.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12641,6 +13128,7 @@ files: sha1: "cf45217ac88480a6963cbf75e8cf684cd81c7b09" - name: bbc_stldfdc_1.zip + standalone_path: "bbc_stldfdc_1.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12656,6 +13144,7 @@ files: sha1: "c761102ac11be629676339e9e496fb78734e4399" - name: bbc_stlswr128.zip + standalone_path: "bbc_stlswr128.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12671,6 +13160,7 @@ files: sha1: "1821e74feca60b95766ead06df20f6db22e2b4bb" - name: bbc_stlswr16.zip + standalone_path: "bbc_stlswr16.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12686,6 +13176,7 @@ files: sha1: "1821e74feca60b95766ead06df20f6db22e2b4bb" - name: bbc_stlswr32.zip + standalone_path: "bbc_stlswr32.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12701,6 +13192,7 @@ files: sha1: "1821e74feca60b95766ead06df20f6db22e2b4bb" - name: bbc_stlswr64.zip + standalone_path: "bbc_stlswr64.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12716,6 +13208,7 @@ files: sha1: "1821e74feca60b95766ead06df20f6db22e2b4bb" - name: bbc_sweetalker.zip + standalone_path: "bbc_sweetalker.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -12730,6 +13223,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: bbc_tube_16032.zip + standalone_path: "bbc_tube_16032.zip" required: false category: bios_zip systems: @@ -12762,6 +13256,7 @@ files: sha1: "2ec67a74a81811d8c4ffaa3583e7a9c5fb2485ba" - name: bbc_tube_32016.zip + standalone_path: "bbc_tube_32016.zip" required: false category: bios_zip systems: @@ -12804,6 +13299,7 @@ files: sha1: "e6a705232278c518340ddc69ea51af91965fa332" - name: bbc_tube_32016l.zip + standalone_path: "bbc_tube_32016l.zip" required: false category: bios_zip systems: @@ -12826,6 +13322,7 @@ files: sha1: "dfad1f4180c50757a74fcfe3a0ee7d7b48eb1bee" - name: bbc_tube_6502.zip + standalone_path: "bbc_tube_6502.zip" required: false category: bios_zip systems: @@ -12853,6 +13350,7 @@ files: sha1: "9ecef24de58a48c3fbe01b12888c3f6a5d24f57f" - name: bbc_tube_6502e.zip + standalone_path: "bbc_tube_6502e.zip" required: false category: bios_zip systems: @@ -12871,6 +13369,7 @@ files: bad_dump: true - name: bbc_tube_6502p.zip + standalone_path: "bbc_tube_6502p.zip" required: false category: bios_zip systems: @@ -12903,6 +13402,7 @@ files: sha1: "4a00d4d3deec0ab43dc6647ac591bd71f4b24a51" - name: bbc_tube_65c102.zip + standalone_path: "bbc_tube_65c102.zip" required: false category: bios_zip systems: @@ -12930,6 +13430,7 @@ files: sha1: "9ecef24de58a48c3fbe01b12888c3f6a5d24f57f" - name: bbc_tube_80286.zip + standalone_path: "bbc_tube_80286.zip" required: false category: bios_zip systems: @@ -12950,6 +13451,7 @@ files: sha1: "45dc8d7e7936afbec6de423569d9005a1c350316" - name: bbc_tube_a500.zip + standalone_path: "bbc_tube_a500.zip" required: false category: bios_zip systems: @@ -12978,6 +13480,7 @@ files: sha1: "c46448435b86d1397c7cb144bece87e73a9220aa" - name: bbc_tube_a500d.zip + standalone_path: "bbc_tube_a500d.zip" required: false category: bios_zip systems: @@ -13006,6 +13509,7 @@ files: sha1: "9b6bdeef8d7fb22ef0203c2f531a4e0a55e22c6f" - name: bbc_tube_arm.zip + standalone_path: "bbc_tube_arm.zip" required: false category: bios_zip systems: @@ -13038,6 +13542,7 @@ files: sha1: "abcc71cbc43489e89a87aac64e67b17daef5895a" - name: bbc_tube_arm7.zip + standalone_path: "bbc_tube_arm7.zip" required: false category: bios_zip systems: @@ -13060,6 +13565,7 @@ files: sha1: "babfb5bdb8265cf3ac7feff254146cb2d2773da1" - name: bbc_tube_casper.zip + standalone_path: "bbc_tube_casper.zip" required: false category: bios_zip systems: @@ -13088,6 +13594,7 @@ files: sha1: "4195ce1ed928178fd645a267872a5b4f325d078a" - name: bbc_tube_cms6809.zip + standalone_path: "bbc_tube_cms6809.zip" required: false category: bios_zip systems: @@ -13108,6 +13615,7 @@ files: sha1: "f431f27941e13a92cdd0a9e2eda891c73d59d835" - name: bbc_tube_matchbox.zip + standalone_path: "bbc_tube_matchbox.zip" required: false category: bios_zip systems: @@ -13152,6 +13660,7 @@ files: sha1: "80343cb198b03ea91c8790d765f7d3869ba9bb32" - name: bbc_tube_pcplus.zip + standalone_path: "bbc_tube_pcplus.zip" required: false category: bios_zip systems: @@ -13172,6 +13681,7 @@ files: sha1: "45dc8d7e7936afbec6de423569d9005a1c350316" - name: bbc_tube_rc6502.zip + standalone_path: "bbc_tube_rc6502.zip" required: false category: bios_zip systems: @@ -13193,6 +13703,7 @@ files: sha1: "70b190e251e8807c4120c2ec7b930e62c19e3ea1" - name: bbc_tube_rc65816.zip + standalone_path: "bbc_tube_rc65816.zip" required: false category: bios_zip systems: @@ -13214,6 +13725,7 @@ files: sha1: "b9943843f753470b636ee17ad820fa3ccad68249" - name: bbc_tube_x25.zip + standalone_path: "bbc_tube_x25.zip" required: false category: bios_zip systems: @@ -13238,6 +13750,7 @@ files: sha1: "3d9e3f58f878d1f7c743b05e371845b3f7627129" - name: bbc_tube_z80.zip + standalone_path: "bbc_tube_z80.zip" required: false category: bios_zip systems: @@ -13255,6 +13768,7 @@ files: sha1: "069077df498599a9c880d4ec9f4bc53fcc602d82" - name: bbc_tube_z80w.zip + standalone_path: "bbc_tube_z80w.zip" required: false category: bios_zip systems: @@ -13272,6 +13786,7 @@ files: sha1: "47211cead3a1b0f9830dcdef8e54e29522c69bf8" - name: bbc_tube_zep100.zip + standalone_path: "bbc_tube_zep100.zip" required: false category: bios_zip systems: @@ -13309,6 +13824,7 @@ files: sha1: "62b57c858a3baa4ff943c31f77d331c414772a61" - name: bbc_tube_zep100l.zip + standalone_path: "bbc_tube_zep100l.zip" required: false category: bios_zip systems: @@ -13330,6 +13846,7 @@ files: sha1: "e6ee738e5f2f8556002b79d18caa8ef21f14e08d" - name: bbc_tube_zep100m.zip + standalone_path: "bbc_tube_zep100m.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -13354,6 +13871,7 @@ files: sha1: "e6ee738e5f2f8556002b79d18caa8ef21f14e08d" - name: bbc_tube_zep100w.zip + standalone_path: "bbc_tube_zep100w.zip" required: false category: bios_zip systems: @@ -13380,6 +13898,7 @@ files: sha1: "e6ee738e5f2f8556002b79d18caa8ef21f14e08d" - name: bbc_udm.zip + standalone_path: "bbc_udm.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -13410,6 +13929,7 @@ files: sha1: "6834e46cb15354003d553e6c2bdb4ed76b47a465" - name: bbc_voicebox.zip + standalone_path: "bbc_voicebox.zip" required: false category: bios_zip systems: @@ -13428,6 +13948,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: bbc_we32kram.zip + standalone_path: "bbc_we32kram.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -13463,6 +13984,7 @@ files: sha1: "1b59a3354cfc704ad8aa60b0ed16e4cd2d815031" - name: bbc_weddb2.zip + standalone_path: "bbc_weddb2.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -13488,6 +14010,7 @@ files: sha1: "6719dc958f2631e6dc8f045429797b289bfe649a" - name: bbc_weddb3.zip + standalone_path: "bbc_weddb3.zip" required: false category: bios_zip system: acorn-bbc-micro @@ -13503,6 +14026,7 @@ files: sha1: "618b7a1551f91e2b18608428b9e581f3d920d4b5" - name: betadisk.zip + standalone_path: "betadisk.zip" required: false category: bios_zip system: arcade @@ -13745,6 +14269,7 @@ files: sha1: "21695e3f2a8f796386ce66eea8a246b0ac44810c" - name: bingoct.zip + standalone_path: "bingoct.zip" required: false category: bios_zip system: arcade @@ -13767,6 +14292,7 @@ files: sha1: "76feec0091afb92af8ced99af61495f28f981120" - name: bk_altpro.zip + standalone_path: "bk_altpro.zip" required: false category: bios_zip systems: @@ -13794,6 +14320,7 @@ files: sha1: "4796f373e343460b2c9acf769fd4ddfa46e6e90f" - name: bk_kmd.zip + standalone_path: "bk_kmd.zip" required: false category: bios_zip systems: @@ -13820,6 +14347,7 @@ files: sha1: "28eefbb63047b26e4aec104aeeca74e2f9d0276c" - name: bk_samara.zip + standalone_path: "bk_samara.zip" required: false category: bios_zip systems: @@ -13837,6 +14365,7 @@ files: sha1: "abd1a48fbc1ec3a2bcb83e8d847dbce747453a1b" - name: bluechip.zip + standalone_path: "bluechip.zip" required: false category: bios_zip system: arcade @@ -13857,6 +14386,7 @@ files: sha1: "c11317cb9370e722950579a610a3effda313aeee" - name: bml3kanji.zip + standalone_path: "bml3kanji.zip" required: false category: bios_zip system: arcade @@ -13872,6 +14402,7 @@ files: bad_dump: true - name: bml3mp1802.zip + standalone_path: "bml3mp1802.zip" required: false category: bios_zip system: arcade @@ -13887,6 +14418,7 @@ files: bad_dump: true - name: bml3mp1805.zip + standalone_path: "bml3mp1805.zip" required: false category: bios_zip system: arcade @@ -13902,6 +14434,7 @@ files: bad_dump: true - name: bsmt2000.zip + standalone_path: "bsmt2000.zip" required: false category: bios_zip system: arcade @@ -13915,6 +14448,7 @@ files: sha1: "6ec9eb038fb8eb842c5482aebe1d149daf49f2e6" - name: bt542b.zip + standalone_path: "bt542b.zip" required: false category: bios_zip systems: @@ -13936,6 +14470,7 @@ files: sha1: "054ba1ea71b2aaab31ab9dd5aca955d861f5333b" - name: bt542bh.zip + standalone_path: "bt542bh.zip" required: false category: bios_zip systems: @@ -13957,6 +14492,7 @@ files: sha1: "b9b327d50cd13f3e5b5b53892b18f233aff065b7" - name: bt545s.zip + standalone_path: "bt545s.zip" required: false category: bios_zip systems: @@ -13978,6 +14514,7 @@ files: sha1: "797a8dba182049949f7a5c14d8bef4b4e908305b" - name: bw2_ramcard.zip + standalone_path: "bw2_ramcard.zip" required: false category: bios_zip system: arcade @@ -13991,6 +14528,7 @@ files: sha1: "a776a27d64f7b857565594beb63aa2cd692dcf04" - name: bwtwo.zip + standalone_path: "bwtwo.zip" required: false category: bios_zip system: arcade @@ -14011,6 +14549,7 @@ files: sha1: "78761bd2369cb0c58ef1344c697a47d3a659d4bc" - name: c1526.zip + standalone_path: "c1526.zip" required: false category: bios_zip system: arcade @@ -14041,6 +14580,7 @@ files: sha1: "8b7f620a8f85e250b142d72b812a67fd0e292d68" - name: c1540.zip + standalone_path: "c1540.zip" required: false category: bios_zip system: arcade @@ -14059,6 +14599,7 @@ files: sha1: "56dfe79b26f50af4e83fd9604857756d196516b9" - name: c1541.zip + standalone_path: "c1541.zip" required: false category: bios_zip system: arcade @@ -14123,6 +14664,7 @@ files: sha1: "8e0547430135ba462525c224e76356bd3d430f11" - name: c1541c.zip + standalone_path: "c1541c.zip" required: false category: bios_zip system: arcade @@ -14143,6 +14685,7 @@ files: sha1: "38a7a489c7bbc8661cf63476bf1eb07b38b1c704" - name: c1541dd.zip + standalone_path: "c1541dd.zip" required: false category: bios_zip system: arcade @@ -14157,6 +14700,7 @@ files: sha1: "e4d5b9ad6b719dd988276214aa4536d3525d313c" - name: c1541ii.zip + standalone_path: "c1541ii.zip" required: false category: bios_zip system: arcade @@ -14181,6 +14725,7 @@ files: sha1: "d3b78c3dbac55f5199f33f3fe0036439811f7fb3" - name: c1541pd.zip + standalone_path: "c1541pd.zip" required: false category: bios_zip system: arcade @@ -14199,6 +14744,7 @@ files: sha1: "2b26adc1f4192b6ca1514754f73c929087b24426" - name: c1541pdc.zip + standalone_path: "c1541pdc.zip" required: false category: bios_zip system: arcade @@ -14225,6 +14771,7 @@ files: sha1: "78846af2ee6a56fceee44f9246659685ab2cbb7e" - name: c1551.zip + standalone_path: "c1551.zip" required: false category: bios_zip system: arcade @@ -14238,6 +14785,7 @@ files: sha1: "fae3c788ad9a6cc2dbdfbcf6c0264b2ca921d55e" - name: c1563.zip + standalone_path: "c1563.zip" required: false category: bios_zip system: arcade @@ -14252,6 +14800,7 @@ files: sha1: "2c5111a9c15be7b7955f6c8775fea25ec10c0ca0" - name: c1570.zip + standalone_path: "c1570.zip" required: false category: bios_zip system: arcade @@ -14266,6 +14815,7 @@ files: sha1: "5fc06dc82ff6840f183bd43a4d9b8a16956b2f56" - name: c1571.zip + standalone_path: "c1571.zip" required: false category: bios_zip system: arcade @@ -14291,6 +14841,7 @@ files: sha1: "d4b79b60cf1eaa399d0932200eb7811e00455249" - name: c1571cr.zip + standalone_path: "c1571cr.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/cbmiec/c1571.cpp:106-113" @@ -14310,6 +14861,7 @@ files: sha1: "823b178561302b403e6bfd8dd741d757efef3958" - name: c1581.zip + standalone_path: "c1581.zip" required: false category: bios_zip system: arcade @@ -14340,6 +14892,7 @@ files: sha1: "65bbf2be7bcd5bdcbff609d6c66471ffb9d04bfe" - name: c2031.zip + standalone_path: "c2031.zip" required: false category: bios_zip systems: @@ -14361,6 +14914,7 @@ files: sha1: "ec6b75ecfdd4744e5d57979ef6af990444c11ae1" - name: c2040.zip + standalone_path: "c2040.zip" required: false category: bios_zip systems: @@ -14388,6 +14942,7 @@ files: sha1: "d539858f839f96393f218307df7394362a84a26a" - name: c2040_fdc.zip + standalone_path: "c2040_fdc.zip" required: false category: bios_zip systems: @@ -14404,6 +14959,7 @@ files: sha1: "97df576397608455616331f8e837cb3404363fa2" - name: c3040.zip + standalone_path: "c3040.zip" required: false category: bios_zip systems: @@ -14429,6 +14985,7 @@ files: sha1: "d539858f839f96393f218307df7394362a84a26a" - name: c4023.zip + standalone_path: "c4023.zip" required: false category: bios_zip systems: @@ -14446,6 +15003,7 @@ files: sha1: "7a8c43d2e205f58d83709c04bc7795602a892ddd" - name: c4040.zip + standalone_path: "c4040.zip" required: false category: bios_zip systems: @@ -14493,6 +15051,7 @@ files: sha1: "6645fa40b81be1ff7d1384e9b52df06a26ab0bfb" - name: c64_ar4x.zip + standalone_path: "c64_ar4x.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/c64/action_replay.cpp:25-28" @@ -14505,6 +15064,7 @@ files: sha1: "f39975d24eb009325fa5fac86b475137cac04813" - name: c64_buscard.zip + standalone_path: "c64_buscard.zip" required: false category: bios_zip system: arcade @@ -14519,6 +15079,7 @@ files: sha1: "8fb4ba7e3d0b58dc01b66ef962955596f1b125b5" - name: c64_buscard2.zip + standalone_path: "c64_buscard2.zip" required: false category: bios_zip system: arcade @@ -14533,6 +15094,7 @@ files: sha1: "04f0a248370281fd42389928e32d11aba597cf01" - name: c64_cspeech.zip + standalone_path: "c64_cspeech.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/c64/currah_speech.cpp:86-89" @@ -14545,6 +15107,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: c64_mscr.zip + standalone_path: "c64_mscr.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/c64/multiscreen.cpp:88-92" @@ -14562,6 +15125,7 @@ files: sha1: "87e7335e626bdb73498b46c28c7baab72df38d1f" - name: c64_nl10.zip + standalone_path: "c64_nl10.zip" required: false category: bios_zip system: arcade @@ -14576,6 +15140,7 @@ files: sha1: "5b3b9e8a93d5d77a49160b3d0c2489ba7be99c9a" - name: c64_supercpu.zip + standalone_path: "c64_supercpu.zip" required: false category: bios_zip system: arcade @@ -14590,6 +15155,7 @@ files: sha1: "6aa529a7b1b6de53e8979e407a77b4d5657727f5" - name: c64_xl80.zip + standalone_path: "c64_xl80.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/c64/xl80.cpp:67-70" @@ -14603,6 +15169,7 @@ files: sha1: "4b244e6d94a7653a2e52c351589f0b469119fb04" - name: c64_z80videopak.zip + standalone_path: "c64_z80videopak.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/c64/z80videopak.cpp:38-41" @@ -14616,6 +15183,7 @@ files: sha1: "4b244e6d94a7653a2e52c351589f0b469119fb04" - name: c8050.zip + standalone_path: "c8050.zip" required: false category: bios_zip systems: @@ -14689,6 +15257,7 @@ files: sha1: "3a9a80f72ce76e5f5c72513f8ef7553212912ae3" - name: c8050fdc.zip + standalone_path: "c8050fdc.zip" required: false category: bios_zip systems: @@ -14705,6 +15274,7 @@ files: sha1: "97df576397608455616331f8e837cb3404363fa2" - name: c8250.zip + standalone_path: "c8250.zip" required: false category: bios_zip systems: @@ -14778,6 +15348,7 @@ files: sha1: "3a9a80f72ce76e5f5c72513f8ef7553212912ae3" - name: c8250lp.zip + standalone_path: "c8250lp.zip" required: false category: bios_zip system: arcade @@ -14818,6 +15389,7 @@ files: sha1: "3f7892a9bab84b633f45686bbbbe66bc2948c8e5" - name: c8280.zip + standalone_path: "c8280.zip" required: false category: bios_zip systems: @@ -14862,6 +15434,7 @@ files: sha1: "a0994c80025240d2b49ffd209dbfe8a4de3975b0" - name: cadabc.zip + standalone_path: "cadabc.zip" required: false category: bios_zip system: arcade @@ -14904,6 +15477,7 @@ files: sha1: "54720d155b4990d9879b95c0d13592bb7534da09" - name: cbm2_hrga.zip + standalone_path: "cbm2_hrga.zip" required: false category: bios_zip system: arcade @@ -14918,6 +15492,7 @@ files: sha1: "d75ffa97b2dd4e1baefe4acaa130daae866ab0e8" - name: cbm2_hrgb.zip + standalone_path: "cbm2_hrgb.zip" required: false category: bios_zip system: arcade @@ -14932,6 +15507,7 @@ files: sha1: "d75ffa97b2dd4e1baefe4acaa130daae866ab0e8" - name: cbm8000_hsg_a.zip + standalone_path: "cbm8000_hsg_a.zip" required: false category: bios_zip system: arcade @@ -14950,6 +15526,7 @@ files: sha1: "12ed3176ddd632f52e91082ab574adcba2149684" - name: cbm8000_hsg_b.zip + standalone_path: "cbm8000_hsg_b.zip" required: false category: bios_zip system: arcade @@ -14968,6 +15545,7 @@ files: sha1: "12ed3176ddd632f52e91082ab574adcba2149684" - name: cbm_interpod.zip + standalone_path: "cbm_interpod.zip" required: false category: bios_zip system: arcade @@ -14988,6 +15566,7 @@ files: sha1: "7659c45b73f577233f7657c4da9141dcfe8b6d97" - name: cbm_serbox.zip + standalone_path: "cbm_serbox.zip" required: false category: bios_zip system: arcade @@ -15001,6 +15580,7 @@ files: sha1: "9b922f1e9f9b71e771361c52d4df2aa5695488a5" - name: cchip.zip + standalone_path: "cchip.zip" required: false category: bios_zip system: arcade @@ -15015,6 +15595,7 @@ files: sha1: "73bc4b46cd2d6805ec926f39f22af00e38a3f822" - name: ccs7710.zip + standalone_path: "ccs7710.zip" required: false category: bios_zip systems: @@ -15057,6 +15638,7 @@ files: sha1: "d0df2aaf0134f8c1b929a4de0036fedc7e7164e2" - name: cd6809_fdc.zip + standalone_path: "cd6809_fdc.zip" required: false category: bios_zip system: coco @@ -15071,6 +15653,7 @@ files: sha1: "9b2eec25188bed4326b84739a666435884e4ddf4" - name: cd90_015.zip + standalone_path: "cd90_015.zip" required: false category: bios_zip system: arcade @@ -15085,6 +15668,7 @@ files: sha1: "31a6bb81baaeec5fc8de457c97264f9dfa92c18b" - name: cd90_351.zip + standalone_path: "cd90_351.zip" required: false category: bios_zip system: arcade @@ -15111,6 +15695,7 @@ files: sha1: "7118636fb5c597c78c2fce17b02aed5e4ba38635" - name: cd90_640.zip + standalone_path: "cd90_640.zip" required: false category: bios_zip system: arcade @@ -15125,6 +15710,7 @@ files: sha1: "5c72566c22d8160ef0c75959e1863a1309bbbe49" - name: cdd2000.zip + standalone_path: "cdd2000.zip" required: false category: bios_zip systems: @@ -15154,6 +15740,7 @@ files: sha1: "882be4ed5daf70a686929fffcb66fa95b431bbe2" - name: cdr4210.zip + standalone_path: "cdr4210.zip" required: false category: bios_zip systems: @@ -15177,6 +15764,7 @@ files: sha1: "6aafdedf12240ad347427287c0db289f90bd064d" - name: cdrn820s.zip + standalone_path: "cdrn820s.zip" required: false category: bios_zip systems: @@ -15200,6 +15788,7 @@ files: sha1: "e498dcd9006d257ced6cd0b50c76608e9a8023f7" - name: cdu415.zip + standalone_path: "cdu415.zip" required: false category: bios_zip systems: @@ -15222,6 +15811,7 @@ files: sha1: "72d0b192efc32f7c8985dd96df3e346c57a236e7" - name: cdu561_25.zip + standalone_path: "cdu561_25.zip" required: false category: bios_zip systems: @@ -15255,6 +15845,7 @@ files: sha1: "70aa550693020431ccbd374ff85e4de8809431df" - name: cdu75s.zip + standalone_path: "cdu75s.zip" required: false category: bios_zip systems: @@ -15282,6 +15873,7 @@ files: sha1: "7d674116304bc6948fe4a52d9859b4eb5d40b914" - name: centennial_sl01m_15_11194.zip + standalone_path: "centennial_sl01m_15_11194.zip" required: false category: bios_zip system: arcade @@ -15297,6 +15889,7 @@ files: bad_dump: true - name: centennial_sl02m_15_11194.zip + standalone_path: "centennial_sl02m_15_11194.zip" required: false category: bios_zip system: arcade @@ -15312,6 +15905,7 @@ files: bad_dump: true - name: centennial_sl04m_15_11194.zip + standalone_path: "centennial_sl04m_15_11194.zip" required: false category: bios_zip system: arcade @@ -15327,6 +15921,7 @@ files: bad_dump: true - name: cffa1.zip + standalone_path: "cffa1.zip" required: false category: bios_zip system: arcade @@ -15341,6 +15936,7 @@ files: sha1: "6a290be18485a06f243a3561c4e01be5aafa4bfe" - name: cfp1080s.zip + standalone_path: "cfp1080s.zip" required: false category: bios_zip systems: @@ -15363,6 +15959,7 @@ files: sha1: "605be871e75ff775554fc8ce4e09bc2e35a6db09" - name: cga.zip + standalone_path: "cga.zip" required: false category: bios_zip systems: @@ -15380,6 +15977,7 @@ files: sha1: "c2a8b10808bf51a3c123ba3eb1e9dd608231916f" - name: cga_iskr1030m.zip + standalone_path: "cga_iskr1030m.zip" required: false category: bios_zip system: arcade @@ -15393,6 +15991,7 @@ files: sha1: "5bd7cb1705a69bd16115a4c9ed1c2748a5c8ad51" - name: cga_iskr1031.zip + standalone_path: "cga_iskr1031.zip" required: false category: bios_zip system: arcade @@ -15406,6 +16005,7 @@ files: sha1: "ad7e81a0c9abc224671422bbcf6f6262da92b510" - name: cga_m24.zip + standalone_path: "cga_m24.zip" required: false category: bios_zip systems: @@ -15426,6 +16026,7 @@ files: sha1: "634c2d165d401883a955e144a0abfa2078a47013" - name: cga_mc1502.zip + standalone_path: "cga_mc1502.zip" required: false category: bios_zip systems: @@ -15442,6 +16043,7 @@ files: sha1: "6766d275467672436e91ac2997ac6b77700eba1e" - name: cga_poisk2.zip + standalone_path: "cga_poisk2.zip" required: false category: bios_zip systems: @@ -15458,6 +16060,7 @@ files: sha1: "d70f085b9b0cbd53df7c3122fbe7592998ba8fed" - name: cga_superimpose.zip + standalone_path: "cga_superimpose.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/isa/cga.cpp:247-251" @@ -15471,6 +16074,7 @@ files: sha1: "c2a8b10808bf51a3c123ba3eb1e9dd608231916f" - name: cgenie_fdc.zip + standalone_path: "cgenie_fdc.zip" required: false category: bios_zip system: arcade @@ -15501,6 +16105,7 @@ files: bad_dump: true - name: cgthree.zip + standalone_path: "cgthree.zip" required: false category: bios_zip system: arcade @@ -15515,6 +16120,7 @@ files: sha1: "9bef98b2784b6e70167337bb27cd07952b348b5a" - name: chessmachine.zip + standalone_path: "chessmachine.zip" required: false category: bios_zip systems: @@ -15559,6 +16165,7 @@ files: sha1: "cbb5b12b5917e36679d45bcbc36ea9285223a75d" - name: cit101_kbd.zip + standalone_path: "cit101_kbd.zip" required: false category: bios_zip system: arcade @@ -15572,6 +16179,7 @@ files: sha1: "50fe6b5448f8ec330fa09e8b0125b5b09c680859" - name: cit101e_kbd.zip + standalone_path: "cit101e_kbd.zip" required: false category: bios_zip system: arcade @@ -15585,6 +16193,7 @@ files: sha1: "1bbbe0d422f87c856a10de5a1492297958ff47f6" - name: cit220p_kbd.zip + standalone_path: "cit220p_kbd.zip" required: false category: bios_zip system: arcade @@ -15598,6 +16207,7 @@ files: sha1: "c4e9ef8188afb18de373f2a537ca9b7a315bfb76" - name: clgd5401.zip + standalone_path: "clgd5401.zip" required: false category: bios_zip systems: @@ -15626,6 +16236,7 @@ files: sha1: "b8f01c659df0531913add253d420277cba760be8" - name: clgd542x.zip + standalone_path: "clgd542x.zip" required: false category: bios_zip systems: @@ -15714,6 +16325,7 @@ files: sha1: "fde41c45347b66ed4b1f99c3f7057e7411cdf4da" - name: clgd5434_pci.zip + standalone_path: "clgd5434_pci.zip" required: false category: bios_zip systems: @@ -15741,6 +16353,7 @@ files: sha1: "1ee70f6cc3c7b9a9afb402a1bc939f9f2e0cc739" - name: clgd5446_pci.zip + standalone_path: "clgd5446_pci.zip" required: false category: bios_zip systems: @@ -15763,6 +16376,7 @@ files: sha1: "ff667218261969c48082ec12aa91088a01b0cb2a" - name: clgd5465_laguna.zip + standalone_path: "clgd5465_laguna.zip" required: false category: bios_zip system: arcade @@ -15778,6 +16392,7 @@ files: sha1: "251a953d442dc34738f80371cfbd0fd9f1097635" - name: cmdhd.zip + standalone_path: "cmdhd.zip" required: false category: bios_zip system: arcade @@ -15791,6 +16406,7 @@ files: sha1: "defd8bc04a52904b8a3560f11c82126619513a10" - name: cmdrc2.zip + standalone_path: "cmdrc2.zip" required: false category: bios_zip system: arcade @@ -15809,6 +16425,7 @@ files: sha1: "eecf92fb8cc20a6c86e30f897d09d427509dd3d3" - name: cmi_ankbd.zip + standalone_path: "cmi_ankbd.zip" required: false category: bios_zip system: arcade @@ -15823,6 +16440,7 @@ files: sha1: "8c404f58ba3e5a50aa42f761e966c74374e96cc9" - name: cmi_mkbd.zip + standalone_path: "cmi_mkbd.zip" required: false category: bios_zip system: arcade @@ -15841,6 +16459,7 @@ files: sha1: "bc6784aaa5697c28eab126e20500139b8d0c1f50" - name: cms_4080term.zip + standalone_path: "cms_4080term.zip" required: false category: bios_zip systems: @@ -15858,6 +16477,7 @@ files: bad_dump: true - name: cmsscsi.zip + standalone_path: "cmsscsi.zip" required: false category: bios_zip systems: @@ -15879,6 +16499,7 @@ files: sha1: "f6028f6f2b16250950297e2ff5317ce463006796" - name: coco_dcmodem.zip + standalone_path: "coco_dcmodem.zip" required: false category: bios_zip system: coco @@ -15893,6 +16514,7 @@ files: sha1: "703fe0aba4a603591078cb675ffd26a67c02df88" - name: coco_orch90.zip + standalone_path: "coco_orch90.zip" required: false category: bios_zip systems: @@ -15908,6 +16530,7 @@ files: sha1: "6a20fee9c70b36a6435ac8378f31d5b626017df0" - name: coco_psg.zip + standalone_path: "coco_psg.zip" required: false category: bios_zip systems: @@ -15923,6 +16546,7 @@ files: sha1: "9c7c8a5cc419ca1aca4d1c5e9f1195997c2bc95c" - name: coco_rs232.zip + standalone_path: "coco_rs232.zip" required: false category: bios_zip system: coco @@ -15937,6 +16561,7 @@ files: sha1: "3fad25f3462a0b581b9c182ac11ad90c8fa08cb6" - name: coco_scii.zip + standalone_path: "coco_scii.zip" required: false category: bios_zip system: coco @@ -15957,6 +16582,7 @@ files: sha1: "c1fa0fcbf1202a9b63aafd98dce777b502584230" - name: coco_ssc.zip + standalone_path: "coco_ssc.zip" required: false category: bios_zip systems: @@ -15976,6 +16602,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: coco_t4426.zip + standalone_path: "coco_t4426.zip" required: false category: bios_zip system: coco @@ -16022,6 +16649,7 @@ files: sha1: "03f70dcc5f7ab60cd908427d45ebd85b6f464b93" - name: coco_wpk.zip + standalone_path: "coco_wpk.zip" required: false category: bios_zip system: coco @@ -16035,6 +16663,7 @@ files: sha1: "0ff5fae512c7f1abe138504d51492404dd86be03" - name: coco_wpk2.zip + standalone_path: "coco_wpk2.zip" required: false category: bios_zip system: coco @@ -16048,6 +16677,7 @@ files: sha1: "0ff5fae512c7f1abe138504d51492404dd86be03" - name: coco_wpkrs.zip + standalone_path: "coco_wpkrs.zip" required: false category: bios_zip system: coco @@ -16061,6 +16691,7 @@ files: sha1: "0ff5fae512c7f1abe138504d51492404dd86be03" - name: compiskb.zip + standalone_path: "compiskb.zip" required: false category: bios_zip system: arcade @@ -16074,6 +16705,7 @@ files: sha1: "c04e2d325b9c04818bc7c47c3bf32b13862b11ec" - name: comx_clm.zip + standalone_path: "comx_clm.zip" required: false category: bios_zip system: arcade @@ -16104,6 +16736,7 @@ files: sha1: "4e041cec03dda6dba5e2598d060c49908a4fab2a" - name: comx_eb.zip + standalone_path: "comx_eb.zip" required: false category: bios_zip system: arcade @@ -16129,6 +16762,7 @@ files: sha1: "eb6b6e7bc9e761d13554482025d8cb5e260c0619" - name: comx_epr.zip + standalone_path: "comx_epr.zip" required: false category: bios_zip system: arcade @@ -16155,6 +16789,7 @@ files: sha1: "8bc914f52f0dd2cf792da74ec4e9e333365619ef" - name: comx_fd.zip + standalone_path: "comx_fd.zip" required: false category: bios_zip system: arcade @@ -16168,6 +16803,7 @@ files: sha1: "290e19bdc89e3c8059e63d5ae3cca4daa194e1fe" - name: comx_pl80.zip + standalone_path: "comx_pl80.zip" required: false category: bios_zip systems: @@ -16208,6 +16844,7 @@ files: sha1: "ad83a3b57e2f0fbaa1e40644cd999b3f239635e8" - name: comx_prn.zip + standalone_path: "comx_prn.zip" required: false category: bios_zip system: arcade @@ -16232,6 +16869,7 @@ files: sha1: "be02bd388bba0211ea72d4868264a63308e4318d" - name: comx_thm.zip + standalone_path: "comx_thm.zip" required: false category: bios_zip system: arcade @@ -16246,6 +16884,7 @@ files: sha1: "3a8760c78bd8c7bec2dbf26657b930c9a6814803" - name: concept_kbd.zip + standalone_path: "concept_kbd.zip" required: false category: bios_zip system: arcade @@ -16260,6 +16899,7 @@ files: sha1: "fc58d77919739b66b85eb52b084af9716cd7f260" - name: cp2024.zip + standalone_path: "cp2024.zip" required: false category: bios_zip systems: @@ -16287,6 +16927,7 @@ files: sha1: "79bccc33835ba01fc4eb33fb4d412a691e7790c2" - name: cp31.zip + standalone_path: "cp31.zip" required: false category: bios_zip system: arcade @@ -16312,6 +16953,7 @@ files: sha1: "c257a88672ab39d2f3fad681d22e062182b0236d" - name: cp450_fdc.zip + standalone_path: "cp450_fdc.zip" required: false category: bios_zip system: coco @@ -16326,6 +16968,7 @@ files: sha1: "827697fa5b755f5dc1efb054cdbbeb04e405405b" - name: cpc_brunword4.zip + standalone_path: "cpc_brunword4.zip" required: false category: bios_zip system: arcade @@ -16463,6 +17106,7 @@ files: sha1: "50c6417b26134b68a80912bdb91c8578eb00c8a2" - name: cpc_ddi1.zip + standalone_path: "cpc_ddi1.zip" required: false category: bios_zip system: arcade @@ -16476,6 +17120,7 @@ files: sha1: "39102c8e9cb55fcc0b9b62098780ed4a3cb6a4bb" - name: cpc_dkspeech.zip + standalone_path: "cpc_dkspeech.zip" required: false category: bios_zip system: arcade @@ -16494,6 +17139,7 @@ files: sha1: "bf28e07d5fada3678faab77f582b802164e82f62" - name: cpc_hd20.zip + standalone_path: "cpc_hd20.zip" required: false category: bios_zip system: arcade @@ -16513,6 +17159,7 @@ files: sha1: "8a20788be5f957e84e849c226aa97b55b2a3aab9" - name: cpc_mface2.zip + standalone_path: "cpc_mface2.zip" required: false category: bios_zip system: arcade @@ -16526,6 +17173,7 @@ files: sha1: "1431ec628d38f000715545dd2186b684c5fe5a6f" - name: cpc_ser.zip + standalone_path: "cpc_ser.zip" required: false category: bios_zip system: arcade @@ -16544,6 +17192,7 @@ files: sha1: "13d033f2d1cad70140deb903d787ba514f236a59" - name: cpc_serams.zip + standalone_path: "cpc_serams.zip" required: false category: bios_zip system: arcade @@ -16564,6 +17213,7 @@ files: sha1: "145233fe8d4db9f5265eeac767d8ee8d45d14755" - name: cpc_smartwatch.zip + standalone_path: "cpc_smartwatch.zip" required: false category: bios_zip system: arcade @@ -16578,6 +17228,7 @@ files: sha1: "61750d0535a1fbf2a4addad9def332cbcf8917c3" - name: cpc_ssa1.zip + standalone_path: "cpc_ssa1.zip" required: false category: bios_zip system: arcade @@ -16591,6 +17242,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: cpc_transtape.zip + standalone_path: "cpc_transtape.zip" required: false category: bios_zip system: arcade @@ -16605,6 +17257,7 @@ files: sha1: "cc509d21216bf11d40f9a3e0791ef7f4ada03790" - name: cpuap.zip + standalone_path: "cpuap.zip" required: false category: bios_zip system: arcade @@ -16635,6 +17288,7 @@ files: sha1: "0800249eab8db490c1fb6fea6d65bc7e874c9a0c" - name: cq90_028.zip + standalone_path: "cq90_028.zip" required: false category: bios_zip system: arcade @@ -16649,6 +17303,7 @@ files: sha1: "949c1f777c892da62c242215d79757d61e71e62b" - name: crd254sh.zip + standalone_path: "crd254sh.zip" required: false category: bios_zip systems: @@ -16672,6 +17327,7 @@ files: sha1: "edb1f7d96f351ef70b8ade03449fb63e0e0a652b" - name: crvfdc01.zip + standalone_path: "crvfdc01.zip" required: false category: bios_zip system: arcade @@ -16686,6 +17342,7 @@ files: sha1: "b1e1e8a10618588b1b44b3be5d88857497f30b33" - name: crvfdc02.zip + standalone_path: "crvfdc02.zip" required: false category: bios_zip system: arcade @@ -16700,6 +17357,7 @@ files: sha1: "d27c3c6921e1bb3778a3f78decf106275bc0add1" - name: csd1.zip + standalone_path: "csd1.zip" required: false category: bios_zip system: arcade @@ -16717,6 +17375,7 @@ files: sha1: "c67e79a7ffefc9e9eafc238cb6ff6bb718f19afb" - name: ct1741.zip + standalone_path: "ct1741.zip" required: false category: bios_zip systems: @@ -16738,6 +17397,7 @@ files: sha1: "c7637c92828843f47e6e2f956af639b07aee4571" - name: cuda.zip + standalone_path: "cuda.zip" required: false category: bios_zip system: arcade @@ -16772,6 +17432,7 @@ files: sha1: "e5b13a2a904cc9fc612ed25b76718c501c11b00a" - name: cuda302.zip + standalone_path: "cuda302.zip" required: false category: bios_zip source_ref: "upstream src/mame/apple/cuda.cpp:368-374" @@ -16789,6 +17450,7 @@ files: sha1: "e5b13a2a904cc9fc612ed25b76718c501c11b00a" - name: cudalite.zip + standalone_path: "cudalite.zip" required: false category: bios_zip source_ref: "upstream src/mame/apple/cuda.cpp:400-406" @@ -16806,6 +17468,7 @@ files: sha1: "e5b13a2a904cc9fc612ed25b76718c501c11b00a" - name: cv8lc.zip + standalone_path: "cv8lc.zip" required: false category: bios_zip system: arcade @@ -16820,6 +17483,7 @@ files: sha1: "a8552315d9127aee92416aa22893551851f42e5c" - name: cw7501.zip + standalone_path: "cw7501.zip" required: false category: bios_zip systems: @@ -16843,6 +17507,7 @@ files: sha1: "2986ee5eedbe0cb662a9a7e7fa4e6ca7ccd8c539" - name: d2fdc.zip + standalone_path: "d2fdc.zip" required: false category: bios_zip systems: @@ -16859,6 +17524,7 @@ files: sha1: "bc39fbd5b9a8d2287ac5d0a42e639fc4d3c2f9d4" - name: d9060.zip + standalone_path: "d9060.zip" required: false category: bios_zip systems: @@ -16925,6 +17591,7 @@ files: sha1: "95a48835bc2bd1c79fb1a63778de3807fb731ac6" - name: d9090.zip + standalone_path: "d9090.zip" required: false category: bios_zip systems: @@ -16991,6 +17658,7 @@ files: sha1: "95a48835bc2bd1c79fb1a63778de3807fb731ac6" - name: db50xg.zip + standalone_path: "db50xg.zip" required: false category: bios_zip system: arcade @@ -17012,6 +17680,7 @@ files: sha1: "adf68689b4842ec5bc9b0ea1bb99cf66d2dec4de" - name: db60xg.zip + standalone_path: "db60xg.zip" required: false category: bios_zip system: arcade @@ -17033,6 +17702,7 @@ files: sha1: "adf68689b4842ec5bc9b0ea1bb99cf66d2dec4de" - name: dc320b.zip + standalone_path: "dc320b.zip" required: false category: bios_zip systems: @@ -17058,6 +17728,7 @@ files: sha1: "f4e3c8d7d12c394247c7ac82dedb895c88b9a907" - name: dc320e.zip + standalone_path: "dc320e.zip" required: false category: bios_zip systems: @@ -17083,6 +17754,7 @@ files: sha1: "b0847e442cae61da658e9041ad9fe3737e67a0ce" - name: dc820.zip + standalone_path: "dc820.zip" required: false category: bios_zip systems: @@ -17108,6 +17780,7 @@ files: sha1: "523a3e3258f07a7f9445620294934bcbe62cd912" - name: dc820b.zip + standalone_path: "dc820b.zip" required: false category: bios_zip systems: @@ -17133,6 +17806,7 @@ files: sha1: "b0847e442cae61da658e9041ad9fe3737e67a0ce" - name: dectalk_isa.zip + standalone_path: "dectalk_isa.zip" required: false category: bios_zip systems: @@ -17157,6 +17831,7 @@ files: sha1: "4b873a5e882205fcac79a27562054b5c4d1a117c" - name: dg640.zip + standalone_path: "dg640.zip" required: false category: bios_zip system: arcade @@ -17170,6 +17845,7 @@ files: sha1: "4d09aae2f933478532b7d3d1a2dee7123d9828ca" - name: digilog_kbd.zip + standalone_path: "digilog_kbd.zip" required: false category: bios_zip system: arcade @@ -17184,6 +17860,7 @@ files: sha1: "c80a7f9dff6942c8f54ba8a03bc72a87d075e00d" - name: dim68k_kbd.zip + standalone_path: "dim68k_kbd.zip" required: false category: bios_zip system: arcade @@ -17202,6 +17879,7 @@ files: sha1: "d1e87c8ccd17e4e2249fe89f13111ec881b7ebae" - name: dio98543.zip + standalone_path: "dio98543.zip" required: false category: bios_zip systems: @@ -17219,6 +17897,7 @@ files: sha1: "9ba9391cf39624ef8027ce42c84e100344b2a2b8" - name: dio98544.zip + standalone_path: "dio98544.zip" required: false category: bios_zip systems: @@ -17236,6 +17915,7 @@ files: sha1: "d2bcfd39452c38bc652df39f84c7041cfdf6bd51" - name: dio98550.zip + standalone_path: "dio98550.zip" required: false category: bios_zip system: arcade @@ -17250,6 +17930,7 @@ files: sha1: "d6b23a34850f24525ca5fb36de3deb91196d2dc5" - name: dio98603a.zip + standalone_path: "dio98603a.zip" required: false category: bios_zip systems: @@ -17327,6 +18008,7 @@ files: sha1: "a9cbbaa5f053f374d6cbda614b727df35a61ace1" - name: dio98603b.zip + standalone_path: "dio98603b.zip" required: false category: bios_zip systems: @@ -17388,6 +18070,7 @@ files: sha1: "6706ab97eab4465ea4fa2d6b07e8107468e83818" - name: dio98628.zip + standalone_path: "dio98628.zip" required: false category: bios_zip system: arcade @@ -17402,6 +18085,7 @@ files: sha1: "738fa16ac9a0f865938e7b197d26bd37c27b8660" - name: dio98629.zip + standalone_path: "dio98629.zip" required: false category: bios_zip system: arcade @@ -17416,6 +18100,7 @@ files: sha1: "b02b3688a8e415701905c7a1d8ae8848fd9b8b42" - name: diskii13.zip + standalone_path: "diskii13.zip" required: false category: bios_zip system: arcade @@ -17430,6 +18115,7 @@ files: sha1: "afd060e6f35faf3bb0146fa889fc787adf56330a" - name: dm_clgd5430.zip + standalone_path: "dm_clgd5430.zip" required: false category: bios_zip systems: @@ -17447,6 +18133,7 @@ files: sha1: "15131e2b2db7a34971083a250e4a21ab7bd64a9d" - name: dmv_k220.zip + standalone_path: "dmv_k220.zip" required: false category: bios_zip system: arcade @@ -17476,6 +18163,7 @@ files: sha1: "eedae538636009a5b86fc78e50a03c72eeb0e73b" - name: dmv_k230.zip + standalone_path: "dmv_k230.zip" required: false category: bios_zip system: arcade @@ -17490,6 +18178,7 @@ files: sha1: "4f50ef25008851ae6f0c670f19d63f4e61249581" - name: dmv_k231.zip + standalone_path: "dmv_k231.zip" required: false category: bios_zip system: arcade @@ -17504,6 +18193,7 @@ files: sha1: "4f50ef25008851ae6f0c670f19d63f4e61249581" - name: dmv_k235.zip + standalone_path: "dmv_k235.zip" required: false category: bios_zip system: arcade @@ -17518,6 +18208,7 @@ files: sha1: "08d48ca3b84ab26c1a764792e04ec4def7dad2ad" - name: dmv_k806.zip + standalone_path: "dmv_k806.zip" required: false category: bios_zip system: arcade @@ -17531,6 +18222,7 @@ files: sha1: "b82c14dba6c25cb1f60cf623989ca8c0c1ee4cc3" - name: dmv_keyboard.zip + standalone_path: "dmv_keyboard.zip" required: false category: bios_zip system: arcade @@ -17545,6 +18237,7 @@ files: sha1: "ed09048ef03c602dba17ad6fcfe125c082c9bb17" - name: dragon_fdc.zip + standalone_path: "dragon_fdc.zip" required: false category: bios_zip system: dragon64 @@ -17558,6 +18251,7 @@ files: sha1: "a8918c71d319237c1e3155bb38620acb114a80bc" - name: dragon_jcbsnd.zip + standalone_path: "dragon_jcbsnd.zip" required: false category: bios_zip system: dragon64 @@ -17572,6 +18266,7 @@ files: sha1: "d07bb9272e3d3928059853730ff656905a80b68e" - name: dragon_jcbspch.zip + standalone_path: "dragon_jcbspch.zip" required: false category: bios_zip system: dragon64 @@ -17590,6 +18285,7 @@ files: sha1: "df3f64a7a3beeb91469932035af5e4f8a7872aad" - name: dragon_serial.zip + standalone_path: "dragon_serial.zip" required: false category: bios_zip system: dragon64 @@ -17604,6 +18300,7 @@ files: sha1: "14124dfb4bd78d1907e80d779cd7f3bae30564c9" - name: dragon_sprites.zip + standalone_path: "dragon_sprites.zip" required: false category: bios_zip system: dragon64 @@ -17617,6 +18314,7 @@ files: sha1: "f1288653a12ba9a17ef721d0f4867160c3ca341f" - name: ds1001.zip + standalone_path: "ds1001.zip" required: false category: bios_zip source_ref: "upstream src/devices/sound/ymopl.cpp:362-368" @@ -17630,6 +18328,7 @@ files: sha1: "7adf1d77bab12c50ebfa9921774f9aea1e74dd7b" - name: dsd4432.zip + standalone_path: "dsd4432.zip" required: false category: bios_zip systems: @@ -17662,6 +18361,7 @@ files: sha1: "12c90cd62d2287ee5018801e4ceb1042051b6783" - name: dsd5217.zip + standalone_path: "dsd5217.zip" required: false category: bios_zip system: arcade @@ -17700,6 +18400,7 @@ files: sha1: "5fe589a79806451abcbfbcff28eca39e925df264" - name: dsp56303.zip + standalone_path: "dsp56303.zip" required: false category: bios_zip system: arcade @@ -17713,6 +18414,7 @@ files: sha1: "a1728cfaf31919f619a6c4d579f198c5a4bb9e44" - name: dsp56311.zip + standalone_path: "dsp56311.zip" required: false category: bios_zip system: arcade @@ -17726,6 +18428,7 @@ files: sha1: "09a704dfb8be9e5863cb0523994ce5b4fb225801" - name: dsp56362.zip + standalone_path: "dsp56362.zip" required: false category: bios_zip systems: @@ -17741,6 +18444,7 @@ files: sha1: "c18cbc0fb01ad423f99eb6421a36f3915e37e843" - name: duodock.zip + standalone_path: "duodock.zip" required: false category: bios_zip system: arcade @@ -17754,6 +18458,7 @@ files: sha1: "be190b869b32f33bb1e59c7ae733853cd8133a4d" - name: dvk_kmd.zip + standalone_path: "dvk_kmd.zip" required: false category: bios_zip systems: @@ -17776,6 +18481,7 @@ files: sha1: "6bc020054934a5562e763a18f915b8d612ccc70c" - name: dw_kbd.zip + standalone_path: "dw_kbd.zip" required: false category: bios_zip system: arcade @@ -17790,6 +18496,7 @@ files: sha1: "3183d93e34707f4b24f4f71db658c3cf317a631a" - name: ec1841_0002.zip + standalone_path: "ec1841_0002.zip" required: false category: bios_zip systems: @@ -17806,6 +18513,7 @@ files: sha1: "c2a8b10808bf51a3c123ba3eb1e9dd608231916f" - name: ecb_grip21.zip + standalone_path: "ecb_grip21.zip" required: false category: bios_zip system: arcade @@ -17820,6 +18528,7 @@ files: sha1: "2e89f0b0c378257ff7e41c50d57d90865c6e214b" - name: econet_e01.zip + standalone_path: "econet_e01.zip" required: false category: bios_zip systems: @@ -17841,6 +18550,7 @@ files: sha1: "6f44a1a48108c60a64a1774cb30c1a59c4a6a199" - name: econet_e01s.zip + standalone_path: "econet_e01s.zip" required: false category: bios_zip systems: @@ -17862,6 +18572,7 @@ files: sha1: "9b8740face15b5541e2375b3054988af00757931" - name: ef9340_1.zip + standalone_path: "ef9340_1.zip" required: false category: bios_zip system: arcade @@ -17877,6 +18588,7 @@ files: bad_dump: true - name: ef9365.zip + standalone_path: "ef9365.zip" required: false category: bios_zip systems: @@ -17893,6 +18605,7 @@ files: sha1: "0f9a64d217a0f7f04ee0720d49c5b680ad0ae359" - name: ega.zip + standalone_path: "ega.zip" required: false category: bios_zip systems: @@ -17921,6 +18634,7 @@ files: sha1: "fd6dac76d43ab8b582e70f1d5cc931d679036fb9" - name: eidemax.zip + standalone_path: "eidemax.zip" required: false category: bios_zip systems: @@ -17956,6 +18670,7 @@ files: sha1: "e105f258f68ffe62acf2544f2f474850ce07a0a3" - name: einstein_sd.zip + standalone_path: "einstein_sd.zip" required: false category: bios_zip system: arcade @@ -17970,6 +18685,7 @@ files: sha1: "d0bc01e533d8963c596154435c5b2d156a96d470" - name: einstein_speech.zip + standalone_path: "einstein_speech.zip" required: false category: bios_zip system: arcade @@ -17984,6 +18700,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: eispc_kb.zip + standalone_path: "eispc_kb.zip" required: false category: bios_zip system: arcade @@ -17998,6 +18715,7 @@ files: sha1: "a939dd50622575c31fea9c7adb7a7db5403a7aca" - name: electron_ap1.zip + standalone_path: "electron_ap1.zip" required: false category: bios_zip system: electron @@ -18023,6 +18741,7 @@ files: sha1: "f1053109ea236dd3e4b91ec64859480e8c2ed549" - name: electron_ap6.zip + standalone_path: "electron_ap6.zip" required: false category: bios_zip system: electron @@ -18043,6 +18762,7 @@ files: sha1: "316a25aeeda0266dae510eea52324b087875740f" - name: electron_elksd128.zip + standalone_path: "electron_elksd128.zip" required: false category: bios_zip system: electron @@ -18057,6 +18777,7 @@ files: sha1: "d552149fec6a1deec2b75c740092bd311d67046f" - name: electron_elksd64.zip + standalone_path: "electron_elksd64.zip" required: false category: bios_zip system: electron @@ -18075,6 +18796,7 @@ files: sha1: "316a25aeeda0266dae510eea52324b087875740f" - name: electron_m2105.zip + standalone_path: "electron_m2105.zip" required: false category: bios_zip system: electron @@ -18149,6 +18871,7 @@ files: sha1: "b369809275cb67dfd8a749265e91adb2d2558ae6" - name: electron_mc68k.zip + standalone_path: "electron_mc68k.zip" required: false category: bios_zip system: electron @@ -18175,6 +18898,7 @@ files: sha1: "90afb5910995511ae943ad62ea2967eff85e8ef7" - name: electron_mode7.zip + standalone_path: "electron_mode7.zip" required: false category: bios_zip system: electron @@ -18195,6 +18919,7 @@ files: sha1: "3689a6ca8693fa9a6e53a02cf34d613303cb34d7" - name: electron_pwrjoy.zip + standalone_path: "electron_pwrjoy.zip" required: false category: bios_zip system: electron @@ -18209,6 +18934,7 @@ files: sha1: "6d3aa85a436db952906e84839496e681ea115168" - name: electron_romboxp.zip + standalone_path: "electron_romboxp.zip" required: false category: bios_zip system: electron @@ -18248,6 +18974,7 @@ files: sha1: "eb8609991a9a8fb017b8100bfca4248d65faeea8" - name: electron_sidewndr.zip + standalone_path: "electron_sidewndr.zip" required: false category: bios_zip system: electron @@ -18262,6 +18989,7 @@ files: sha1: "771664dbf23bb14febeb414a0272762cd6091ead" - name: electron_voxbox.zip + standalone_path: "electron_voxbox.zip" required: false category: bios_zip system: electron @@ -18276,6 +19004,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: enetlc.zip + standalone_path: "enetlc.zip" required: false category: bios_zip systems: @@ -18298,6 +19027,7 @@ files: sha1: "ba4fd87765104701d5e6bf7962ed3a453e3c5711" - name: enetlctp.zip + standalone_path: "enetlctp.zip" required: false category: bios_zip systems: @@ -18314,6 +19044,7 @@ files: sha1: "447ce6830600f47f63fdc21dd132539decb76001" - name: enetnbtp.zip + standalone_path: "enetnbtp.zip" required: false category: bios_zip systems: @@ -18330,6 +19061,7 @@ files: sha1: "dd14bf4328d9c1ea1d2e1d441da0233e6669e919" - name: enh2000.zip + standalone_path: "enh2000.zip" required: false category: bios_zip system: arcade @@ -18344,6 +19076,7 @@ files: sha1: "473dd2e06037799e6f562c443165d9b2b9f4a368" - name: enp10.zip + standalone_path: "enp10.zip" required: false category: bios_zip system: arcade @@ -18397,6 +19130,7 @@ files: sha1: "b4d6bba88dd376cc492738d57742628f42e9265e" - name: epson_fx80.zip + standalone_path: "epson_fx80.zip" required: false category: bios_zip systems: @@ -18433,6 +19167,7 @@ files: sha1: "d5074f60497cc75d40996e6cef63231d3a3697f1" - name: epson_jx80.zip + standalone_path: "epson_jx80.zip" required: false category: bios_zip systems: @@ -18469,6 +19204,7 @@ files: sha1: "d5074f60497cc75d40996e6cef63231d3a3697f1" - name: epson_pf10.zip + standalone_path: "epson_pf10.zip" required: false category: bios_zip system: arcade @@ -18483,6 +19219,7 @@ files: sha1: "bb176e4baf938fe58c2d32f7c46d7bb7b0627755" - name: epson_qx_option_multifont.zip + standalone_path: "epson_qx_option_multifont.zip" required: false category: bios_zip system: arcade @@ -18521,6 +19258,7 @@ files: sha1: "19246af07d6728ccd74a021265df827ecc6fe2b5" - name: epson_rx80.zip + standalone_path: "epson_rx80.zip" required: false category: bios_zip systems: @@ -18553,6 +19291,7 @@ files: sha1: "3e304f5331181aedb321d3db23a9387e3cfacf0c" - name: epson_tf20.zip + standalone_path: "epson_tf20.zip" required: false category: bios_zip system: arcade @@ -18567,6 +19306,7 @@ files: sha1: "c9bdf393f757ba5d8f838108ceb2b079be1d616e" - name: ergoline_kbd.zip + standalone_path: "ergoline_kbd.zip" required: false category: bios_zip system: arcade @@ -18580,6 +19320,7 @@ files: sha1: "8a2e1a894fda3e92fd760b8523121ba171281206" - name: esq2x40_vfx.zip + standalone_path: "esq2x40_vfx.zip" required: false category: bios_zip system: arcade @@ -18594,6 +19335,7 @@ files: sha1: "097fc3e1930a49ab61f73ea7a6191c892004f823" - name: et4000.zip + standalone_path: "et4000.zip" required: false category: bios_zip systems: @@ -18617,6 +19359,7 @@ files: sha1: "8644b4178cd0e841139bfa06c9da493dd74d22e8" - name: et4000_kasan16.zip + standalone_path: "et4000_kasan16.zip" required: false category: bios_zip systems: @@ -18639,6 +19382,7 @@ files: sha1: "1358feb2ccaca040a176bedc7c256ec481351b41" - name: et4kw32i.zip + standalone_path: "et4kw32i.zip" required: false category: bios_zip systems: @@ -18657,6 +19401,7 @@ files: sha1: "d5aee7205af8bd1fef0ecf1db2c07308a2b10b17" - name: et532_board.zip + standalone_path: "et532_board.zip" required: false category: bios_zip system: arcade @@ -18670,6 +19415,7 @@ files: sha1: "c8f3651768efe8282ceb914a99c2355735be8976" - name: ethudock.zip + standalone_path: "ethudock.zip" required: false category: bios_zip system: arcade @@ -18684,6 +19430,7 @@ files: sha1: "85474adc62de1bdca6ce7bf694a0158d467113cc" - name: europc_kbd.zip + standalone_path: "europc_kbd.zip" required: false category: bios_zip system: arcade @@ -18697,6 +19444,7 @@ files: sha1: "ddb7060abddee7294723833c303090de35c1e79c" - name: ev346.zip + standalone_path: "ev346.zip" required: false category: bios_zip systems: @@ -18714,6 +19462,7 @@ files: sha1: "ef31b62f5ac38db7cacfc4d30e203a4cc1414913" - name: everdrive_md.zip + standalone_path: "everdrive_md.zip" required: false category: bios_zip system: arcade @@ -18728,6 +19477,7 @@ files: sha1: "fe71de7dd1f2117409b158ccd45c68b1d6781a9c" - name: ex1280.zip + standalone_path: "ex1280.zip" required: false category: bios_zip systems: @@ -18748,6 +19498,7 @@ files: sha1: "88c19cf36cb98e59810dad2a2f1f0e6c884cd7eb" - name: ex800.zip + standalone_path: "ex800.zip" required: false category: bios_zip systems: @@ -18780,6 +19531,7 @@ files: sha1: "8e30ead727b9317154742efd881206e9f9bbf95b" - name: executive10_102_kbd.zip + standalone_path: "executive10_102_kbd.zip" required: false category: bios_zip system: arcade @@ -18794,6 +19546,7 @@ files: sha1: "2701ab4eaaf89270575ecff841f813db1907a434" - name: exorterm155_device.zip + standalone_path: "exorterm155_device.zip" required: false category: bios_zip system: arcade @@ -18828,6 +19581,7 @@ files: bad_dump: true - name: exos201.zip + standalone_path: "exos201.zip" required: false category: bios_zip system: arcade @@ -18852,6 +19606,7 @@ files: sha1: "2eb6f6a5b2ebbd3489721ef632f3fbf162044cf4" - name: f4431_kbd.zip + standalone_path: "f4431_kbd.zip" required: false category: bios_zip system: arcade @@ -18866,6 +19621,7 @@ files: sha1: "91d0ef181fe05e9474871e26dc75c313cb67c337" - name: fc_disksys.zip + standalone_path: "fc_disksys.zip" required: false category: bios_zip system: arcade @@ -18886,6 +19642,7 @@ files: sha1: "af5af53f66982e749643fdf8b2acbb7d4d3ed229" - name: fd148.zip + standalone_path: "fd148.zip" required: false category: bios_zip system: arcade @@ -18900,6 +19657,7 @@ files: sha1: "c11317cb9370e722950579a610a3effda313aeee" - name: fd2000.zip + standalone_path: "fd2000.zip" required: false category: bios_zip system: arcade @@ -18919,6 +19677,7 @@ files: sha1: "0c61ba58269baf2b8aadf3bbc4648c7a5a6d2128" - name: fd4000.zip + standalone_path: "fd4000.zip" required: false category: bios_zip system: arcade @@ -18938,6 +19697,7 @@ files: sha1: "d936d76fd8b50ce4c65f885703653d7c1bd7d3c9" - name: fdc344.zip + standalone_path: "fdc344.zip" required: false category: bios_zip systems: @@ -18954,6 +19714,7 @@ files: sha1: "b639d92435ecf2a6d4aefd3576a6955028f6bde7" - name: fdcmag.zip + standalone_path: "fdcmag.zip" required: false category: bios_zip systems: @@ -18971,6 +19732,7 @@ files: sha1: "9c4443169a0b104395404274470e62b8b65efcf4" - name: fga4he.zip + standalone_path: "fga4he.zip" required: false category: bios_zip systems: @@ -18989,6 +19751,7 @@ files: sha1: "fe4bc168ad7ccb186a6f8158964e2116435c994b" - name: filetto_cga.zip + standalone_path: "filetto_cga.zip" required: false category: bios_zip system: arcade @@ -19003,6 +19766,7 @@ files: sha1: "de84bdd9245df287bbd3bb808f0c3531d13a3545" - name: freedom220_kbd.zip + standalone_path: "freedom220_kbd.zip" required: false category: bios_zip system: arcade @@ -19017,6 +19781,7 @@ files: sha1: "477eb9f3d3abc89cfc9b5f9a924a794ca48750c4" - name: fsd1.zip + standalone_path: "fsd1.zip" required: false category: bios_zip system: arcade @@ -19030,6 +19795,7 @@ files: sha1: "ab16f56989b27d89babe5f89c5a8cb3da71a82f0" - name: fsd2.zip + standalone_path: "fsd2.zip" required: false category: bios_zip system: arcade @@ -19059,6 +19825,7 @@ files: sha1: "f279d327d5e16ea1b62fb18514fb679d0b442941" - name: g80_1500.zip + standalone_path: "g80_1500.zip" required: false category: bios_zip system: arcade @@ -19073,6 +19840,7 @@ files: sha1: "009fc939f86bf70d288523446e292095d9706ab2" - name: gamtor_vga.zip + standalone_path: "gamtor_vga.zip" required: false category: bios_zip system: arcade @@ -19087,6 +19855,7 @@ files: bad_dump: true - name: geforce256.zip + standalone_path: "geforce256.zip" required: false category: bios_zip system: arcade @@ -19103,6 +19872,7 @@ files: bad_dump: true - name: geforce256ddr.zip + standalone_path: "geforce256ddr.zip" required: false category: bios_zip system: arcade @@ -19118,6 +19888,7 @@ files: sha1: "aaac61e99193221280c5913cf3ca503e5b5ea408" - name: gfxultra.zip + standalone_path: "gfxultra.zip" required: false category: bios_zip systems: @@ -19135,6 +19906,7 @@ files: sha1: "117cfc972ce4645538ba7262222d8ff38bc2c58c" - name: gfxultrap.zip + standalone_path: "gfxultrap.zip" required: false category: bios_zip systems: @@ -19158,6 +19930,7 @@ files: sha1: "61321dfecf1bcdd8043836fabbe41786dbf3001b" - name: gic.zip + standalone_path: "gic.zip" required: false category: bios_zip system: arcade @@ -19172,6 +19945,7 @@ files: bad_dump: true - name: gpib_hardbox.zip + standalone_path: "gpib_hardbox.zip" required: false category: bios_zip systems: @@ -19214,6 +19988,7 @@ files: sha1: "151f99dc554d3762b805fc8383cf1b3e1455784f" - name: gpib_mshark.zip + standalone_path: "gpib_mshark.zip" required: false category: bios_zip systems: @@ -19250,6 +20025,7 @@ files: sha1: "3b384951ff54c4b45a3a778a88966d13e2c9d57a" - name: gpib_softbox.zip + standalone_path: "gpib_softbox.zip" required: false category: bios_zip systems: @@ -19292,6 +20068,7 @@ files: sha1: "4b26d5db36f828e01268f718799f145d09b449ad" - name: gpl16250va.zip + standalone_path: "gpl16250va.zip" required: false category: bios_zip system: arcade @@ -19312,6 +20089,7 @@ files: sha1: "988e0befd33884b05aeccd6821e5cdd53f6a849f" - name: gpl951xx.zip + standalone_path: "gpl951xx.zip" required: false category: bios_zip system: arcade @@ -19326,6 +20104,7 @@ files: sha1: "01752267b404d1bd3a61efa928223eb9e147faa3" - name: gunsense.zip + standalone_path: "gunsense.zip" required: false category: bios_zip system: sega-naomi @@ -19348,6 +20127,7 @@ files: sha1: "91813a43851c48d400fde41b1198dabf55bade2d" - name: h89bus_io_decoder_444_43.zip + standalone_path: "h89bus_io_decoder_444_43.zip" required: false category: bios_zip system: arcade @@ -19362,6 +20142,7 @@ files: sha1: "11da9a9145de07f1f3bf1270a10e059dff30c693" - name: h89bus_io_decoder_444_61.zip + standalone_path: "h89bus_io_decoder_444_61.zip" required: false category: bios_zip system: arcade @@ -19376,6 +20157,7 @@ files: sha1: "92da6484d1339160400d6bc75578a977c5e4d23e" - name: h89bus_io_decoder_cdr86.zip + standalone_path: "h89bus_io_decoder_cdr86.zip" required: false category: bios_zip system: arcade @@ -19390,6 +20172,7 @@ files: sha1: "879f9d265d77f8a74c70febd9a80d6896ab8ec7e" - name: h89bus_io_decoder_mms_61c.zip + standalone_path: "h89bus_io_decoder_mms_61c.zip" required: false category: bios_zip system: arcade @@ -19404,6 +20187,7 @@ files: sha1: "33c124f44c0f9cb99c9b17ad15411b4bc6407eae" - name: h8_cpu_8080.zip + standalone_path: "h8_cpu_8080.zip" required: false category: bios_zip system: arcade @@ -19434,6 +20218,7 @@ files: sha1: "965244277a3a8039a987e4c3593b52196e39b7e7" - name: h8_ha_8_6.zip + standalone_path: "h8_ha_8_6.zip" required: false category: bios_zip system: arcade @@ -19454,6 +20239,7 @@ files: sha1: "90082d02ffb1d27e8172b11fff465bd24343486e" - name: hcpu30.zip + standalone_path: "hcpu30.zip" required: false category: bios_zip system: arcade @@ -19468,6 +20254,7 @@ files: sha1: "5431b0559b168a995e725b35e1465a0b8ee8aa72" - name: hd44780.zip + standalone_path: "hd44780.zip" required: false category: bios_zip systems: @@ -19489,6 +20276,7 @@ files: bad_dump: true - name: hd44780u.zip + standalone_path: "hd44780u.zip" required: false category: bios_zip system: arcade @@ -19511,6 +20299,7 @@ files: bad_dump: true - name: hd61830.zip + standalone_path: "hd61830.zip" required: false category: bios_zip system: arcade @@ -19526,6 +20315,7 @@ files: bad_dump: true - name: hdae5000.zip + standalone_path: "hdae5000.zip" required: false category: bios_zip system: arcade @@ -19556,6 +20346,7 @@ files: sha1: "c4da28f0ad16b1288774af761b3729142e8050b3" - name: he191_3425.zip + standalone_path: "he191_3425.zip" required: false category: bios_zip system: arcade @@ -19570,6 +20361,7 @@ files: sha1: "4369de412cef907a3734ba511abe902d2d1b6cbf" - name: heath_gp19_tlb.zip + standalone_path: "heath_gp19_tlb.zip" required: false category: bios_zip systems: @@ -19621,6 +20413,7 @@ files: sha1: "df49ce64ae48652346a91648c58178a34fb37d3c" - name: heath_igc_super19_tlb_device.zip + standalone_path: "heath_igc_super19_tlb_device.zip" required: false category: bios_zip system: arcade @@ -19643,6 +20436,7 @@ files: sha1: "df49ce64ae48652346a91648c58178a34fb37d3c" - name: heath_igc_tlb_device.zip + standalone_path: "heath_igc_tlb_device.zip" required: false category: bios_zip system: arcade @@ -19664,6 +20458,7 @@ files: sha1: "df49ce64ae48652346a91648c58178a34fb37d3c" - name: heath_igc_ultra_tlb_device.zip + standalone_path: "heath_igc_ultra_tlb_device.zip" required: false category: bios_zip system: arcade @@ -19686,6 +20481,7 @@ files: sha1: "ca39c602af48505139d2750a084b5f8f0e662ff7" - name: heath_igc_watz_tlb_device.zip + standalone_path: "heath_igc_watz_tlb_device.zip" required: false category: bios_zip system: arcade @@ -19714,6 +20510,7 @@ files: sha1: "1b23705290bdf9fc6342065c6a528c04bff67b13" - name: heath_imaginator_tlb.zip + standalone_path: "heath_imaginator_tlb.zip" required: false category: bios_zip systems: @@ -19767,6 +20564,7 @@ files: sha1: "df49ce64ae48652346a91648c58178a34fb37d3c" - name: heath_super19_tlb.zip + standalone_path: "heath_super19_tlb.zip" required: false category: bios_zip systems: @@ -19810,6 +20608,7 @@ files: sha1: "df49ce64ae48652346a91648c58178a34fb37d3c" - name: heath_superset_tlb.zip + standalone_path: "heath_superset_tlb.zip" required: false category: bios_zip systems: @@ -19853,6 +20652,7 @@ files: sha1: "981962e5e05bbdc5a66b0e86870853ce5596e877" - name: heath_tlb.zip + standalone_path: "heath_tlb.zip" required: false category: bios_zip systems: @@ -19896,6 +20696,7 @@ files: sha1: "df49ce64ae48652346a91648c58178a34fb37d3c" - name: heath_ultra_tlb.zip + standalone_path: "heath_ultra_tlb.zip" required: false category: bios_zip systems: @@ -19939,6 +20740,7 @@ files: sha1: "ca39c602af48505139d2750a084b5f8f0e662ff7" - name: heath_watz_tlb.zip + standalone_path: "heath_watz_tlb.zip" required: false category: bios_zip systems: @@ -19988,6 +20790,7 @@ files: sha1: "1b23705290bdf9fc6342065c6a528c04bff67b13" - name: hk68v10.zip + standalone_path: "hk68v10.zip" required: false category: bios_zip system: arcade @@ -20005,6 +20808,7 @@ files: sha1: "e68699965645f0ce53de47625163c3eb02c8b727" - name: hp82900.zip + standalone_path: "hp82900.zip" required: false category: bios_zip system: arcade @@ -20018,6 +20822,7 @@ files: sha1: "fb4427f729eedba5ac01809718b841c7bdd85e1f" - name: hp82937.zip + standalone_path: "hp82937.zip" required: false category: bios_zip system: arcade @@ -20031,6 +20836,7 @@ files: sha1: "44dfc8c3f431cd37a270b094f1db751214009214" - name: hp82939.zip + standalone_path: "hp82939.zip" required: false category: bios_zip system: arcade @@ -20044,6 +20850,7 @@ files: sha1: "0f6a70eb8981a8a87c7514ce8226ff1af3ac1668" - name: hp9122c.zip + standalone_path: "hp9122c.zip" required: false category: bios_zip systems: @@ -20062,6 +20869,7 @@ files: sha1: "93b2015037d76cc68b6252df03d6f184104605b9" - name: hp9133.zip + standalone_path: "hp9133.zip" required: false category: bios_zip systems: @@ -20084,6 +20892,7 @@ files: sha1: "61766b1f64473c17f01cbc97bd817f6076827d6a" - name: hp98034.zip + standalone_path: "hp98034.zip" required: false category: bios_zip system: arcade @@ -20097,6 +20906,7 @@ files: sha1: "3d7c1ace38c4d3178fdbf764c044535d9f6ac94f" - name: hp98035.zip + standalone_path: "hp98035.zip" required: false category: bios_zip system: arcade @@ -20110,6 +20920,7 @@ files: sha1: "34e89a37a2822f27af21969941201317dbff615b" - name: hp98046.zip + standalone_path: "hp98046.zip" required: false category: bios_zip system: arcade @@ -20123,6 +20934,7 @@ files: sha1: "d19c35b18fae52b841060ed879f860fd2cae3482" - name: hp9845_prt.zip + standalone_path: "hp9845_prt.zip" required: false category: bios_zip system: arcade @@ -20137,6 +20949,7 @@ files: sha1: "1dfabd32f4bdef85f88a514bd1978b80b25a6e80" - name: hp9895.zip + standalone_path: "hp9895.zip" required: false category: bios_zip systems: @@ -20155,6 +20968,7 @@ files: sha1: "96edf9af78be75fbad2a0245b8af43958ba32752" - name: hpblp.zip + standalone_path: "hpblp.zip" required: false category: bios_zip systems: @@ -20176,6 +20990,7 @@ files: sha1: "9e13c0ef2aed6565c33795780b7102f2647cf2a0" - name: human_interface.zip + standalone_path: "human_interface.zip" required: false category: bios_zip systems: @@ -20193,6 +21008,7 @@ files: sha1: "90849a10bdb8c6e38e73ce027c9c0ad8b3956b1b" - name: i8244.zip + standalone_path: "i8244.zip" required: false category: bios_zip system: arcade @@ -20206,6 +21022,7 @@ files: sha1: "415382715455b47b69401b3d60bd8f0036dd7fef" - name: i8245.zip + standalone_path: "i8245.zip" required: false category: bios_zip system: arcade @@ -20219,6 +21036,7 @@ files: sha1: "415382715455b47b69401b3d60bd8f0036dd7fef" - name: ibm_mfc.zip + standalone_path: "ibm_mfc.zip" required: false category: bios_zip systems: @@ -20236,6 +21054,7 @@ files: sha1: "e7edf28d20e6c146e3144526c89cd6beea64663b" - name: ibm_vga.zip + standalone_path: "ibm_vga.zip" required: false category: bios_zip systems: @@ -20254,6 +21073,7 @@ files: bad_dump: true - name: ibsap2.zip + standalone_path: "ibsap2.zip" required: false category: bios_zip systems: @@ -20270,6 +21090,7 @@ files: sha1: "f40e7e50521636b441f86794bd19b77ecf9a67b4" - name: idpart_video.zip + standalone_path: "idpart_video.zip" required: false category: bios_zip system: arcade @@ -20288,6 +21109,7 @@ files: sha1: "c6067e3fdda84e673aaa74ae6561b535157a8281" - name: ie15_device.zip + standalone_path: "ie15_device.zip" required: false category: bios_zip systems: @@ -20332,6 +21154,7 @@ files: sha1: "6af9fb75f5375943d5c0ce9ed408e0fb4621b17e" - name: ie15kbd.zip + standalone_path: "ie15kbd.zip" required: false category: bios_zip systems: @@ -20367,6 +21190,7 @@ files: sha1: "0ee46f5be1b01fa917a6d483bb51463106ae441f" - name: imds2ioc.zip + standalone_path: "imds2ioc.zip" required: false category: bios_zip system: arcade @@ -20449,6 +21273,7 @@ files: sha1: "0ed98f9f06622949ee3cc2ffc572fb9702db0f81" - name: imi5000h.zip + standalone_path: "imi5000h.zip" required: false category: bios_zip system: arcade @@ -20478,6 +21303,7 @@ files: sha1: "646c5a3e951535a80d24d9ce8764a3f373c508db" - name: in207100kbd.zip + standalone_path: "in207100kbd.zip" required: false category: bios_zip system: arcade @@ -20492,6 +21318,7 @@ files: sha1: "f3e5e7d9138abede70e97026f4b2e52e0df6ea31" - name: in213kbd.zip + standalone_path: "in213kbd.zip" required: false category: bios_zip system: arcade @@ -20506,6 +21333,7 @@ files: sha1: "0fea01984959c8d8b7884ffca40bef402c9b99b8" - name: indusgt.zip + standalone_path: "indusgt.zip" required: false category: bios_zip system: arcade @@ -20528,6 +21356,7 @@ files: sha1: "5bceaad520dac9d0527723b3b454e8ec99748e5b" - name: intv_ecs.zip + standalone_path: "intv_ecs.zip" required: false category: bios_zip system: arcade @@ -20550,6 +21379,7 @@ files: sha1: "b3c14955f56c57e6f0d8fbb695771946cfcf6582" - name: intv_voice.zip + standalone_path: "intv_voice.zip" required: false category: bios_zip system: arcade @@ -20564,6 +21394,7 @@ files: sha1: "618563e512ff5665183664f52270fa9606c9d289" - name: iq151_disc2.zip + standalone_path: "iq151_disc2.zip" required: false category: bios_zip system: arcade @@ -20577,6 +21408,7 @@ files: sha1: "3e2ca80934177e7a32d0905f5a0ad14072f9dabf" - name: iq151_minigraf.zip + standalone_path: "iq151_minigraf.zip" required: false category: bios_zip system: arcade @@ -20594,6 +21426,7 @@ files: sha1: "475d294e4976f88ad13e77a39b1c607827c791dc" - name: iq151_ms15a.zip + standalone_path: "iq151_ms15a.zip" required: false category: bios_zip system: arcade @@ -20608,6 +21441,7 @@ files: sha1: "ebdc4278cfe6d3cc7dafbaa05bc6c239e4e6c09b" - name: iq151_video32.zip + standalone_path: "iq151_video32.zip" required: false category: bios_zip system: arcade @@ -20621,6 +21455,7 @@ files: sha1: "18800543daf4daed3f048193c6ae923b4b0e87db" - name: iq151_video64.zip + standalone_path: "iq151_video64.zip" required: false category: bios_zip system: arcade @@ -20634,6 +21469,7 @@ files: sha1: "4b2c1d41838d569228f61568c1a16a8d68b3dadf" - name: iris_kbd.zip + standalone_path: "iris_kbd.zip" required: false category: bios_zip system: arcade @@ -20648,6 +21484,7 @@ files: sha1: "ed59ef7ad493b686f8f2f764549772b75bbd0735" - name: isa_aga.zip + standalone_path: "isa_aga.zip" required: false category: bios_zip systems: @@ -20664,6 +21501,7 @@ files: sha1: "aca488a16ae4ff05a1f4d14574379ff49cd48343" - name: isa_aga_pc200.zip + standalone_path: "isa_aga_pc200.zip" required: false category: bios_zip systems: @@ -20680,6 +21518,7 @@ files: sha1: "99663bfb61798526e092205575370c2ad34249a1" - name: isa_epc_mda.zip + standalone_path: "isa_epc_mda.zip" required: false category: bios_zip systems: @@ -20697,6 +21536,7 @@ files: sha1: "38ab26224bbe66bbe2bb2ccac29b41cbf78bdbf8" - name: isa_finalchs.zip + standalone_path: "isa_finalchs.zip" required: false category: bios_zip systems: @@ -20720,6 +21560,7 @@ files: sha1: "f422b19a806cef4fadd580caefaaf8c32b644098" - name: isa_hdc.zip + standalone_path: "isa_hdc.zip" required: false category: bios_zip systems: @@ -20737,6 +21578,7 @@ files: sha1: "601d7ceab282394ebab50763c267e915a6a2166a" - name: isa_hercules.zip + standalone_path: "isa_hercules.zip" required: false category: bios_zip systems: @@ -20760,6 +21602,7 @@ files: sha1: "3279dfeed4a0f5daa7b57d455c96eafdcbb6bf41" - name: isa_ibm_mda.zip + standalone_path: "isa_ibm_mda.zip" required: false category: bios_zip systems: @@ -20777,6 +21620,7 @@ files: sha1: "c2a8b10808bf51a3c123ba3eb1e9dd608231916f" - name: isa_ibm_pgc.zip + standalone_path: "isa_ibm_pgc.zip" required: false category: bios_zip systems: @@ -20814,6 +21658,7 @@ files: sha1: "deb1195886268dcddce10459911e020f7a9f74f7" - name: isa_ibm_speech.zip + standalone_path: "isa_ibm_speech.zip" required: false category: bios_zip systems: @@ -20831,6 +21676,7 @@ files: sha1: "0cb41d490db2ed59989d2eae14a002ad0382e7ad" - name: isa_pcmidi.zip + standalone_path: "isa_pcmidi.zip" required: false category: bios_zip systems: @@ -20848,6 +21694,7 @@ files: sha1: "9446c4939de557f839a74ca6fe7f41df46752e25" - name: isa_prose4001.zip + standalone_path: "isa_prose4001.zip" required: false category: bios_zip systems: @@ -20873,6 +21720,7 @@ files: sha1: "5c8709c82dadaea7012859c20141ef8f59d5e473" - name: isbc202.zip + standalone_path: "isbc202.zip" required: false category: bios_zip system: arcade @@ -20899,6 +21747,7 @@ files: sha1: "fc3b7f9c3e71ea1442827c51247a9944c6d40b37" - name: isbc8024.zip + standalone_path: "isbc8024.zip" required: false category: bios_zip system: arcade @@ -20919,6 +21768,7 @@ files: sha1: "565ab4740d3151eb4d8ef9ff3e02570cf7804be1" - name: isbc_215g.zip + standalone_path: "isbc_215g.zip" required: false category: bios_zip system: arcade @@ -20937,6 +21787,7 @@ files: sha1: "295dd4e75f699aaf93227cc4876cee8accae383a" - name: ivelultrkb.zip + standalone_path: "ivelultrkb.zip" required: false category: bios_zip system: arcade @@ -20951,6 +21802,7 @@ files: sha1: "676b6e775d5159049cae5b6143398ec7b2bf437a" - name: jaleco_vj_pc.zip + standalone_path: "jaleco_vj_pc.zip" required: false category: bios_zip system: arcade @@ -20966,6 +21818,7 @@ files: bad_dump: true - name: jc1310.zip + standalone_path: "jc1310.zip" required: false category: bios_zip systems: @@ -20983,6 +21836,7 @@ files: sha1: "5a32d2001bb1a489657f9488136b5d621f803703" - name: jvs13551.zip + standalone_path: "jvs13551.zip" required: false category: bios_zip systems: @@ -21018,6 +21872,7 @@ files: sha1: "8c4dc85438298e31e25f69542804a78ff0e20962" - name: k573_dio.zip + standalone_path: "k573_dio.zip" required: false category: bios_zip system: namco-system573 @@ -21032,6 +21887,7 @@ files: sha1: "2b108a56653f91cb3351718c45dfcf979bc35ef1" - name: k573kara.zip + standalone_path: "k573kara.zip" required: false category: bios_zip system: namco-system573 @@ -21046,6 +21902,7 @@ files: sha1: "2b108a56653f91cb3351718c45dfcf979bc35ef1" - name: k573mcr.zip + standalone_path: "k573mcr.zip" required: false category: bios_zip system: namco-system573 @@ -21060,6 +21917,7 @@ files: sha1: "927f62f63b5caa7899392decacd12fea0e6fdbea" - name: k573msu.zip + standalone_path: "k573msu.zip" required: false category: bios_zip system: namco-system573 @@ -21078,6 +21936,7 @@ files: sha1: "71b87c8b25b9613b4d4511c53d0a3a3aacf1499d" - name: k7659_keyboard.zip + standalone_path: "k7659_keyboard.zip" required: false category: bios_zip system: arcade @@ -21091,6 +21950,7 @@ files: sha1: "b97e7df93778fa371b96b6f4fb1a5b1c8b89d7ba" - name: kaypro10kbd.zip + standalone_path: "kaypro10kbd.zip" required: false category: bios_zip system: arcade @@ -21104,6 +21964,7 @@ files: sha1: "aa7cd3f476466203294675d56098dff45952b9b0" - name: kayproiikbd.zip + standalone_path: "kayproiikbd.zip" required: false category: bios_zip system: arcade @@ -21117,6 +21978,7 @@ files: sha1: "7919385fe8badbb610b793a3f5e4077982094aaa" - name: kb_3270pc.zip + standalone_path: "kb_3270pc.zip" required: false category: bios_zip system: arcade @@ -21131,6 +21993,7 @@ files: sha1: "a3701e4617383a4de0fd5e2e86c4b74beaf94a7b" - name: kb_ec1841.zip + standalone_path: "kb_ec1841.zip" required: false category: bios_zip system: arcade @@ -21144,6 +22007,7 @@ files: sha1: "1db430c72c2d007ea0b8ae2514ff15c96baba308" - name: kb_iskr1030.zip + standalone_path: "kb_iskr1030.zip" required: false category: bios_zip system: arcade @@ -21158,6 +22022,7 @@ files: sha1: "03959d3350e012ebfe61cee9c062b6c1fdd8766e" - name: kb_ms_natural.zip + standalone_path: "kb_ms_natural.zip" required: false category: bios_zip system: arcade @@ -21172,6 +22037,7 @@ files: sha1: "72134882a5c03e785db07cc54dfb7572c0a730d9" - name: kb_pcat101.zip + standalone_path: "kb_pcat101.zip" required: false category: bios_zip system: arcade @@ -21186,6 +22052,7 @@ files: sha1: "ac739dc0408ea0b3be60f85b7a2eb822753a054c" - name: kb_pcat84.zip + standalone_path: "kb_pcat84.zip" required: false category: bios_zip system: arcade @@ -21199,6 +22066,7 @@ files: sha1: "5f722bdb3b57f5a532c02a5c3f78f30d785796f2" - name: kb_pcxt83.zip + standalone_path: "kb_pcxt83.zip" required: false category: bios_zip system: arcade @@ -21212,6 +22080,7 @@ files: sha1: "4f5b2a075c68f6493310ec1e2a24271ceea330df" - name: kbd_lle_en_us.zip + standalone_path: "kbd_lle_en_us.zip" required: false category: bios_zip system: arcade @@ -21230,6 +22099,7 @@ files: sha1: "4de550ff1eec7996c7f26e92c5d268aa24024a7f" - name: kc_d004.zip + standalone_path: "kc_d004.zip" required: false category: bios_zip system: arcade @@ -21244,6 +22114,7 @@ files: sha1: "66f476de78fb474d9ac61c6eaffce3354fd66776" - name: kc_d004_gide.zip + standalone_path: "kc_d004_gide.zip" required: false category: bios_zip system: arcade @@ -21279,6 +22150,7 @@ files: sha1: "8232adb5e5f0b25b52f9873cff14831da3a0398a" - name: keytronic_l2207.zip + standalone_path: "keytronic_l2207.zip" required: false category: bios_zip system: arcade @@ -21299,6 +22171,7 @@ files: sha1: "a1c9c505eb3ccf132307b2ac0e04b0326f50621e" - name: keytronic_pc3270.zip + standalone_path: "keytronic_pc3270.zip" required: false category: bios_zip system: arcade @@ -21312,6 +22185,7 @@ files: sha1: "b75b6d4509036406052157bc34159f7039cdc72e" - name: keytronic_pc3270_at.zip + standalone_path: "keytronic_pc3270_at.zip" required: false category: bios_zip system: arcade @@ -21325,6 +22199,7 @@ files: sha1: "b75b6d4509036406052157bc34159f7039cdc72e" - name: km035.zip + standalone_path: "km035.zip" required: false category: bios_zip system: arcade @@ -21338,6 +22213,7 @@ files: sha1: "cfbf54f7e831b3fc0b8502a5eeb03b8618bb32b0" - name: ks0066.zip + standalone_path: "ks0066.zip" required: false category: bios_zip system: arcade @@ -21359,6 +22235,7 @@ files: bad_dump: true - name: labtam_3232.zip + standalone_path: "labtam_3232.zip" required: false category: bios_zip system: arcade @@ -21408,6 +22285,7 @@ files: sha1: "032df47e1ba34653b5837f68eefa3ecaac17a483" - name: labtam_8086cpu.zip + standalone_path: "labtam_8086cpu.zip" required: false category: bios_zip system: arcade @@ -21427,6 +22305,7 @@ files: sha1: "c575d5d53f2fe99569af002c636754dedca09e3b" - name: labtam_vducom.zip + standalone_path: "labtam_vducom.zip" required: false category: bios_zip system: arcade @@ -21477,6 +22356,7 @@ files: sha1: "61503b5109183a5814be3fcaa393fde8f5bd5359" - name: labtam_z80sbc.zip + standalone_path: "labtam_z80sbc.zip" required: false category: bios_zip system: arcade @@ -21506,6 +22386,7 @@ files: sha1: "5bd6f3dd1c1f6f3e07706293bfc46a9bfc43d1f2" - name: lba_enhancer.zip + standalone_path: "lba_enhancer.zip" required: false category: bios_zip systems: @@ -21523,6 +22404,7 @@ files: sha1: "d275193a870250f212dc29768d4e68fb43770e95" - name: lc7985.zip + standalone_path: "lc7985.zip" required: false category: bios_zip system: arcade @@ -21538,6 +22420,7 @@ files: bad_dump: true - name: ldv1000.zip + standalone_path: "ldv1000.zip" required: false category: bios_zip system: arcade @@ -21551,6 +22434,7 @@ files: sha1: "52f91c304a878ba02b2fa1cda1a9489d6dd5a34f" - name: lha201.zip + standalone_path: "lha201.zip" required: false category: bios_zip system: arcade @@ -21565,6 +22449,7 @@ files: sha1: "4316fd50ce03d1b8f522327c8caa79edc88ac55a" - name: lisa2fdc.zip + standalone_path: "lisa2fdc.zip" required: false category: bios_zip system: arcade @@ -21583,6 +22468,7 @@ files: sha1: "f3164923330a51366a06d9d8a4a01ec7b0d3a8aa" - name: lisafdc.zip + standalone_path: "lisafdc.zip" required: false category: bios_zip system: arcade @@ -21601,6 +22487,7 @@ files: sha1: "872211d21386cd9625b3735d7682e2b2ecff05b4" - name: lisavideo.zip + standalone_path: "lisavideo.zip" required: false category: bios_zip system: arcade @@ -21614,6 +22501,7 @@ files: sha1: "3b0023bd90f2ca1be0b099160a566b044856885d" - name: lk201.zip + standalone_path: "lk201.zip" required: false category: bios_zip system: arcade @@ -21631,6 +22519,7 @@ files: sha1: "9744c561d76fe85afaccc7a2485ce2865236873a" - name: lm24014h.zip + standalone_path: "lm24014h.zip" required: false category: bios_zip system: arcade @@ -21645,6 +22534,7 @@ files: sha1: "4680d3ae99102369b4145604ee7c25fa83760784" - name: lrk331.zip + standalone_path: "lrk331.zip" required: false category: bios_zip systems: @@ -21666,6 +22556,7 @@ files: sha1: "1a33462a29b306b01960cf2ac0b209b2adf58dbe" - name: luna_68k_cmc.zip + standalone_path: "luna_68k_cmc.zip" required: false category: bios_zip system: arcade @@ -21680,6 +22571,7 @@ files: sha1: "22290850761ed3dddb2369e062012679e2963fa3" - name: luna_68k_gpu.zip + standalone_path: "luna_68k_gpu.zip" required: false category: bios_zip system: arcade @@ -21698,6 +22590,7 @@ files: sha1: "4a87417d9bf801e797bf504d18a6c6b5d3911706" - name: luna_68k_ioc.zip + standalone_path: "luna_68k_ioc.zip" required: false category: bios_zip system: arcade @@ -21716,6 +22609,7 @@ files: sha1: "881623c3a64260f5cc1be066dbb47799d1f2ce14" - name: lux10828.zip + standalone_path: "lux10828.zip" required: false category: bios_zip system: arcade @@ -21755,6 +22649,7 @@ files: sha1: "04973ad69de8da403739caaebe0b0f6757e4a6b1" - name: lux21046.zip + standalone_path: "lux21046.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/abcbus/lux21046.cpp:112-128" @@ -21788,6 +22683,7 @@ files: sha1: "61ad271de53152c1640c0b364fce46d1b0b4c7e2" - name: lux21056.zip + standalone_path: "lux21056.zip" required: false category: bios_zip system: arcade @@ -21817,6 +22713,7 @@ files: sha1: "342b8e214a8c4c2b014604e53c45ef1bd1c69ea3" - name: lx800.zip + standalone_path: "lx800.zip" required: false category: bios_zip systems: @@ -21849,6 +22746,7 @@ files: sha1: "9618c940dd10d5b43cd1edd5763b90e6447de667" - name: lx810l.zip + standalone_path: "lx810l.zip" required: false category: bios_zip systems: @@ -21881,6 +22779,7 @@ files: sha1: "8e6f2f98abcbd8af6e34b9ba746edf0d18aef843" - name: m1comm.zip + standalone_path: "m1comm.zip" required: false category: bios_zip system: arcade @@ -21901,6 +22800,7 @@ files: sha1: "0cd0983cc8b2f2d6b41617d0d0a24cc6c188e62a" - name: m20_8086.zip + standalone_path: "m20_8086.zip" required: false category: bios_zip system: arcade @@ -21915,6 +22815,7 @@ files: sha1: "2bb424afd874cc6562e9642780eaac2391308053" - name: m24_kbd.zip + standalone_path: "m24_kbd.zip" required: false category: bios_zip system: arcade @@ -21929,6 +22830,7 @@ files: sha1: "b5076d40c255e17dc93478e2254ea19aff4918b3" - name: m24_z8000.zip + standalone_path: "m24_z8000.zip" required: false category: bios_zip system: arcade @@ -21943,6 +22845,7 @@ files: sha1: "ff048cf61b090b147be7e29a929a0be7b3ac8409" - name: m50458.zip + standalone_path: "m50458.zip" required: false category: bios_zip system: nintendo-nss @@ -21963,6 +22866,7 @@ files: bad_dump: true - name: m50dass.zip + standalone_path: "m50dass.zip" required: false category: bios_zip system: arcade @@ -21976,6 +22880,7 @@ files: sha1: "f6aa309bc8be15c26d91f3cf048ea140a9ca12eb" - name: m68705p3.zip + standalone_path: "m68705p3.zip" required: false category: bios_zip systems: @@ -21992,6 +22897,7 @@ files: sha1: "45104fe1dbd683d251ed2b9411b1f4befbb5aff4" - name: m68705p5.zip + standalone_path: "m68705p5.zip" required: false category: bios_zip system: arcade @@ -22005,6 +22911,7 @@ files: sha1: "c154f78c23f10bb903a531cb19e99121d5f7c19c" - name: m68705r3.zip + standalone_path: "m68705r3.zip" required: false category: bios_zip system: arcade @@ -22018,6 +22925,7 @@ files: sha1: "834ea00aef5de12dbcd6421a6e21d5ea96cfbf37" - name: m68705u3.zip + standalone_path: "m68705u3.zip" required: false category: bios_zip system: arcade @@ -22031,6 +22939,7 @@ files: sha1: "834ea00aef5de12dbcd6421a6e21d5ea96cfbf37" - name: m68hc05pge.zip + standalone_path: "m68hc05pge.zip" required: false category: bios_zip system: arcade @@ -22045,6 +22954,7 @@ files: sha1: "79dc721651bf47aec53f57885779c84c4781761d" - name: mach64isa.zip + standalone_path: "mach64isa.zip" required: false category: bios_zip systems: @@ -22082,6 +22992,7 @@ files: sha1: "0f4cf9221179c675dafafde638bc00244b6feb63" - name: mackbd_m0110a_f.zip + standalone_path: "mackbd_m0110a_f.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -22096,6 +23007,7 @@ files: sha1: "a80404a122d74721cda13b285c412057c2c78bd7" - name: mackbd_m0110a_j.zip + standalone_path: "mackbd_m0110a_j.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -22110,6 +23022,7 @@ files: sha1: "a80404a122d74721cda13b285c412057c2c78bd7" - name: mackbd_m0110b.zip + standalone_path: "mackbd_m0110b.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -22124,6 +23037,7 @@ files: sha1: "32a3b58afb445a8675b12a4de3aec2fa00c99222" - name: mackbd_m0110f.zip + standalone_path: "mackbd_m0110f.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -22138,6 +23052,7 @@ files: sha1: "32a3b58afb445a8675b12a4de3aec2fa00c99222" - name: mackbd_m0110j.zip + standalone_path: "mackbd_m0110j.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -22152,6 +23067,7 @@ files: sha1: "32a3b58afb445a8675b12a4de3aec2fa00c99222" - name: mackbd_m0110t.zip + standalone_path: "mackbd_m0110t.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -22166,6 +23082,7 @@ files: sha1: "32a3b58afb445a8675b12a4de3aec2fa00c99222" - name: mackbd_m0120p.zip + standalone_path: "mackbd_m0120p.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -22180,6 +23097,7 @@ files: sha1: "32a3b58afb445a8675b12a4de3aec2fa00c99222" - name: macxlfdc.zip + standalone_path: "macxlfdc.zip" required: false category: bios_zip system: arcade @@ -22200,6 +23118,7 @@ files: sha1: "aa446b0c4acb4cb6c9d0adfbbea900fb8c04c1e9" - name: macxlvideo.zip + standalone_path: "macxlvideo.zip" required: false category: bios_zip system: arcade @@ -22214,6 +23133,7 @@ files: sha1: "ec2533a6bd9e75d02fa69754fb82c7c28f0366ab" - name: mc1502_rom.zip + standalone_path: "mc1502_rom.zip" required: false category: bios_zip system: arcade @@ -22227,6 +23147,7 @@ files: sha1: "003f872e12f00800e22ab6bbc009d36bfde67b9d" - name: mc_mk4_hopper.zip + standalone_path: "mc_mk4_hopper.zip" required: false category: bios_zip system: arcade @@ -22241,6 +23162,7 @@ files: sha1: "70ed27a9df57bc2bf9b6cd94ca86469fe6f9d5b4" - name: mcx128.zip + standalone_path: "mcx128.zip" required: false category: bios_zip system: mc10 @@ -22261,6 +23183,7 @@ files: sha1: "c8fd92705fc42deb6a0ffac6274e27fd61ecd4cc" - name: md_kbd.zip + standalone_path: "md_kbd.zip" required: false category: bios_zip system: arcade @@ -22275,6 +23198,7 @@ files: sha1: "20cf62fc31257b6c3e767152086f2604fead97bd" - name: md_rom_svp.zip + standalone_path: "md_rom_svp.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/megadrive/svp.cpp:75-78" @@ -22287,6 +23211,7 @@ files: sha1: "0b951ea9c6094b3c34e4f0b64d031c75c237564f" - name: mdisplay3.zip + standalone_path: "mdisplay3.zip" required: false category: bios_zip system: arcade @@ -22301,6 +23226,7 @@ files: sha1: "88f06ec8f403eaaf7cbce4cc84807b5742ce7108" - name: mg1_kbd_device.zip + standalone_path: "mg1_kbd_device.zip" required: false category: bios_zip system: arcade @@ -22314,6 +23240,7 @@ files: sha1: "c6e90b10241fa61e12124ef9a5cea15212d5866c" - name: mga2064w.zip + standalone_path: "mga2064w.zip" required: false category: bios_zip systems: @@ -22351,6 +23278,7 @@ files: sha1: "d62d6a57c75f2266e3d0f85916f366d62ad56ce4" - name: microtan_kbd_mt009.zip + standalone_path: "microtan_kbd_mt009.zip" required: false category: bios_zip system: arcade @@ -22365,6 +23293,7 @@ files: sha1: "89dcc0712745ed9ba876a78eefd55e9a54fc4fad" - name: microtouch.zip + standalone_path: "microtouch.zip" required: false category: bios_zip systems: @@ -22393,6 +23322,7 @@ files: sha1: "5a60d7d1f8a0b3898aabcabe43dc51e9f90306f7" - name: midcsd.zip + standalone_path: "midcsd.zip" required: false category: bios_zip system: arcade @@ -22407,6 +23337,7 @@ files: sha1: "360f3f59877f0bc25b4154782a2011963dd80a52" - name: midssio.zip + standalone_path: "midssio.zip" required: false category: bios_zip system: arcade @@ -22421,6 +23352,7 @@ files: sha1: "9ac9b01d24affc0ee9227a4364c4fd8f8290343a" - name: mie.zip + standalone_path: "mie.zip" required: false category: bios_zip systems: @@ -22438,6 +23370,7 @@ files: sha1: "864d14d58732dd4e2ee538ccc71fa8df7013ba06" - name: mindset_sound_module.zip + standalone_path: "mindset_sound_module.zip" required: false category: bios_zip system: arcade @@ -22452,6 +23385,7 @@ files: sha1: "30cdc0dedaa5246f4952df452a99ca22e3cd0636" - name: minichif.zip + standalone_path: "minichif.zip" required: false category: bios_zip system: arcade @@ -22466,6 +23400,7 @@ files: sha1: "c1296995238ef23f18e7fec70a144a0566a25a27" - name: mks3.zip + standalone_path: "mks3.zip" required: false category: bios_zip system: arcade @@ -22480,6 +23415,7 @@ files: sha1: "fee3628ac49556a60a597ee6ea71fb48646c6229" - name: mm1kb.zip + standalone_path: "mm1kb.zip" required: false category: bios_zip system: arcade @@ -22494,6 +23430,7 @@ files: sha1: "925c9ee22db13566416cdbc505c03d4116ff8d5f" - name: mm5740.zip + standalone_path: "mm5740.zip" required: false category: bios_zip systems: @@ -22529,6 +23466,7 @@ files: sha1: "e7b9feba5f789f388d27820b5f3fa591d41b4ab1" - name: mockingboardd.zip + standalone_path: "mockingboardd.zip" required: false category: bios_zip systems: @@ -22564,6 +23502,7 @@ files: sha1: "e8d20f4b59fe867ff76434d35a14d2cbdc8533e3" - name: model1io.zip + standalone_path: "model1io.zip" required: false category: bios_zip system: arcade @@ -22589,6 +23528,7 @@ files: sha1: "c19d044d4c2fe551474492aa51922587394dd371" - name: model1io2.zip + standalone_path: "model1io2.zip" required: false category: bios_zip system: arcade @@ -22614,6 +23554,7 @@ files: sha1: "81892251d466f630a96af25bde652c20e47d7ede" - name: mpcb828.zip + standalone_path: "mpcb828.zip" required: false category: bios_zip system: arcade @@ -22628,6 +23569,7 @@ files: sha1: "5378e33ef62309bc0c8cbe9ccbd87fd871bdc195" - name: mpcb896.zip + standalone_path: "mpcb896.zip" required: false category: bios_zip system: arcade @@ -22642,6 +23584,7 @@ files: sha1: "550aab8b0c8d85c9a69fe94ae042b6bb9f9d7db1" - name: mpcb963.zip + standalone_path: "mpcb963.zip" required: false category: bios_zip system: arcade @@ -22656,6 +23599,7 @@ files: sha1: "58bcc2afb66168f1d44a0366b6a5ccc4c22e0f32" - name: mpcba79.zip + standalone_path: "mpcba79.zip" required: false category: bios_zip system: arcade @@ -22670,6 +23614,7 @@ files: sha1: "a35f7117cb657122dedd71864e58d8c08ca12190" - name: mpcbb68.zip + standalone_path: "mpcbb68.zip" required: false category: bios_zip system: arcade @@ -22684,6 +23629,7 @@ files: sha1: "5c286e87f051c6bd38137f47f89975f507b11b12" - name: mpcbb92.zip + standalone_path: "mpcbb92.zip" required: false category: bios_zip system: arcade @@ -22698,6 +23644,7 @@ files: sha1: "9ddc6cccc80fee2a5ac77307b33a70b074b8c7d6" - name: mpf1_epb.zip + standalone_path: "mpf1_epb.zip" required: false category: bios_zip system: arcade @@ -22712,6 +23659,7 @@ files: sha1: "489e597c12a14a1cf9568d18b299e4f4ae656f71" - name: mpf1_epb_ibp.zip + standalone_path: "mpf1_epb_ibp.zip" required: false category: bios_zip system: arcade @@ -22726,6 +23674,7 @@ files: sha1: "296842ee5bac23f41f46534663d4f0bfc04075cf" - name: mpf1_iom_ip.zip + standalone_path: "mpf1_iom_ip.zip" required: false category: bios_zip system: arcade @@ -22740,6 +23689,7 @@ files: sha1: "2c3c26290e041e913d00d7e0d65d53480e27187c" - name: mpf1_prt.zip + standalone_path: "mpf1_prt.zip" required: false category: bios_zip system: arcade @@ -22754,6 +23704,7 @@ files: sha1: "f31536ee9dbb9babb9ce16a7490db654ca0b5749" - name: mpf1_prt_ip.zip + standalone_path: "mpf1_prt_ip.zip" required: false category: bios_zip system: arcade @@ -22768,6 +23719,7 @@ files: sha1: "6a3e7daa7834d67fd572261ed4a9a62c4594fe3f" - name: mpf1_sgb.zip + standalone_path: "mpf1_sgb.zip" required: false category: bios_zip system: arcade @@ -22782,6 +23734,7 @@ files: sha1: "13f3c7243d691b66ad5f0dcbbc16488c8905a394" - name: mpf1_ssb.zip + standalone_path: "mpf1_ssb.zip" required: false category: bios_zip system: arcade @@ -22796,6 +23749,7 @@ files: sha1: "35847f8164eed4c0794a8b74e5d7fa972b10eb90" - name: mpf1_ssb_ip.zip + standalone_path: "mpf1_ssb_ip.zip" required: false category: bios_zip system: arcade @@ -22810,6 +23764,7 @@ files: sha1: "42a1ce714fe9017cc9c2838757bf072414c752d0" - name: mpf1_tva_ip.zip + standalone_path: "mpf1_tva_ip.zip" required: false category: bios_zip system: arcade @@ -22824,6 +23779,7 @@ files: sha1: "3a5b0dba5d1e2edda8563b55010c86efd1548d0b" - name: mpf1_vid.zip + standalone_path: "mpf1_vid.zip" required: false category: bios_zip system: arcade @@ -22843,6 +23799,7 @@ files: sha1: "9cf717de353b86c38f94b805d31a16d8079896af" - name: mps1200.zip + standalone_path: "mps1200.zip" required: false category: bios_zip system: arcade @@ -22857,6 +23814,7 @@ files: sha1: "0ceb753c17599bc69458cfbb1cb3e81c2b60d107" - name: mps1250.zip + standalone_path: "mps1250.zip" required: false category: bios_zip system: arcade @@ -22871,6 +23829,7 @@ files: sha1: "bb7357e83497b333e3f95548d94970003b2dfa9d" - name: mpu401.zip + standalone_path: "mpu401.zip" required: false category: bios_zip systems: @@ -22888,6 +23847,7 @@ files: sha1: "00efbfb96aeb997b69bb16981c6751d3c784bb87" - name: mr9735_002.zip + standalone_path: "mr9735_002.zip" required: false category: bios_zip system: arcade @@ -22903,6 +23863,7 @@ files: bad_dump: true - name: ms7004.zip + standalone_path: "ms7004.zip" required: false category: bios_zip system: arcade @@ -22916,6 +23877,7 @@ files: sha1: "2d7cc7cd182f2ee09ecf2c539e33db3c2195f778" - name: msdsd1.zip + standalone_path: "msdsd1.zip" required: false category: bios_zip system: arcade @@ -22934,6 +23896,7 @@ files: sha1: "99dd15c6d97938eba73880b18986a037e90742ab" - name: msdsd2.zip + standalone_path: "msdsd2.zip" required: false category: bios_zip system: arcade @@ -22952,6 +23915,7 @@ files: sha1: "4beec0b7ce2349add3b0a5bceee60826637df8d9" - name: msm6222b01.zip + standalone_path: "msm6222b01.zip" required: false category: bios_zip system: arcade @@ -22966,6 +23930,7 @@ files: sha1: "e108b520e6d20459a7bbd5958bbfa1d551a690bd" - name: msmt070.zip + standalone_path: "msmt070.zip" required: false category: bios_zip system: arcade @@ -22980,6 +23945,7 @@ files: sha1: "25bfb863336315975568f137e7e76bdc8101ab02" - name: msmt071.zip + standalone_path: "msmt071.zip" required: false category: bios_zip system: arcade @@ -22994,6 +23960,7 @@ files: sha1: "49bd1890cc71dd8a7cbf5e17bf04843d6e075299" - name: msmt081.zip + standalone_path: "msmt081.zip" required: false category: bios_zip system: arcade @@ -23008,6 +23975,7 @@ files: sha1: "a5da37c3d9e040fc6d9ca99b82a25ed3ce4c57ff" - name: msmt094.zip + standalone_path: "msmt094.zip" required: false category: bios_zip system: arcade @@ -23050,6 +24018,7 @@ files: sha1: "a33cd5c0f3e45fdd7e22df2ff1648f4d73b09b19" - name: msx_cart_bm_012.zip + standalone_path: "msx_cart_bm_012.zip" required: false category: bios_zip system: arcade @@ -23064,6 +24033,7 @@ files: sha1: "6d07637ad3a61b509221ed4650eed18442371010" - name: msx_cart_easispeech.zip + standalone_path: "msx_cart_easispeech.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/msx/cart/easi_speech.cpp:48-51" @@ -23077,6 +24047,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: msx_cart_sfg01.zip + standalone_path: "msx_cart_sfg01.zip" required: false category: bios_zip system: arcade @@ -23091,6 +24062,7 @@ files: sha1: "434651305f92aa770a89e40b81125fb22d91603d" - name: msx_cart_sfg05.zip + standalone_path: "msx_cart_sfg05.zip" required: false category: bios_zip system: arcade @@ -23117,6 +24089,7 @@ files: bad_dump: true - name: msx_cart_skw01.zip + standalone_path: "msx_cart_skw01.zip" required: false category: bios_zip system: arcade @@ -23138,6 +24111,7 @@ files: sha1: "f0901a63de6c95a42ce6ad82dd5e6bfba4bcf180" - name: msx_cart_sunrise_ataide.zip + standalone_path: "msx_cart_sunrise_ataide.zip" required: false category: bios_zip system: arcade @@ -23178,6 +24152,7 @@ files: sha1: "cbeb5830ee740747aa61ef5b896e2eb6d7acd7ab" - name: msx_moonsound.zip + standalone_path: "msx_moonsound.zip" required: false category: bios_zip system: arcade @@ -23192,6 +24167,7 @@ files: sha1: "32760893ce06dbe3930627755ba065cc3d8ec6ca" - name: mtx_cfx.zip + standalone_path: "mtx_cfx.zip" required: false category: bios_zip system: arcade @@ -23231,6 +24207,7 @@ files: sha1: "3e8dcc3d88158e0dc30d7d9ecec7e427883f7171" - name: mtx_sdxbas.zip + standalone_path: "mtx_sdxbas.zip" required: false category: bios_zip system: arcade @@ -23251,6 +24228,7 @@ files: sha1: "f08e6a8cffbb3ca39633be6e9958bec85d1e5981" - name: mtx_sdxcpm.zip + standalone_path: "mtx_sdxcpm.zip" required: false category: bios_zip system: arcade @@ -23270,6 +24248,7 @@ files: sha1: "f84883f79bed34501e5828336894fad929bddbb5" - name: mu5lcd.zip + standalone_path: "mu5lcd.zip" required: false category: bios_zip system: arcade @@ -23284,6 +24263,7 @@ files: sha1: "3db0b16f27b501ff8d8ac3fb631dd315571230d3" - name: mulcd.zip + standalone_path: "mulcd.zip" required: false category: bios_zip system: arcade @@ -23302,6 +24282,7 @@ files: sha1: "2ff0899bfee7795ba52a3d56c96edf31d9e6a3f9" - name: mvme120.zip + standalone_path: "mvme120.zip" required: false category: bios_zip system: arcade @@ -23331,6 +24312,7 @@ files: sha1: "2f933d0eb46d00db0051ce23c3e53ccef75a2c69" - name: mvme121.zip + standalone_path: "mvme121.zip" required: false category: bios_zip system: arcade @@ -23360,6 +24342,7 @@ files: sha1: "2f933d0eb46d00db0051ce23c3e53ccef75a2c69" - name: mvme122.zip + standalone_path: "mvme122.zip" required: false category: bios_zip system: arcade @@ -23389,6 +24372,7 @@ files: sha1: "2f933d0eb46d00db0051ce23c3e53ccef75a2c69" - name: mvme123.zip + standalone_path: "mvme123.zip" required: false category: bios_zip system: arcade @@ -23418,6 +24402,7 @@ files: sha1: "2f933d0eb46d00db0051ce23c3e53ccef75a2c69" - name: mvme147.zip + standalone_path: "mvme147.zip" required: false category: bios_zip system: arcade @@ -23447,6 +24432,7 @@ files: sha1: "ff9db90a05c295819ce7ca7c1a6ac67b04003728" - name: mvme180.zip + standalone_path: "mvme180.zip" required: false category: bios_zip system: arcade @@ -23476,6 +24462,7 @@ files: sha1: "0105317abf0105216078c94c02c223dd1cd61068" - name: mvme181.zip + standalone_path: "mvme181.zip" required: false category: bios_zip system: arcade @@ -23505,6 +24492,7 @@ files: sha1: "5871b5194e7fc623923f5df005b0463002e85626" - name: mvme187.zip + standalone_path: "mvme187.zip" required: false category: bios_zip system: arcade @@ -23524,6 +24512,7 @@ files: sha1: "62515c6e0dbeca6d18f373ad33e185096f10d2fc" - name: mvme327a.zip + standalone_path: "mvme327a.zip" required: false category: bios_zip system: arcade @@ -23543,6 +24532,7 @@ files: sha1: "ec5fc0709d8e91119d39231ace66f4fcbdb457e9" - name: mvme328.zip + standalone_path: "mvme328.zip" required: false category: bios_zip system: arcade @@ -23572,6 +24562,7 @@ files: sha1: "0a39873b5a17f71db86afcd361141e5b9f6786e9" - name: mvme350.zip + standalone_path: "mvme350.zip" required: false category: bios_zip system: arcade @@ -23589,6 +24580,7 @@ files: sha1: "d0929dbfeb0cfda63df6b5bc29ee27fbf665def7" - name: mz1e30.zip + standalone_path: "mz1e30.zip" required: false category: bios_zip system: arcade @@ -23609,6 +24601,7 @@ files: sha1: "8b4f722e9a61c3e6aacebcda03c67253b8d9f468" - name: mz1p16.zip + standalone_path: "mz1p16.zip" required: false category: bios_zip systems: @@ -23642,6 +24635,7 @@ files: sha1: "2e059c2f7d653294c77fe8e1a37436b4c028e122" - name: mzr8105.zip + standalone_path: "mzr8105.zip" required: false category: bios_zip system: arcade @@ -23659,6 +24653,7 @@ files: sha1: "a00b68f4d649bcc09a29361f8692e52be12b3792" - name: nabupc_keyboard.zip + standalone_path: "nabupc_keyboard.zip" required: false category: bios_zip system: arcade @@ -23672,6 +24667,7 @@ files: sha1: "2f6ff63ca2f2ac90f3e03ef4f2b79883205e8a4e" - name: namco50.zip + standalone_path: "namco50.zip" required: false category: bios_zip system: arcade @@ -23685,6 +24681,7 @@ files: sha1: "f03c79451e73b3a93c1591cdb27fedc9f130508d" - name: namco51.zip + standalone_path: "namco51.zip" required: false category: bios_zip system: arcade @@ -23698,6 +24695,7 @@ files: sha1: "50de79e0d6a76bda95ffb02fcce369a79e6abfec" - name: namco52.zip + standalone_path: "namco52.zip" required: false category: bios_zip system: arcade @@ -23711,6 +24709,7 @@ files: sha1: "4883b2fdbc99eb7b9906357fcc53915842c2c186" - name: namco53.zip + standalone_path: "namco53.zip" required: false category: bios_zip system: arcade @@ -23724,6 +24723,7 @@ files: sha1: "758d8583d658e4f1df93184009d86c3eb8713899" - name: namco54.zip + standalone_path: "namco54.zip" required: false category: bios_zip system: arcade @@ -23737,6 +24737,7 @@ files: sha1: "01bdf984a49e8d0cc8761b2cc162fd6434d5afbe" - name: namco62.zip + standalone_path: "namco62.zip" required: false category: bios_zip system: arcade @@ -23750,6 +24751,7 @@ files: sha1: "fe0a60fc339ac2eeed4879a64c1aab130f9d4cfe" - name: namco_amc.zip + standalone_path: "namco_amc.zip" required: false category: bios_zip system: arcade @@ -23764,6 +24766,7 @@ files: sha1: "803652b7b8fde2196b7fb742ba8b9843e4fcd2de" - name: namco_asca1.zip + standalone_path: "namco_asca1.zip" required: false category: bios_zip system: arcade @@ -23778,6 +24781,7 @@ files: sha1: "497af1059f85c07bea2dd0d303481623f6019dcf" - name: namco_asca3.zip + standalone_path: "namco_asca3.zip" required: false category: bios_zip system: arcade @@ -23792,6 +24796,7 @@ files: sha1: "9d7ebe274c0d26f5f38747224d42d0375e2ed14c" - name: namco_asca3a.zip + standalone_path: "namco_asca3a.zip" required: false category: bios_zip system: arcade @@ -23806,6 +24811,7 @@ files: sha1: "ffa8782ca641d71d57df23ed1c5911db05d3df97" - name: namco_asca5.zip + standalone_path: "namco_asca5.zip" required: false category: bios_zip system: arcade @@ -23820,6 +24826,7 @@ files: sha1: "320db5e78ae23c5f94e368432d51573b409995db" - name: namco_csz1.zip + standalone_path: "namco_csz1.zip" required: false category: bios_zip system: arcade @@ -23834,6 +24841,7 @@ files: sha1: "b5df211988d856572fcc313480e693c8561784e4" - name: namco_cyberlead.zip + standalone_path: "namco_cyberlead.zip" required: false category: bios_zip system: arcade @@ -23848,6 +24856,7 @@ files: sha1: "d938b1e1ae596d0ab1007352f61b0b800363c762" - name: namco_cyberlead_led.zip + standalone_path: "namco_cyberlead_led.zip" required: false category: bios_zip system: arcade @@ -23862,6 +24871,7 @@ files: sha1: "61d61338e1bb414af32dbdc1e24d54c02fb9196e" - name: namco_cyberleada.zip + standalone_path: "namco_cyberleada.zip" required: false category: bios_zip system: arcade @@ -23876,6 +24886,7 @@ files: sha1: "d938b1e1ae596d0ab1007352f61b0b800363c762" - name: namco_emio102.zip + standalone_path: "namco_emio102.zip" required: false category: bios_zip system: arcade @@ -23890,6 +24901,7 @@ files: sha1: "71d61d9218543e1b0b2a6c550a8ff2b7c6267257" - name: namco_fca10.zip + standalone_path: "namco_fca10.zip" required: false category: bios_zip system: arcade @@ -23904,6 +24916,7 @@ files: sha1: "9d7ebe274c0d26f5f38747224d42d0375e2ed14c" - name: namco_fca11.zip + standalone_path: "namco_fca11.zip" required: false category: bios_zip system: arcade @@ -23926,6 +24939,7 @@ files: sha1: "a1a487361053af564f6ec67e545413e370a3b38c" - name: namco_fcb.zip + standalone_path: "namco_fcb.zip" required: false category: bios_zip system: arcade @@ -23945,6 +24959,7 @@ files: sha1: "9d7ebe274c0d26f5f38747224d42d0375e2ed14c" - name: namco_tssio.zip + standalone_path: "namco_tssio.zip" required: false category: bios_zip system: arcade @@ -23959,6 +24974,7 @@ files: sha1: "1330189184a636328d956c0e435f8d9ad2e96a80" - name: namco_xmiu1.zip + standalone_path: "namco_xmiu1.zip" required: false category: bios_zip system: arcade @@ -23973,6 +24989,7 @@ files: sha1: "6fa5dc81d258137c1b1ad427d49d136d0bbf53fa" - name: namcoc65.zip + standalone_path: "namcoc65.zip" required: false category: bios_zip system: arcade @@ -23986,6 +25003,7 @@ files: sha1: "2c420d34dba21e409bf78ddca710fc7de65a6642" - name: namcoc67.zip + standalone_path: "namcoc67.zip" required: false category: bios_zip system: arcade @@ -24000,6 +25018,7 @@ files: sha1: "c9ec18d5f88d53976b94444eedc64d5568155958" - name: namcoc68.zip + standalone_path: "namcoc68.zip" required: false category: bios_zip system: arcade @@ -24013,6 +25032,7 @@ files: sha1: "38d1ad1b1287cadef0c999aff9357927315f8e6b" - name: namcoc69.zip + standalone_path: "namcoc69.zip" required: false category: bios_zip system: arcade @@ -24026,6 +25046,7 @@ files: sha1: "61a4981fc2716c228b6121fedcbf1ed6f34dc2de" - name: namcoc70.zip + standalone_path: "namcoc70.zip" required: false category: bios_zip system: arcade @@ -24039,6 +25060,7 @@ files: sha1: "7ce91eda76e86b5cab625e2b67c463b7d143832e" - name: namcoc71.zip + standalone_path: "namcoc71.zip" required: false category: bios_zip system: arcade @@ -24053,6 +25075,7 @@ files: sha1: "e363ac50f5556f83308d4cc191b455e9b62bcfc8" - name: namcoc74.zip + standalone_path: "namcoc74.zip" required: false category: bios_zip system: arcade @@ -24066,6 +25089,7 @@ files: sha1: "8f3248b1890abb2e649927240ae46f73bb171e3b" - name: namcoc75.zip + standalone_path: "namcoc75.zip" required: false category: bios_zip system: arcade @@ -24079,6 +25103,7 @@ files: sha1: "3103e5a0a2867620309fd4fe478a2be0effbeff8" - name: namcoc76.zip + standalone_path: "namcoc76.zip" required: false category: bios_zip system: arcade @@ -24092,6 +25117,7 @@ files: sha1: "ceb184ef0486caf715dd997101999785f67a40b8" - name: nanoreseau_mo.zip + standalone_path: "nanoreseau_mo.zip" required: false category: bios_zip system: arcade @@ -24106,6 +25132,7 @@ files: sha1: "b5b7cb6d12493d849330b6b5628efd1a83a4bbf5" - name: nanoreseau_to.zip + standalone_path: "nanoreseau_to.zip" required: false category: bios_zip system: arcade @@ -24120,6 +25147,7 @@ files: sha1: "973209f4baa5e81bf7885c0602949e064bac7862" - name: nb_aenet.zip + standalone_path: "nb_aenet.zip" required: false category: bios_zip systems: @@ -24136,6 +25164,7 @@ files: sha1: "01ddc15ee84b17128203cb812f29bac6b20fd642" - name: nb_amc3b.zip + standalone_path: "nb_amc3b.zip" required: false category: bios_zip systems: @@ -24152,6 +25181,7 @@ files: sha1: "d0a41df667e6b51fbc63f9251d593f4fc49104ba" - name: nb_btbug.zip + standalone_path: "nb_btbug.zip" required: false category: bios_zip systems: @@ -24174,6 +25204,7 @@ files: sha1: "c783d19a5e4c536e58e1e7e201ec47e8fb78d435" - name: nb_c264.zip + standalone_path: "nb_c264.zip" required: false category: bios_zip systems: @@ -24194,6 +25225,7 @@ files: sha1: "98d35ed3fb0bca4a9bee1cdb2af0d3f22b379386" - name: nb_laserview.zip + standalone_path: "nb_laserview.zip" required: false category: bios_zip systems: @@ -24210,6 +25242,7 @@ files: sha1: "fd505505226abb5fea7c10ed14e8841077ef1be6" - name: nb_m2hr.zip + standalone_path: "nb_m2hr.zip" required: false category: bios_zip systems: @@ -24226,6 +25259,7 @@ files: sha1: "37c59f38ae34021d0cb86c2e76a598b7e6077c0d" - name: nb_m2vc.zip + standalone_path: "nb_m2vc.zip" required: false category: bios_zip systems: @@ -24242,6 +25276,7 @@ files: sha1: "abe85d8a882bb2b8187a28bd6707fc2f5d77eedd" - name: nb_mdc48.zip + standalone_path: "nb_mdc48.zip" required: false category: bios_zip systems: @@ -24258,6 +25293,7 @@ files: sha1: "4ae21d6d7bbaa6fc7aa301bee2b791ed33b1dcf9" - name: nb_pcs8.zip + standalone_path: "nb_pcs8.zip" required: false category: bios_zip systems: @@ -24274,6 +25310,7 @@ files: sha1: "bd4ceb4b229c9ce3e8f5386d5132ff26de6067e1" - name: nb_qdlink.zip + standalone_path: "nb_qdlink.zip" required: false category: bios_zip systems: @@ -24290,6 +25327,7 @@ files: sha1: "d70bc32ad50ceb5cb75c6251293cacd65d8313aa" - name: nb_rtpd.zip + standalone_path: "nb_rtpd.zip" required: false category: bios_zip systems: @@ -24306,6 +25344,7 @@ files: sha1: "4abb64e49201e966c17a255a94b670564b229934" - name: nb_sp8s3.zip + standalone_path: "nb_sp8s3.zip" required: false category: bios_zip systems: @@ -24328,6 +25367,7 @@ files: sha1: "124c9847bf07733d131c977c4395cfbbb6470973" - name: nb_spdq.zip + standalone_path: "nb_spdq.zip" required: false category: bios_zip systems: @@ -24344,6 +25384,7 @@ files: sha1: "9511c2df47140f4279196d3b8836b53429879dd9" - name: nb_thungx.zip + standalone_path: "nb_thungx.zip" required: false category: bios_zip systems: @@ -24360,6 +25401,7 @@ files: sha1: "c5a1eab749b76aaf3e0ede2120fa99dd7f720196" - name: nb_thungx16.zip + standalone_path: "nb_thungx16.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/nubus/thunder4gx.cpp:894-897" @@ -24373,6 +25415,7 @@ files: sha1: "ea008fa93f56807f48d9535f70efebdf3def2609" - name: nb_vikbw.zip + standalone_path: "nb_vikbw.zip" required: false category: bios_zip systems: @@ -24389,6 +25432,7 @@ files: sha1: "d08349edfc82a0bd5ea848e053e1712092308f74" - name: nb_wkstn.zip + standalone_path: "nb_wkstn.zip" required: false category: bios_zip systems: @@ -24405,6 +25449,7 @@ files: sha1: "697412843cfd56be2b382f8952ef3f5a8323066a" - name: nb_wspt.zip + standalone_path: "nb_wspt.zip" required: false category: bios_zip systems: @@ -24421,6 +25466,7 @@ files: sha1: "ce2bf2374bb994c17962dba8f3d11bc1260e2644" - name: ncr53c825_pci.zip + standalone_path: "ncr53c825_pci.zip" required: false category: bios_zip systems: @@ -24438,6 +25484,7 @@ files: sha1: "ed22a726976fdc34db6176a1384609f93d50f27a" - name: neon250.zip + standalone_path: "neon250.zip" required: false category: bios_zip system: arcade @@ -24453,6 +25500,7 @@ files: sha1: "1ddda1494d5b32148e2c9e7a6557f00ee9cffea6" - name: nes_rob.zip + standalone_path: "nes_rob.zip" required: false category: bios_zip system: arcade @@ -24467,6 +25515,7 @@ files: sha1: "a87e2f0f5e454c093d1352ac368aa9e82e9f6790" - name: newbrain_eim.zip + standalone_path: "newbrain_eim.zip" required: false category: bios_zip system: arcade @@ -24492,6 +25541,7 @@ files: sha1: "f90db4f8318777313a862b3d5bab83c2fd260010" - name: newbrain_fdc.zip + standalone_path: "newbrain_fdc.zip" required: false category: bios_zip system: arcade @@ -24515,6 +25565,7 @@ files: sha1: "c2aa1d27d4f3a24ab0c8135df746a4a44201a7f4" - name: nlq401.zip + standalone_path: "nlq401.zip" required: false category: bios_zip systems: @@ -24548,6 +25599,7 @@ files: sha1: "b6374abaebb8e484e573caa21b1cc87f1554c8d6" - name: nmk004.zip + standalone_path: "nmk004.zip" required: false category: bios_zip system: arcade @@ -24561,6 +25613,7 @@ files: sha1: "f55f9e6bb55bfa56f9f797518dca032aaa3f6a32" - name: nokia_crtc186.zip + standalone_path: "nokia_crtc186.zip" required: false category: bios_zip system: arcade @@ -24583,6 +25636,7 @@ files: sha1: "9810732a52ee6b8313d27462b27acc7e4d5badeb" - name: novell_dcb.zip + standalone_path: "novell_dcb.zip" required: false category: bios_zip systems: @@ -24600,6 +25654,7 @@ files: sha1: "a13c0aab46084a0805256f1d2b8b8beaccc9e253" - name: np600a3.zip + standalone_path: "np600a3.zip" required: false category: bios_zip systems: @@ -24621,6 +25676,7 @@ files: sha1: "520773e235a826438b025381cd3861df86d4965d" - name: nss_tvinterface.zip + standalone_path: "nss_tvinterface.zip" required: false category: bios_zip systems: @@ -24666,6 +25722,7 @@ files: sha1: "b20d7856e4739bafcd66434adf9881824f8a611b" - name: omniwave.zip + standalone_path: "omniwave.zip" required: false category: bios_zip system: arcade @@ -24679,6 +25736,7 @@ files: sha1: "1e894c0345eaf0ea713f36a75b065f7ee419c63c" - name: omti8621isa.zip + standalone_path: "omti8621isa.zip" required: false category: bios_zip systems: @@ -24700,6 +25758,7 @@ files: sha1: "4f382dbb0ca4873c44afd48c5bffb50b9c89e7dc" - name: oric_jasmin.zip + standalone_path: "oric_jasmin.zip" required: false category: bios_zip system: arcade @@ -24714,6 +25773,7 @@ files: sha1: "70e59b8abd67092f050462abc6cb5271e4c15f01" - name: oric_microdisc.zip + standalone_path: "oric_microdisc.zip" required: false category: bios_zip system: arcade @@ -24728,6 +25788,7 @@ files: sha1: "0d2ef6e67322f48f4b7e08d8bbe68827e2074561" - name: osa_analyst.zip + standalone_path: "osa_analyst.zip" required: false category: bios_zip system: arcade @@ -24793,6 +25854,7 @@ files: sha1: "d336cb2096780b4d3bcceda0d2ed1246e780cd8d" - name: osa_bforce.zip + standalone_path: "osa_bforce.zip" required: false category: bios_zip system: arcade @@ -24807,6 +25869,7 @@ files: sha1: "7baa809ffc09117a27bdeede655f92bc3a6d1626" - name: osa_maestro.zip + standalone_path: "osa_maestro.zip" required: false category: bios_zip system: arcade @@ -24887,6 +25950,7 @@ files: sha1: "d336cb2096780b4d3bcceda0d2ed1246e780cd8d" - name: osa_maestroa.zip + standalone_path: "osa_maestroa.zip" required: false category: bios_zip system: arcade @@ -24907,6 +25971,7 @@ files: sha1: "ef81b9a0dcfbd8427025cfe9bf738d42a7a1139a" - name: osa_sparc.zip + standalone_path: "osa_sparc.zip" required: false category: bios_zip system: arcade @@ -24965,6 +26030,7 @@ files: sha1: "44b3394e0586c126ee95129c65e6692ffc01fa8e" - name: oti64111_pci.zip + standalone_path: "oti64111_pci.zip" required: false category: bios_zip systems: @@ -24982,6 +26048,7 @@ files: sha1: "16826d93bc2a09d91b52cca3f72447501daee2d2" - name: p1_fdc.zip + standalone_path: "p1_fdc.zip" required: false category: bios_zip system: arcade @@ -25012,6 +26079,7 @@ files: sha1: "b188ba856bd28e4964a88feb0b0b2ba7eb320efc" - name: p1_hdc.zip + standalone_path: "p1_hdc.zip" required: false category: bios_zip system: arcade @@ -25042,6 +26110,7 @@ files: sha1: "5cf2ae0ec1fa3edb3fe882c805da0bbc3ac21792" - name: p1_rom.zip + standalone_path: "p1_rom.zip" required: false category: bios_zip system: arcade @@ -25066,6 +26135,7 @@ files: sha1: "f2d1a6c90e4708bcc56186b2fb906fa852667084" - name: p72.zip + standalone_path: "p72.zip" required: false category: bios_zip systems: @@ -25098,6 +26168,7 @@ files: sha1: "10430f1d3b73ad413d77053515d9d53831a1341b" - name: pa7246.zip + standalone_path: "pa7246.zip" required: false category: bios_zip system: arcade @@ -25112,6 +26183,7 @@ files: sha1: "5c21cf1f241ef1fa0b41009ea41e81771729785f" - name: partner_gdp.zip + standalone_path: "partner_gdp.zip" required: false category: bios_zip system: arcade @@ -25126,6 +26198,7 @@ files: sha1: "7c7c2d855fdfb90c86ed47c1b33c354c922ed4d0" - name: pc1512kb.zip + standalone_path: "pc1512kb.zip" required: false category: bios_zip system: arcade @@ -25140,6 +26213,7 @@ files: sha1: "4422c6475596c3881c11b6a6266811c336d55d19" - name: pc1640_iga.zip + standalone_path: "pc1640_iga.zip" required: false category: bios_zip system: arcade @@ -25153,6 +26227,7 @@ files: sha1: "98302006ee38a17c09bd75504cc18c0649174e33" - name: pc6022.zip + standalone_path: "pc6022.zip" required: false category: bios_zip systems: @@ -25186,6 +26261,7 @@ files: sha1: "fab85e88566ffa10923dec3a1a6b0d8346bc69ec" - name: pc80s31.zip + standalone_path: "pc80s31.zip" required: false category: bios_zip systems: @@ -25208,6 +26284,7 @@ files: sha1: "80da2dee49d4307f00895a129a5cfeff00cf5321" - name: pc80s31k.zip + standalone_path: "pc80s31k.zip" required: false category: bios_zip system: arcade @@ -25228,6 +26305,7 @@ files: sha1: "1492116f15c426f9796dc2bb6fcccf2656c0ca75" - name: pc88va2_fd_if.zip + standalone_path: "pc88va2_fd_if.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/nec_fdd/pc80s31k.cpp:511-514" @@ -25241,6 +26319,7 @@ files: sha1: "a9375aa480f85e1422a0e1385acb0ea170c5c2e0" - name: pc9801_14.zip + standalone_path: "pc9801_14.zip" required: false category: bios_zip system: arcade @@ -25259,6 +26338,7 @@ files: sha1: "5b014c5de1b8e41a412cafd61d7e9d18abdeb6be" - name: pc9801_26.zip + standalone_path: "pc9801_26.zip" required: false category: bios_zip system: arcade @@ -25290,6 +26370,7 @@ files: bad_dump: true - name: pc9801_27.zip + standalone_path: "pc9801_27.zip" required: false category: bios_zip system: arcade @@ -25304,6 +26385,7 @@ files: sha1: "b607707d74b5a7d3ba211825de31a8f32aec8146" - name: pc9801_55l.zip + standalone_path: "pc9801_55l.zip" required: false category: bios_zip system: arcade @@ -25322,6 +26404,7 @@ files: sha1: "182bb45ba0da7a4f9113e268e04ffca8403cf164" - name: pc9801_55u.zip + standalone_path: "pc9801_55u.zip" required: false category: bios_zip system: arcade @@ -25340,6 +26423,7 @@ files: sha1: "7781dab492df889148e070a7da7ead207e18ed04" - name: pc9801_86.zip + standalone_path: "pc9801_86.zip" required: false category: bios_zip system: arcade @@ -25362,6 +26446,7 @@ files: bad_dump: true - name: pc98_fdd_2dd.zip + standalone_path: "pc98_fdd_2dd.zip" required: false category: bios_zip system: arcade @@ -25380,6 +26465,7 @@ files: sha1: "4160a6db096dbeff18e50cbee98f5d5c1a29e2d1" - name: pc98_fdd_2hd.zip + standalone_path: "pc98_fdd_2hd.zip" required: false category: bios_zip system: arcade @@ -25395,6 +26481,7 @@ files: bad_dump: true - name: pc98_otomichan_kai.zip + standalone_path: "pc98_otomichan_kai.zip" required: false category: bios_zip system: arcade @@ -25415,6 +26502,7 @@ files: bad_dump: true - name: pcd_kbd.zip + standalone_path: "pcd_kbd.zip" required: false category: bios_zip system: arcade @@ -25429,6 +26517,7 @@ files: sha1: "3d6140764d3d043428c941826370ebf1597c63bd" - name: pcd_video.zip + standalone_path: "pcd_video.zip" required: false category: bios_zip system: arcade @@ -25442,6 +26531,7 @@ files: sha1: "98b9cd0f38c51b4988a3aed0efcf004bedd115ff" - name: pcx_video.zip + standalone_path: "pcx_video.zip" required: false category: bios_zip system: arcade @@ -25463,6 +26553,7 @@ files: sha1: "145a6648d75c1dc4788f9bc7790281ef7e8f8426" - name: pd32.zip + standalone_path: "pd32.zip" required: false category: bios_zip systems: @@ -25484,6 +26575,7 @@ files: sha1: "6a8b0e6cd27fd3a7d7ca870790c6793edf9de083" - name: pd3_30hr.zip + standalone_path: "pd3_30hr.zip" required: false category: bios_zip systems: @@ -25500,6 +26592,7 @@ files: sha1: "be34c8604b8a1ae9c9f3b0b90faba9a1a64a5855" - name: pd3_30hrint.zip + standalone_path: "pd3_30hrint.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -25514,6 +26607,7 @@ files: sha1: "be34c8604b8a1ae9c9f3b0b90faba9a1a64a5855" - name: pd3_c264.zip + standalone_path: "pd3_c264.zip" required: false category: bios_zip systems: @@ -25530,6 +26624,7 @@ files: sha1: "0584deb38b402718f2abef456b0035b34fddb473" - name: pd3_lviw.zip + standalone_path: "pd3_lviw.zip" required: false category: bios_zip systems: @@ -25546,6 +26641,7 @@ files: sha1: "1e58593b1a8720193d1651b0d8a0d43e4e47563d" - name: pd3_mclr.zip + standalone_path: "pd3_mclr.zip" required: false category: bios_zip systems: @@ -25562,6 +26658,7 @@ files: sha1: "9141eb1a0e5061e0409d65a89b4eaeb119ee4ffb" - name: pd3_mclrint.zip + standalone_path: "pd3_mclrint.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -25576,6 +26673,7 @@ files: sha1: "9141eb1a0e5061e0409d65a89b4eaeb119ee4ffb" - name: pd3_pc16.zip + standalone_path: "pd3_pc16.zip" required: false category: bios_zip systems: @@ -25592,6 +26690,7 @@ files: sha1: "e41ecc7d12fc13bc74f9223ca02920e8a7eb072b" - name: pd3_pcs8.zip + standalone_path: "pd3_pcs8.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -25606,6 +26705,7 @@ files: sha1: "ef2d7ad3309a0df16ec392a82110118830d276b5" - name: pdc20262.zip + standalone_path: "pdc20262.zip" required: false category: bios_zip systems: @@ -25628,6 +26728,7 @@ files: sha1: "ace4872c6060e9dd8458540c0f3193d1a9b4321a" - name: pdc20268.zip + standalone_path: "pdc20268.zip" required: false category: bios_zip systems: @@ -25645,6 +26746,7 @@ files: sha1: "7303819fee09922db5fd0d9632b0e1734cb70fb5" - name: pds30_emac.zip + standalone_path: "pds30_emac.zip" required: false category: bios_zip systems: @@ -25661,6 +26763,7 @@ files: sha1: "65a8e87180a793cd54d30930cc030b95723369f1" - name: pds_hyper.zip + standalone_path: "pds_hyper.zip" required: false category: bios_zip system: apple-macintosh-ii @@ -25678,6 +26781,7 @@ files: sha1: "4ebe1ead72064c470b7262c14e7e6887643816bf" - name: pds_sefp.zip + standalone_path: "pds_sefp.zip" required: false category: bios_zip systems: @@ -25698,6 +26802,7 @@ files: sha1: "4673d9f341766c49ff1264b7819916e28a20518f" - name: pdslc_macconlc.zip + standalone_path: "pdslc_macconlc.zip" required: false category: bios_zip systems: @@ -25714,6 +26819,7 @@ files: sha1: "317255bcb552ef43f43f85109706ed860baaf6dc" - name: pencil2_coleco.zip + standalone_path: "pencil2_coleco.zip" required: false category: bios_zip system: arcade @@ -25728,6 +26834,7 @@ files: sha1: "ca889d41ea41a781edde7eb004ab530043fbc1a7" - name: permedia2.zip + standalone_path: "permedia2.zip" required: false category: bios_zip system: arcade @@ -25762,6 +26869,7 @@ files: sha1: "9f02e4d1a64c42e4a17df8428d8cc9a72e78e0d5" - name: pet_superpet.zip + standalone_path: "pet_superpet.zip" required: false category: bios_zip system: arcade @@ -25795,6 +26903,7 @@ files: sha1: "9b4a5134d20345171e7303445f87c4e0b9addc96" - name: pg200.zip + standalone_path: "pg200.zip" required: false category: bios_zip system: arcade @@ -25809,6 +26918,7 @@ files: sha1: "145e12e5cf22b6db4958651a04d892f4a4215bb1" - name: plg100_vl.zip + standalone_path: "plg100_vl.zip" required: false category: bios_zip system: arcade @@ -25822,6 +26932,7 @@ files: sha1: "13d54c33a4708c77de2dc1e02210da107add6ce6" - name: plg150_ap.zip + standalone_path: "plg150_ap.zip" required: false category: bios_zip system: arcade @@ -25843,6 +26954,7 @@ files: sha1: "c0b5dfb1fbb5a3ddd33e6303039fbc197478abd2" - name: polyvti.zip + standalone_path: "polyvti.zip" required: false category: bios_zip system: arcade @@ -25857,6 +26969,7 @@ files: sha1: "7b9fee0c8ef2605b85d12b6d9fe8feb82418c63a" - name: pr8210.zip + standalone_path: "pr8210.zip" required: false category: bios_zip system: arcade @@ -25870,6 +26983,7 @@ files: sha1: "b514326ca1f52d6d89056868f9d17eabd4e3f31d" - name: prav8ckb.zip + standalone_path: "prav8ckb.zip" required: false category: bios_zip system: arcade @@ -25884,6 +26998,7 @@ files: sha1: "f4bb44507889fd06d9e952aeb6c44be66ec6f8e9" - name: premier_fdc.zip + standalone_path: "premier_fdc.zip" required: false category: bios_zip system: dragon64 @@ -25897,6 +27012,7 @@ files: sha1: "eb686ce6afe63e4d4011b333a882ca812c69307f" - name: profighterq.zip + standalone_path: "profighterq.zip" required: false category: bios_zip system: arcade @@ -25947,6 +27063,7 @@ files: sha1: "d9c0a7a2c466fa1fcc1680ee5dc3777714c05fe5" - name: profighterqa.zip + standalone_path: "profighterqa.zip" required: false category: bios_zip system: arcade @@ -26001,6 +27118,7 @@ files: sha1: "bdf291d2e3601d7b48c348b1d99b8872b1b4fedd" - name: profighterqb.zip + standalone_path: "profighterqb.zip" required: false category: bios_zip system: arcade @@ -26043,6 +27161,7 @@ files: sha1: "d83dc1b50771f5d8b68293c85b0b94e257521bd3" - name: profighterx.zip + standalone_path: "profighterx.zip" required: false category: bios_zip system: arcade @@ -26093,6 +27212,7 @@ files: sha1: "51f461756668a51e4f9b800168412dab26cd5ca9" - name: promotion3210.zip + standalone_path: "promotion3210.zip" required: false category: bios_zip systems: @@ -26110,6 +27230,7 @@ files: sha1: "bd43f05ae7ddb4bbf515132b72b32719b60e6950" - name: ps2_keybc.zip + standalone_path: "ps2_keybc.zip" required: false category: bios_zip system: arcade @@ -26130,6 +27251,7 @@ files: sha1: "ac45a4d0f30b046ada300f1d105bcf0fb2db318a" - name: psion_3fax.zip + standalone_path: "psion_3fax.zip" required: false category: bios_zip system: arcade @@ -26143,6 +27265,7 @@ files: sha1: "85d6f7e3cd316be5f49e7dd25755673144fce3d7" - name: psion_3link_ser.zip + standalone_path: "psion_3link_ser.zip" required: false category: bios_zip system: arcade @@ -26157,6 +27280,7 @@ files: sha1: "11cab06779ea19f109970dfa641b89f0121bfd95" - name: psx_cd.zip + standalone_path: "psx_cd.zip" required: false category: bios_zip system: arcade @@ -26241,6 +27365,7 @@ files: sha1: "6fe45fd6fb96b12a25a45f39b5efd0be5e3f3e86" - name: psxgboost.zip + standalone_path: "psxgboost.zip" required: false category: bios_zip system: arcade @@ -26255,6 +27380,7 @@ files: sha1: "c20ab073f61242f37665f12199b95cfa3a83e9fc" - name: pvga1a.zip + standalone_path: "pvga1a.zip" required: false category: bios_zip systems: @@ -26293,6 +27419,7 @@ files: sha1: "d53d2a9aeffc7c41199fe91bc3d6d2e4d90173c8" - name: pvga1a_jk.zip + standalone_path: "pvga1a_jk.zip" required: false category: bios_zip systems: @@ -26357,6 +27484,7 @@ files: sha1: "218811ae3f58002eece74c4e444309d8a2a21836" - name: px320a.zip + standalone_path: "px320a.zip" required: false category: bios_zip systems: @@ -26400,6 +27528,7 @@ files: sha1: "5b70f32e83d8c19d2895d38d0f7e15f2eee326fd" - name: qg640.zip + standalone_path: "qg640.zip" required: false category: bios_zip systems: @@ -26420,6 +27549,7 @@ files: sha1: "815b195c37ca1053e5cddfa1efd4764c4550f4b5" - name: ql_cumanafdi.zip + standalone_path: "ql_cumanafdi.zip" required: false category: bios_zip system: arcade @@ -26440,6 +27570,7 @@ files: sha1: "323120cd3e1eaa38f6d0ae74367a4835a5a2a011" - name: ql_gold.zip + standalone_path: "ql_gold.zip" required: false category: bios_zip system: arcade @@ -26459,6 +27590,7 @@ files: sha1: "e80851fc536eef2b83c611e717e563b05bba8b3d" - name: ql_kdi.zip + standalone_path: "ql_kdi.zip" required: false category: bios_zip system: arcade @@ -26474,6 +27606,7 @@ files: sha1: "ff8158d25864d920f3f6df259167e91c2784692c" - name: ql_mhd.zip + standalone_path: "ql_mhd.zip" required: false category: bios_zip system: arcade @@ -26488,6 +27621,7 @@ files: sha1: "1beb87a207ecd0f47a43ed4b1bcc81d89ac75ffc" - name: ql_mpfdi.zip + standalone_path: "ql_mpfdi.zip" required: false category: bios_zip system: arcade @@ -26503,6 +27637,7 @@ files: sha1: "f9f5e5d55f3046f63b4eae59222b81290d626e72" - name: ql_opdbm.zip + standalone_path: "ql_opdbm.zip" required: false category: bios_zip system: arcade @@ -26516,6 +27651,7 @@ files: sha1: "de485e89272e3b51086967333cda9de806ba3876" - name: ql_pcmlqdi.zip + standalone_path: "ql_pcmlqdi.zip" required: false category: bios_zip system: arcade @@ -26531,6 +27667,7 @@ files: sha1: "d2038f0b1a62e8e65ec86660d03c25489ce40274" - name: ql_qldisc.zip + standalone_path: "ql_qldisc.zip" required: false category: bios_zip system: arcade @@ -26551,6 +27688,7 @@ files: sha1: "de8c5a4257107a4a41bc94c532cbfb7c65bfb472" - name: ql_qplus4.zip + standalone_path: "ql_qplus4.zip" required: false category: bios_zip system: arcade @@ -26564,6 +27702,7 @@ files: sha1: "53d6828c1b6ba052b862fd80ac8a364b0078330d" - name: ql_qubide.zip + standalone_path: "ql_qubide.zip" required: false category: bios_zip system: arcade @@ -26596,6 +27735,7 @@ files: sha1: "4cf0da7ff5c7a950e8e13f8ed7125fff10ddda0d" - name: ql_sdisk.zip + standalone_path: "ql_sdisk.zip" required: false category: bios_zip system: arcade @@ -26609,6 +27749,7 @@ files: sha1: "bf531758145ffd083e01c1cf9c45d0e9264a3b53" - name: ql_sqboard256.zip + standalone_path: "ql_sqboard256.zip" required: false category: bios_zip system: arcade @@ -26634,6 +27775,7 @@ files: sha1: "a3a233e4f6c8450055fa537601a2a2eef143edca" - name: ql_sqboard512.zip + standalone_path: "ql_sqboard512.zip" required: false category: bios_zip system: arcade @@ -26659,6 +27801,7 @@ files: sha1: "a3a233e4f6c8450055fa537601a2a2eef143edca" - name: ql_sqmouse.zip + standalone_path: "ql_sqmouse.zip" required: false category: bios_zip system: arcade @@ -26683,6 +27826,7 @@ files: sha1: "a3a233e4f6c8450055fa537601a2a2eef143edca" - name: ql_sqmouse512.zip + standalone_path: "ql_sqmouse512.zip" required: false category: bios_zip system: arcade @@ -26708,6 +27852,7 @@ files: sha1: "a3a233e4f6c8450055fa537601a2a2eef143edca" - name: ql_trump.zip + standalone_path: "ql_trump.zip" required: false category: bios_zip system: arcade @@ -26742,6 +27887,7 @@ files: sha1: "de0f67408021a3b33b3916514a5f81d9c8edad93" - name: ql_trump256.zip + standalone_path: "ql_trump256.zip" required: false category: bios_zip system: arcade @@ -26776,6 +27922,7 @@ files: sha1: "de0f67408021a3b33b3916514a5f81d9c8edad93" - name: ql_trump512.zip + standalone_path: "ql_trump512.zip" required: false category: bios_zip system: arcade @@ -26810,6 +27957,7 @@ files: sha1: "de0f67408021a3b33b3916514a5f81d9c8edad93" - name: ql_trump768.zip + standalone_path: "ql_trump768.zip" required: false category: bios_zip system: arcade @@ -26844,6 +27992,7 @@ files: sha1: "de0f67408021a3b33b3916514a5f81d9c8edad93" - name: qsound_hle.zip + standalone_path: "qsound_hle.zip" required: false category: bios_zip systems: @@ -26860,6 +28009,7 @@ files: sha1: "555f50fe5cdf127619da7d854c03f4a244a0c501" - name: qts1.zip + standalone_path: "qts1.zip" required: false category: bios_zip systems: @@ -26882,6 +28032,7 @@ files: sha1: "05d97009b5b8034dda520f655c73c474da97f822" - name: quadro.zip + standalone_path: "quadro.zip" required: false category: bios_zip system: arcade @@ -26902,6 +28053,7 @@ files: sha1: "006b72eb2bcb549686e4e39f8ca17972435178e4" - name: qvision_wavestar.zip + standalone_path: "qvision_wavestar.zip" required: false category: bios_zip system: arcade @@ -26917,6 +28069,7 @@ files: sha1: "0b32c371cc0fe17acbd7c566e707fd6687f5e7ae" - name: qx10_keyboard_ascii.zip + standalone_path: "qx10_keyboard_ascii.zip" required: false category: bios_zip system: arcade @@ -26931,6 +28084,7 @@ files: sha1: "26b7f447acfe2c605dbe0fc98e6c777f0fa8a94d" - name: qx10_keyboard_hasci.zip + standalone_path: "qx10_keyboard_hasci.zip" required: false category: bios_zip system: arcade @@ -26945,6 +28099,7 @@ files: sha1: "26b7f447acfe2c605dbe0fc98e6c777f0fa8a94d" - name: rageiidvd.zip + standalone_path: "rageiidvd.zip" required: false category: bios_zip system: arcade @@ -26970,6 +28125,7 @@ files: sha1: "a068ef73d56b5fc200076283d32676b818404f1b" - name: rc2014_micro.zip + standalone_path: "rc2014_micro.zip" required: false category: bios_zip system: arcade @@ -26984,6 +28140,7 @@ files: sha1: "40a030b931ebe6cca654ce056c228297f245b057" - name: rc2014_mini_cpm.zip + standalone_path: "rc2014_mini_cpm.zip" required: false category: bios_zip system: arcade @@ -26998,6 +28155,7 @@ files: sha1: "c96e9ebd6ce019c264aaea156532fcf807d4c74c" - name: rc2014_pagable_rom.zip + standalone_path: "rc2014_pagable_rom.zip" required: false category: bios_zip system: arcade @@ -27018,6 +28176,7 @@ files: sha1: "ff5b3873abdcbe8ab48f62a9dbdf39314b938e89" - name: rc2014_rom_ram_512k.zip + standalone_path: "rc2014_rom_ram_512k.zip" required: false category: bios_zip system: arcade @@ -27088,6 +28247,7 @@ files: sha1: "5c642cb3113bc0a51562dc92c8b46bde414adb6c" - name: rc2014_switchable_rom.zip + standalone_path: "rc2014_switchable_rom.zip" required: false category: bios_zip system: arcade @@ -27123,6 +28283,7 @@ files: sha1: "0077ab5e669da6e95ed2f66c9e759067c4236e36" - name: riva128.zip + standalone_path: "riva128.zip" required: false category: bios_zip system: arcade @@ -27148,6 +28309,7 @@ files: sha1: "894c855c6d676de0d04d396f7e93a0e6cb98a4b3" - name: riva128zx.zip + standalone_path: "riva128zx.zip" required: false category: bios_zip system: arcade @@ -27173,6 +28335,7 @@ files: sha1: "7126c4c4d20c48848defc5dd05f0d5b698948015" - name: rivatnt.zip + standalone_path: "rivatnt.zip" required: false category: bios_zip system: arcade @@ -27203,6 +28366,7 @@ files: sha1: "602ba5812e608bb7275336e9abab4b822f7b1b98" - name: rivatnt2.zip + standalone_path: "rivatnt2.zip" required: false category: bios_zip system: arcade @@ -27223,6 +28387,7 @@ files: sha1: "709632adf1e156fab3af0723b73a1e6c2c39e987" - name: rivatnt2_m64.zip + standalone_path: "rivatnt2_m64.zip" required: false category: bios_zip system: arcade @@ -27288,6 +28453,7 @@ files: sha1: "529a79296c914a2dcdd568221b9aac914869bade" - name: rivatnt2_ultra.zip + standalone_path: "rivatnt2_ultra.zip" required: false category: bios_zip system: arcade @@ -27303,6 +28469,7 @@ files: sha1: "733d8c3f179f89f0e238ffb95717c0fafd1053aa" - name: rm_mq2.zip + standalone_path: "rm_mq2.zip" required: false category: bios_zip system: arcade @@ -27317,6 +28484,7 @@ files: sha1: "ba523af357b61bbe6192727139850f36597d79f1" - name: robotron_k7070.zip + standalone_path: "robotron_k7070.zip" required: false category: bios_zip system: arcade @@ -27341,6 +28509,7 @@ files: sha1: "62516f2e1cb62698445f80fd823d39a1a78a7807" - name: robotron_k7071.zip + standalone_path: "robotron_k7071.zip" required: false category: bios_zip system: arcade @@ -27362,6 +28531,7 @@ files: sha1: "8428e344df95451a34ad01322e245d2357712010" - name: rolm_pdc.zip + standalone_path: "rolm_pdc.zip" required: false category: bios_zip system: arcade @@ -27375,6 +28545,7 @@ files: sha1: "e1a465c2274a63e81dba7a71fc8b30f10c03baf0" - name: rolm_smioc.zip + standalone_path: "rolm_smioc.zip" required: false category: bios_zip system: arcade @@ -27388,6 +28559,7 @@ files: sha1: "8ee9879033623490ce6703ba5429af2b16dbae84" - name: rt1000b.zip + standalone_path: "rt1000b.zip" required: false category: bios_zip systems: @@ -27405,6 +28577,7 @@ files: sha1: "4a5b2219b9ea5bfbeefaf6b958f4095c53c0e8b4" - name: rtpc_kbd.zip + standalone_path: "rtpc_kbd.zip" required: false category: bios_zip system: arcade @@ -27418,6 +28591,7 @@ files: sha1: "d7305e978e9c047a34d2c26176ce7ac0467f1219" - name: rtpc_kls.zip + standalone_path: "rtpc_kls.zip" required: false category: bios_zip system: arcade @@ -27432,6 +28606,7 @@ files: sha1: "83858109c39d5be37e49f24d1db4e2b15f38843e" - name: rx01.zip + standalone_path: "rx01.zip" required: false category: bios_zip system: arcade @@ -27490,6 +28665,7 @@ files: sha1: "abf87d731213e51413c6ef3172f14353da36e791" - name: s100_am310.zip + standalone_path: "s100_am310.zip" required: false category: bios_zip system: arcade @@ -27504,6 +28680,7 @@ files: sha1: "20716814381eb751261ee0607f3efff0d5375bd5" - name: s100_djdma.zip + standalone_path: "s100_djdma.zip" required: false category: bios_zip system: arcade @@ -27534,6 +28711,7 @@ files: sha1: "1e58dfb7b8a2a5bbaa6589d4018042626fd5ceaf" - name: s100_nsmdsa.zip + standalone_path: "s100_nsmdsa.zip" required: false category: bios_zip system: arcade @@ -27548,6 +28726,7 @@ files: bad_dump: true - name: s100_nsmdsad.zip + standalone_path: "s100_nsmdsad.zip" required: false category: bios_zip system: arcade @@ -27561,6 +28740,7 @@ files: sha1: "bf1552c4818f30473798af4f54e65e1957e0db48" - name: s100_sj2db.zip + standalone_path: "s100_sj2db.zip" required: false category: bios_zip system: arcade @@ -27575,6 +28755,7 @@ files: sha1: "e4b2ae886c0dd7717e2e02ae2e202115d8ec2def" - name: s1410.zip + standalone_path: "s1410.zip" required: false category: bios_zip system: arcade @@ -27600,6 +28781,7 @@ files: sha1: "bf68e99dad182bfcbb5d488aeb440cba572a6ef8" - name: s3_764.zip + standalone_path: "s3_764.zip" required: false category: bios_zip systems: @@ -27618,6 +28800,7 @@ files: sha1: "c77b3f11cc15679121314823588887dd547cd715" - name: s8k_cpu.zip + standalone_path: "s8k_cpu.zip" required: false category: bios_zip system: arcade @@ -27692,6 +28875,7 @@ files: sha1: "c2ab2bfaf21d60f69ea7ede01a929ac46511061b" - name: s8k_cpu10.zip + standalone_path: "s8k_cpu10.zip" required: false category: bios_zip system: arcade @@ -27718,6 +28902,7 @@ files: sha1: "86569a6c8649f691acbf7d42a825bde105460f55" - name: s8k_hpcpu.zip + standalone_path: "s8k_hpcpu.zip" required: false category: bios_zip system: arcade @@ -27735,6 +28920,7 @@ files: sha1: "bc804e09cf6905c9f0ccc502a15c98841ee4b087" - name: s97269pb.zip + standalone_path: "s97269pb.zip" required: false category: bios_zip system: arcade @@ -27757,6 +28943,7 @@ files: sha1: "5f4de97cfe6fe39da75761e0f434de28d30f3e3b" - name: s97801_device.zip + standalone_path: "s97801_device.zip" required: false category: bios_zip systems: @@ -27800,6 +28987,7 @@ files: sha1: "649abcfde9752f427ec7d1efdc013a4f01dc271c" - name: s97801_kbd.zip + standalone_path: "s97801_kbd.zip" required: false category: bios_zip systems: @@ -27835,6 +29023,7 @@ files: sha1: "970a45b509081603e25319e1bbf0f7941f91a056" - name: s_smp.zip + standalone_path: "s_smp.zip" required: false category: bios_zip systems: @@ -27852,6 +29041,7 @@ files: sha1: "97e352553e94242ae823547cd853eecda55c20f0" - name: saa5051.zip + standalone_path: "saa5051.zip" required: false category: bios_zip source_ref: "upstream src/devices/video/saa5050.cpp:53-56" @@ -27866,6 +29056,7 @@ files: bad_dump: true - name: saa5052.zip + standalone_path: "saa5052.zip" required: false category: bios_zip system: arcade @@ -27881,6 +29072,7 @@ files: bad_dump: true - name: saa5053.zip + standalone_path: "saa5053.zip" required: false category: bios_zip source_ref: "upstream src/devices/video/saa5050.cpp:73-76" @@ -27895,6 +29087,7 @@ files: bad_dump: true - name: saa5054.zip + standalone_path: "saa5054.zip" required: false category: bios_zip source_ref: "upstream src/devices/video/saa5050.cpp:83-86" @@ -27909,6 +29102,7 @@ files: bad_dump: true - name: saa5055.zip + standalone_path: "saa5055.zip" required: false category: bios_zip system: arcade @@ -27924,6 +29118,7 @@ files: bad_dump: true - name: saa5056.zip + standalone_path: "saa5056.zip" required: false category: bios_zip source_ref: "upstream src/devices/video/saa5050.cpp:103-106" @@ -27938,6 +29133,7 @@ files: bad_dump: true - name: saa5057.zip + standalone_path: "saa5057.zip" required: false category: bios_zip source_ref: "upstream src/devices/video/saa5050.cpp:113-116" @@ -27952,6 +29148,7 @@ files: bad_dump: true - name: saa5240a.zip + standalone_path: "saa5240a.zip" required: false category: bios_zip system: arcade @@ -27966,6 +29163,7 @@ files: bad_dump: true - name: saa5240b.zip + standalone_path: "saa5240b.zip" required: false category: bios_zip system: arcade @@ -27980,6 +29178,7 @@ files: bad_dump: true - name: saa5243e.zip + standalone_path: "saa5243e.zip" required: false category: bios_zip source_ref: "upstream src/devices/video/saa5240.cpp:45-48" @@ -27993,6 +29192,7 @@ files: bad_dump: true - name: sad8852.zip + standalone_path: "sad8852.zip" required: false category: bios_zip systems: @@ -28010,6 +29210,7 @@ files: sha1: "7a3d43e6b1f6fcd4402c54aaacf169ac74141cd2" - name: satcdb.zip + standalone_path: "satcdb.zip" required: false category: bios_zip system: arcade @@ -28035,6 +29236,7 @@ files: sha1: "f4f6c2aac68c352814d396ae41f81f54ad228e68" - name: sb300p.zip + standalone_path: "sb300p.zip" required: false category: bios_zip system: arcade @@ -28049,6 +29251,7 @@ files: sha1: "1c6006fb8cb555eff0cb7c2783c776d05c6797f8" - name: sbus_hme.zip + standalone_path: "sbus_hme.zip" required: false category: bios_zip system: arcade @@ -28063,6 +29266,7 @@ files: sha1: "b54bb0f01c45accdbc58c3a86f8de34949374880" - name: sbus_sunpc.zip + standalone_path: "sbus_sunpc.zip" required: false category: bios_zip system: arcade @@ -28077,6 +29281,7 @@ files: sha1: "21c4c02bc5a3a0494301f19c54ba0e207568fb42" - name: sc119.zip + standalone_path: "sc119.zip" required: false category: bios_zip system: arcade @@ -28102,6 +29307,7 @@ files: sha1: "cf4ad058931f0297fd2f8f81d15eb83ecbd29376" - name: scorpion_ic.zip + standalone_path: "scorpion_ic.zip" required: false category: bios_zip systems: @@ -28138,6 +29344,7 @@ files: sha1: "91c273c94cd0dbca655e192dd01ac6dc3a4f60a8" - name: sdtandy_fdc.zip + standalone_path: "sdtandy_fdc.zip" required: false category: bios_zip system: dragon64 @@ -28151,6 +29358,7 @@ files: sha1: "ca03942118f2deab2f6c8a89b8a4f41f2d0b94f1" - name: sed1200da.zip + standalone_path: "sed1200da.zip" required: false category: bios_zip system: arcade @@ -28165,6 +29373,7 @@ files: sha1: "086406eb74e9ed97b309d2a4bdedc567626e9a98" - name: sed1200db.zip + standalone_path: "sed1200db.zip" required: false category: bios_zip system: arcade @@ -28179,6 +29388,7 @@ files: sha1: "c8c856f1357286a2c8c806af81724a828345357e" - name: sed1200fa.zip + standalone_path: "sed1200fa.zip" required: false category: bios_zip source_ref: "upstream src/devices/video/sed1200.cpp:26-29" @@ -28192,6 +29402,7 @@ files: sha1: "086406eb74e9ed97b309d2a4bdedc567626e9a98" - name: sed1200fb.zip + standalone_path: "sed1200fb.zip" required: false category: bios_zip source_ref: "upstream src/devices/video/sed1200.cpp:31-34" @@ -28205,6 +29416,7 @@ files: sha1: "c8c856f1357286a2c8c806af81724a828345357e" - name: sed1278.zip + standalone_path: "sed1278.zip" required: false category: bios_zip system: arcade @@ -28227,6 +29439,7 @@ files: bad_dump: true - name: sega837_14438.zip + standalone_path: "sega837_14438.zip" required: false category: bios_zip system: sega-naomi @@ -28245,6 +29458,7 @@ files: sha1: "ea1a32c4da1ed9745300bcdd7964a7c0964e3221" - name: sega_sp400.zip + standalone_path: "sega_sp400.zip" required: false category: bios_zip system: arcade @@ -28263,6 +29477,7 @@ files: sha1: "65016f3b022af30cc6b084af1e43b29168721a60" - name: segabill.zip + standalone_path: "segabill.zip" required: false category: bios_zip systems: @@ -28278,6 +29493,7 @@ files: sha1: "edf5ade72d9fa2f4d5f83f9f89e6cecfadd77f56" - name: segadimm.zip + standalone_path: "segadimm.zip" required: false category: bios_zip systems: @@ -28364,6 +29580,7 @@ files: sha1: "1e39983779a62ebc6801ec6f2a5138717a7a5259" - name: seganetw.zip + standalone_path: "seganetw.zip" required: false category: bios_zip system: sega-chihiro @@ -28377,6 +29594,7 @@ files: sha1: "45d94d0c39be1cb3db9fab6610a88a550adda4e9" - name: sente6vb.zip + standalone_path: "sente6vb.zip" required: false category: bios_zip system: arcade @@ -28391,6 +29609,7 @@ files: sha1: "f0c447adc5b67917851a9df978df851247e75c43" - name: serad.zip + standalone_path: "serad.zip" required: false category: bios_zip system: arcade @@ -28405,6 +29624,7 @@ files: sha1: "6a1c2d351d5552d54d835b7726b3f9b921605d0e" - name: sfd1001.zip + standalone_path: "sfd1001.zip" required: false category: bios_zip systems: @@ -28434,6 +29654,7 @@ files: sha1: "3b954eb34f7ea088eed1d33ebc6d6e83a3e9be15" - name: sgi_gm1.zip + standalone_path: "sgi_gm1.zip" required: false category: bios_zip system: arcade @@ -28447,6 +29668,7 @@ files: sha1: "ad22a07d0a57b012e708b38216b7f3e600e12597" - name: sgi_ip2.zip + standalone_path: "sgi_ip2.zip" required: false category: bios_zip system: arcade @@ -28476,6 +29698,7 @@ files: sha1: "32907201621ef128c4150721570085c554df918e" - name: sgi_ip4.zip + standalone_path: "sgi_ip4.zip" required: false category: bios_zip system: arcade @@ -28529,6 +29752,7 @@ files: sha1: "aceb115a2f4d2e3a229b2c2c3b20314674113705" - name: sgi_kbd.zip + standalone_path: "sgi_kbd.zip" required: false category: bios_zip system: arcade @@ -28542,6 +29766,7 @@ files: sha1: "a000a2b29e8629c686b29a5af22beedcc94710dc" - name: sgi_pm1.zip + standalone_path: "sgi_pm1.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/multibus/sun1.cpp:504-514" @@ -28571,6 +29796,7 @@ files: sha1: "ec2827ec430af78446ec1c11a99742ae3be59521" - name: sgi_pm2.zip + standalone_path: "sgi_pm2.zip" required: false category: bios_zip system: arcade @@ -28601,6 +29827,7 @@ files: sha1: "1cab5ce1c7df43ebeffab04b388d2e07c9853f8f" - name: side116.zip + standalone_path: "side116.zip" required: false category: bios_zip systems: @@ -28618,6 +29845,7 @@ files: sha1: "a5b130a6d17c972d6c378cb2cd8113a4039631fe" - name: simutrek.zip + standalone_path: "simutrek.zip" required: false category: bios_zip system: arcade @@ -28636,6 +29864,7 @@ files: sha1: "1eb3467f1c41553375b2c21952cd593b167f5416" - name: sis630_gui.zip + standalone_path: "sis630_gui.zip" required: false category: bios_zip system: arcade @@ -28657,6 +29886,7 @@ files: bad_dump: true - name: sis6326_agp.zip + standalone_path: "sis6326_agp.zip" required: false category: bios_zip system: arcade @@ -28681,6 +29911,7 @@ files: sha1: "332ab9499142e8f7a235afe046e8e8d21a28580d" - name: sis6326_dvd.zip + standalone_path: "sis6326_dvd.zip" required: false category: bios_zip system: arcade @@ -28695,6 +29926,7 @@ files: sha1: "7566f1483c3e963762ef19b4deeb8fc24ccd217f" - name: sis6326_pci.zip + standalone_path: "sis6326_pci.zip" required: false category: bios_zip systems: @@ -28721,6 +29953,7 @@ files: sha1: "7ce995ec0d8b9ac4f0f40ccd0a61d7fc209d313f" - name: sis900_eth.zip + standalone_path: "sis900_eth.zip" required: false category: bios_zip system: arcade @@ -28736,6 +29969,7 @@ files: bad_dump: true - name: smoc501.zip + standalone_path: "smoc501.zip" required: false category: bios_zip systems: @@ -28759,6 +29993,7 @@ files: sha1: "96c73a3a2ecdc8c903e920f2afba5b4edd5cdba6" - name: sms_diypaddle.zip + standalone_path: "sms_diypaddle.zip" required: false category: bios_zip systems: @@ -28775,6 +30010,7 @@ files: sha1: "dd9e20f2447c43dbe29a49bb3a4fd8049775acd3" - name: smvme2000.zip + standalone_path: "smvme2000.zip" required: false category: bios_zip system: arcade @@ -28805,6 +30041,7 @@ files: sha1: "78427f7b9a6f676945c2cdb90632a16a619c83f9" - name: sn74s262.zip + standalone_path: "sn74s262.zip" required: false category: bios_zip system: arcade @@ -28820,6 +30057,7 @@ files: bad_dump: true - name: sn74s263.zip + standalone_path: "sn74s263.zip" required: false category: bios_zip system: arcade @@ -28835,6 +30073,7 @@ files: bad_dump: true - name: sns_dsp1bleg.zip + standalone_path: "sns_dsp1bleg.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/snes/upd.cpp:478-481" @@ -28848,6 +30087,7 @@ files: sha1: "3a218b0e4572a8eba6d0121b17fdac9529609220" - name: sns_dsp1leg.zip + standalone_path: "sns_dsp1leg.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/snes/upd.cpp:473-476" @@ -28861,6 +30101,7 @@ files: sha1: "0a03ccb1fd2bea91151c745a4d1f217ae784f889" - name: sns_dsp1leg_hi.zip + standalone_path: "sns_dsp1leg_hi.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/snes/upd.cpp:473-476" @@ -28874,6 +30115,7 @@ files: sha1: "0a03ccb1fd2bea91151c745a4d1f217ae784f889" - name: sns_dsp2leg.zip + standalone_path: "sns_dsp2leg.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/snes/upd.cpp:483-486" @@ -28887,6 +30129,7 @@ files: sha1: "06dd9fcb118d18f6bbe234e013cb8780e06d6e63" - name: sns_dsp3leg.zip + standalone_path: "sns_dsp3leg.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/snes/upd.cpp:488-491" @@ -28900,6 +30143,7 @@ files: sha1: "1b133741fad810eb7320c21ecfdd427d25a46da1" - name: sns_dsp4leg.zip + standalone_path: "sns_dsp4leg.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/snes/upd.cpp:493-496" @@ -28913,6 +30157,7 @@ files: sha1: "76fd25f7dc26c3b3f7868a3aa78c7684068713e5" - name: sns_rom_sgb.zip + standalone_path: "sns_rom_sgb.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/snes/sgb.cpp:151-154" @@ -28926,6 +30171,7 @@ files: sha1: "aa2f50a77dfb4823da96ba99309085a3c6278515" - name: sns_rom_sgb2.zip + standalone_path: "sns_rom_sgb2.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/snes/sgb.cpp:179-182" @@ -28939,6 +30185,7 @@ files: sha1: "93407ea10d2f30ab96a314d8eca44fe160aea734" - name: sns_seta10leg.zip + standalone_path: "sns_seta10leg.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/snes/upd.cpp:498-501" @@ -28952,6 +30199,7 @@ files: sha1: "cc1984e989cb94e3dcbb5f99e085b5414e18a017" - name: sns_seta11leg.zip + standalone_path: "sns_seta11leg.zip" required: false category: bios_zip source_ref: "upstream src/devices/bus/snes/upd.cpp:503-506" @@ -28965,6 +30213,7 @@ files: sha1: "1375b8c1efc8cae4962b57dfe22f6b78e1ddacc8" - name: softcard3.zip + standalone_path: "softcard3.zip" required: false category: bios_zip system: arcade @@ -28979,6 +30228,7 @@ files: sha1: "aff45dd8850641b4616b61750c104e7ee45a99a4" - name: sound_orchestra.zip + standalone_path: "sound_orchestra.zip" required: false category: bios_zip system: arcade @@ -28999,6 +30249,7 @@ files: bad_dump: true - name: spc1000_fdd_exp.zip + standalone_path: "spc1000_fdd_exp.zip" required: false category: bios_zip system: arcade @@ -29013,6 +30264,7 @@ files: sha1: "8e9d8f63a7fb87af417e95603e71cf537a6e83f1" - name: speakboard.zip + standalone_path: "speakboard.zip" required: false category: bios_zip system: arcade @@ -29031,6 +30283,7 @@ files: sha1: "3def9ee386ab6c31436888261bded042cd64a0eb" - name: spectred_kbd.zip + standalone_path: "spectred_kbd.zip" required: false category: bios_zip system: arcade @@ -29045,6 +30298,7 @@ files: sha1: "136c2b562999a6e340fe0e9a3776cea8c2e3647e" - name: spectrum_beta128.zip + standalone_path: "spectrum_beta128.zip" required: false category: bios_zip system: arcade @@ -29075,6 +30329,7 @@ files: sha1: "745e9caf576e64a5386ad845256d28593d34cc40" - name: spectrum_betacbi.zip + standalone_path: "spectrum_betacbi.zip" required: false category: bios_zip system: arcade @@ -29110,6 +30365,7 @@ files: sha1: "3e5f7d43218b5bd2a6e2aa28220c77cb651f5daa" - name: spectrum_betaclone.zip + standalone_path: "spectrum_betaclone.zip" required: false category: bios_zip system: arcade @@ -29150,6 +30406,7 @@ files: sha1: "cdbd0ac2262ede3852998174f88ae333419a570f" - name: spectrum_betaplus.zip + standalone_path: "spectrum_betaplus.zip" required: false category: bios_zip system: arcade @@ -29195,6 +30452,7 @@ files: sha1: "bf8cee39eb4b2a09a3f07db4cb8e7952bce4d3dd" - name: spectrum_betav2.zip + standalone_path: "spectrum_betav2.zip" required: false category: bios_zip system: arcade @@ -29215,6 +30473,7 @@ files: sha1: "1c5ec9f56651ae527cdc092af1c602803104d5c3" - name: spectrum_betav3.zip + standalone_path: "spectrum_betav3.zip" required: false category: bios_zip system: arcade @@ -29240,6 +30499,7 @@ files: sha1: "9480e5402bb8611b88657107a8aad889f353071b" - name: spectrum_d40.zip + standalone_path: "spectrum_d40.zip" required: false category: bios_zip system: arcade @@ -29259,6 +30519,7 @@ files: sha1: "b8473235feecff4eccbace56a90cf1d8c79506eb" - name: spectrum_d80.zip + standalone_path: "spectrum_d80.zip" required: false category: bios_zip system: arcade @@ -29279,6 +30540,7 @@ files: sha1: "b8473235feecff4eccbace56a90cf1d8c79506eb" - name: spectrum_d80v2.zip + standalone_path: "spectrum_d80v2.zip" required: false category: bios_zip system: arcade @@ -29294,6 +30556,7 @@ files: sha1: "e8d3355051fb287dd0dda34ba8824442130c8254" - name: spectrum_disciple.zip + standalone_path: "spectrum_disciple.zip" required: false category: bios_zip system: arcade @@ -29326,6 +30589,7 @@ files: sha1: "b872377ea9f91b29a811b0d484699ffe87bdf9fd" - name: spectrum_flpone.zip + standalone_path: "spectrum_flpone.zip" required: false category: bios_zip system: arcade @@ -29345,6 +30609,7 @@ files: sha1: "eb1d28bf8aa35bfab3a45a5827f252498ac2c651" - name: spectrum_gamma.zip + standalone_path: "spectrum_gamma.zip" required: false category: bios_zip system: arcade @@ -29360,6 +30625,7 @@ files: sha1: "dffeb9f47b3eca94afbb61373eba003efd4675ff" - name: spectrum_intf1.zip + standalone_path: "spectrum_intf1.zip" required: false category: bios_zip system: arcade @@ -29379,6 +30645,7 @@ files: sha1: "5cfb6bca4177c45fefd571734576b55e3a127c08" - name: spectrum_kempcentref.zip + standalone_path: "spectrum_kempcentref.zip" required: false category: bios_zip system: arcade @@ -29393,6 +30660,7 @@ files: sha1: "b26e9f720a215019b8710a4a094d6fde6ecae5fd" - name: spectrum_kempcentreu.zip + standalone_path: "spectrum_kempcentreu.zip" required: false category: bios_zip system: arcade @@ -29407,6 +30675,7 @@ files: sha1: "6d0772e81cfd9bc994b1c91d4e01b45e0fc0d3d3" - name: spectrum_kempdisc.zip + standalone_path: "spectrum_kempdisc.zip" required: false category: bios_zip system: arcade @@ -29432,6 +30701,7 @@ files: sha1: "4a75fb4951d74e254c230d56b5566c924b3c38f6" - name: spectrum_lprint.zip + standalone_path: "spectrum_lprint.zip" required: false category: bios_zip system: arcade @@ -29445,6 +30715,7 @@ files: sha1: "3e4c7ecd8c3eb011cdf75eb23faf8d8ea8329757" - name: spectrum_lprint3.zip + standalone_path: "spectrum_lprint3.zip" required: false category: bios_zip system: arcade @@ -29474,6 +30745,7 @@ files: sha1: "d9c0297c05e8092fb7e0198f4172d3d4e6ed252c" - name: spectrum_mface1.zip + standalone_path: "spectrum_mface1.zip" required: false category: bios_zip system: arcade @@ -29503,6 +30775,7 @@ files: sha1: "a7e03e7fee3aa05ce1501072aab4534ea7bae257" - name: spectrum_mface128.zip + standalone_path: "spectrum_mface128.zip" required: false category: bios_zip system: arcade @@ -29522,6 +30795,7 @@ files: sha1: "8df204ab490b87c389971ce0c7fb5f9cbd281f14" - name: spectrum_mface128v1.zip + standalone_path: "spectrum_mface128v1.zip" required: false category: bios_zip system: arcade @@ -29541,6 +30815,7 @@ files: sha1: "6cd6fd2c0fbb40a989a568db9d08ba8eed49cbbd" - name: spectrum_mface1v1.zip + standalone_path: "spectrum_mface1v1.zip" required: false category: bios_zip system: arcade @@ -29555,6 +30830,7 @@ files: sha1: "c3018d1b495b8bc0a135038db0987de7091c9d4c" - name: spectrum_mface1v2.zip + standalone_path: "spectrum_mface1v2.zip" required: false category: bios_zip system: arcade @@ -29569,6 +30845,7 @@ files: sha1: "b442eb634a72fb63f1ccbbd0021a7a581152888d" - name: spectrum_mface1v3.zip + standalone_path: "spectrum_mface1v3.zip" required: false category: bios_zip system: arcade @@ -29583,6 +30860,7 @@ files: sha1: "20cd508b0143166558a7238c7a9ccfbe37b90b0d" - name: spectrum_mface3.zip + standalone_path: "spectrum_mface3.zip" required: false category: bios_zip system: arcade @@ -29611,6 +30889,7 @@ files: sha1: "6573c2b8f55f66ef71ce3992f654080141e09739" - name: spectrum_mikroplus.zip + standalone_path: "spectrum_mikroplus.zip" required: false category: bios_zip system: arcade @@ -29625,6 +30904,7 @@ files: sha1: "66cc823587b520af9636eed7a342d69d3dd15123" - name: spectrum_mpoker.zip + standalone_path: "spectrum_mpoker.zip" required: false category: bios_zip system: arcade @@ -29638,6 +30918,7 @@ files: sha1: "fd918519e4bd0eb8220d157a1c3f314669764657" - name: spectrum_mprint.zip + standalone_path: "spectrum_mprint.zip" required: false category: bios_zip system: arcade @@ -29657,6 +30938,7 @@ files: sha1: "1356bfae3264b952f83a33e25af536c0f13f50e7" - name: spectrum_opus.zip + standalone_path: "spectrum_opus.zip" required: false category: bios_zip system: arcade @@ -29691,6 +30973,7 @@ files: sha1: "098a812c4707251f647553a2abc1436afa38f43c" - name: spectrum_plus2test.zip + standalone_path: "spectrum_plus2test.zip" required: false category: bios_zip system: arcade @@ -29705,6 +30988,7 @@ files: sha1: "2ed54f8ccf1ef26045bb409bb86c859ee23e83d1" - name: spectrum_plusd.zip + standalone_path: "spectrum_plusd.zip" required: false category: bios_zip system: arcade @@ -29737,6 +31021,7 @@ files: sha1: "5142068ae01ff29979b08e6b322512750fbc6a04" - name: spectrum_proceed.zip + standalone_path: "spectrum_proceed.zip" required: false category: bios_zip system: arcade @@ -29752,6 +31037,7 @@ files: sha1: "c999b0e4f5537405ed56c4c96beca5e7f5eb2b1e" - name: spectrum_sdi.zip + standalone_path: "spectrum_sdi.zip" required: false category: bios_zip system: arcade @@ -29766,6 +31052,7 @@ files: sha1: "52405bb42e46a12b57806fd7f26691681afe2d8e" - name: spectrum_spdos.zip + standalone_path: "spectrum_spdos.zip" required: false category: bios_zip system: arcade @@ -29780,6 +31067,7 @@ files: sha1: "bb0706cf1538da8acd12b8c9cd2cd75ca689ec44" - name: spectrum_speccydos.zip + standalone_path: "spectrum_speccydos.zip" required: false category: bios_zip system: arcade @@ -29805,6 +31093,7 @@ files: sha1: "e72d2ea19cbe8f3459e4fc9d3c57975dc9917bd6" - name: spectrum_specmate.zip + standalone_path: "spectrum_specmate.zip" required: false category: bios_zip system: arcade @@ -29818,6 +31107,7 @@ files: sha1: "c8f128610eeb5142d4d80f28e5dd07b7a5ab6b84" - name: spectrum_swiftdisc.zip + standalone_path: "spectrum_swiftdisc.zip" required: false category: bios_zip system: arcade @@ -29838,6 +31128,7 @@ files: sha1: "5afe0364afedc83c03995d44914fe7f207fb5c28" - name: spectrum_swiftdisc2.zip + standalone_path: "spectrum_swiftdisc2.zip" required: false category: bios_zip system: arcade @@ -29866,6 +31157,7 @@ files: sha1: "2ad28d44bc33a50ed5f93f2520f25100dd36841d" - name: spectrum_usource.zip + standalone_path: "spectrum_usource.zip" required: false category: bios_zip system: arcade @@ -29880,6 +31172,7 @@ files: sha1: "fae53678a85ba503b77ed2d877de2635b284eef1" - name: spectrum_uspeech.zip + standalone_path: "spectrum_uspeech.zip" required: false category: bios_zip system: arcade @@ -29898,6 +31191,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: spectrum_vtx5000.zip + standalone_path: "spectrum_vtx5000.zip" required: false category: bios_zip system: arcade @@ -29918,6 +31212,7 @@ files: sha1: "4490186845b198ca9191dd711bd38274cba6f04b" - name: spectrum_wafa.zip + standalone_path: "spectrum_wafa.zip" required: false category: bios_zip system: arcade @@ -29932,6 +31227,7 @@ files: sha1: "e979f9b1ada4a723ec69734c1848adbbf8d920c5" - name: st_kbd.zip + standalone_path: "st_kbd.zip" required: false category: bios_zip system: arcade @@ -29946,6 +31242,7 @@ files: sha1: "1102f20d38f333234041c13687d82528b7cde2e1" - name: stereo_fx.zip + standalone_path: "stereo_fx.zip" required: false category: bios_zip systems: @@ -29963,6 +31260,7 @@ files: sha1: "e66c2619a6c05199554b5702d67877ae3799d415" - name: stic.zip + standalone_path: "stic.zip" required: false category: bios_zip system: arcade @@ -29976,6 +31274,7 @@ files: sha1: "f9608bb4ad1cfe3640d02844c7ad8e0bcd974917" - name: sun1_cpu.zip + standalone_path: "sun1_cpu.zip" required: false category: bios_zip system: arcade @@ -30116,6 +31415,7 @@ files: sha1: "9b268792b28d858d6b6a1b6c4148af88a8d6b735" - name: sun_gem.zip + standalone_path: "sun_gem.zip" required: false category: bios_zip system: arcade @@ -30130,6 +31430,7 @@ files: sha1: "b22046b8b574acf7818ebb00dc8d78c04c170ac0" - name: sv603.zip + standalone_path: "sv603.zip" required: false category: bios_zip system: arcade @@ -30144,6 +31445,7 @@ files: sha1: "8a30abe5ffef810b0f99b86db38b1b3c9d259b78" - name: sv806.zip + standalone_path: "sv806.zip" required: false category: bios_zip system: arcade @@ -30164,6 +31466,7 @@ files: sha1: "3f16d5513ad35692488ae7d864f660e76c6e8ed3" - name: sw1000xg.zip + standalone_path: "sw1000xg.zip" required: false category: bios_zip systems: @@ -30221,6 +31524,7 @@ files: sha1: "46a7a7225cd7e1818ba551325d2af5ac1bf5b2bf" - name: swp30.zip + standalone_path: "swp30.zip" required: false category: bios_zip systems: @@ -30237,6 +31541,7 @@ files: sha1: "ab3aeacc7a6261cd77019d2f3febd2c21986bf46" - name: swtpc8212_device.zip + standalone_path: "swtpc8212_device.zip" required: false category: bios_zip systems: @@ -30283,6 +31588,7 @@ files: sha1: "813d2e85ddb258c5b032b959e695ad33200cbcc4" - name: sx1541.zip + standalone_path: "sx1541.zip" required: false category: bios_zip system: arcade @@ -30311,6 +31617,7 @@ files: sha1: "8e0547430135ba462525c224e76356bd3d430f11" - name: sys68k_cpu1.zip + standalone_path: "sys68k_cpu1.zip" required: false category: bios_zip system: arcade @@ -30341,6 +31648,7 @@ files: sha1: "1e24530a6d5dc4fb77fde67acae08d371e59fc0f" - name: sys68k_cpu20.zip + standalone_path: "sys68k_cpu20.zip" required: false category: bios_zip system: arcade @@ -30367,6 +31675,7 @@ files: sha1: "49b272184a04570b09004de71fae0ed0d1bf5929" - name: sys68k_cpu21.zip + standalone_path: "sys68k_cpu21.zip" required: false category: bios_zip system: arcade @@ -30393,6 +31702,7 @@ files: sha1: "49b272184a04570b09004de71fae0ed0d1bf5929" - name: sys68k_cpu21a.zip + standalone_path: "sys68k_cpu21a.zip" required: false category: bios_zip system: arcade @@ -30419,6 +31729,7 @@ files: sha1: "49b272184a04570b09004de71fae0ed0d1bf5929" - name: sys68k_cpu21b.zip + standalone_path: "sys68k_cpu21b.zip" required: false category: bios_zip system: arcade @@ -30445,6 +31756,7 @@ files: sha1: "49b272184a04570b09004de71fae0ed0d1bf5929" - name: sys68k_cpu21s.zip + standalone_path: "sys68k_cpu21s.zip" required: false category: bios_zip system: arcade @@ -30471,6 +31783,7 @@ files: sha1: "49b272184a04570b09004de71fae0ed0d1bf5929" - name: sys68k_cpu21ya.zip + standalone_path: "sys68k_cpu21ya.zip" required: false category: bios_zip system: arcade @@ -30497,6 +31810,7 @@ files: sha1: "49b272184a04570b09004de71fae0ed0d1bf5929" - name: sys68k_cpu21yb.zip + standalone_path: "sys68k_cpu21yb.zip" required: false category: bios_zip system: arcade @@ -30523,6 +31837,7 @@ files: sha1: "49b272184a04570b09004de71fae0ed0d1bf5929" - name: sys68k_cpu30.zip + standalone_path: "sys68k_cpu30.zip" required: false category: bios_zip system: arcade @@ -30553,6 +31868,7 @@ files: sha1: "651dfc2f9a865fc6adf49dad90f9e705f2889919" - name: sys68k_cpu30be.zip + standalone_path: "sys68k_cpu30be.zip" required: false category: bios_zip system: arcade @@ -30583,6 +31899,7 @@ files: sha1: "651dfc2f9a865fc6adf49dad90f9e705f2889919" - name: sys68k_cpu30x.zip + standalone_path: "sys68k_cpu30x.zip" required: false category: bios_zip system: arcade @@ -30613,6 +31930,7 @@ files: sha1: "651dfc2f9a865fc6adf49dad90f9e705f2889919" - name: sys68k_cpu30xa.zip + standalone_path: "sys68k_cpu30xa.zip" required: false category: bios_zip system: arcade @@ -30643,6 +31961,7 @@ files: sha1: "651dfc2f9a865fc6adf49dad90f9e705f2889919" - name: sys68k_cpu30za.zip + standalone_path: "sys68k_cpu30za.zip" required: false category: bios_zip system: arcade @@ -30673,6 +31992,7 @@ files: sha1: "651dfc2f9a865fc6adf49dad90f9e705f2889919" - name: sys68k_cpu33.zip + standalone_path: "sys68k_cpu33.zip" required: false category: bios_zip system: arcade @@ -30695,6 +32015,7 @@ files: sha1: "651dfc2f9a865fc6adf49dad90f9e705f2889919" - name: sys68k_iscsi1.zip + standalone_path: "sys68k_iscsi1.zip" required: false category: bios_zip system: arcade @@ -30725,6 +32046,7 @@ files: sha1: "074085ef96e1fe2a551938bdeee6a9cab40ff09c" - name: sys68k_isio1.zip + standalone_path: "sys68k_isio1.zip" required: false category: bios_zip system: arcade @@ -30743,6 +32065,7 @@ files: sha1: "215f7ff90d9dbe2bea54510e3722fb33d4e54193" - name: t5182.zip + standalone_path: "t5182.zip" required: false category: bios_zip system: arcade @@ -30756,6 +32079,7 @@ files: sha1: "a1c9e1ac293f107f69cc5788cf6abc3db1646e33" - name: tanbus_ra32krom.zip + standalone_path: "tanbus_ra32krom.zip" required: false category: bios_zip system: arcade @@ -30782,6 +32106,7 @@ files: sha1: "5e49edda4b550506aca70d1f7e7de7a352f0359f" - name: tanbus_tandos.zip + standalone_path: "tanbus_tandos.zip" required: false category: bios_zip system: arcade @@ -30802,6 +32127,7 @@ files: sha1: "b1e42cbf7197e693073d2578561803ea4c8efa8c" - name: tanbus_tanex.zip + standalone_path: "tanbus_tanex.zip" required: false category: bios_zip system: arcade @@ -30856,6 +32182,7 @@ files: sha1: "93d205ffb07a339f801b9aa9469e069de321c41c" - name: tanbus_vid8082.zip + standalone_path: "tanbus_vid8082.zip" required: false category: bios_zip system: arcade @@ -30870,6 +32197,7 @@ files: sha1: "1db8b055306067eb62940c0e9e63d97a2fab20f9" - name: tandberg_tdv2100_disp_logic.zip + standalone_path: "tandberg_tdv2100_disp_logic.zip" required: false category: bios_zip system: arcade @@ -30900,6 +32228,7 @@ files: sha1: "014d524d977927c140237c47e8ba692c1a89397a" - name: tandberg_tdv2100_keyboard.zip + standalone_path: "tandberg_tdv2100_keyboard.zip" required: false category: bios_zip system: arcade @@ -30918,6 +32247,7 @@ files: sha1: "a8985ae2c90f8e7361c3e4418314925b17e72b10" - name: tandy_1000_graphics.zip + standalone_path: "tandy_1000_graphics.zip" required: false category: bios_zip system: arcade @@ -30932,6 +32262,7 @@ files: sha1: "b63da2a656b6c0a8a32f2be8bdcb51aed983a450" - name: tandy_1000x_graphics.zip + standalone_path: "tandy_1000x_graphics.zip" required: false category: bios_zip system: arcade @@ -30946,6 +32277,7 @@ files: sha1: "b63da2a656b6c0a8a32f2be8bdcb51aed983a450" - name: tdl12.zip + standalone_path: "tdl12.zip" required: false category: bios_zip systems: @@ -30962,6 +32294,7 @@ files: sha1: "1cf0bf8702747ff3047691d2b661bb08d40754f0" - name: technica.zip + standalone_path: "technica.zip" required: false category: bios_zip system: arcade @@ -30977,6 +32310,7 @@ files: bad_dump: true - name: tek410x_kbd.zip + standalone_path: "tek410x_kbd.zip" required: false category: bios_zip system: arcade @@ -30991,6 +32325,7 @@ files: sha1: "165ffc2c0775c1a3c2cc3ec86fb05adc8e8bb3eb" - name: tek_msu_fdc.zip + standalone_path: "tek_msu_fdc.zip" required: false category: bios_zip system: arcade @@ -31005,6 +32340,7 @@ files: sha1: "b29b3705692d50f15f7e8bbba12a24c69817d52e" - name: teletex800.zip + standalone_path: "teletex800.zip" required: false category: bios_zip system: arcade @@ -31018,6 +32354,7 @@ files: sha1: "4911332709a8dcda12e72bcdf7a0acd58d65cbfd" - name: tetriskr_cga.zip + standalone_path: "tetriskr_cga.zip" required: false category: bios_zip system: arcade @@ -31063,6 +32400,7 @@ files: sha1: "14dfd3dbd51f8bd6f3290293b8ea1c165e8cf7fd" - name: tgui9680.zip + standalone_path: "tgui9680.zip" required: false category: bios_zip system: arcade @@ -31077,6 +32415,7 @@ files: sha1: "67896a854d43a575037613b3506aea6dae5d6a19" - name: ti99_arcturus.zip + standalone_path: "ti99_arcturus.zip" required: false category: bios_zip systems: @@ -31101,6 +32440,7 @@ files: sha1: "65850c57e9480a5d8bdd852692f18d0162ca1406" - name: ti99_bwg.zip + standalone_path: "ti99_bwg.zip" required: false category: bios_zip systems: @@ -31117,6 +32457,7 @@ files: sha1: "6ad77033ed268f986d9a5439e65f7d391c4b7651" - name: ti99_ccdcc.zip + standalone_path: "ti99_ccdcc.zip" required: false category: bios_zip systems: @@ -31137,6 +32478,7 @@ files: sha1: "26f8096ae60f3839902b4e8764c5fde283ad4ba2" - name: ti99_ccfdc.zip + standalone_path: "ti99_ccfdc.zip" required: false category: bios_zip systems: @@ -31157,6 +32499,7 @@ files: sha1: "7744f777b51eedf614f766576bbc3f8c2c2e0042" - name: ti99_ddcc1.zip + standalone_path: "ti99_ddcc1.zip" required: false category: bios_zip systems: @@ -31173,6 +32516,7 @@ files: sha1: "17af3130d3631b1bc1aa4d7e32a1b1feb66bbfb6" - name: ti99_evpc.zip + standalone_path: "ti99_evpc.zip" required: false category: bios_zip systems: @@ -31189,6 +32533,7 @@ files: sha1: "6e8060f86e3bb9c36f244d88825e3fe237bfe9a9" - name: ti99_fdc.zip + standalone_path: "ti99_fdc.zip" required: false category: bios_zip systems: @@ -31209,6 +32554,7 @@ files: sha1: "3646c3bcd2dce16b918ee01ea65312f36ae811d2" - name: ti99_gkracker.zip + standalone_path: "ti99_gkracker.zip" required: false category: bios_zip systems: @@ -31225,6 +32571,7 @@ files: sha1: "a3bd5257c63e190800921b52dbe3ffa91ad91113" - name: ti99_hfdc.zip + standalone_path: "ti99_hfdc.zip" required: false category: bios_zip systems: @@ -31241,6 +32588,7 @@ files: sha1: "11df2ecef51de6f543e4eaf8b2529d3e65d0bd59" - name: ti99_myarcmem.zip + standalone_path: "ti99_myarcmem.zip" required: false category: bios_zip systems: @@ -31257,6 +32605,7 @@ files: sha1: "4dc7fdfa46842957bcbb0cf2c37764e4bb6d877a" - name: ti99_pcode.zip + standalone_path: "ti99_pcode.zip" required: false category: bios_zip systems: @@ -31308,6 +32657,7 @@ files: sha1: "24e2608179921aef312cdee6f455e3f46deb30d0" - name: ti99_rs232.zip + standalone_path: "ti99_rs232.zip" required: false category: bios_zip systems: @@ -31324,6 +32674,7 @@ files: sha1: "ee609a18a21f1a3ddab334e8798d5f2a0fcefa91" - name: ti99_thermal.zip + standalone_path: "ti99_thermal.zip" required: false category: bios_zip systems: @@ -31340,6 +32691,7 @@ files: sha1: "2f923e59a3a52b3645e8d26e11a697f320c6d4cb" - name: ti99_tipi.zip + standalone_path: "ti99_tipi.zip" required: false category: bios_zip systems: @@ -31366,6 +32718,7 @@ files: sha1: "99986d6ef89ab3eeba08eb6593193e99292458fb" - name: ti99_whtscsi.zip + standalone_path: "ti99_whtscsi.zip" required: false category: bios_zip systems: @@ -31382,6 +32735,7 @@ files: sha1: "f8d8861863e6a17042428e94967fd4ffc4b9d1de" - name: ti_hx5102.zip + standalone_path: "ti_hx5102.zip" required: false category: bios_zip system: arcade @@ -31400,6 +32754,7 @@ files: sha1: "2f1d01378943436f0abd5b20710f6c8c175fde13" - name: tiki100_8088.zip + standalone_path: "tiki100_8088.zip" required: false category: bios_zip system: arcade @@ -31425,6 +32780,7 @@ files: sha1: "b6d4a7a3eb29d97971443b8a31ec5a4ce5ced0d8" - name: tim011_kbd.zip + standalone_path: "tim011_kbd.zip" required: false category: bios_zip system: arcade @@ -31438,6 +32794,7 @@ files: sha1: "d6d505271d91df4e079ec3c0a4abbe75ae9d649b" - name: tk02.zip + standalone_path: "tk02.zip" required: false category: bios_zip system: arcade @@ -31452,6 +32809,7 @@ files: sha1: "cd57e630371b4d0314e3f15693753fb195c7257d" - name: tms320c30.zip + standalone_path: "tms320c30.zip" required: false category: bios_zip system: arcade @@ -31467,6 +32825,7 @@ files: bad_dump: true - name: tms320c31.zip + standalone_path: "tms320c31.zip" required: false category: bios_zip system: arcade @@ -31482,6 +32841,7 @@ files: bad_dump: true - name: tms320c32.zip + standalone_path: "tms320c32.zip" required: false category: bios_zip system: arcade @@ -31497,6 +32857,7 @@ files: bad_dump: true - name: tms320vc33.zip + standalone_path: "tms320vc33.zip" required: false category: bios_zip source_ref: "upstream src/devices/cpu/tms320c3x/tms320c3x.cpp:266-269" @@ -31511,6 +32872,7 @@ files: bad_dump: true - name: tp880v.zip + standalone_path: "tp880v.zip" required: false category: bios_zip system: arcade @@ -31526,6 +32888,7 @@ files: sha1: "724f54573b1b0c79f20250fdb6434bb2248c5e04" - name: tp881v.zip + standalone_path: "tp881v.zip" required: false category: bios_zip system: arcade @@ -31546,6 +32909,7 @@ files: sha1: "8e5bfd427c0bdea4ab350333fd5a814712014302" - name: trio64dx_pci.zip + standalone_path: "trio64dx_pci.zip" required: false category: bios_zip systems: @@ -31578,6 +32942,7 @@ files: sha1: "e652dd2cec49d5edf3cb207e410233963efa22b8" - name: trs80m2kb.zip + standalone_path: "trs80m2kb.zip" required: false category: bios_zip system: arcade @@ -31592,6 +32957,7 @@ files: sha1: "c944cb9be062c9eed4f20a5b2568c8019dc71e27" - name: tsvme104.zip + standalone_path: "tsvme104.zip" required: false category: bios_zip system: arcade @@ -31611,6 +32977,7 @@ files: sha1: "3b9834731f2b1a47f8c840c5e47d9fc4a8769d42" - name: turbogx.zip + standalone_path: "turbogx.zip" required: false category: bios_zip system: arcade @@ -31625,6 +32992,7 @@ files: sha1: "e4a51d78e199cd57f2fcb9d45b25dfae2bd537e4" - name: turbogxp.zip + standalone_path: "turbogxp.zip" required: false category: bios_zip system: arcade @@ -31639,6 +33007,7 @@ files: sha1: "721fc378d4b952b5cbb271e16bd67bc02439efdc" - name: tv950kb.zip + standalone_path: "tv950kb.zip" required: false category: bios_zip system: arcade @@ -31653,6 +33022,7 @@ files: sha1: "99e73e9c74b10055733e89b92adbc5bf7f4ff338" - name: tv955kb.zip + standalone_path: "tv955kb.zip" required: false category: bios_zip system: arcade @@ -31667,6 +33037,7 @@ files: sha1: "0b62003ab7931822f1bcac8370517c685849f62c" - name: tvc_hbf.zip + standalone_path: "tvc_hbf.zip" required: false category: bios_zip system: arcade @@ -31697,6 +33068,7 @@ files: sha1: "2fa44ad089a51f453b580e0b13e3be96a0f14649" - name: tvga9000.zip + standalone_path: "tvga9000.zip" required: false category: bios_zip systems: @@ -31720,6 +33092,7 @@ files: sha1: "9cff3cb86a85dcbd34234bc4fd1dd0011f3d48fd" - name: ubpnic.zip + standalone_path: "ubpnic.zip" required: false category: bios_zip systems: @@ -31737,6 +33110,7 @@ files: sha1: "e0effcf33a25954d990d0d01d5c0ac009a1f282d" - name: ultra12f.zip + standalone_path: "ultra12f.zip" required: false category: bios_zip systems: @@ -31770,6 +33144,7 @@ files: sha1: "48d6e65001a262b3e99d373fa59e0672c5ec4284" - name: ultra12f32.zip + standalone_path: "ultra12f32.zip" required: false category: bios_zip systems: @@ -31791,6 +33166,7 @@ files: sha1: "110e724b4116fc2cbd050d9f2e541d2366fd9f4c" - name: ultra14f.zip + standalone_path: "ultra14f.zip" required: false category: bios_zip systems: @@ -31812,6 +33188,7 @@ files: sha1: "9c1539f8473f8330be323e728e7aabccc77542d0" - name: ultra24f.zip + standalone_path: "ultra24f.zip" required: false category: bios_zip systems: @@ -31841,6 +33218,7 @@ files: sha1: "052602e4788b7364670f7c0b5fe0bb0eacc4d9ac" - name: umc6650.zip + standalone_path: "umc6650.zip" required: false category: bios_zip system: arcade @@ -31855,6 +33233,7 @@ files: sha1: "f94805457976d60b91e8df18f9f49cccec77be78" - name: uniap2ti.zip + standalone_path: "uniap2ti.zip" required: false category: bios_zip system: arcade @@ -31869,6 +33248,7 @@ files: sha1: "220cc21d86f1ab63a301ae7a9c5ff0f3f6cddb70" - name: upd7220.zip + standalone_path: "upd7220.zip" required: false category: bios_zip systems: @@ -31886,6 +33266,7 @@ files: sha1: "e154b3106a80c9c98d9f2ee18efcd7f4b4aa7d49" - name: uts_400kbd.zip + standalone_path: "uts_400kbd.zip" required: false category: bios_zip system: arcade @@ -31900,6 +33281,7 @@ files: sha1: "84081e108aa5801047851b435fd4b043922b2f6e" - name: uts_extw.zip + standalone_path: "uts_extw.zip" required: false category: bios_zip system: arcade @@ -31914,6 +33296,7 @@ files: sha1: "a6486576525f7eec617fd7f9db469063f8c357fc" - name: v102_kbd.zip + standalone_path: "v102_kbd.zip" required: false category: bios_zip system: arcade @@ -31928,6 +33311,7 @@ files: sha1: "b26ebdde63ec0e94c08780285def39a282e128b3" - name: v50_kbd.zip + standalone_path: "v50_kbd.zip" required: false category: bios_zip system: arcade @@ -31941,6 +33325,7 @@ files: sha1: "5224887097004894ab9f4876f3217f3da08801da" - name: v550_kbd.zip + standalone_path: "v550_kbd.zip" required: false category: bios_zip system: arcade @@ -31955,6 +33340,7 @@ files: sha1: "2d88202d0548e934800f07667c8d13a3762b12fa" - name: vanta.zip + standalone_path: "vanta.zip" required: false category: bios_zip system: arcade @@ -31979,6 +33365,7 @@ files: sha1: "b28a56bcf466fcd9308541acaa1c7c94f493149a" - name: vector4_kbd.zip + standalone_path: "vector4_kbd.zip" required: false category: bios_zip system: arcade @@ -31992,6 +33379,7 @@ files: sha1: "0023f0639e2f1d9e8860c6c4244e25fd8bf82331" - name: vic1515.zip + standalone_path: "vic1515.zip" required: false category: bios_zip system: arcade @@ -32006,6 +33394,7 @@ files: sha1: "035c23dc83923eea34feea260445356a909fbd98" - name: vic1520.zip + standalone_path: "vic1520.zip" required: false category: bios_zip system: arcade @@ -32026,6 +33415,7 @@ files: sha1: "74c15b2cc1f7632bffa37439609cbdb50b82ea92" - name: vic20_fe3.zip + standalone_path: "vic20_fe3.zip" required: false category: bios_zip system: arcade @@ -32043,6 +33433,7 @@ files: sha1: "e64d69870b757a409abeb5f19e34866eef37ab18" - name: vic20_videopak.zip + standalone_path: "vic20_videopak.zip" required: false category: bios_zip system: arcade @@ -32057,6 +33448,7 @@ files: bad_dump: true - name: victor9k_fdc.zip + standalone_path: "victor9k_fdc.zip" required: false category: bios_zip system: arcade @@ -32074,6 +33466,7 @@ files: sha1: "6eeff3d2063ae2d97452101aa61e27ef83a467e5" - name: victor9k_kb.zip + standalone_path: "victor9k_kb.zip" required: false category: bios_zip system: arcade @@ -32088,6 +33481,7 @@ files: sha1: "61d92ba90f98f8978bbd9303c1ac3134cde8cdcb" - name: videnh2.zip + standalone_path: "videnh2.zip" required: false category: bios_zip system: arcade @@ -32102,6 +33496,7 @@ files: sha1: "91f3e4a56382aea91d9197f06550e42fcfbcd1bf" - name: virge_pci.zip + standalone_path: "virge_pci.zip" required: false category: bios_zip systems: @@ -32123,6 +33518,7 @@ files: sha1: "e885371816d3237f7badd57ccd602cd863c9c9f8" - name: virgedx_pci.zip + standalone_path: "virgedx_pci.zip" required: false category: bios_zip systems: @@ -32149,6 +33545,7 @@ files: sha1: "9a7f58fab7811342a00bbc76837b4f9015913ddb" - name: virgevx_pci.zip + standalone_path: "virgevx_pci.zip" required: false category: bios_zip systems: @@ -32165,6 +33562,7 @@ files: sha1: "fdab43f15da1d66bca286583f9da86873f3e22de" - name: vision864.zip + standalone_path: "vision864.zip" required: false category: bios_zip systems: @@ -32182,6 +33580,7 @@ files: sha1: "340a64402958d2ee734d929dfce147d9afcf23f4" - name: vision964.zip + standalone_path: "vision964.zip" required: false category: bios_zip systems: @@ -32199,6 +33598,7 @@ files: sha1: "004e2432c4783f1539a7989e7d9ee422df09e695" - name: vision968.zip + standalone_path: "vision968.zip" required: false category: bios_zip systems: @@ -32226,6 +33626,7 @@ files: sha1: "236829f1e6065a2f0ebee91f71891d8402f0ab5a" - name: voicebox.zip + standalone_path: "voicebox.zip" required: false category: bios_zip system: arcade @@ -32239,6 +33640,7 @@ files: sha1: "e60fcb5fa16ff3f3b69d36c7a6e955744d3feafc" - name: voodoo_3000_x86.zip + standalone_path: "voodoo_3000_x86.zip" required: false category: bios_zip source_ref: "upstream src/devices/video/voodoo_pci.cpp:339-347" @@ -32263,6 +33665,7 @@ files: sha1: "298b305c38bda9d5848894dfd6aabcc5af8c61bf" - name: votraxtnt.zip + standalone_path: "votraxtnt.zip" required: false category: bios_zip systems: @@ -32298,6 +33701,7 @@ files: sha1: "af83b9e84f44c126b24ee754a22e34ca992a8d3d" - name: votrsc01.zip + standalone_path: "votrsc01.zip" required: false category: bios_zip system: arcade @@ -32311,6 +33715,7 @@ files: sha1: "268b5884dce04e49e2376df3e2dc82e852b708c1" - name: votrsc01a.zip + standalone_path: "votrsc01a.zip" required: false category: bios_zip systems: @@ -32345,6 +33750,7 @@ files: sha1: "1d6da90b1807a01b5e186ef08476119a862b5e6d" - name: vp700.zip + standalone_path: "vp700.zip" required: false category: bios_zip system: arcade @@ -32359,6 +33765,7 @@ files: sha1: "8fa88740cae82d8d62ea34891a657d3ca1fb732a" - name: vtech_fdc.zip + standalone_path: "vtech_fdc.zip" required: false category: bios_zip systems: @@ -32375,6 +33782,7 @@ files: sha1: "59d1cbcfa6c5e1906a32704fbf0d9670f0d1fd8b" - name: vtech_rs232.zip + standalone_path: "vtech_rs232.zip" required: false category: bios_zip systems: @@ -32397,6 +33805,7 @@ files: sha1: "28e00c7ff33143a948308330859bee54b474e114" - name: vtech_rtty.zip + standalone_path: "vtech_rtty.zip" required: false category: bios_zip systems: @@ -32413,6 +33822,7 @@ files: sha1: "de737ef0e0b582b3102da473836af1fa159a2e78" - name: vtech_sdloader.zip + standalone_path: "vtech_sdloader.zip" required: false category: bios_zip systems: @@ -32439,6 +33849,7 @@ files: sha1: "d4f8fa0c7a70984334be3e5c831017cfc53683b2" - name: vtech_wordpro.zip + standalone_path: "vtech_wordpro.zip" required: false category: bios_zip systems: @@ -32462,6 +33873,7 @@ files: sha1: "b4de50f943243f18a2bfabef354b76d77178c189" - name: wangpc_lic.zip + standalone_path: "wangpc_lic.zip" required: false category: bios_zip system: arcade @@ -32476,6 +33888,7 @@ files: sha1: "81e52e70e0c6e34715119b121ec19a7758cd6772" - name: wangpc_rtc.zip + standalone_path: "wangpc_rtc.zip" required: false category: bios_zip system: arcade @@ -32490,6 +33903,7 @@ files: sha1: "6b3f0d787d014b1fd3925812c905ddb63c5055f1" - name: wangpc_wdc.zip + standalone_path: "wangpc_wdc.zip" required: false category: bios_zip system: arcade @@ -32508,6 +33922,7 @@ files: sha1: "060c576d70069ece2d0dbce86ffc448df2b169e7" - name: wangpckb.zip + standalone_path: "wangpckb.zip" required: false category: bios_zip system: arcade @@ -32521,6 +33936,7 @@ files: sha1: "2bb34a1de2d94b2885d9e8fcd4964296f6276c5c" - name: wd1002a_wx1.zip + standalone_path: "wd1002a_wx1.zip" required: false category: bios_zip systems: @@ -32537,6 +33953,7 @@ files: sha1: "3bd29538832d3084cbddeec92593988772755283" - name: wd1007a.zip + standalone_path: "wd1007a.zip" required: false category: bios_zip systems: @@ -32553,6 +33970,7 @@ files: sha1: "5ff6a70b1b44962654d02f85916c1b09bc4ebc96" - name: wd90c00_jk.zip + standalone_path: "wd90c00_jk.zip" required: false category: bios_zip systems: @@ -32592,6 +34010,7 @@ files: bad_dump: true - name: wd90c11_lr.zip + standalone_path: "wd90c11_lr.zip" required: false category: bios_zip systems: @@ -32610,6 +34029,7 @@ files: sha1: "10fd263ab0187d8960d4cb2954254732ac29472f" - name: wd90c30_lr.zip + standalone_path: "wd90c30_lr.zip" required: false category: bios_zip systems: @@ -32638,6 +34058,7 @@ files: sha1: "902418504a446f0a484fd3da6f65d3cff3987280" - name: wd90c31_lr.zip + standalone_path: "wd90c31_lr.zip" required: false category: bios_zip systems: @@ -32661,6 +34082,7 @@ files: sha1: "7f236d6acb34d07480584d51f6bb57836ff262c4" - name: wd90c31a_lr.zip + standalone_path: "wd90c31a_lr.zip" required: false category: bios_zip systems: @@ -32684,6 +34106,7 @@ files: sha1: "52ed7b8301ec5ebab0d87bab8cddd9cc8612e2ab" - name: wd90c31a_zs.zip + standalone_path: "wd90c31a_zs.zip" required: false category: bios_zip systems: @@ -32701,6 +34124,7 @@ files: sha1: "52cefcc9a1b7374c7414bb93a7805207ba5b7fe3" - name: wd90c33_zz.zip + standalone_path: "wd90c33_zz.zip" required: false category: bios_zip systems: @@ -32718,6 +34142,7 @@ files: sha1: "0f93213ed439059d23e0793478793ffd6188ce12" - name: wd90c90_jk.zip + standalone_path: "wd90c90_jk.zip" required: false category: bios_zip systems: @@ -32736,6 +34161,7 @@ files: sha1: "578ee0e8f9a5e56df6c05386978d0f41c638ddcf" - name: wd9710_pci.zip + standalone_path: "wd9710_pci.zip" required: false category: bios_zip systems: @@ -32753,6 +34179,7 @@ files: sha1: "b5dbb28d60adf53c711ec16bc45eab102e40b6a2" - name: wdxt_gen.zip + standalone_path: "wdxt_gen.zip" required: false category: bios_zip systems: @@ -32774,6 +34201,7 @@ files: sha1: "8c22bd664177eb6126f3011eda8c5655fffe0ef2" - name: wg130.zip + standalone_path: "wg130.zip" required: false category: bios_zip system: arcade @@ -32787,6 +34215,7 @@ files: sha1: "93ebe213ea7a085c67d88974ed39ac3e9bf8059b" - name: wyse700.zip + standalone_path: "wyse700.zip" required: false category: bios_zip systems: @@ -32807,6 +34236,7 @@ files: sha1: "1beeb133c5e39eee9914bdc5924039d70b5edcad" - name: x68k_cz6bs1.zip + standalone_path: "x68k_cz6bs1.zip" required: false category: bios_zip system: arcade @@ -32821,6 +34251,7 @@ files: sha1: "49616c09a8986ffe6a12ad600febe512f7ba8ae4" - name: x820iikb.zip + standalone_path: "x820iikb.zip" required: false category: bios_zip system: arcade @@ -32835,6 +34266,7 @@ files: sha1: "3f05959f54a558b273567b1b4f0c7cdf46d8d9bf" - name: x820kb.zip + standalone_path: "x820kb.zip" required: false category: bios_zip system: arcade @@ -32848,6 +34280,7 @@ files: sha1: "3f05959f54a558b273567b1b4f0c7cdf46d8d9bf" - name: xerox820_16_8.zip + standalone_path: "xerox820_16_8.zip" required: false category: bios_zip system: arcade @@ -32862,6 +34295,7 @@ files: sha1: "a5f20c74fc53f9d695d8894534ab69a39e2c38d8" - name: xerox820_emii_flpy5.zip + standalone_path: "xerox820_emii_flpy5.zip" required: false category: bios_zip system: arcade @@ -32880,6 +34314,7 @@ files: sha1: "54d205e5a7ed80feb7cd06eddc863110fc655dde" - name: xerox820_emii_rgd5.zip + standalone_path: "xerox820_emii_rgd5.zip" required: false category: bios_zip system: arcade @@ -32898,6 +34333,7 @@ files: sha1: "54d205e5a7ed80feb7cd06eddc863110fc655dde" - name: xetec_c5181.zip + standalone_path: "xetec_c5181.zip" required: false category: bios_zip system: arcade @@ -32912,6 +34348,7 @@ files: sha1: "431c57e876c7432c07469c461e7438678ebb0043" - name: xt446.zip + standalone_path: "xt446.zip" required: false category: bios_zip system: arcade @@ -32950,6 +34387,7 @@ files: sha1: "bdca8c5158f452f2b5535c7d658c9b22c6d66048" - name: xtide.zip + standalone_path: "xtide.zip" required: false category: bios_zip systems: @@ -33088,6 +34526,7 @@ files: sha1: "c0053710ebac15284e740889967d73a6657734c7" - name: ym2423.zip + standalone_path: "ym2423.zip" required: false category: bios_zip source_ref: "upstream src/devices/sound/ymopl.cpp:266-272" @@ -33100,6 +34539,7 @@ files: sha1: "59c51918f02891d6a0e917f7ebc27e42f7eadd15" - name: ymf281.zip + standalone_path: "ymf281.zip" required: false category: bios_zip source_ref: "upstream src/devices/sound/ymopl.cpp:314-320" @@ -33112,6 +34552,7 @@ files: sha1: "5242d7b9c677c48e156ba5753db1a73db627a1a9" - name: z8671.zip + standalone_path: "z8671.zip" required: false category: bios_zip system: arcade @@ -33125,6 +34566,7 @@ files: sha1: "290a24c77debd2e280fe31380287838c5fb7cabd" - name: z8682.zip + standalone_path: "z8682.zip" required: false category: bios_zip system: arcade @@ -33139,6 +34581,7 @@ files: bad_dump: true - name: zip100_ide.zip + standalone_path: "zip100_ide.zip" required: false category: bios_zip systems: @@ -33166,6 +34609,7 @@ files: sha1: "b8df2a733838db5116982a7295484b77b272287c" - name: zorba_kbd.zip + standalone_path: "zorba_kbd.zip" required: false category: bios_zip system: arcade @@ -33179,6 +34623,7 @@ files: sha1: "4b6fca9379d5199d1347ad1187cbfdebfc4c73e7" - name: zxbus_neogs.zip + standalone_path: "zxbus_neogs.zip" required: false category: bios_zip systems: diff --git a/emulators/psxmame.yml b/emulators/psxmame.yml index 31a2bb042..781e0e0fd 100644 --- a/emulators/psxmame.yml +++ b/emulators/psxmame.yml @@ -16,6 +16,10 @@ cores: - psxmame systems: - arcade +standalone_pools: + rompath: "" + "-rompath": "" + "-rp": "" notes: | MAME build reduced to the PlayStation based arcade boards, with the ZiNc @@ -31,6 +35,9 @@ notes: | zn.c, plus taitogn.c, ksys573.c and konamigv.c. emulatorlauncher runs `mame.exe -skip_gameinfo -rompath /psxmame/bios; ... ` (emulatorLauncher Generators/PSXMame.Generator.cs:20-110). + Each directory of the semicolon-separated rompath is tried in turn and a + set is read at its top (src/emu/emuopts.c:36, src/emu/fileio.c:245-249, + 816-835). A ROM missing from its set is fatal unless it is optional or has no good dump (src/emu/romload.c:427-449, src/emu/romload.c:594). Of a set with @@ -40,6 +47,7 @@ notes: | files: - name: "cpzn1.zip" + path: "cpzn1.zip" system: arcade required: true category: bios_zip @@ -52,6 +60,7 @@ files: sha1: "486d92ff6c7f1e54f8e0ef41cd9116eca0e10e1a" - name: "cpzn2.zip" + path: "cpzn2.zip" system: arcade required: true category: bios_zip @@ -64,6 +73,7 @@ files: sha1: "66e7e1d4e426466b8f48a2ba055a91b475569504" - name: "atpsx.zip" + path: "atpsx.zip" system: arcade required: true category: bios_zip @@ -76,6 +86,7 @@ files: sha1: "815488d8563c85f97fbc3384ff21f08e4c88b7b7" - name: "acpsx.zip" + path: "acpsx.zip" system: arcade required: true category: bios_zip @@ -88,6 +99,7 @@ files: sha1: "7ee83d317190bb1cef2f8f01c81eaaae47150ebb" - name: "tps.zip" + path: "tps.zip" system: arcade required: true category: bios_zip @@ -100,6 +112,7 @@ files: sha1: "03eb2febfab3fcde716defff291babd9392de965" - name: "vspsx.zip" + path: "vspsx.zip" system: arcade required: true category: bios_zip @@ -112,6 +125,7 @@ files: sha1: "8f59314c1093446b9bcb06d232244da6df78e206" - name: "taitofx1.zip" + path: "taitofx1.zip" system: arcade required: true category: bios_zip @@ -124,6 +138,7 @@ files: sha1: "e18907cf8c6ba54d96edba0a9a00487a90219e0d" - name: "psarc95.zip" + path: "psarc95.zip" system: arcade required: true category: bios_zip @@ -136,6 +151,7 @@ files: sha1: "cd68532967a25f476a6d73473ec6b6f4df2e1689" - name: "atluspsx.zip" + path: "atluspsx.zip" system: arcade required: true category: bios_zip @@ -148,6 +164,7 @@ files: sha1: "9511d24bfe25eb180fb2db0835b131cb4a12730e" - name: "taitogn.zip" + path: "taitogn.zip" system: arcade required: true category: bios_zip @@ -171,6 +188,7 @@ files: sha1: "f1b10846a8423d9fe021191c5876190857c3d2a4" - name: "sys573.zip" + path: "sys573.zip" system: arcade required: true category: bios_zip @@ -183,6 +201,7 @@ files: sha1: "e1284add4aaddd5337bd7f4e27614460d52b5b48" - name: "konamigv.zip" + path: "konamigv.zip" system: arcade required: true category: bios_zip diff --git a/platforms/retrobat.yml b/platforms/retrobat.yml index c37a16eb3..185be4204 100644 --- a/platforms/retrobat.yml +++ b/platforms/retrobat.yml @@ -4718,16 +4718,26 @@ launchers: \ == \"hbmame\", !string.IsNullOrEmpty(AppConfig[\"bios\"]) && Directory.Exists(AppConfig[\"\ bios\"])" source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:93-96" +- emulator: hbmame + build: standalone + kind: passes_path + names: [] + search_dir: bios/hbmame/samples + passes_to: command line -sp bios/hbmame/samples + fails_when_missing: false + depends_on_option: "messMode == null || messMode.Name == \"mame\" || messMode.Name\ + \ == \"hbmame\", !string.IsNullOrEmpty(samplePath) && Directory.Exists(samplePath)" + source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:30, 101, 106-107" - emulator: mame64 build: standalone kind: passes_path names: [] - search_dir: bios/hbmame/samples when hbmame, else bios/mame/samples - passes_to: command line -sp bios/hbmame/samples when hbmame, else bios/mame/samples + search_dir: bios/mame/samples + passes_to: command line -sp bios/mame/samples fails_when_missing: false depends_on_option: "messMode == null || messMode.Name == \"mame\" || messMode.Name\ \ == \"hbmame\", !string.IsNullOrEmpty(samplePath) && Directory.Exists(samplePath)" - source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:101, 106-107" + source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:30, 101, 106-107" - emulator: mame64 build: standalone kind: passes_path @@ -4764,16 +4774,26 @@ launchers: depends_on_option: "messMode == null || messMode.Name == \"mame\" || messMode.Name\ \ == \"hbmame\", !string.IsNullOrEmpty(iniPath) && Directory.Exists(iniPath)" source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:74-76, 167-168" +- emulator: hbmame + build: standalone + kind: passes_path + names: [] + search_dir: bios/hbmame/hash + passes_to: command line -hash bios/hbmame/hash + fails_when_missing: false + depends_on_option: "messMode == null || messMode.Name == \"mame\" || messMode.Name\ + \ == \"hbmame\", !string.IsNullOrEmpty(hashPath) && Directory.Exists(hashPath)" + source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:30, 172, 177-178" - emulator: mame64 build: standalone kind: passes_path names: [] - search_dir: bios/hbmame/hash when hbmame, else bios/mame/hash - passes_to: command line -hash bios/hbmame/hash when hbmame, else bios/mame/hash + search_dir: bios/mame/hash + passes_to: command line -hash bios/mame/hash fails_when_missing: false depends_on_option: "messMode == null || messMode.Name == \"mame\" || messMode.Name\ \ == \"hbmame\", !string.IsNullOrEmpty(hashPath) && Directory.Exists(hashPath)" - source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:172, 177-178" + source_ref: "emulatorLauncher/Generators/Mame64.Generator.cs:30, 172, 177-178" - emulator: mame64 build: standalone kind: passes_path diff --git a/scripts/launchers.py b/scripts/launchers.py index 6f1b68dda..4e3c103f4 100644 --- a/scripts/launchers.py +++ b/scripts/launchers.py @@ -341,6 +341,10 @@ INSTALL_TREE = "install" # A folder of neither tree, which no pack and no installer can fill. OUTSIDE_TREE = "outside" Place = tuple[str, str] +# The binding key of a search list standing for the whole layout: the +# directories hold the layout's files themselves (XRoar's ROMs, MAME's sets), +# never its subfolders. +SEARCHED_FILES = "*" _HOME = re.compile(r"^(?:\$\{HOME\}|\$HOME|\$home|~)(?=/|$)") # Flatpak sets XDG_DATA_HOME to ~/.var/app//data inside the sandbox. @@ -443,13 +447,29 @@ def native_systems(config: dict) -> dict[str, str]: return found -def _listed_directories(raw: str) -> list[str] | None: - """The directories of a colon-separated search path, None for one directory. +# How the launcher extractors spell the folder holding the launched game: +# RetroBat's Path.GetDirectoryName(rom) (retrobat_launchers._KNOWN), KNULLI's +# os.path.dirname(rom) and its software list folder (mameGenerator.py:113-116). +GAME_FOLDERS = ("", "", "") - XRoar's rompath is such a list (RetroDECK writes four directories), each - entry a path or a variable spelling one. A Windows drive letter or a - backslash means a single path. + +def _listed_directories(raw: str) -> list[str] | None: + """The directories of a search path, None for one directory. + + XRoar's rompath is a colon-separated list (RetroDECK writes four + directories), each entry a path or a variable spelling one. A Windows + drive letter or a backslash means a single path. MAME splits its search + paths on semicolons whatever the system (src/emu/fileio.cpp:53-58): + RetroBat passes `-rp bios;`, KNULLI `-rompath + ;/userdata/bios/mame;/userdata/bios`. The game's own folder + is no folder a pack fills, so it gives no directory. """ + if ";" in raw: + parts = [p.strip() for p in raw.split(";") if p.strip()] + kept = [p for p in parts if p not in GAME_FOLDERS] + if kept and all(not re.search(r"[\s,<>]", p) for p in kept): + return kept + return None if ":" not in raw or "\\" in raw or re.match(r"^[A-Za-z]:", raw): return None parts = [p.strip() for p in raw.split(":")] @@ -722,7 +742,13 @@ def _bind( one after the other: openMSX's filepool, XRoar's rompath. A file in any of them is read, so the pool gives one: the directory the platform's own list already fills (Batocera's bios/openmsx beside bios/Machines), else - the first of the BIOS tree, else the first a pack can fill. + the first of the BIOS tree, else the first a pack can fill. A list that + already holds the folder the layout's files take without the launcher + keeps them there: KNULLI starts MAME with -rompath + ;/userdata/bios/mame;/userdata/bios, and the sets at the BIOS + root stay. A pool standing for the whole layout holds its files + directly, not its folders (SEARCHED_FILES): MAME reads hash/ and + samples/ through other settings. """ found: dict[str, set[Place]] = {} pooled: dict[str, list[tuple[bool, Place]]] = {} @@ -756,11 +782,14 @@ def _bind( for rest, place in places or [("", (OUTSIDE_TREE, ""))]: found.setdefault(rest, set()).add(place) for sub, entries in pooled.items(): - # The directory the platform's own list fills, else the first of the - # BIOS tree, else the first a pack fills. + # The folder the files already take, else the directory the + # platform's own list fills, else the first of the BIOS tree, else + # the first a pack fills. + unmoved = [p for _held, p in entries if p == (BIOS_TREE, sub)] filled = [p for held, p in entries if held] in_bios = [p for _held, p in entries if p[0] == BIOS_TREE] - found.setdefault(sub, set()).add((filled or in_bios or [p for _h, p in entries])[0]) + chosen = (unmoved or filled or in_bios or [p for _h, p in entries])[0] + found.setdefault(sub or SEARCHED_FILES, set()).add(chosen) return found @@ -850,9 +879,15 @@ def bound_path(path: str, bindings: dict[str, Place]) -> Place | None: The longest subfolder that contains the path wins: a link of kickstarts/ places kickstarts/kick13.rom even when the whole layout is - bound elsewhere. + bound elsewhere. SEARCHED_FILES covers the files at the root of the + layout alone. """ for sub in sorted(bindings, key=len, reverse=True): + if sub == SEARCHED_FILES: + if "/" in path: + continue + root, folder = bindings[sub] + return (root, f"{folder}/{path}" if folder else path) if sub and not path.startswith(sub + "/"): continue rest = path[len(sub) + 1:] if sub else path diff --git a/scripts/scraper/retrobat_launchers.py b/scripts/scraper/retrobat_launchers.py index ce223bec8..5405580c6 100644 --- a/scripts/scraper/retrobat_launchers.py +++ b/scripts/scraper/retrobat_launchers.py @@ -3336,7 +3336,11 @@ def mame(sources: dict[str, Source]) -> list[Record]: raise LauncherPatternMissing(own.path, "MAME folder arguments") records = _covered( own, - [_with_conditions(record, conditions) for record, conditions in found], + [ + split + for record, conditions in found + for split in _per_emulator(own, _with_conditions(record, conditions)) + ], # The bezel artwork folder is read by the launcher, not passed. skip=(_BIOS_GUARD, r"ConfigureBezels\("), ) @@ -3424,6 +3428,42 @@ def xroar(sources: dict[str, Source]) -> list[Record]: return _covered(src, records) +_EMULATOR_BRANCH = re.compile(r"([^\s;<>]+) when (\w+), else ([^\s;<>]+)") + + +def _per_emulator(src: Source, record: Record) -> list[Record]: + """A directory chosen by the emulator the generator runs, one record each. + + Mame64.Generator.cs sets `bool hbmame = emulator == "hbmame";` and passes + `-sp bios/hbmame/samples` for it, bios/mame/samples for mame64. A choice + on any other condition is left as it reads. + """ + rendered = str(record.get("search_dir", "")) + branch = _EMULATOR_BRANCH.fullmatch(rendered) + if branch is None: + return [record] + chosen, flag, default = branch.groups() + declared = re.search(rf'bool {flag} = emulator == "([\w.-]+)";', _code(src)) + if declared is None: + return [record] + ref = str(record["source_ref"]) + if not ref.startswith(src.path + ":"): + raise LauncherPatternMissing(src.path, f"source of the directory choice {rendered!r}") + spans = [ + (int(first), int(last or first)) + for first, _, last in (s.partition("-") for s in ref[len(src.path) + 1:].split(", ")) + ] + spans.append(src.lines(declared.start(), declared.end())) + prefix = str(record["passes_to"]).removesuffix(rendered).strip() + out = [] + for emulator, directory in ((declared.group(1), chosen), (record["emulator"], default)): + split = {k: v for k, v in record.items() if k != "source_ref"} + split.update(emulator=emulator, search_dir=directory, passes_to=f"{prefix} {directory}") + split["source_ref"] = _path_parts(src, *spans) + out.append(split) + return out + + _SYSTEM_BRANCH = re.compile(r'(\S+), or (\S+) when system == "([\w.-]+)"') diff --git a/tests/test_launcher_placement.py b/tests/test_launcher_placement.py index b03bd26d2..0cf499fe6 100644 --- a/tests/test_launcher_placement.py +++ b/tests/test_launcher_placement.py @@ -807,5 +807,57 @@ class DolphinUserDirectory(unittest.TestCase): self.assertEqual(ipl.get("unplaced"), "outside_bios_folder") +class MameSearchPaths(unittest.TestCase): + """MAME reads each semicolon-separated search path in turn + (src/emu/fileio.cpp:53-58, 330-392).""" + + def sets(self, view: dict) -> list[dict]: + return [e for e in view["files"] if e.get("category") == "bios_zip"] + + def test_retrobat_keeps_the_sets_at_the_bios_root(self) -> None: + # -rp bios; (Mame64.Generator.cs:93-96). + view = standalone_view("mame", "retrobat") + sets = self.sets(view) + self.assertGreater(len(sets), 1000) + for entry in sets: + self.assertEqual(entry["standalone_path"], entry["name"]) + self.assertNotIn("unplaced", entry) + (bbc,) = [e for e in view["files"] if e["name"] == "bbc.zip"] + # -sp bios/mame/samples, hbmame's folder being another record + # (Mame64.Generator.cs:30, 101, 106-107). + self.assertEqual(bbc["standalone_path"], "mame/samples/bbc.zip") + + def test_knulli_keeps_the_root_listed_after_bios_mame(self) -> None: + # -rompath ;/userdata/bios/mame;/userdata/bios (mameGenerator.py:116-122). + view = standalone_view("mame", "knulli") + self.assertTrue(all(e["standalone_path"] == e["name"] for e in self.sets(view))) + (bbc,) = [e for e in view["files"] if e["name"] == "bbc.zip"] + self.assertEqual(bbc["standalone_path"], "mame/samples/bbc.zip") + + def test_retropie_moves_the_sets_to_bios_mame(self) -> None: + # rompath $romdir/mame;$romdir/arcade;$biosdir/mame (mame.sh:133). + view = standalone_view("mame", "retropie") + self.assertTrue(all( + e["standalone_path"] == "mame/" + e["name"] for e in self.sets(view) + )) + + def test_retrodeck_reads_samples_in_mame_sa(self) -> None: + # samplepath $bios_path/mame-sa/samples (mame/component_prepare.sh:94, 117). + view = standalone_view("mame", "retrodeck") + (bbc,) = [e for e in view["files"] if e["name"] == "bbc.zip"] + self.assertEqual(bbc["standalone_path"], "mame-sa/samples/bbc.zip") + # ES-DE hands -rompath %GAMEDIR%;%ROMPATH%/: no BIOS folder. + self.assertTrue(all( + e.get("unplaced") == "outside_bios_folder" for e in self.sets(view) + )) + + def test_psxmame_reads_bios_psxmame_bios(self) -> None: + # -rompath bios/psxmame/bios; (PSXMame.Generator.cs:38-48). + view = standalone_view("psxmame", "retrobat") + self.assertTrue(view["files"]) + for entry in view["files"]: + self.assertEqual(entry["standalone_path"], "psxmame/bios/" + entry["name"]) + + if __name__ == "__main__": unittest.main() diff --git a/tests/test_standalone_links.py b/tests/test_standalone_links.py index 9da2ac5f0..d16c62489 100644 --- a/tests/test_standalone_links.py +++ b/tests/test_standalone_links.py @@ -33,6 +33,7 @@ from common import ( # noqa: E402 system_file_index, ) from launchers import ( # noqa: E402 + SEARCHED_FILES, bound_path, handed_directories, normalize_handle, @@ -205,7 +206,38 @@ class SearchLists(unittest.TestCase): self.assertEqual( bind(config(passes("emu", "$roms_path/coco:$bios_path/xroar", "xroar.conf rompath")), [], {"rompath": ""}), - {"": ("", "xroar")}, + {SEARCHED_FILES: ("", "xroar")}, + ) + + def test_a_semicolon_list_leaves_out_the_game_folder(self) -> None: + # MAME splits its search paths on semicolons (src/emu/fileio.cpp:53-58). + found = handed_directories(config(passes( + "emu", ";/userdata/bios/mame;/userdata/bios", "command line -rompath", + ))) + self.assertEqual([h.folder for h in found], ["mame", ""]) + found = handed_directories(config(passes( + "emu", "bios;", "command line -rp bios;", + ))) + self.assertEqual([(h.folder, "-rp" in h.handles) for h in found], [("", True)]) + + def test_a_list_holding_the_files_folder_keeps_them_there(self) -> None: + # KNULLI lists bios/mame before bios: the sets at the root stay. + cfg = config(passes( + "emu", ";/userdata/bios/mame;/userdata/bios", "command line -rompath", + )) + cfg["systems"] = {"x": {"files": [{"name": "a.rom", "destination": "mame/a.rom"}]}} + self.assertEqual(bind(cfg, [], {"-rompath": ""}), {SEARCHED_FILES: ("", "")}) + # Without the root, the first folder of the BIOS tree. + cfg = config(passes("emu", "$romdir/mame;$biosdir/mame", "rompath in mame.ini")) + self.assertEqual(bind(cfg, [], {"rompath": ""}), {SEARCHED_FILES: ("", "mame")}) + + def test_a_whole_layout_list_holds_files_not_folders(self) -> None: + found = {SEARCHED_FILES: ("", "mame")} + self.assertEqual(bound_path("neogeo.zip", found), ("", "mame/neogeo.zip")) + self.assertIsNone(bound_path("samples/bbc.zip", found)) + self.assertEqual( + bound_path("samples/bbc.zip", {**found, "samples": ("", "mame-sa/samples")}), + ("", "mame-sa/samples/bbc.zip"), ) def test_a_drive_letter_is_one_directory(self) -> None: @@ -241,11 +273,11 @@ class PerSystem(unittest.TestCase): POOLS = {"-rompath": ""} def test_the_system_record_wins_for_its_system(self) -> None: - self.assertEqual(bind(self.CFG, [], self.POOLS, ("coco",)), {"": ("", "coco")}) + self.assertEqual(bind(self.CFG, [], self.POOLS, ("coco",)), {SEARCHED_FILES: ("", "coco")}) def test_another_system_keeps_the_generic_record(self) -> None: - self.assertEqual(bind(self.CFG, [], self.POOLS, ("dragon32",)), {"": ("", "dragon")}) - self.assertEqual(bind(self.CFG, [], self.POOLS), {"": ("", "dragon")}) + self.assertEqual(bind(self.CFG, [], self.POOLS, ("dragon32",)), {SEARCHED_FILES: ("", "dragon")}) + self.assertEqual(bind(self.CFG, [], self.POOLS), {SEARCHED_FILES: ("", "dragon")}) def test_native_names_are_read_as_our_ids(self) -> None: cfg = { @@ -270,7 +302,7 @@ class PerSystem(unittest.TestCase): [("dragon", ["dragon64"]), ("trs80coco", ["coco"])], ) self.assertEqual(bind(cfg, [], self.POOLS | {"-rompath": ""}, ("coco",)), - {"": ("", "trs80coco")}) + {SEARCHED_FILES: ("", "trs80coco")}) self.assertEqual(bind(cfg, [], {"-rompath": ""}, ("dragon32",)), {}) def test_an_entry_is_launched_for_the_system_that_declares_its_name(self) -> None: From 4a5c693b6651df31dc22ec7aa360a64ff88d977f Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:06:35 +0100 Subject: [PATCH 7/8] fix: place GZDoom's IWADs in RetroDECK's roms/doom GZDoom collects its IWAD candidates from [IWADSearch.Directories], reads the support WAD there and the Load files from the IWAD's own folder (src/d_iwad.cpp:456-476, 593-624, 862-901). RetroDECK lists RETRODECKROMSDIR/doom there (gzdoom/rd_assets/rd_config/gzdoom.ini:9), which component_prepare.sh:27 rewrites to $roms_path/doom. The extractor read only the BIOS placeholder of a preset: it now records every line naming the BIOS or the roms folder the script rewrites, with that sed line in its source. $roms_path, whose default is the roms root (config/retrodeck/retrodeck.json:5), is read as that root. The profile names IWADSearch.Directories as a pool and lays its IWADs and their support and Load files out at its top. On RetroDECK the 20 held IWADs land in roms/doom, the 23 others are named missing there. The root copies stay for prboom and uzdoom, which claim them. No other platform hands GZDoom that list, so none changes. --- emulators/gzdoom.yml | 46 +++++++ platforms/retrodeck.yml | 159 +++++++++++-------------- scripts/launchers.py | 14 ++- scripts/scraper/retrodeck_launchers.py | 33 +++-- tests/test_launcher_placement.py | 20 ++++ tests/test_launchers_retrodeck.py | 2 +- 6 files changed, 176 insertions(+), 98 deletions(-) diff --git a/emulators/gzdoom.yml b/emulators/gzdoom.yml index 94a554604..212441074 100644 --- a/emulators/gzdoom.yml +++ b/emulators/gzdoom.yml @@ -13,6 +13,9 @@ version_basis: display_name: "GZDoom" cores: ["GZDoom", "gzdoom-sa"] systems: [doom, heretic, hexen, strife, chex] +standalone_pools: + "[IWADSearch.Directories] Path": "" + "[IWADSearch.Directories] RecursivePath": "" notes: | Doom-engine source port by Christoph Oelckers. Supports Doom, Heretic, @@ -161,6 +164,7 @@ files: - name: "doom.wad" category: game_data system: doom + path: "doom.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:420, 437, 659" note: "The Ultimate DOOM and DOOM Registered both use this name and are told apart by their lumps." @@ -168,108 +172,126 @@ files: - name: "doom2.wad" category: game_data system: doom + path: "doom2.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:640, 653" - name: "doom2f.wad" category: game_data system: doom + path: "doom2f.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:625, 657" - name: "doombfg.wad" category: game_data system: doom + path: "doombfg.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:332, 666" - name: "doom2bfg.wad" category: game_data system: doom + path: "doom2bfg.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:560, 667" - name: "doomunity.wad" category: game_data system: doom + path: "doomunity.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:369, 661" - name: "doom2unity.wad" category: game_data system: doom + path: "doom2unity.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:592, 655" - name: "doomkex.wad" category: game_data system: doom + path: "doomkex.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:350, 662" - name: "doom2kex.wad" category: game_data system: doom + path: "doom2kex.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:576, 656" - name: "doomxbox.wad" category: game_data system: doom + path: "doomxbox.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:403, 660" - name: "doom2xbox.wad" category: game_data system: doom + path: "doom2xbox.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:608, 654" - name: "doom_complete.pk3" category: game_data system: doom + path: "doom_complete.pk3" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:389, 652" - name: "plutonia.wad" category: game_data system: doom + path: "plutonia.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:545, 670" - name: "plutoniaunity.wad" category: game_data system: doom + path: "plutoniaunity.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:514, 671" - name: "plutoniakex.wad" category: game_data system: doom + path: "plutoniakex.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:529, 672" - name: "tnt.wad" category: game_data system: doom + path: "tnt.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:499, 673" - name: "tntunity.wad" category: game_data system: doom + path: "tntunity.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:468, 674" - name: "tntkex.wad" category: game_data system: doom + path: "tntkex.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:483, 675" - name: "nerve.wad" category: game_data system: doom + path: "nerve.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:565, 614, src/d_iwad.cpp:877-895" note: "No Rest for the Living. Autoloaded by Doom 2 BFG and Xbox editions." @@ -277,6 +299,7 @@ files: - name: "nerveunity.wad" category: game_data system: doom + path: "nerveunity.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:598, src/d_iwad.cpp:877-895" note: "Loaded from the IWAD directory by DOOM 2: Unity Edition." @@ -284,6 +307,7 @@ files: - name: "extras.wad" category: game_data system: doom + path: "extras.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:357, 376, 488, 534, 582, 598" note: "Loaded from the IWAD directory by the KEX and Unity editions." @@ -291,6 +315,7 @@ files: - name: "soundtrack" category: game_data system: doom + path: "soundtrack" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:376, 598, src/d_iwad.cpp:877-895" note: "Loaded from the IWAD directory by the DOOM and DOOM 2 Unity editions." @@ -298,6 +323,7 @@ files: - name: "id24res.wad" category: game_data system: doom + path: "id24res.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:341, 360, 379, src/d_iwad.cpp:862-875" note: "id24 resource WAD. SupportWAD of every id IWAD block, loaded when found and i_loadsupportwad is set." @@ -307,6 +333,7 @@ files: - name: "freedoom1.wad" category: game_data system: doom + path: "freedoom1.wad" required: false installed_on: [retropie] source_ref: "wadsrc_extra/static/iwadinfo.txt:307, 676" @@ -314,6 +341,7 @@ files: - name: "freedoom2.wad" category: game_data system: doom + path: "freedoom2.wad" required: false installed_on: [retropie] source_ref: "wadsrc_extra/static/iwadinfo.txt:294, 677" @@ -321,6 +349,7 @@ files: - name: "freedm.wad" category: game_data system: doom + path: "freedm.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:281, 680" @@ -329,6 +358,7 @@ files: - name: "heretic.wad" category: game_data system: heretic + path: "heretic.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:241, 244, 254, 257, 681" note: "Both Heretic and Shadow of the Serpent Riders use this name and are told apart by the EXTENDED lump." @@ -337,6 +367,7 @@ files: aliases: ["blasphemer.wad"] category: game_data system: heretic + path: "blasphem.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:228, 692-693" @@ -345,12 +376,14 @@ files: - name: "hexen.wad" category: game_data system: hexen + path: "hexen.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:188, 684" - name: "hexdd.wad" category: game_data system: hexen + path: "hexdd.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:196-207, 685" note: "Deathkings expansion. Requires hexen.wad (Required = Hexen: Beyond Heretic)." @@ -360,12 +393,14 @@ files: - name: "strife1.wad" category: game_data system: strife + path: "strife1.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:151, 688" - name: "sve.wad" category: game_data system: strife + path: "sve.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:136, 140, 689" note: "Veteran Edition. Required = Strife: Quest for the Sigil (loads voices.wad)." @@ -373,6 +408,7 @@ files: - name: "voices.wad" category: game_data system: strife + path: "voices.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:142, 155" @@ -381,12 +417,14 @@ files: - name: "chex.wad" category: game_data system: chex + path: "chex.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:123, 694" - name: "chex3.wad" category: game_data system: chex + path: "chex3.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:109, 695" @@ -395,12 +433,14 @@ files: - name: "hacx.wad" category: game_data system: doom + path: "hacx.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:83, 698" - name: "hacx2.wad" category: game_data system: doom + path: "hacx2.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:65-75, 699, src/d_iwad.cpp:351-394, src/common/filesystem/source/resourcefile.cpp:156-174" note: "Identified by the MAP01 map and the HACX-E lump, whatever the container: every candidate is opened by its magic, so a zip under this name is read as a pk3. The Hacx 2.0 repository builds that zip from src/, where hacx-e.txt is the HACX-E lump and maps/MAP01.wad the first map." @@ -408,18 +448,21 @@ files: - name: "action2.wad" category: game_data system: doom + path: "action2.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:97, 696" - name: "harm1.wad" category: game_data system: doom + path: "harm1.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:57, 697" - name: "square.pk3" category: game_data system: doom + path: "square.pk3" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:33" note: "Absent from the Names block: picked up only when named with -iwad." @@ -427,17 +470,20 @@ files: - name: "square1.pk3" category: game_data system: doom + path: "square1.pk3" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:45, 700" - name: "delaweare.wad" category: game_data system: doom + path: "delaweare.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:22, 701" - name: "rotwb.wad" category: game_data system: doom + path: "rotwb.wad" required: false source_ref: "wadsrc_extra/static/iwadinfo.txt:9, 702" diff --git a/platforms/retrodeck.yml b/platforms/retrodeck.yml index 0d801412c..3592a2537 100644 --- a/platforms/retrodeck.yml +++ b/platforms/retrodeck.yml @@ -16756,6 +16756,24 @@ launchers: passes_to: "settings.ini [BIOS] SearchDirectory" fails_when_missing: false source_ref: "duckstation/component_prepare.sh:15, 33" +- emulator: gzdoom + build: standalone + kind: passes_path + names: [] + search_dir: $roms_path/doom + passes_to: "gzdoom.ini [IWADSearch.Directories] Path" + fails_when_missing: false + source_ref: "gzdoom/rd_assets/rd_config/gzdoom.ini:9, gzdoom/component_prepare.sh:23,\ + \ 27-28" +- emulator: gzdoom + build: standalone + kind: passes_path + names: [] + search_dir: $roms_path/doom + passes_to: "gzdoom.ini [FileSearch.Directories] Path" + fails_when_missing: false + source_ref: "gzdoom/rd_assets/rd_config/gzdoom.ini:18, gzdoom/component_prepare.sh:23,\ + \ 27-28" - emulator: gzdoom build: standalone kind: passes_path @@ -16765,6 +16783,15 @@ launchers: fails_when_missing: false source_ref: "gzdoom/rd_assets/rd_config/gzdoom.ini:19, gzdoom/component_prepare.sh:23,\ \ 28" +- emulator: gzdoom + build: standalone + kind: passes_path + names: [] + search_dir: $roms_path/bios/gzdoom + passes_to: "gzdoom.ini [SoundfontSearch.Directories] Path" + fails_when_missing: false + source_ref: "gzdoom/rd_assets/rd_config/gzdoom.ini:31, gzdoom/component_prepare.sh:23,\ + \ 27-28" - emulator: mame build: standalone kind: passes_path @@ -16996,8 +17023,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: xroar.conf rompath fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:290, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:290, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17007,8 +17033,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dragon fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:291, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:291, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17023,8 +17048,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist d64_1 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:292, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:292, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17038,8 +17062,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist d64_2 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:293, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:293, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17052,8 +17075,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist d32 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:294, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:294, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17065,8 +17087,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist d200e_1 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:295, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:295, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17078,8 +17099,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist d200e_2 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:296, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:296, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17095,8 +17115,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dragon64 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:297, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:297, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17110,8 +17129,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dragon64_alt fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:298, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:298, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17125,8 +17143,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dragon32 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:299, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:299, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17145,8 +17162,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dragon200e fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:300, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:300, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17163,8 +17179,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dragon200e_alt fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:301, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:301, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17175,8 +17190,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dragon200e_charset fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:302, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:302, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17190,8 +17204,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dragonpro_boot fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:303, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:303, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17209,8 +17222,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dragonpro_basic fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:304, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:304, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17224,8 +17236,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist coco fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:305, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:305, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17238,8 +17249,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist coco_ext fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:306, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:306, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17253,8 +17263,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist coco1 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:307, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:307, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17268,8 +17277,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist coco1e fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:308, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:308, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17282,8 +17290,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist coco1e_ext fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:309, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:309, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17297,8 +17304,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist coco2 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:310, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:310, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17311,8 +17317,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist coco2_ext fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:311, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:311, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17326,8 +17331,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist coco2b fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:312, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:312, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17338,8 +17342,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist deluxecoco fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:313, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:313, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17349,8 +17352,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist deluxecoco1 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:314, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:314, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17360,8 +17362,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist deluxecoco2 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:315, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:315, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17372,8 +17373,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist deluxecoco3 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:316, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:316, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17384,8 +17384,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist mx1600 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:317, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:317, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17395,8 +17394,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist mx1600ext fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:318, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:318, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17406,8 +17404,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist coco3 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:319, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:319, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17417,8 +17414,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist coco3p fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:320, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:320, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17429,8 +17425,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist glenside_ide fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:321, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:321, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17440,8 +17435,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist mc10 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:322, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:322, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17451,8 +17445,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist alice fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:323, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:323, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17467,8 +17460,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dragondos fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:324, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:324, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17481,8 +17473,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dosplus fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:325, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:325, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17495,8 +17486,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist superdos fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:326, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:326, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17508,8 +17498,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist cumana fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:327, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:327, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17535,8 +17524,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist dragondos_compat fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:328, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:328, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17547,8 +17535,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist rsdos fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:329, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:329, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17563,8 +17550,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist delta fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:330, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:330, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17574,8 +17560,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist rsdos_becker fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:331, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:331, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17586,8 +17571,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist mcx128 fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:332, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:332, xroar/component_prepare.sh:13-15" - emulator: xroar build: standalone kind: names_searched @@ -17598,8 +17582,7 @@ launchers: search_dir: "$roms_path/coco:$roms_path/dragon32:$roms_path/tanodragon:$bios_path" passes_to: romlist mcx128_azerty fails_when_missing: false - source_ref: "xroar/rd_assets/rd_config/xroar.conf:333, xroar/component_prepare.sh:13,\ - \ 15" + source_ref: "xroar/rd_assets/rd_config/xroar.conf:333, xroar/component_prepare.sh:13-15" - emulator: retroarch build: libretro kind: core_option diff --git a/scripts/launchers.py b/scripts/launchers.py index 4e3c103f4..6d959339a 100644 --- a/scripts/launchers.py +++ b/scripts/launchers.py @@ -312,6 +312,11 @@ def launcher_places(config: dict) -> list[LauncherPlace]: # component scripts $bios_path. BIOS_ROOT_VARIABLES = ("$biosdir", "$home/RetroPie/BIOS", "${biosPath}", "$bios_path") +# The name a platform's launch code gives its roms root: RetroDECK's +# component scripts write $roms_path (retrodeck_launchers), the setting whose +# default is the roms root (config/retrodeck/retrodeck.json:5). +ROMS_ROOT_VARIABLES = ("$roms_path", "${roms_path}") + # The kinds that hand an emulator a whole directory. A scans_dir record sets # the directory the emulator picks its file from: ROCKNIX writes ARMSX2's # [Folders] Bios, EmuDeck PCSX2's. @@ -591,8 +596,15 @@ def folder_in_roms(directory: str, config: dict) -> str | None: (``roms_root.path``): ROCKNIX's /storage/roms, which holds its BIOS folder and the folders its launchers run programs from. """ - from common import ROMS_ROOT # noqa: PLC0415 + from common import ROMS_ROOT, outer_layout # noqa: PLC0415 + spelled = directory.strip().rstrip("/") + for variable in ROMS_ROOT_VARIABLES: + if outer_layout(config, ROMS_ROOT) and ( + spelled == variable or spelled.startswith(variable + "/") + ): + rest = spelled[len(variable) + 1:] + return None if re.search(r"[\s<>$:;]", rest) else rest return folder_in_root(directory, config, ROMS_ROOT) diff --git a/scripts/scraper/retrodeck_launchers.py b/scripts/scraper/retrodeck_launchers.py index fb838c1b1..51b6cf06b 100644 --- a/scripts/scraper/retrodeck_launchers.py +++ b/scripts/scraper/retrodeck_launchers.py @@ -30,6 +30,10 @@ except ImportError: BIOS = "$bios_path" PLACEHOLDER = "RETRODECKBIOSDIR" +# The roms folder in the same presets: GZDoom's IWADSearch.Directories holds +# RETRODECKROMSDIR/doom (gzdoom/rd_assets/rd_config/gzdoom.ini:9), which +# gzdoom/component_prepare.sh:27 rewrites to $roms_path. +ROMS_PLACEHOLDER = "RETRODECKROMSDIR" CORE_OPTIONS = "retroarch/rd_assets/rd_config/retroarch-core-options.cfg" # The component that runs libretro cores. LIBRETRO_COMPONENT = "retroarch" @@ -282,7 +286,11 @@ class Component: ) def _preset(self, script: Script, number: int, words: list[str]) -> None: - """`sed -i "s#RETRODECKBIOSDIR#${bios_path}#g" "$cfg"` on a preset copied just above.""" + """`sed -i "s#RETRODECKBIOSDIR#${bios_path}#g" "$cfg"` on a preset copied just above. + + Each line naming the BIOS or the roms folder is a record: a search + list can mix them (XRoar's rompath, GZDoom's IWAD directories). + """ target = words[-1] substitutions = self._substitutions(script, target) copied = None @@ -302,17 +310,25 @@ class Component: stripped = line.strip() if re.fullmatch(r"\[[^\]]+\]", stripped): section = stripped - if PLACEHOLDER not in stripped or stripped.startswith("#"): + if stripped.startswith("#") or not any( + p in stripped for p in (PLACEHOLDER, ROMS_PLACEHOLDER) + ): continue setting = re.match(r"^([\w.$()-]+)\s*(?:=|\s)\s*(.+)$", stripped) if setting is None: raise LauncherPatternMissing(f"{preset}:{line_no}", f"placeholder in {stripped}") + named = [p for p in substitutions if p in stripped] + if PLACEHOLDER not in stripped and not named: + # A roms placeholder the script leaves as written. + continue key, value = setting.group(1), _unquote(setting.group(2)) - for placeholder, variable in substitutions.items(): + for placeholder, (variable, _line) in substitutions.items(): value = value.replace(placeholder, variable) where = f"{section} {key}" if section else key - found += 1 - applied = [(script.path, copied[0]), (script.path, number)] + found += PLACEHOLDER in stripped + applied = [(script.path, copied[0]), (script.path, number)] + [ + (script.path, substitutions[p][1]) for p in named + ] self.record( "passes_path", [], [(preset, line_no)] + applied, search_dir=value, passes_to=f"{self.config_name(target)} {where}", @@ -324,12 +340,13 @@ class Component: raise LauncherPatternMissing(preset, f"no {PLACEHOLDER} line") @staticmethod - def _substitutions(script: Script, target: str) -> dict[str, str]: + def _substitutions(script: Script, target: str) -> dict[str, tuple[str, int]]: + """Each placeholder sed rewrites in ``target``: (variable, line).""" found = {} - for line in script.lines: + for line_no, line in enumerate(script.lines, 1): for m in re.finditer(r"s#(RETRODECK\w+)#\$\{?(\w+)\}?#g[\"']?\s+\"([^\"]+)\"", line): if m.group(3) == target: - found[m.group(1)] = f"${m.group(2)}" + found[m.group(1)] = (f"${m.group(2)}", line_no) return found def romlists( diff --git a/tests/test_launcher_placement.py b/tests/test_launcher_placement.py index 0cf499fe6..2ffa4d23c 100644 --- a/tests/test_launcher_placement.py +++ b/tests/test_launcher_placement.py @@ -859,5 +859,25 @@ class MameSearchPaths(unittest.TestCase): self.assertEqual(entry["standalone_path"], "psxmame/bios/" + entry["name"]) +class GzdoomOnRetroDECK(unittest.TestCase): + """RetroDECK writes RETRODECKROMSDIR/doom into [IWADSearch.Directories] + (gzdoom.ini:9, component_prepare.sh:27).""" + + def test_the_iwads_land_in_roms_doom(self) -> None: + view = standalone_view("gzdoom", "retrodeck") + iwads = [e for e in view["files"] if e.get("system")] + self.assertEqual(len(iwads), 43) + for entry in iwads: + self.assertEqual(entry["standalone_path"], "roms/doom/" + entry["name"]) + self.assertTrue(entry.get("unprefixed")) + # The engine pk3s are read beside the executable first. + (pk3,) = [e for e in view["files"] if e["name"] == "gzdoom.pk3"] + self.assertNotIn("standalone_path", pk3) + + def test_another_platform_keeps_them(self) -> None: + view = standalone_view("gzdoom", "batocera") + self.assertFalse(any(e.get("standalone_path") for e in view["files"])) + + if __name__ == "__main__": unittest.main() diff --git a/tests/test_launchers_retrodeck.py b/tests/test_launchers_retrodeck.py index 96401837c..e894d6838 100644 --- a/tests/test_launchers_retrodeck.py +++ b/tests/test_launchers_retrodeck.py @@ -289,7 +289,7 @@ class Presets(unittest.TestCase): self.assertEqual(lists["dragon64"]["names"][-1], "dragon") self.assertEqual( lists["d64_1"]["source_ref"], - "xroar/rd_assets/rd_config/xroar.conf:292, xroar/component_prepare.sh:13, 15", + "xroar/rd_assets/rd_config/xroar.conf:292, xroar/component_prepare.sh:13-15", ) def test_a_reference_to_an_unknown_romlist_raises(self): From 8eaffcfead83a08aaee6b466676653e584922df1 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Tue, 10 Nov 2026 13:07:12 +0100 Subject: [PATCH 8/8] fix: place AdvanceMAME's sets in EmuELEC's dir_rom AdvanceMAME reads its sets from dir_rom, a list of folders (advance/osd/fileio.c:74, doc/advmame.d:680,699-701). EmuELEC's advmame.rc sets dir_rom /storage/roms/mame (advmame.rc:11), and advmame.sh rewrites /roms/mame to /roms/arcade when it is started for the arcade system (advmame.sh:26-30). The extractor kept the keys under the BIOS root alone: it now records those under the roms root too, and a key the script rewrites gives one record for arcade and one for every other system. A configgen record carries the systems it is written for. The profile lays its 29 sets out at the top of dir_rom. On EmuELEC they land in roms/mame. The 12 root archives AdvanceMAME alone claimed there now hold the copies of the cores that also declare them (mame, geolith), none of them lost. A destination outside the BIOS tree is no proof of content: the moved entry resolves by its layout path alone. roms/mame/konamigv.zip took bios/Arcade/MAME/konamigv.zip, MAME 0.289's set, by that tail. --- emulators/advancemame.yml | 32 ++++ platforms/emuelec.yml | 254 ++++++++++++++++++++++++- scripts/common.py | 5 +- scripts/scraper/configgen_launchers.py | 4 +- scripts/scraper/emuelec_launchers.py | 70 +++++-- tests/test_launcher_placement.py | 27 +++ tests/test_launchers_emuelec.py | 21 +- 7 files changed, 384 insertions(+), 29 deletions(-) diff --git a/emulators/advancemame.yml b/emulators/advancemame.yml index 1099540d8..11e2e4482 100644 --- a/emulators/advancemame.yml +++ b/emulators/advancemame.yml @@ -52,6 +52,9 @@ systems: - atari-system1 - efo-cedar-magnet +standalone_pools: + dir_rom: "" + notes: | MAME 0.106 core (src/version.c:11) carrying its own video layer and driver backports from later MAME releases. Twenty-nine BIOS root sets, each a @@ -156,6 +159,7 @@ files: # SNK Neo Geo MVS - name: neogeo.zip + path: "neogeo.zip" required: true category: bios_zip system: snk-neogeo-mvs @@ -223,6 +227,7 @@ files: # IGS PGM - name: pgm.zip + path: "pgm.zip" required: true category: bios_zip system: igs-pgm @@ -246,6 +251,7 @@ files: # Sega ST-V - name: stvbios.zip + path: "stvbios.zip" required: true category: bios_zip system: sega-stv @@ -302,6 +308,7 @@ files: # Sega Mega Play - name: megaplay.zip + path: "megaplay.zip" required: true category: bios_zip system: sega-megaplay @@ -323,6 +330,7 @@ files: # Sega Mega-Tech - name: megatech.zip + path: "megatech.zip" required: true category: bios_zip system: sega-megatech @@ -335,6 +343,7 @@ files: # DECO Cassette System - name: decocass.zip + path: "decocass.zip" required: true category: bios_zip system: deco-cassette @@ -387,6 +396,7 @@ files: # Nintendo PlayChoice-10 - name: playch10.zip + path: "playch10.zip" required: true category: bios_zip system: nintendo-playch10 @@ -438,6 +448,7 @@ files: # Nintendo Super System - name: nss.zip + path: "nss.zip" required: true category: bios_zip system: nintendo-nss @@ -466,6 +477,7 @@ files: # Super Kaneko Nova System - name: skns.zip + path: "skns.zip" required: true category: bios_zip system: super-kaneko-nova @@ -501,6 +513,7 @@ files: # Konami System GX - name: konamigx.zip + path: "konamigx.zip" required: true category: bios_zip system: konami-gx @@ -513,6 +526,7 @@ files: # Konami Baby Phoenix/GV System - name: konamigv.zip + path: "konamigv.zip" required: true category: bios_zip system: konami-gv @@ -525,6 +539,7 @@ files: # Century Electronics CVS - name: cvs.zip + path: "cvs.zip" required: true category: bios_zip system: century-cvs @@ -548,6 +563,7 @@ files: # Capcom ZN1 - name: cpzn1.zip + path: "cpzn1.zip" required: true category: bios_zip system: capcom-zn1 @@ -560,6 +576,7 @@ files: # Capcom ZN2 - name: cpzn2.zip + path: "cpzn2.zip" required: true category: bios_zip system: capcom-zn2 @@ -572,6 +589,7 @@ files: # Tecmo TPS - name: tps.zip + path: "tps.zip" required: true category: bios_zip system: tecmo-tps @@ -584,6 +602,7 @@ files: # Taito FX1 - name: taitofx1.zip + path: "taitofx1.zip" required: true category: bios_zip system: taito-fx1 @@ -596,6 +615,7 @@ files: # Eighting/Raizing PS Arcade 95 - name: psarc95.zip + path: "psarc95.zip" required: true category: bios_zip system: eighting-zn1 @@ -608,6 +628,7 @@ files: # Atlus PSX - name: atluspsx.zip + path: "atluspsx.zip" required: true category: bios_zip system: atlus-zn1 @@ -620,6 +641,7 @@ files: # Atari PSX - name: atpsx.zip + path: "atpsx.zip" required: true category: bios_zip system: atari-zn1 @@ -632,6 +654,7 @@ files: # Acclaim PSX - name: acpsx.zip + path: "acpsx.zip" required: true category: bios_zip system: acclaim-zn1 @@ -644,6 +667,7 @@ files: # Video System PSX - name: coh1002v.zip + path: "coh1002v.zip" required: true category: bios_zip system: videosystem-zn1 @@ -656,6 +680,7 @@ files: # Seta Aleck64 - name: aleck64.zip + path: "aleck64.zip" required: true category: bios_zip system: nintendo-aleck64 @@ -668,6 +693,7 @@ files: # Atari System 1 - name: atarisy1.zip + path: "atarisy1.zip" required: true category: bios_zip system: atari-system1 @@ -691,6 +717,7 @@ files: # EFO Cedar Magnet System - name: cedmag.zip + path: "cedmag.zip" required: true category: bios_zip system: efo-cedar-magnet @@ -703,6 +730,7 @@ files: # Arcadia Systems - name: ar_bios.zip + path: "ar_bios.zip" required: true category: bios_zip system: arcadia-systems @@ -770,6 +798,7 @@ files: # Exidy Max-A-Flex - name: maxaflex.zip + path: "maxaflex.zip" required: true category: bios_zip system: exidy-maxaflex @@ -793,6 +822,7 @@ files: # Brezzasoft Crystal System - name: crysbios.zip + path: "crysbios.zip" required: true category: bios_zip system: brezzasoft-crystal @@ -805,6 +835,7 @@ files: # I'Max Multi Amenity Cassette System - name: macsbios.zip + path: "macsbios.zip" required: true category: bios_zip system: imax-macs @@ -823,6 +854,7 @@ files: # Barcrest MPU4 Video - name: bctvidbs.zip + path: "bctvidbs.zip" required: true category: bios_zip system: barcrest-mpu4 diff --git a/platforms/emuelec.yml b/platforms/emuelec.yml index a9cbdf1ee..1c0622059 100644 --- a/platforms/emuelec.yml +++ b/platforms/emuelec.yml @@ -4442,6 +4442,206 @@ launchers: source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:172-174, packages/sx05re/emulators/hatarisa/config/conf/Atari-ST-default.cfg:200,\ \ packages/sx05re/emulators/hatarisa/package.mk:39, packages/sx05re/emulators/hatarisa/scripts/hatari.start:36,\ \ 66, 73" +- emulator: AdvanceMame + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/mame/artwork + passes_to: advmame.rc dir_artwork + fails_when_missing: false + depends_on_option: system != arcade + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + systems: + - arcade + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/arcade/artwork + passes_to: advmame.rc dir_artwork + fails_when_missing: false + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/mame/diff + passes_to: advmame.rc dir_diff + fails_when_missing: false + depends_on_option: system != arcade + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + systems: + - arcade + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/arcade/diff + passes_to: advmame.rc dir_diff + fails_when_missing: false + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/mame/hi + passes_to: advmame.rc dir_hi + fails_when_missing: false + depends_on_option: system != arcade + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + systems: + - arcade + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/arcade/hi + passes_to: advmame.rc dir_hi + fails_when_missing: false + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/mame/image + passes_to: advmame.rc dir_image + fails_when_missing: false + depends_on_option: system != arcade + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + systems: + - arcade + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/arcade/image + passes_to: advmame.rc dir_image + fails_when_missing: false + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/mame/inp + passes_to: advmame.rc dir_inp + fails_when_missing: false + depends_on_option: system != arcade + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + systems: + - arcade + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/arcade/inp + passes_to: advmame.rc dir_inp + fails_when_missing: false + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/mame/memcard + passes_to: advmame.rc dir_memcard + fails_when_missing: false + depends_on_option: system != arcade + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + systems: + - arcade + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/arcade/memcard + passes_to: advmame.rc dir_memcard + fails_when_missing: false + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/mame/nvram + passes_to: advmame.rc dir_nvram + fails_when_missing: false + depends_on_option: system != arcade + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + systems: + - arcade + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/arcade/nvram + passes_to: advmame.rc dir_nvram + fails_when_missing: false + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/mame + passes_to: advmame.rc dir_rom + fails_when_missing: false + depends_on_option: system != arcade + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + systems: + - arcade + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/arcade + passes_to: advmame.rc dir_rom + fails_when_missing: false + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" - emulator: AdvanceMame build: standalone kind: passes_path @@ -4449,9 +4649,59 @@ launchers: search_dir: /storage/roms/bios/advmame/samples passes_to: advmame.rc dir_sample fails_when_missing: false - source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:9,\ - \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:9, packages/sx05re/emulators/advancemame/config/advmame.rc:12,\ + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:80" +- emulator: AdvanceMame + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/mame/snap + passes_to: advmame.rc dir_snap + fails_when_missing: false + depends_on_option: system != arcade + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + systems: + - arcade + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/arcade/snap + passes_to: advmame.rc dir_snap + fails_when_missing: false + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/mame/nvram + passes_to: advmame.rc dir_sta + fails_when_missing: false + depends_on_option: system != arcade + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" +- emulator: AdvanceMame + systems: + - arcade + build: standalone + kind: passes_path + names: [] + search_dir: /storage/roms/arcade/nvram + passes_to: advmame.rc dir_sta + fails_when_missing: false + source_ref: "packages/sx05re/emuelec/bin/emuelecRunEmu.sh:213-215, packages/sx05re/emulators/advancemame/config/advmame.rc_oga:1-11,\ + \ packages/sx05re/emulators/advancemame/config/advmame.rc_gf:1-11, packages/sx05re/emulators/advancemame/config/advmame.rc:4-14,\ + \ packages/sx05re/emulators/advancemame/package.mk:45-49, packages/sx05re/emulators/advancemame/bin/advmame.sh:26-27,\ + \ 80" - emulator: SCUMMVMSA build: standalone kind: passes_path diff --git a/scripts/common.py b/scripts/common.py index 9be55a3f3..e3ee69033 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -1541,12 +1541,15 @@ def resolve_local_file( layout = file_entry.get("layout_path") if layout and layout != dest_hint: plain = {k: v for k, v in file_entry.items() if k != "layout_path"} + # A destination outside the BIOS tree says nothing of the collection: + # EmuELEC's roms/mame/konamigv.zip is not bios/Arcade/MAME's set. + outside = file_entry.get("unprefixed") or file_entry.get("root") answers = [ resolve_local_file( plain, db, zip_contents, dest_hint=hint, _depth=_depth, data_dir_registry=data_dir_registry, ) - for hint in (dest_hint, str(layout)) + for hint in ((str(layout),) if outside else (dest_hint, str(layout))) ] for found in answers: if found[0] is not None and ( diff --git a/scripts/scraper/configgen_launchers.py b/scripts/scraper/configgen_launchers.py index 5c9e3a70c..03957145e 100644 --- a/scripts/scraper/configgen_launchers.py +++ b/scripts/scraper/configgen_launchers.py @@ -37,11 +37,13 @@ class Launcher: device: str | None = None # The machines the platform offers under the record's systems. machines: list[str] | None = None + # The platform systems the record is written for, none for every one. + systems: list[str] | None = None def entry(self) -> dict[str, Any]: """The platform YAML form, in a fixed key order, unset keys left out.""" order = ( - "emulator", "build", "kind", "slot", "names", "expands", + "emulator", "systems", "build", "kind", "slot", "names", "expands", "case_insensitive", "search_dir", "passes_to", "fails_when_missing", "fails_scope", "depends_on_option", "device", "machines", "source_ref", diff --git a/scripts/scraper/emuelec_launchers.py b/scripts/scraper/emuelec_launchers.py index 440e02818..f4aed1e60 100644 --- a/scripts/scraper/emuelec_launchers.py +++ b/scripts/scraper/emuelec_launchers.py @@ -38,6 +38,8 @@ EMULATORS = f"{SX05RE}/emulators" LIBRETRO = f"{SX05RE}/libretro" RETROARCH_MK = f"{SX05RE}/libretro_base/retroarch/package.mk" BIOS_ROOT = "/storage/roms/bios" +# The roms root that holds it (packages/sx05re/libretro_base/retroarch/package.mk:112,117). +ROMS_ROOT = "/storage/roms" _EMU_TEST = re.compile(r'\$\{?EMU\}?"?\s*==?\s*"([^"]+)"') _ARM = re.compile(r'^\s*((?:"[^"]+"\|?)+)\)\s*$') @@ -487,8 +489,18 @@ def hatari(tree: RepoTree, runs: Runs) -> list[Launcher]: ] +_ADVMAME_SYSTEM = re.compile(r'^\s*if \[\[ "\$\{1\}" = "([\w-]+)" \]\]; then$') +_ADVMAME_SED = re.compile(r'^\s*sed -i "s\|([^|]+)\|([^|]+)\|g" \$\{CONFIG_DIR\}/advmame\.rc$') + + def advancemame(tree: RepoTree, runs: Runs) -> list[Launcher]: - """Folder keys of the advmame.rc package.mk installs, one per device branch.""" + """Folder keys of the advmame.rc package.mk installs, one per device branch. + + A key under the roms root is one too: dir_rom is /storage/roms/mame. The + start script rewrites the config for the system it is launched for + (advmame.sh:26-30): /roms/mame becomes /roms/arcade for arcade, so that + system reads its own record. + """ package = f"{EMULATORS}/advancemame" mk = _read(tree, f"{package}/package.mk") installs = [ @@ -501,8 +513,8 @@ def advancemame(tree: RepoTree, runs: Runs) -> list[Launcher]: by_value: dict[tuple[tuple[str, str], ...], list[tuple[str, set[int], int]]] = {} for mk_line, file in installs: path = f"{package}/config/{file}" - keys = [s for s in settings(tree.read(path), separator=" ") if _under(s.value)] - if not keys: + keys = [s for s in settings(tree.read(path), separator=" ") if _under(s.value, ROMS_ROOT)] + if not any(_under(s.value) for s in keys): raise LauncherPatternMissing(path, f"key naming a folder under {BIOS_ROOT}") value = tuple((s.key, s.value) for s in keys) by_value.setdefault(value, []).append((path, {s.line for s in keys}, mk_line)) @@ -511,25 +523,41 @@ def advancemame(tree: RepoTree, runs: Runs) -> list[Launcher]: ((value, configs),) = by_value.items() script = _read(tree, f"{package}/bin/advmame.sh") run_line, _ = script.find(r"^\s*(?:\w+=\S+ )*advmame ", "advmame start") + test_line, test = script.find(_ADVMAME_SYSTEM.pattern, "system test", end=run_line) + sed_line, sed = script.find(_ADVMAME_SED.pattern, "system rewrite", test_line + 1, test_line + 1) name = posixpath.basename(script.path) - refs = [ - runs.ref(name), - *((path, lines) for path, lines, _ in configs), - (mk.path, {mk_line for _, _, mk_line in configs}), - (script.path, {run_line}), - ] - return [ - Launcher( - emulator=runs.emulator(name), - build="standalone", - kind="passes_path", - names=[], - source_ref=source_ref(refs), - search_dir=folder, - passes_to=f"advmame.rc {key}", - ) - for key, folder in value - ] + + def refs(*lines: int) -> str: + return source_ref([ + runs.ref(name), + *((path, lines) for path, lines, _ in configs), + (mk.path, {mk_line for _, _, mk_line in configs}), + (script.path, {run_line, *lines}), + ]) + + found = [] + for key, folder in value: + rewritten = folder.replace(sed.group(1), sed.group(2)) + if rewritten != folder: + # Every system but the one the script rewrites the key for, and + # that system with the rewritten folder. + found.append(Launcher( + emulator=runs.emulator(name), build="standalone", kind="passes_path", names=[], + source_ref=refs(test_line, sed_line), search_dir=folder, + passes_to=f"advmame.rc {key}", + depends_on_option=f"system != {test.group(1)}", + )) + found.append(Launcher( + emulator=runs.emulator(name), build="standalone", kind="passes_path", names=[], + source_ref=refs(test_line, sed_line), search_dir=rewritten, + passes_to=f"advmame.rc {key}", systems=[test.group(1)], + )) + continue + found.append(Launcher( + emulator=runs.emulator(name), build="standalone", kind="passes_path", names=[], + source_ref=refs(), search_dir=folder, passes_to=f"advmame.rc {key}", + )) + return found def mame(tree: RepoTree, runs: Runs) -> list[Launcher]: diff --git a/tests/test_launcher_placement.py b/tests/test_launcher_placement.py index 2ffa4d23c..b02453c77 100644 --- a/tests/test_launcher_placement.py +++ b/tests/test_launcher_placement.py @@ -879,5 +879,32 @@ class GzdoomOnRetroDECK(unittest.TestCase): self.assertFalse(any(e.get("standalone_path") for e in view["files"])) +class AdvanceMameOnEmuELEC(unittest.TestCase): + """advmame.rc sets dir_rom /storage/roms/mame, /storage/roms/arcade for + the arcade system (advmame.rc:11, advmame.sh:26-30).""" + + def test_the_sets_land_in_roms_mame(self) -> None: + view = standalone_view("advancemame", "emuelec") + sets = [e for e in view["files"] if e.get("category") == "bios_zip"] + self.assertEqual(len(sets), 29) + for entry in sets: + self.assertEqual(entry["standalone_path"], "mame/" + entry["name"]) + self.assertTrue(entry.get("unprefixed")) + + def test_the_roms_folder_is_no_proof_of_content(self) -> None: + # bios/Arcade/MAME/konamigv.zip is MAME 0.289's set, not AdvanceMAME's. + from common import load_database, resolve_local_file + + db = load_database(str(REPO_ROOT / "database.json")) + view = standalone_view("advancemame", "emuelec") + (entry,) = [e for e in view["files"] if e["name"] == "konamigv.zip"] + moved, _status = resolve_local_file(entry, db, dest_hint=entry["standalone_path"]) + plain = {k: v for k, v in entry.items() + if k not in ("layout_path", "standalone_path", "unprefixed")} + root, _status = resolve_local_file(plain, db, dest_hint=entry["name"]) + self.assertEqual(moved, root) + self.assertNotIn("/MAME/", moved) + + if __name__ == "__main__": unittest.main() diff --git a/tests/test_launchers_emuelec.py b/tests/test_launchers_emuelec.py index 18cf54160..ae6315c98 100644 --- a/tests/test_launchers_emuelec.py +++ b/tests/test_launchers_emuelec.py @@ -313,6 +313,11 @@ ADVMAME_RC = text( ADVMAME_SH = text( """ + if [[ "${1}" = "arcade" ]]; then + sed -i "s|/roms/mame|/roms/arcade|g" ${CONFIG_DIR}/advmame.rc + else + sed -i "s|/roms/arcade|/roms/mame|g" ${CONFIG_DIR}/advmame.rc + fi SDL_AUDIODRIVER=alsa advmame ${ARG} -quiet """ ) @@ -580,9 +585,17 @@ class StandaloneRecords(unittest.TestCase): ) def test_advancemame_one_record_when_every_device_agrees(self): - (record,) = records(el.advancemame) - self.assertEqual(record["search_dir"], "/storage/roms/bios/advmame/samples") - self.assertNotIn("device", record) + roms, arcade, samples = records(el.advancemame) + self.assertEqual(samples["search_dir"], "/storage/roms/bios/advmame/samples") + self.assertNotIn("device", samples) + # advmame.sh rewrites /roms/mame to /roms/arcade for the arcade system. + self.assertEqual( + (roms["search_dir"], roms["passes_to"], roms["depends_on_option"]), + ("/storage/roms/mame", "advmame.rc dir_rom", "system != arcade"), + ) + self.assertNotIn("systems", roms) + self.assertEqual((arcade["search_dir"], arcade["systems"]), ("/storage/roms/arcade", ["arcade"])) + self.assertTrue(arcade["source_ref"].endswith("bin/advmame.sh:1-2, 6")) def test_advancemame_devices_that_disagree_raise(self): changed = ADVMAME_RC.replace("bios/advmame", "bios/other") @@ -618,7 +631,7 @@ class StandaloneRecords(unittest.TestCase): def test_every_extractor_runs_on_the_fixtures(self): found = el.extract_launchers(tree()) - self.assertEqual(len(found), 26) + self.assertEqual(len(found), 28) class Revision(unittest.TestCase):