From fefc9ca16f43d9791a35cbbeb0127ace18df43c4 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:06:57 +0100 Subject: [PATCH 01/24] fix: refuse numbered review tags in commits A subject that points at a numbered private review names notes no clone holds, and pushed history cannot be rewritten. The hook now refuses those tags like the tracked-file test does. --- scripts/commit_rules.py | 10 ++++++++++ tests/test_autorun.py | 17 +++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/scripts/commit_rules.py b/scripts/commit_rules.py index 1dc2bf6fa..356b3a871 100644 --- a/scripts/commit_rules.py +++ b/scripts/commit_rules.py @@ -21,6 +21,14 @@ REFUSED_WORDS = re.compile( r"comprehensive|implement)", re.IGNORECASE, ) +# A numbered pointer at a private review ("audit 24", "review 3", "round 5") +# names notes no clone holds. tests/test_prose_style.py refuses the same tags +# in tracked files, and history cannot be rewritten once pushed. +REVIEW_TAG = re.compile( + r"\b(audit|review|round|batch|finding)s? #?\d+|\baudit (batch|findings?)\b" + r"|[a-z]+_audit_\d+", + re.IGNORECASE, +) CO_AUTHOR = re.compile(r"^co-authored-by", re.IGNORECASE | re.MULTILINE) @@ -35,6 +43,8 @@ def problems(message: str) -> list[str]: text = "\n".join(line for line in message.splitlines() if not line.startswith("#")) if REFUSED_WORDS.search(text): found.append("the message uses a word this repository's history does not carry") + if REVIEW_TAG.search(text): + found.append("say what the change does, not which review asked for it") if CO_AUTHOR.search(message): found.append("no Co-Authored-By trailer here") return found diff --git a/tests/test_autorun.py b/tests/test_autorun.py index aa32b1d05..c8c04e0ad 100644 --- a/tests/test_autorun.py +++ b/tests/test_autorun.py @@ -955,6 +955,23 @@ class SubjectsFollowTheRepositoryRules(unittest.TestCase): self.assertTrue(ar.check_subject(subject)) self.assertEqual(ar.check_subject("chore: tidy the cache"), []) + def test_review_numbers_are_refused(self): + """47 pushed subjects pointed at a numbered private review, which no + clone can follow. The subject says what the change does.""" + import commit_rules # noqa: PLC0415 + + for subject in ("chore: audit 24 and 17 cases, host kept out", + "fix: polish the screens audit 11 named", + "chore: merge audit batch, resolver and profiles", + "fix: settle the review 3 notes"): + with self.subTest(subject=subject): + self.assertTrue(commit_rules.problems(subject)) + for subject in ("fix: scroll long messages in the installer", + "feat: read regions in region_audit.py", + "chore: merge resolver and profile fixes"): + with self.subTest(subject=subject): + self.assertEqual(commit_rules.problems(subject), []) + def test_the_rules_run_as_a_hook(self): with tempfile.TemporaryDirectory() as tmp: message = Path(tmp) / "MSG" From a1d5e7c13db4d3da5d48c4af3b9fa0c68dd36c4b Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:08:16 +0100 Subject: [PATCH 02/24] fix: let pip install the dev extra pyproject had no [build-system] and no module list, so setuptools' flat-layout discovery found scripts/ and tests/ and refused to build. Nothing is packaged now and pip install -e ".[dev]" installs the tooling. --- pyproject.toml | 11 +++++++++++ tests/test_audit_regressions.py | 28 ++++++++++++++++++++++++++++ wiki/testing-guide.md | 5 +++-- 3 files changed, 42 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 95e707656..bfb24f9c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,3 +1,14 @@ +# Installing the project installs its dependencies and nothing else: +# `pip install -e ".[dev]"` gives a contributor every tool the tests use. +# scripts/ and tests/ run from the checkout, so no package is built from them. +[build-system] +requires = ["setuptools>=61"] +build-backend = "setuptools.build_meta" + +[tool.setuptools] +packages = [] +py-modules = [] + [project] name = "retrobios" version = "1.0.0" diff --git a/tests/test_audit_regressions.py b/tests/test_audit_regressions.py index e6f95068d..3b2bfa674 100644 --- a/tests/test_audit_regressions.py +++ b/tests/test_audit_regressions.py @@ -2725,6 +2725,34 @@ class DeclaredDependenciesMatchTheDocumentedWorkflows(unittest.TestCase): ) +class TheProjectInstallsWithPip(unittest.TestCase): + """pyproject declared a dev extra that pip could not install: without a + [build-system] and an explicit module list, setuptools' flat-layout + discovery found scripts/ and tests/ and refused to build.""" + + def test_setuptools_discovers_nothing_to_package(self): + import importlib.util # noqa: PLC0415 + + if importlib.util.find_spec("setuptools") is None: + self.skipTest("setuptools is not installed") + program = ( + "from setuptools.dist import Distribution\n" + "from setuptools.config.pyprojecttoml import apply_configuration\n" + "dist = apply_configuration(Distribution(), 'pyproject.toml')\n" + "dist.set_defaults()\n" + "print(sorted(dist.packages or []), sorted(dist.py_modules or []))\n" + ) + done = subprocess.run([sys.executable, "-c", program], cwd=ROOT, + capture_output=True, text=True, check=False) + self.assertEqual(done.returncode, 0, done.stderr[-2000:]) + self.assertEqual(done.stdout.strip(), "[] []") + import tomllib # noqa: PLC0415 + + with (ROOT / "pyproject.toml").open("rb") as handle: + build = tomllib.load(handle)["build-system"] + self.assertEqual(build["build-backend"], "setuptools.build_meta") + + class ACheckThatCannotAnswerDoesNotPass(unittest.TestCase): """Exiting zero says the question was answered and the answer was yes. diff --git a/wiki/testing-guide.md b/wiki/testing-guide.md index d2c28dbc0..43640fc57 100644 --- a/wiki/testing-guide.md +++ b/wiki/testing-guide.md @@ -39,8 +39,9 @@ tests are reported as skipped, so install them before a pull request (`pip install "jsonschema[format-nongpl]" markdown`). The installer's full-screen tests drive `install.py --tui` on a pseudo-terminal and read the screen back with `pyte`, and fuzz the key decoder with `hypothesis`: both skip -without them (`pip install pyte hypothesis`). No test framework beyond the -standard library `unittest` module. +without them (`pip install pyte hypothesis`). `pip install -e ".[dev]"` from the +checkout installs all of these at once, from the `dev` extra of `pyproject.toml`. +No test framework beyond the standard library `unittest` module. ## Modules at a glance From 80f736c16775bdaca160ff9a2d97608cff4402e4 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:10:57 +0100 Subject: [PATCH 03/24] fix: read the umask under one lock plain_file_mode and safe_extract_zip set the umask to 0 to read it. Two threads doing so could restore 0 last, leaving every later file world-writable. Both now read it through process_umask, which holds a lock. --- scripts/artifacts.py | 23 +++++++++++++++++++---- scripts/ziptools.py | 6 ++---- tests/test_atomic_artifacts.py | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 8 deletions(-) diff --git a/scripts/artifacts.py b/scripts/artifacts.py index 82a120302..7cbfebc17 100644 --- a/scripts/artifacts.py +++ b/scripts/artifacts.py @@ -12,6 +12,7 @@ import contextlib import json import os import tempfile +import threading import re @@ -62,12 +63,26 @@ def write_if_changed( return True +_UMASK_LOCK = threading.Lock() + + +def process_umask() -> int: + """The process umask, read without letting a second thread see it at 0. + + Reading the umask sets it, so it is put back at once. Two threads doing + that unguarded interleave as A sets 0 and reads 022, B sets 0 and reads 0, + A restores 022, B restores 0: the process keeps umask 0 and every file it + creates afterwards is world-writable. + """ + with _UMASK_LOCK: + umask = os.umask(0) + os.umask(umask) + return umask + + def plain_file_mode() -> int: """The mode open() gives a new file: 0o666 less the process umask.""" - # Reading the umask sets it, so it is put back at once. - umask = os.umask(0) - os.umask(umask) - return 0o666 & ~umask + return 0o666 & ~process_umask() def set_plain_mode(path: str | os.PathLike) -> None: diff --git a/scripts/ziptools.py b/scripts/ziptools.py index cb82d41b9..e8ad8bdfb 100644 --- a/scripts/ziptools.py +++ b/scripts/ziptools.py @@ -14,7 +14,7 @@ import sys import tempfile import zipfile -from artifacts import set_plain_mode +from artifacts import process_umask, set_plain_mode from hashing import md5sum @@ -251,9 +251,7 @@ def safe_extract_zip( """ dest = os.path.realpath(dest_dir) os.makedirs(dest, exist_ok=True) - # Reading the umask sets it, so it is put back at once. - umask = os.umask(0) - os.umask(umask) + umask = process_umask() with zipfile.ZipFile(zip_path, "r") as zf: members = zf.infolist() if len(members) > max_members: diff --git a/tests/test_atomic_artifacts.py b/tests/test_atomic_artifacts.py index e106975b8..f54363823 100644 --- a/tests/test_atomic_artifacts.py +++ b/tests/test_atomic_artifacts.py @@ -154,6 +154,38 @@ class ScratchFilesGetThePlainMode(unittest.TestCase): artifacts.write_text_atomic(str(self.dir / "a.json"), "{}") self.assertEqual(self._mode(self.dir / "a.json"), 0o664) + def test_threads_reading_the_mode_leave_the_umask_alone(self): + """mame_devices fetches on eight threads and every cache write reads + the umask: unguarded, two readers interleaved and left it at 0.""" + import threading # noqa: PLC0415 + + interval = sys.getswitchinterval() + sys.setswitchinterval(1e-6) + self.addCleanup(sys.setswitchinterval, interval) + modes: set[int] = set() + + def read() -> None: + seen = {artifacts.plain_file_mode() for _ in range(20000)} + modes.update(seen) + + threads = [threading.Thread(target=read) for _ in range(8)] + for thread in threads: + thread.start() + for thread in threads: + thread.join() + current = os.umask(0o022) + self.assertEqual(current, 0o022) + self.assertEqual(modes, {0o644}) + + def test_no_script_reads_the_umask_unguarded(self): + offenders = [ + f"{path.name}:{number}" + for path in sorted((REPO_ROOT / "scripts").rglob("*.py")) + for number, line in enumerate(path.read_text(encoding="utf-8").splitlines(), 1) + if "os.umask(" in line and path.name != "artifacts.py" + ] + self.assertEqual(offenders, []) + def test_packs_and_their_manifest(self): import zipfile # noqa: PLC0415 From 891741433b70618aba4f87a123c88d15535d615b Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:16:59 +0100 Subject: [PATCH 04/24] fix: publish the games index whole or not at all install/games/, the event schema, the launcher index and wiki/installer.md were truncated at their final name, so an interrupted run left a committed-looking partial JSON document. They now go through write_text_atomic. --- scripts/generate_event_schema.py | 4 +++- scripts/generate_games_index.py | 3 ++- scripts/generate_installer_doc.py | 4 +++- scripts/generate_launcher_index.py | 3 ++- tests/test_atomic_artifacts.py | 21 +++++++++++++++++++++ 5 files changed, 31 insertions(+), 4 deletions(-) diff --git a/scripts/generate_event_schema.py b/scripts/generate_event_schema.py index 6c2a309dc..ba8c9ce49 100644 --- a/scripts/generate_event_schema.py +++ b/scripts/generate_event_schema.py @@ -13,6 +13,8 @@ import json import sys from pathlib import Path +from artifacts import write_text_atomic + ROOT = Path(__file__).resolve().parent.parent OUTPUT = ROOT / "schemas" / "install-events.schema.json" @@ -105,7 +107,7 @@ def main(argv: list[str] | None = None) -> int: print(f"{args.output} differs from EVENT_KEYS: run " "python scripts/generate_event_schema.py", file=sys.stderr) return 1 - args.output.write_text(text, encoding="utf-8") + write_text_atomic(str(args.output), text) print(f"Wrote {args.output}") return 0 diff --git a/scripts/generate_games_index.py b/scripts/generate_games_index.py index e61db4278..693178b59 100644 --- a/scripts/generate_games_index.py +++ b/scripts/generate_games_index.py @@ -59,6 +59,7 @@ from romfolders import ( # noqa: E402 folder_names, load_setups, ) +from artifacts import write_text_atomic # noqa: E402 from safeparse import yaml_load # noqa: E402 import install # noqa: E402 @@ -635,7 +636,7 @@ def main() -> int: path.unlink() for path in changed: path.parent.mkdir(parents=True, exist_ok=True) - path.write_text(files[path], encoding="utf-8") + write_text_atomic(str(path), files[path]) print(f"{len(changed)} written, {len(stale)} removed") return 1 if failures else 0 diff --git a/scripts/generate_installer_doc.py b/scripts/generate_installer_doc.py index 5775298e3..d3a1309a4 100644 --- a/scripts/generate_installer_doc.py +++ b/scripts/generate_installer_doc.py @@ -45,6 +45,8 @@ import zipfile from pathlib import Path, PurePosixPath from typing import Callable +from artifacts import write_text_atomic + ROOT = Path(__file__).resolve().parent.parent PAGE = ROOT / "wiki" / "installer.md" INSTALLER = ROOT / "install.py" @@ -643,7 +645,7 @@ def main(argv: list[str] | None = None) -> int: print(f"{args.page} differs from install.py and install/*.json: run " "python scripts/generate_installer_doc.py", file=sys.stderr) return 1 - args.page.write_text(text, encoding="utf-8") + write_text_atomic(str(args.page), text) print(f"Wrote {args.page}") return 0 diff --git a/scripts/generate_launcher_index.py b/scripts/generate_launcher_index.py index 7da8c7103..6592d26e4 100644 --- a/scripts/generate_launcher_index.py +++ b/scripts/generate_launcher_index.py @@ -22,6 +22,7 @@ import json import sys from pathlib import Path +from artifacts import write_text_atomic from build_port import ( BATOCERA_ZIP, MUOS_APP, @@ -121,7 +122,7 @@ def main(argv: list[str] | None = None) -> int: "python scripts/generate_launcher_index.py", file=sys.stderr) return 1 args.output.parent.mkdir(parents=True, exist_ok=True) - args.output.write_text(text, encoding="utf-8") + write_text_atomic(str(args.output), text) print(f"Wrote {args.output}") return 0 diff --git a/tests/test_atomic_artifacts.py b/tests/test_atomic_artifacts.py index f54363823..ad3868035 100644 --- a/tests/test_atomic_artifacts.py +++ b/tests/test_atomic_artifacts.py @@ -83,6 +83,27 @@ class EveryWriterGoesThroughIt(unittest.TestCase): ] self.assertEqual(offenders, []) + def test_generators_publish_whole_files(self): + """install/games/ (12 MB, read by install.py --for-games), the event + schema, the launcher index and wiki/installer.md were truncated at + their final name: an interrupted run left a committed-looking file + holding part of a JSON document. The installer doc's sandbox writes + throwaway fixtures under tmp/ and is not published.""" + import ast + + sandbox = {"write_small_list", "Sandbox"} + offenders = [] + for path in sorted((REPO_ROOT / "scripts").glob("generate_*.py")): + tree = ast.parse(path.read_text(encoding="utf-8")) + for top in tree.body: + if path.name == "generate_installer_doc.py" and getattr(top, "name", "") in sandbox: + continue + for node in ast.walk(top): + if (isinstance(node, ast.Call) and isinstance(node.func, ast.Attribute) + and node.func.attr in ("write_text", "write_bytes")): + offenders.append(f"{path.name}:{node.lineno}") + self.assertEqual(offenders, []) + def test_the_text_is_utf8_whatever_the_locale(self): import tempfile From dd904e2fab2fe9169e498b53869f7a12d3b62ac9 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:17:23 +0100 Subject: [PATCH 05/24] fix: say what differs in games index --check --check printed only STALE and a path, after the whole coverage table. It now skips the table, names what changed in each document (an added file, a changed key) and the command that writes them. The published index lagged the RetroArch manifest by ep128emu/roms/ide12.rom and is regenerated. --- install/games/fallback/retroarch.json | 2 +- install/games/index.json | 2 +- scripts/generate_games_index.py | 58 +++++++++++++++++++++++++-- tests/test_games_index.py | 41 +++++++++++++++++++ 4 files changed, 98 insertions(+), 5 deletions(-) diff --git a/install/games/fallback/retroarch.json b/install/games/fallback/retroarch.json index 34adfb398..2a71687c2 100644 --- a/install/games/fallback/retroarch.json +++ b/install/games/fallback/retroarch.json @@ -1 +1 @@ -{"files":[["128-0.rom",16384,"bios"],["128-1.rom",16384,"bios"],["128-spanish-0.rom",16384,"bios"],["128-spanish-1.rom",16384,"bios"],["22vp931.zip",1405,"bios"],["32X_G_BIOS.bin",256,"bios"],["32X_M_BIOS.bin",2048,"bios"],["32X_S_BIOS.bin",1024,"bios"],["3c505.zip",10896,"bios"],["3do_arcade_saot.bin",524288,"bios"],["3xtwin.zip",1417,"bios"],["48.rom",16384,"bios"],["4dparprn.zip",409,"bios"],["5200.rom",2048,"bios"],["64DD_IPL.bin",4194304,"bios"],["6570-036.rom",2048,"bios"],["68HC05.rom",8192,"bios"],["7800 BIOS (E).rom",16384,"bios"],["7800 BIOS (U).rom",4096,"bios"],["ATARIBAS.ROM",8192,"bios"],["ATARIOSA.ROM",10240,"bios"],["ATARIOSB.ROM",10240,"bios"],["ATARIXL.ROM",16384,"bios"],["Azahar/Azahar/nand/private/movable.sed",320,"bios"],["Azahar/Azahar/nand/rw/sys/LocalFriendCodeSeed_B",272,"bios"],["Azahar/Azahar/nand/rw/sys/SecureInfo_A",273,"bios"],["Azahar/Azahar/sysdata/keys.txt",7424,"bios"],["Azahar/Azahar/sysdata/otp.bin",256,"bios"],["Azahar/Azahar/sysdata/seeddb.bin",53264,"bios"],["Azahar/Azahar/sysdata/shared_font.bin",3145728,"bios"],["BB01R4_OS.ROM",16384,"bios"],["BBKEmu/A4980/8.BIN",2097152,"bios"],["BBKEmu/A4980/E.BIN",2097152,"bios"],["BIOS.col",8192,"bios"],["BS-X (En) (DRM-Free).bin",1048576,"bios"],["BS-X (En).bin",1048576,"bios"],["BS-X.bin",1048576,"bios"],["CARTS.SHA",33152,"bios"],["CM32LN_CONTROL.ROM",65536,"bios"],["CM32L_CONTROL.ROM",65536,"bios"],["CM32L_PCM.ROM",1048576,"bios"],["CYRILLIC.FNT",2048,"bios"],["Cemu/cafeLibs/erreula.rpl",790080,"bios"],["Cemu/cafeLibs/snd_user.rpl",84032,"bios"],["Cemu/cafeLibs/snduser2.rpl",111360,"bios"],["Cemu/cafeLibs/swkbd.rpl",1116288,"bios"],["Cemu/keys.txt",449507,"bios"],["Cemu/mlc01/sys/title/0005001b/10042400/content/CafeCn.ttf",13110604,"bios"],["Cemu/mlc01/sys/title/0005001b/10042400/content/CafeKr.ttf",2260660,"bios"],["Cemu/mlc01/sys/title/0005001b/10042400/content/CafeStd.ttf",2442464,"bios"],["Cemu/mlc01/sys/title/0005001b/10042400/content/CafeTw.ttf",8229724,"bios"],["Cemu/mlc01/sys/title/0005001b/1004f000/content/00/swkbd/swkbd.pack",1907900,"bios"],["Cemu/mlc01/sys/title/0005001b/10051000/content/00/erreula/erreula.pack",1252759,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_CERT.der",1226,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_RSA_KEY.aes",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_CERT.der",1224,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_RSA_KEY.aes",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_CERT.der",1224,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_RSA_KEY.aes",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_CERT.der",1223,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_RSA_KEY.aes",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_CERT.der",1223,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_RSA_KEY.aes",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ADDTRUST_EXT_CA_ROOT.der",1082,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/BALTIMORE_CYBERTRUST_ROOT_CA.der",891,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA.der",897,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G2.der",1173,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G3.der",1060,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA.der",924,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G2.der",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G3.der",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/COMODO_CA.der",980,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CYBERTRUST_GLOBAL_ROOT_CA.der",933,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA.der",955,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA_G2.der",922,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA.der",947,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA_G2.der",914,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_HIGH_ASSURANCE_EV_ROOT_CA.der",969,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_CA_2048.der",1070,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA.der",1173,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA_G2.der",1090,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_SECURE_SERVER_CA.der",1244,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/EQUIFAX_SECURE_CA.der",804,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA.der",856,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA2.der",874,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA.der",896,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA_G3.der",1026,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA.der",889,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R2.der",958,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R3.der",867,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GTE_CYBERTRUST_GLOBAL_ROOT.der",606,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PREMIUM_SERVER_CA.der",811,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA.der",1060,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA_G3.der",1070,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/UTN_DATACORP_SGC_CA.der",1122,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/UTN_USERFIRST_HARDWARE_CA.der",1144,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA.der",576,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G2.der",774,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G3.der",1054,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G5.der",1239,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_UNIVERSAL_ROOT_CA.der",1213,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERIZON_GLOBAL_ROOT_CA.der",889,"bios"],["Cemu/otp.bin",1024,"bios"],["Cemu/resources/sharedFonts/CafeCn.ttf",9664448,"bios"],["Cemu/resources/sharedFonts/CafeKr.ttf",5626464,"bios"],["Cemu/resources/sharedFonts/CafeStd.ttf",5363768,"bios"],["Cemu/resources/sharedFonts/CafeTw.ttf",6593548,"bios"],["Cemu/seeprom.bin",512,"bios"],["Cemu/shareddata.bin",33554432,"bios"],["Citra/Citra/sysdata/aes_keys.txt",7357,"bios"],["Citra/Citra/sysdata/boot9.bin",65536,"bios"],["Citra/Citra/sysdata/seeddb.bin",53264,"bios"],["Citra/Citra/sysdata/shared_font.bin",3145728,"bios"],["Complex_4627.bin",1048576,"bios"],["D8039HLC.rom",2048,"bios"],["DISK.ROM",16384,"bios"],["DOSBOX.SF2",32319396,"bios"],["Databases/colecodb.xml",158187,"bios"],["Databases/msxcaswavdb.xml",819679,"bios"],["Databases/msxromdb.xml",930986,"bios"],["Databases/msxsysromdb.xml",157542,"bios"],["Databases/segadb.xml",82318,"bios"],["Databases/svidb.xml",261070,"bios"],["Dinothawr.zip",6724506,"bios"],["FB Alpha 2012 CPS-3/hiscore.dat",322458,"bios"],["FB Alpha 2012/hiscore.dat",322458,"bios"],["FMPAC.ROM",65536,"bios"],["FMPAC16.ROM",16384,"bios"],["ITALIC.FNT",2048,"bios"],["Ishiiruka/User/Wii/clientca.pem",1005,"bios"],["Ishiiruka/User/Wii/clientcakey.pem",609,"bios"],["Ishiiruka/User/Wii/rootca.pem",897,"bios"],["Ishiiruka/User/Wii/sd.raw",134217728,"bios"],["Ishiiruka/User/Wii/shared2/sys/SYSCONF",16384,"bios"],["Ishiiruka/User/Wii/title/00000001/00000002/data/setting.txt",256,"bios"],["JiffyDOS_1541-II.bin",16384,"bios"],["JiffyDOS_1571_repl310654.bin",32768,"bios"],["JiffyDOS_1581.bin",32768,"bios"],["JiffyDOS_C128.bin",16384,"bios"],["JiffyDOS_C64.bin",8192,"bios"],["JiffyDOS_SX-64.bin",8192,"bios"],["KANJI.ROM",131072,"bios"],["MSX.ROM",32768,"bios"],["MSX2.ROM",32768,"bios"],["MSX2EXT.ROM",16384,"bios"],["MSX2P.ROM",32768,"bios"],["MSX2PEXT.ROM",16384,"bios"],["MSXDOS2.ROM",65536,"bios"],["MT32_CONTROL.ROM",65536,"bios"],["MT32_PCM.ROM",524288,"bios"],["Machines/COL - ColecoVision/coleco.rom",8192,"bios"],["Machines/Forte II Games - Pesadelo/pesadelo.rom",65536,"bios"],["Machines/MSX - C-BIOS/cbios_logo_msx1.rom",16384,"bios"],["Machines/MSX - C-BIOS/cbios_main_msx1.rom",32768,"bios"],["Machines/MSX2 - C-BIOS/cbios_logo_msx2.rom",16384,"bios"],["Machines/MSX2 - C-BIOS/cbios_main_msx2.rom",32768,"bios"],["Machines/MSX2 - C-BIOS/cbios_sub.rom",16384,"bios"],["Machines/MSX2+ - C-BIOS/cbios_logo_msx2+.rom",16384,"bios"],["Machines/MSX2+ - C-BIOS/cbios_main_msx2+.rom",32768,"bios"],["Machines/MSX2+ - C-BIOS/cbios_music.rom",16384,"bios"],["Machines/MSX2+ - European/Msx2pe.rom",32768,"bios"],["Machines/MSX2+ - European/Msx2pexte.rom",49152,"bios"],["Machines/SEGA - SF-7000/sf7000.rom",8192,"bios"],["Machines/SVI - Spectravideo SVI-318/svi318.rom",32768,"bios"],["Machines/SVI - Spectravideo SVI-328 MK2/svi328a.rom",32768,"bios"],["Machines/SVI - Spectravideo SVI-328/svi328.rom",32768,"bios"],["Machines/Shared Roms/ARAB1.ROM",32768,"bios"],["Machines/Shared Roms/ARABIC.rom",32768,"bios"],["Machines/Shared Roms/BEERIDE.ROM",16384,"bios"],["Machines/Shared Roms/FMPAC.rom",65536,"bios"],["Machines/Shared Roms/GCVMX80.ROM",8192,"bios"],["Machines/Shared Roms/HANGUL.rom",131072,"bios"],["Machines/Shared Roms/KANJI.rom",262144,"bios"],["Machines/Shared Roms/MICROSOLDISK.ROM",16384,"bios"],["Machines/Shared Roms/MOONSOUND.rom",2097152,"bios"],["Machines/Shared Roms/MSX.rom",32768,"bios"],["Machines/Shared Roms/MSX2.rom",32768,"bios"],["Machines/Shared Roms/MSX2AR.ROM",32768,"bios"],["Machines/Shared Roms/MSX2AREXT.ROM",16384,"bios"],["Machines/Shared Roms/MSX2BR.rom",32768,"bios"],["Machines/Shared Roms/MSX2BREXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2EXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2FR.rom",32768,"bios"],["Machines/Shared Roms/MSX2FREXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2G.rom",32768,"bios"],["Machines/Shared Roms/MSX2GEXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2HAN.rom",32768,"bios"],["Machines/Shared Roms/MSX2J.rom",32768,"bios"],["Machines/Shared Roms/MSX2JEXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2KR.rom",32768,"bios"],["Machines/Shared Roms/MSX2KREXT.rom",32768,"bios"],["Machines/Shared Roms/MSX2P.rom",32768,"bios"],["Machines/Shared Roms/MSX2PEXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2PMUS.rom",16384,"bios"],["Machines/Shared Roms/MSX2R.rom",32768,"bios"],["Machines/Shared Roms/MSX2R2.ROM",32768,"bios"],["Machines/Shared Roms/MSX2REXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2SE.rom",32768,"bios"],["Machines/Shared Roms/MSX2SP.rom",32768,"bios"],["Machines/Shared Roms/MSX2SPEXT.rom",16384,"bios"],["Machines/Shared Roms/MSXAR.ROM",32768,"bios"],["Machines/Shared Roms/MSXBR.rom",32768,"bios"],["Machines/Shared Roms/MSXDOS23.ROM",65536,"bios"],["Machines/Shared Roms/MSXFR.rom",32768,"bios"],["Machines/Shared Roms/MSXG.rom",32768,"bios"],["Machines/Shared Roms/MSXHAN.rom",8192,"bios"],["Machines/Shared Roms/MSXJ.rom",32768,"bios"],["Machines/Shared Roms/MSXKANJI.rom",32768,"bios"],["Machines/Shared Roms/MSXKR.rom",32768,"bios"],["Machines/Shared Roms/MSXR.rom",32768,"bios"],["Machines/Shared Roms/MSXR2.ROM",32768,"bios"],["Machines/Shared Roms/MSXSE.ROM",32768,"bios"],["Machines/Shared Roms/MSXSP.rom",32768,"bios"],["Machines/Shared Roms/MSXTR.ROM",32768,"bios"],["Machines/Shared Roms/MSXTREXT.ROM",16384,"bios"],["Machines/Shared Roms/MSXTRMUS.ROM",16384,"bios"],["Machines/Shared Roms/MSXTROPT.ROM",16384,"bios"],["Machines/Shared Roms/NATIONALDISK.rom",16384,"bios"],["Machines/Shared Roms/NOVAXIS.rom",16384,"bios"],["Machines/Shared Roms/PAINT.rom",65536,"bios"],["Machines/Shared Roms/PANASONICDISK.rom",16384,"bios"],["Machines/Shared Roms/PHILIPSDISK.rom",16384,"bios"],["Machines/Shared Roms/RS232.ROM",8192,"bios"],["Machines/Shared Roms/SUNRISEIDE.rom",65536,"bios"],["Machines/Shared Roms/SWP.rom",32768,"bios"],["Machines/Shared Roms/XBASIC2.rom",16384,"bios"],["Machines/Shared Roms/nowindDos1.rom",524288,"bios"],["Machines/Shared Roms/nowindDos2.rom",524288,"bios"],["MesenNesDB.txt",548608,"game_data"],["MesenPalette.pal",192,"bios"],["Mupen64plus/IPL.n64",4194304,"bios"],["Mupen64plus/font.ttf",65932,"bios"],["NstDatabase.xml",1009534,"bios"],["PAINTER.ROM",65536,"bios"],["PPSSPP/ppge_atlas.meta",1119232,"bios"],["PPSSPP/ppge_atlas.zim",666530,"bios"],["Panda3DS/Emulator Files/sysdata/aes_keys.txt",7357,"bios"],["Panda3DS/Emulator Files/sysdata/seeddb.bin",53264,"bios"],["ROM_OS_BB01R59",16384,"bios"],["ROM_OS_BB01R59A",16384,"bios"],["ROM_OS_BB02R3V4",16384,"bios"],["ROM_OS_CC01R4",16384,"bios"],["RS232.ROM",16640,"bios"],["SC-55-v1.00/sc55_rom1.bin",32768,"bios"],["SC-55-v1.00/sc55_rom2.bin",262144,"bios"],["SC-55-v1.00/sc55_waverom1.bin",1048576,"bios"],["SC-55-v1.00/sc55_waverom2.bin",1048576,"bios"],["SC-55-v1.00/sc55_waverom3.bin",1048576,"bios"],["SC-55/ROM1.BIN",32768,"bios"],["SC-55/ROM2.BIN",524288,"bios"],["SC-55/ROM_SM.BIN",4096,"bios"],["SC-55/WAVEROM1.BIN",2097152,"bios"],["SC-55/WAVEROM2.BIN",1048576,"bios"],["SC-55/WAVEROM3.BIN",1048576,"bios"],["SGB1.sfc",262144,"bios"],["SGB2.sfc",524288,"bios"],["STBIOS.bin",262144,"bios"],["Satellaview/BSX0120-0.bin",34,"game_data"],["Satellaview/BSX0121-0.bin",34,"game_data"],["Satellaview/BSX0122-0.bin",1031,"game_data"],["Satellaview/BSX0123-0.bin",16,"game_data"],["Satellaview/BSX0124-0.bin",97,"game_data"],["SegaCDBIOS9303.bin",131072,"bios"],["SkyEmu/cgb_boot.bin",2304,"bios"],["SkyEmu/dmg_rom.bin",256,"bios"],["SkyEmu/firmware.bin",262144,"bios"],["SkyEmu/gba_bios.bin",16384,"bios"],["SkyEmu/nds7.bin",16384,"bios"],["SkyEmu/nds9.bin",4096,"bios"],["Stella/stella/KVB1.WAV",4219542,"game_data"],["Stella/stella/KVB2.WAV",9593878,"game_data"],["Stella/stella/KVB3.WAV",7676992,"game_data"],["Stella/stella/KVS1.WAV",3436329,"game_data"],["Stella/stella/KVS2.WAV",2086275,"game_data"],["Stella/stella/KVS3.WAV",3720920,"game_data"],["Stella/stella/KVSHARED.WAV",3059116,"game_data"],["StudyBox.bin",262144,"bios"],["Super GameBoy.sfc/lr35902.boot.rom",256,"bios"],["Super GameBoy.sfc/program.rom",262144,"bios"],["Super GameBoy.sfc/sgb1.boot.rom",256,"bios"],["Vircon32Bios.v32",1073060,"bios"],["WHDLoad.prefs",1935,"bios"],["XEGAME.ROM",8192,"bios"],["[BIOS] Atari Jaguar CD (World).j64",262144,"bios"],["[BIOS] Atari Jaguar Developer CD (World).j64",262144,"bios"],["a1000kbd_de.zip",1331,"bios"],["a1000kbd_dk.zip",1331,"bios"],["a1000kbd_fr.zip",1331,"bios"],["a1000kbd_gb.zip",1331,"bios"],["a1000kbd_it.zip",1331,"bios"],["a1000kbd_se.zip",1331,"bios"],["a1000kbd_us.zip",1331,"bios"],["a1200kbd_rb.zip",1476,"bios"],["a1cass.zip",509,"bios"],["a2000kbd_ch.zip",1335,"bios"],["a2000kbd_de.zip",1335,"bios"],["a2000kbd_dk.zip",1335,"bios"],["a2000kbd_es.zip",1335,"bios"],["a2000kbd_fr.zip",1335,"bios"],["a2000kbd_g80_de.zip",1151,"bios"],["a2000kbd_g80_dk.zip",1151,"bios"],["a2000kbd_g80_gb.zip",1151,"bios"],["a2000kbd_g80_se.zip",1151,"bios"],["a2000kbd_g80_us.zip",1151,"bios"],["a2000kbd_gb.zip",1335,"bios"],["a2000kbd_it.zip",1335,"bios"],["a2000kbd_no.zip",1335,"bios"],["a2000kbd_se.zip",1335,"bios"],["a2000kbd_us.zip",1335,"bios"],["a2aevm80.zip",2540,"bios"],["a2ap16.zip",2649,"bios"],["a2ap16a.zip",2549,"bios"],["a2aplcrd.zip",1188,"bios"],["a2autokbd.zip",1363,"bios"],["a2booti.zip",3578,"bios"],["a2bufgrapplerplus.zip",3613,"bios"],["a2bufgrapplerplusa.zip",483416,"bios"],["a2cffa02.zip",2371,"bios"],["a2cffa2.zip",2389,"bios"],["a2corvus.zip",1590,"bios"],["a2diskiing.zip",371,"bios"],["a2excel9.zip",7157,"bios"],["a2focdrv.zip",1651,"bios"],["a2grappler.zip",1536,"bios"],["a2grapplerplus.zip",5587,"bios"],["a2hsscsi.zip",11374,"bios"],["a2ieee488.zip",1619,"bios"],["a2iwm.zip",371,"bios"],["a2kb200.zip",1144,"bios"],["a2memexp.zip",2174,"bios"],["a2mouse.zip",2836,"bios"],["a2parprn.zip",354,"bios"],["a2pdromdr.zip",666891,"bios"],["a2pic.zip",519,"bios"],["a2q68.zip",5474,"bios"],["a2q68plus.zip",5474,"bios"],["a2ramfac.zip",16155,"bios"],["a2romfp.zip",11102,"bios"],["a2romint.zip",12783,"bios"],["a2scsi.zip",8945,"bios"],["a2sd.zip",1282,"bios"],["a2sic.zip",1867,"bios"],["a2sider1.zip",1738,"bios"],["a2sider2.zip",707,"bios"],["a2ssc.zip",1845,"bios"],["a2superdrive.zip",10883,"bios"],["a2suprterm.zip",1864,"bios"],["a2surance.zip",3321,"bios"],["a2swyft.zip",11515,"bios"],["a2thunpl.zip",998,"bios"],["a2tk10.zip",1541,"bios"],["a2tmstho.zip",1217,"bios"],["a2twarp.zip",2309,"bios"],["a2ultrme.zip",3652,"bios"],["a2ulttrm.zip",3746,"bios"],["a2uniprint.zip",2145,"bios"],["a2vidtrm.zip",10620,"bios"],["a2vistaa800.zip",790,"bios"],["a2vtc1.zip",2062,"bios"],["a2vuliie.zip",3719,"bios"],["a2zipdrv.zip",3006,"bios"],["a3fdc.zip",262,"bios"],["a500kbd_ch.zip",1335,"bios"],["a500kbd_de.zip",1335,"bios"],["a500kbd_dk.zip",1335,"bios"],["a500kbd_es.zip",1335,"bios"],["a500kbd_fr.zip",1335,"bios"],["a500kbd_gb.zip",1335,"bios"],["a500kbd_it.zip",1335,"bios"],["a500kbd_no.zip",1335,"bios"],["a500kbd_se.zip",1335,"bios"],["a500kbd_us.zip",1335,"bios"],["a600kbd_ch.zip",1335,"bios"],["a600kbd_de.zip",1335,"bios"],["a600kbd_dk.zip",1335,"bios"],["a600kbd_es.zip",1335,"bios"],["a600kbd_fr.zip",1335,"bios"],["a600kbd_gb.zip",1335,"bios"],["a600kbd_it.zip",1335,"bios"],["a600kbd_no.zip",1335,"bios"],["a600kbd_se.zip",1335,"bios"],["a600kbd_us.zip",1335,"bios"],["abc1600mac.zip",7345,"bios"],["abc1600mover.zip",1347,"bios"],["abc55.zip",1546,"bios"],["abc77.zip",1546,"bios"],["abc800kb.zip",1087,"bios"],["abc80kb.zip",389,"bios"],["abc830.zip",24177,"bios"],["abc832.zip",24177,"bios"],["abc834.zip",24177,"bios"],["abc838.zip",24177,"bios"],["abc850flop.zip",24177,"bios"],["abc99.zip",5285,"bios"],["abc_db4106.zip",1696,"bios"],["abc_db4107.zip",23643,"bios"],["abc_db4112.zip",9945,"bios"],["abc_fd2.zip",6129,"bios"],["abc_slutprov.zip",509,"bios"],["abc_ssa.zip",101707,"bios"],["abc_uni800.zip",163,"bios"],["abc_unidisk.zip",9386,"bios"],["abcsio.zip",3201,"bios"],["acb2072.zip",11517,"bios"],["ace80.zip",1177,"bios"],["ace_sp_reelctrl.zip",1966,"bios"],["ace_sp_reelctrl_pcp.zip",1148,"bios"],["acorn_vdu80.zip",704,"bios"],["acs8600_ics.zip",2931,"bios"],["aes.zip",850311,"bios"],["agat7_flop.zip",588,"bios"],["agat840k_hle.zip",322,"bios"],["agat9_flop.zip",589,"bios"],["agat_fdc.zip",609,"bios"],["agb_boot.bin",2304,"bios"],["aha1542a.zip",15453,"bios"],["aha1542b.zip",84294,"bios"],["aha1542c.zip",52938,"bios"],["aha1542cf.zip",92027,"bios"],["aha1542cp.zip",36978,"bios"],["aha1740.zip",28701,"bios"],["aha1742a.zip",57787,"bios"],["aha2940.zip",38616,"bios"],["aha2940au.zip",31135,"bios"],["alto2_cpu.zip",15499,"bios"],["altos2_kbd.zip",695,"bios"],["am100kbd.zip",2016,"bios"],["amiga_a2091.zip",54815,"bios"],["amiga_a570.zip",171907,"bios"],["amiga_a590.zip",69833,"bios"],["amiga_ar1.zip",61074,"bios"],["amiga_ar2.zip",193315,"bios"],["amiga_ar3.zip",263916,"bios"],["amiga_buddha.zip",1179140,"bios"],["amiga_oktagon2008.zip",13786,"bios"],["amiga_ripple.zip",15180,"bios"],["ampex230_kbd.zip",976,"bios"],["ap2000.zip",21618,"bios"],["aplcd150.zip",9137,"bios"],["aprissi.zip",5014,"bios"],["arc_a448.zip",602,"bios"],["arc_a448b.zip",836,"bios"],["arc_acejoy.zip",1311,"bios"],["arc_armadeus.zip",1014,"bios"],["arc_bbcio_aga30.zip",1329,"bios"],["arc_bbcio_aka10.zip",3792,"bios"],["arc_bbcio_we.zip",1273,"bios"],["arc_eaglem2.zip",47500,"bios"],["arc_ether1_aka25.zip",163,"bios"],["arc_ether2_aeh50.zip",378,"bios"],["arc_ether3_aeh54.zip",50047,"bios"],["arc_ethera.zip",149278,"bios"],["arc_etherd.zip",105641,"bios"],["arc_etherr.zip",49753,"bios"],["arc_faxpack.zip",5826,"bios"],["arc_greyhawk.zip",5265,"bios"],["arc_hdisc_akd52.zip",421,"bios"],["arc_hdisc_cw.zip",565,"bios"],["arc_hdisc_morley.zip",1333,"bios"],["arc_hdisc_we.zip",462,"bios"],["arc_ide_be.zip",24321,"bios"],["arc_ide_rdev.zip",7001,"bios"],["arc_iomidi_aka15.zip",5309,"bios"],["arc_lark.zip",33629,"bios"],["arc_lbp4.zip",14292,"bios"],["arc_midi2.zip",12743,"bios"],["arc_midi_aka16.zip",21857,"bios"],["arc_midimax.zip",36846,"bios"],["arc_midimax2.zip",21595,"bios"],["arc_nexus_a500.zip",15560,"bios"],["arc_rom_aka05.zip",4909,"bios"],["arc_rom_r225.zip",107080,"bios"],["arc_rs423.zip",285,"bios"],["arc_scan256.zip",9805,"bios"],["arc_scanjunior.zip",6379,"bios"],["arc_scanjunior3.zip",6965,"bios"],["arc_scanlight.zip",7019,"bios"],["arc_scanvideo.zip",25778,"bios"],["arc_scsi_aka30.zip",11747,"bios"],["arc_scsi_aka31.zip",11851,"bios"],["arc_scsi_aka32.zip",96376,"bios"],["arc_scsi_cumana.zip",43880,"bios"],["arc_scsi_ling.zip",51477,"bios"],["arc_scsi_morley.zip",196852,"bios"],["arc_scsi_oak.zip",85368,"bios"],["arc_scsi_vti.zip",34230,"bios"],["arc_serial.zip",3063,"bios"],["arc_spectra.zip",2421,"bios"],["arc_ua_morley.zip",1410,"bios"],["arc_uma_morley.zip",9527,"bios"],["arc_upa_hccs.zip",1172,"bios"],["arc_upmidi_aka12.zip",9038,"bios"],["areplay.bin",32768,"bios"],["aros-ext.bin",524288,"bios"],["aros-rom.bin",524288,"bios"],["asc88.zip",5709,"bios"],["ascsasi.zip",1357,"bios"],["at_keybc.zip",3655,"bios"],["atari-1200xl-os-rev-10.rom",16384,"bios"],["atari-1200xl-os-rev-11.rom",16384,"bios"],["atari-5200-os-2port.rom",2048,"bios"],["atari-800-os-a-ntsc.rom",10240,"bios"],["atari-basic-rev-a.rom",8192,"bios"],["atari-basic-rev-b.rom",8192,"bios"],["atari-xl-os-ver-1.rom",16384,"bios"],["atari-xl-os-ver-3.rom",16384,"bios"],["atari1050.zip",13755,"bios"],["atari810.zip",3303,"bios"],["atom_discpack.zip",3459,"bios"],["atom_gdos.zip",3145,"bios"],["atom_gdos2015.zip",6985,"bios"],["atom_speech.zip",2019,"bios"],["atom_vdu80.zip",1074,"bios"],["awe32.raw",1048576,"bios"],["ax208.zip",5590,"bios"],["ax208p.zip",5598,"bios"],["banshee_x86.zip",35460,"bios"],["basf7100_kbd.zip",456,"bios"],["bass.dll",144696,"bios"],["bassmidi.dll",73600,"bios"],["bbc_24bbc.zip",2844684,"bios"],["bbc_2ndserial.zip",2844684,"bios"],["bbc_autoprom.zip",2737,"bios"],["bbc_beebspch.zip",6564,"bios"],["bbc_cc500.zip",2844684,"bios"],["bbc_chameleon.zip",654,"bios"],["bbc_cms6502.zip",17969,"bios"],["bbc_cumana68k.zip",3790,"bios"],["bbc_datacentre.zip",40386,"bios"],["bbc_detalker.zip",2019,"bios"],["bbc_ieee488.zip",2844684,"bios"],["bbc_multiform.zip",11635,"bios"],["bbc_opus3.zip",36996,"bios"],["bbc_opusa.zip",23792,"bios"],["bbc_pdram.zip",2195,"bios"],["bbc_pms64k.zip",8361,"bios"],["bbc_ramdisc.zip",2844684,"bios"],["bbc_tube_16032.zip",17960,"bios"],["bbc_tube_32016.zip",31067,"bios"],["bbc_tube_32016l.zip",3585,"bios"],["bbc_tube_6502.zip",4337,"bios"],["bbc_tube_6502e.zip",1515,"bios"],["bbc_tube_6502p.zip",6023,"bios"],["bbc_tube_65c102.zip",4375,"bios"],["bbc_tube_80286.zip",6649,"bios"],["bbc_tube_a500.zip",12117,"bios"],["bbc_tube_a500d.zip",12312,"bios"],["bbc_tube_arm.zip",38022,"bios"],["bbc_tube_arm7.zip",109910,"bios"],["bbc_tube_casper.zip",18005,"bios"],["bbc_tube_cms6809.zip",9090,"bios"],["bbc_tube_matchbox.zip",48928,"bios"],["bbc_tube_pcplus.zip",6662,"bios"],["bbc_tube_rc6502.zip",31532,"bios"],["bbc_tube_rc65816.zip",31259,"bios"],["bbc_tube_x25.zip",17863,"bios"],["bbc_tube_z80.zip",3197,"bios"],["bbc_tube_z80w.zip",3145,"bios"],["bbc_tube_zep100.zip",40985,"bios"],["bbc_tube_zep100l.zip",18020,"bios"],["bbc_tube_zep100w.zip",29266,"bios"],["bbc_voicebox.zip",2019,"bios"],["betadisk.zip",563424,"bios"],["bingoct.zip",173688,"bios"],["bios.gg",1024,"bios"],["bios.min",4096,"bios"],["bios.sms",8192,"bios"],["bios7.bin",16384,"bios"],["bios9.bin",4096,"bios"],["bios_CD_E.bin",131072,"bios"],["bios_CD_J.bin",131072,"bios"],["bios_CD_U.bin",131072,"bios"],["bios_E.sms",8192,"bios"],["bios_J.sms",8192,"bios"],["bios_MD.bin",2048,"bios"],["bios_U.sms",8192,"bios"],["bioscv.rom",2048,"bios"],["bk/B11M_BOS.ROM",8192,"bios"],["bk/B11M_EXT.ROM",8192,"bios"],["bk/BAS11M_0.ROM",16384,"bios"],["bk/BAS11M_1.ROM",8192,"bios"],["bk/BASIC10.ROM",24576,"bios"],["bk/DISK_327.ROM",4096,"bios"],["bk/FOCAL10.ROM",24576,"bios"],["bk/MONIT10.ROM",8192,"bios"],["bk/TERAK.ROM",128,"bios"],["bk_altpro.zip",9022,"bios"],["bk_kmd.zip",6973,"bios"],["bk_samara.zip",3049,"bios"],["bluechip.zip",23865,"bios"],["bml3kanji.zip",69657,"bios"],["bml3mp1802.zip",1841,"bios"],["bml3mp1805.zip",1874,"bios"],["boot.bin",2097152,"bios"],["bootloader-dbvz.rom",512,"bios"],["bsmt2000.zip",2646,"bios"],["bt542b.zip",18614,"bios"],["bt542bh.zip",22150,"bios"],["bt545s.zip",21352,"bios"],["bw2_ramcard.zip",8925,"bios"],["bwtwo.zip",2396,"bios"],["c1526.zip",18797,"bios"],["c1540.zip",12139,"bios"],["c1541.zip",85282,"bios"],["c1541c.zip",23897,"bios"],["c1541dd.zip",15970,"bios"],["c1541ii.zip",35933,"bios"],["c1541pd.zip",14855,"bios"],["c1541pdc.zip",23097,"bios"],["c1551.zip",11640,"bios"],["c1563.zip",12632,"bios"],["c1570.zip",17870,"bios"],["c1571.zip",55420,"bios"],["c1571cr.zip",38062,"bios"],["c1581.zip",58254,"bios"],["c2031.zip",12163,"bios"],["c2040.zip",7844,"bios"],["c2040_fdc.zip",426,"bios"],["c3040.zip",7844,"bios"],["c4023.zip",4285,"bios"],["c4040.zip",20926,"bios"],["c52.bin",1024,"bios"],["c64_ar4x.zip",190,"bios"],["c64_buscard.zip",2010118,"bios"],["c64_buscard2.zip",2010118,"bios"],["c64_cspeech.zip",2011,"bios"],["c64_mscr.zip",2311,"bios"],["c64_nl10.zip",16716,"bios"],["c64_supercpu.zip",2010118,"bios"],["c64_xl80.zip",830,"bios"],["c64_z80videopak.zip",858,"bios"],["c8050.zip",39422,"bios"],["c8050fdc.zip",426,"bios"],["c8250.zip",39422,"bios"],["c8250lp.zip",29852,"bios"],["c8280.zip",23702,"bios"],["cadabc.zip",9823,"bios"],["cannonball/epr-10187.88",32768,"game_data"],["cannonball/epr-10327.76",65536,"game_data"],["cannonball/epr-10327a.76",65536,"game_data"],["cannonball/epr-10328.75",65536,"game_data"],["cannonball/epr-10328a.75",65536,"game_data"],["cannonball/epr-10329.58",65536,"game_data"],["cannonball/epr-10329a.58",65536,"game_data"],["cannonball/epr-10330.57",65536,"game_data"],["cannonball/epr-10330a.57",65536,"game_data"],["cannonball/epr-10380.133",65536,"game_data"],["cannonball/epr-10380b.133",65536,"game_data"],["cannonball/epr-10381.132",65536,"game_data"],["cannonball/epr-10381b.132",65536,"game_data"],["cannonball/epr-10382.118",65536,"game_data"],["cannonball/epr-10382b.118",65536,"game_data"],["cannonball/epr-10383.117",65536,"game_data"],["cannonball/epr-10383b.117",65536,"game_data"],["cannonball/mpr-10371.9",131072,"game_data"],["cannonball/mpr-10372.13",131072,"game_data"],["cannonball/mpr-10373.10",131072,"game_data"],["cannonball/mpr-10374.14",131072,"game_data"],["cannonball/mpr-10375.11",131072,"game_data"],["cannonball/mpr-10376.15",131072,"game_data"],["cannonball/mpr-10377.12",131072,"game_data"],["cannonball/mpr-10378.16",131072,"game_data"],["cannonball/opr-10185.11",32768,"game_data"],["cannonball/opr-10186.47",32768,"game_data"],["cannonball/opr-10188.71",32768,"game_data"],["cannonball/opr-10188.71f",32768,"game_data"],["cannonball/opr-10189.70",32768,"game_data"],["cannonball/opr-10190.69",32768,"game_data"],["cannonball/opr-10191.68",32768,"game_data"],["cannonball/opr-10192.67",32768,"game_data"],["cannonball/opr-10193.66",32768,"game_data"],["cannonball/opr-10230.104",32768,"game_data"],["cannonball/opr-10231.103",32768,"game_data"],["cannonball/opr-10232.102",32768,"game_data"],["cannonball/opr-10266.101",32768,"game_data"],["cannonball/opr-10267.100",32768,"game_data"],["cannonball/opr-10268.99",32768,"game_data"],["capsimg.dll",191488,"bios"],["capsimg.so",95460,"bios"],["carthw.cfg",16367,"bios"],["cbm2_hrga.zip",3343,"bios"],["cbm2_hrgb.zip",3343,"bios"],["cbm8000_hsg_a.zip",3615,"bios"],["cbm8000_hsg_b.zip",3615,"bios"],["cbm_interpod.zip",3450,"bios"],["cbm_serbox.zip",2245,"bios"],["cchip.zip",2700,"bios"],["ccs7710.zip",1473,"bios"],["cd90_015.zip",1871,"bios"],["cd90_351.zip",4831,"bios"],["cd90_640.zip",1744,"bios"],["cdb/cdb_rom.bin",65536,"bios"],["cdd2000.zip",195999,"bios"],["cdimono1.zip",745703,"bios"],["cdr4210.zip",82902,"bios"],["cdrn820s.zip",66313,"bios"],["cdu415.zip",31828,"bios"],["cdu561_25.zip",141631,"bios"],["cdu75s.zip",31456,"bios"],["centennial_sl01m_15_11194.zip",301,"bios"],["centennial_sl02m_15_11194.zip",301,"bios"],["centennial_sl04m_15_11194.zip",313,"bios"],["cffa1.zip",4726,"bios"],["cfp1080s.zip",67669,"bios"],["cga.zip",3710,"bios"],["cga_iskr1030m.zip",1588,"bios"],["cga_iskr1031.zip",1665,"bios"],["cga_m24.zip",2283,"bios"],["cga_mc1502.zip",1235,"bios"],["cga_poisk2.zip",3177,"bios"],["cga_superimpose.zip",3710,"bios"],["cgb_bios.bin",2304,"bios"],["cgb_boot.bin",2304,"bios"],["cgenie_fdc.zip",20834,"bios"],["cgthree.zip",1224,"bios"],["chargen-901460-02.bin",4096,"bios"],["chessmachine.zip",542,"bios"],["cit101_kbd.zip",930,"bios"],["cit101e_kbd.zip",921,"bios"],["cit220p_kbd.zip",773,"bios"],["clgd5401.zip",36135,"bios"],["clgd542x.zip",329437,"bios"],["clgd5434_pci.zip",78023,"bios"],["clgd5446_pci.zip",40471,"bios"],["clgd5465_laguna.zip",21300,"bios"],["cmdhd.zip",8968,"bios"],["cmdrc2.zip",12317,"bios"],["cmi_ankbd.zip",836,"bios"],["cmi_mkbd.zip",1391,"bios"],["cms_4080term.zip",576010,"bios"],["cmsscsi.zip",5181,"bios"],["coleco.rom",8192,"bios"],["coleco.zip",28014,"bios"],["colecovision.rom",8192,"bios"],["compiskb.zip",480,"bios"],["comx_clm.zip",4009,"bios"],["comx_eb.zip",9599,"bios"],["comx_epr.zip",15391,"bios"],["comx_fd.zip",6238,"bios"],["comx_pl80.zip",8379,"bios"],["comx_prn.zip",5439,"bios"],["comx_thm.zip",2913,"bios"],["concept_kbd.zip",336,"bios"],["cp2024.zip",23160,"bios"],["cp31.zip",128845,"bios"],["cpc_brunword4.zip",139453,"bios"],["cpc_ddi1.zip",10934,"bios"],["cpc_dkspeech.zip",1460991,"bios"],["cpc_hd20.zip",19579,"bios"],["cpc_mface2.zip",1460991,"bios"],["cpc_ser.zip",1460991,"bios"],["cpc_serams.zip",1460991,"bios"],["cpc_smartwatch.zip",5640,"bios"],["cpc_ssa1.zip",1460991,"bios"],["cpc_transtape.zip",4021,"bios"],["cpuap.zip",26613,"bios"],["cq90_028.zip",1744,"bios"],["crd254sh.zip",31383,"bios"],["crvfdc01.zip",149,"bios"],["crvfdc02.zip",151,"bios"],["csd1.zip",12487,"bios"],["ct1741.zip",8003,"bios"],["cuda.zip",12814,"bios"],["cuda302.zip",3720,"bios"],["cudalite.zip",4037,"bios"],["custom.pal",192,"bios"],["cv8lc.zip",7423,"bios"],["cw7501.zip",83060,"bios"],["cx4.data.rom",3072,"bios"],["d2fdc.zip",262,"bios"],["d9060.zip",32197,"bios"],["d9090.zip",32197,"bios"],["db50xg.zip",3666695,"bios"],["db60xg.zip",3669859,"bios"],["dc/boot.bin",2097152,"bios"],["dc/dc_boot.bin",2097152,"bios"],["dc/dc_nvmem.bin",131072,"bios"],["dc/flash.bin",131072,"bios"],["dc/font.bin",519984,"bios"],["dc320b.zip",15794,"bios"],["dc320e.zip",31945,"bios"],["dc820.zip",26031,"bios"],["dc820b.zip",32045,"bios"],["dectalk_isa.zip",3823,"bios"],["dg640.zip",855,"bios"],["digilog_kbd.zip",1067,"bios"],["dim68k_kbd.zip",1550,"bios"],["dinothawr/dinothawr.game",3399,"game_data"],["dio98543.zip",2010,"bios"],["dio98544.zip",2034,"bios"],["dio98550.zip",3081,"bios"],["dio98603a.zip",291168,"bios"],["dio98603b.zip",377453,"bios"],["dio98628.zip",5918,"bios"],["dio98629.zip",5266,"bios"],["disciple.rom",8192,"bios"],["disk_plus3.szx",1568,"bios"],["diskii13.zip",590,"bios"],["disksys.rom",8192,"bios"],["dm_clgd5430.zip",20166,"bios"],["dmg_boot.bin",256,"bios"],["dmg_rom.bin",256,"bios"],["dmv_k220.zip",15572,"bios"],["dmv_k230.zip",2880,"bios"],["dmv_k231.zip",2880,"bios"],["dmv_k235.zip",2430,"bios"],["dmv_k806.zip",642,"bios"],["dmv_keyboard.zip",1135,"bios"],["dolphin-emu/Sys/GC/EUR/IPL.bin",2097152,"bios"],["dolphin-emu/Sys/GC/JAP/IPL.bin",2097152,"bios"],["dolphin-emu/Sys/GC/USA/IPL.bin",2097152,"bios"],["dolphin-emu/Sys/GC/dsp_coef.bin",4096,"bios"],["dolphin-emu/Sys/GC/dsp_rom.bin",8192,"bios"],["dolphin-emu/Sys/GC/font_japanese.bin",259626,"bios"],["dolphin-emu/Sys/GC/font_western.bin",6478,"bios"],["dolphin-emu/Sys/codehandler.bin",2880,"bios"],["dolphin-emu/User/GBA/gba_bios.bin",16384,"bios"],["dolphin-emu/User/Load/WiiSD.raw",134217728,"bios"],["dolphin-emu/User/Wii/clientca.pem",1005,"bios"],["dolphin-emu/User/Wii/clientcakey.pem",609,"bios"],["dolphin-emu/User/Wii/rootca.pem",897,"bios"],["dolphin-emu/User/Wii/shared2/sys/SYSCONF",16384,"bios"],["dolphin-emu/User/Wii/title/00000001/00000002/data/setting.txt",256,"bios"],["doom.wad",11159840,"game_data"],["doom1.wad",4196020,"game_data"],["doom2.wad",14943400,"game_data"],["doom2f.wad",14607420,"game_data"],["ds1001.zip",313,"bios"],["dsd4432.zip",1119,"bios"],["dsd5217.zip",21312,"bios"],["dsi_bios7.bin",65536,"bios"],["dsi_bios9.bin",65536,"bios"],["dsi_firmware.bin",131072,"bios"],["dsi_nand.bin",251658304,"bios"],["dsp1.data.rom",2048,"bios"],["dsp1.program.rom",6144,"bios"],["dsp1b.data.rom",2048,"bios"],["dsp1b.program.rom",6144,"bios"],["dsp2.data.rom",2048,"bios"],["dsp2.program.rom",6144,"bios"],["dsp3.data.rom",2048,"bios"],["dsp3.program.rom",6144,"bios"],["dsp4.data.rom",2048,"bios"],["dsp4.program.rom",6144,"bios"],["dsp56303.zip",568,"bios"],["dsp56311.zip",568,"bios"],["dsp56362.zip",629,"bios"],["dtlh1100.bin",524288,"bios"],["duodock.zip",47614,"bios"],["dvk_kmd.zip",6186,"bios"],["dw_kbd.zip",722,"bios"],["easyrpg.soundfont",148398306,"game_data"],["ec1841_0002.zip",3710,"bios"],["ecb_grip21.zip",10317,"bios"],["econet_e01.zip",26965,"bios"],["econet_e01s.zip",54134,"bios"],["ecwolf.pk3",178755,"bios"],["eeprom.dat",64,"bios"],["ef9340_1.zip",1022,"bios"],["ef9365.zip",590,"bios"],["ega.zip",18988,"bios"],["eidemax.zip",46469,"bios"],["einstein_sd.zip",1105,"bios"],["einstein_speech.zip",2019,"bios"],["eispc_kb.zip",848,"bios"],["enetlc.zip",8935,"bios"],["enetlctp.zip",471,"bios"],["enetnbtp.zip",472,"bios"],["enh2000.zip",12453,"bios"],["enp10.zip",35461,"bios"],["ep128emu/roms/basic20.rom",16384,"bios"],["ep128emu/roms/basic21.rom",16384,"bios"],["ep128emu/roms/brd.rom",16384,"bios"],["ep128emu/roms/cpc464.rom",32768,"bios"],["ep128emu/roms/cpc6128.rom",32768,"bios"],["ep128emu/roms/cpc664.rom",32768,"bios"],["ep128emu/roms/cpc_amsdos.rom",16384,"bios"],["ep128emu/roms/epd19hft.rom",32768,"bios"],["ep128emu/roms/epdos16f.rom",32768,"bios"],["ep128emu/roms/epfileio.rom",16384,"bios"],["ep128emu/roms/exdos13.rom",32768,"bios"],["ep128emu/roms/exdos14isdos10uk.rom",32768,"bios"],["ep128emu/roms/exos20.rom",32768,"bios"],["ep128emu/roms/exos21.rom",32768,"bios"],["ep128emu/roms/exos24uk.rom",65536,"bios"],["ep128emu/roms/hun.rom",16384,"bios"],["ep128emu/roms/tvc22_ext.rom",8192,"bios"],["ep128emu/roms/tvc22_sys.rom",16384,"bios"],["ep128emu/roms/tvc_dos12d.rom",16384,"bios"],["ep128emu/roms/tvcfileio.rom",8192,"bios"],["ep128emu/roms/zt19hfnt.rom",32768,"bios"],["ep128emu/roms/zt19uk.rom",32768,"bios"],["ep128emu/roms/zx128.rom",32768,"bios"],["ep128emu/roms/zx48.rom",16384,"bios"],["ep64_exdos.zip",14521,"bios"],["epr-17952a.ic8",524288,"bios"],["epr-17954a.ic8",524288,"bios"],["epr-20091.ic8",524288,"bios"],["epson_fx80.zip",12887,"bios"],["epson_jx80.zip",11210,"bios"],["epson_pf10.zip",3426,"bios"],["epson_qx_option_multifont.zip",42543,"bios"],["epson_rx80.zip",6311,"bios"],["epson_tf20.zip",3426,"bios"],["ergoline_kbd.zip",1847,"bios"],["esq2x40_vfx.zip",288,"bios"],["et4000.zip",31117,"bios"],["et4000_kasan16.zip",206680,"bios"],["et4kw32i.zip",18756,"bios"],["et532_board.zip",1252,"bios"],["ethudock.zip",692,"bios"],["etos1024k.img",1048576,"bios"],["etos192uk.img",196608,"bios"],["etos192us.img",196608,"bios"],["eu_mcd1_9210.bin",131072,"bios"],["eu_mcd2_9303.bin",131072,"bios"],["eu_mcd2_9306.bin",131072,"bios"],["europc_kbd.zip",1138,"bios"],["ev346.zip",3881,"bios"],["everdrive_md.zip",37759,"bios"],["ex1280.zip",3538,"bios"],["ex800.zip",21628,"bios"],["exec.bin",8192,"bios"],["executive10_102_kbd.zip",1778,"bios"],["exorterm155_device.zip",8999,"bios"],["exos201.zip",19800,"bios"],["f4431_kbd.zip",1807,"bios"],["fba/hiscore.dat",322458,"bios"],["fba2012/samples/dkong.zip",29270,"game_data"],["fba2012/samples/dkongjr.zip",300220,"game_data"],["fba2012/samples/fireshrk.zip",180371945,"game_data"],["fba2012/samples/galaga.zip",243090,"game_data"],["fba2012/samples/ghox.zip",149028023,"game_data"],["fba2012/samples/rallyx.zip",72511,"game_data"],["fba2012/samples/tekipaki.zip",207969846,"game_data"],["fba2012/samples/vimana.zip",278695628,"game_data"],["fbalpha2012/hiscore.dat",322458,"bios"],["fbneo/bubsys.zip",7950,"bios"],["fbneo/cchip.zip",2700,"bios"],["fbneo/channelf.zip",2705,"bios"],["fbneo/coleco.zip",28014,"bios"],["fbneo/decocass.zip",16107,"bios"],["fbneo/fdsbios.zip",5758,"bios"],["fbneo/hiscore.dat",324575,"bios"],["fbneo/hiscore.dat",328397,"bios"],["fbneo/isgsm.zip",10207,"bios"],["fbneo/midssio.zip",163,"bios"],["fbneo/msx.zip",193854,"bios"],["fbneo/namcoc69.zip",7771,"bios"],["fbneo/namcoc70.zip",7822,"bios"],["fbneo/namcoc75.zip",8709,"bios"],["fbneo/neocdz.zip",214681,"bios"],["fbneo/neocdz.zip",1184219,"bios"],["fbneo/neogeo.zip",1859335,"bios"],["fbneo/ngp.zip",74758,"bios"],["fbneo/nmk004.zip",3556,"bios"],["fbneo/pgm.zip",2094636,"bios"],["fbneo/samples/donpachi.zip",208549253,"game_data"],["fbneo/samples/sfz3mix.zip",101017377,"game_data"],["fbneo/skns.zip",924762,"bios"],["fbneo/spec128.zip",25489,"bios"],["fbneo/spec1282a.zip",41646,"bios"],["fbneo/spectrum.zip",12432,"bios"],["fbneo/ym2608.zip",7609,"bios"],["fc_disksys.zip",11579,"bios"],["fd148.zip",11962,"bios"],["fd2000.zip",45358,"bios"],["fd4000.zip",45409,"bios"],["fdc344.zip",2298,"bios"],["fdcmag.zip",2158,"bios"],["fga4he.zip",17002,"bios"],["filetto_cga.zip",3713,"bios"],["firmware.bin",262144,"bios"],["flash.bin",131072,"bios"],["freedom220_kbd.zip",1353,"bios"],["freedoom1.wad",28795076,"game_data"],["freedoom2.wad",28787748,"game_data"],["freej2me-lr.jar",552042,"bios"],["freej2me-sdl.jar",552043,"bios"],["freej2me.jar",552039,"bios"],["freej2me_plus-lr.jar",1219093,"bios"],["fsd1.zip",11799,"bios"],["fsd2.zip",48020,"bios"],["fsuae/Kickstarts/amiga-ext-130-cdtv.rom",262144,"bios"],["fsuae/Kickstarts/amiga-ext-310-cd32.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-120.rom",262144,"bios"],["fsuae/Kickstarts/amiga-os-130.rom",262144,"bios"],["fsuae/Kickstarts/amiga-os-204.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-205.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-310-a1200.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-310-a3000.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-310-a4000.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-310-cd32.rom",524288,"bios"],["fsuae/Kickstarts/cd32fmv.rom",262144,"bios"],["fsuae/Kickstarts/rom.key",2069,"bios"],["fuse/128-0.rom",16384,"bios"],["fuse/128-1.rom",16384,"bios"],["fuse/128p-0.rom",16384,"bios"],["fuse/128p-1.rom",16384,"bios"],["fuse/256s-0.rom",16384,"bios"],["fuse/256s-1.rom",16384,"bios"],["fuse/256s-2.rom",16384,"bios"],["fuse/256s-3.rom",16384,"bios"],["fuse/48.rom",16384,"bios"],["fuse/didaktik80.rom",14336,"bios"],["fuse/disciple.rom",8192,"bios"],["fuse/gluck.rom",16384,"bios"],["fuse/if1-2.rom",8192,"bios"],["fuse/mf1.rom",8192,"bios"],["fuse/mf128.rom",8192,"bios"],["fuse/mf3.rom",8192,"bios"],["fuse/opus.rom",8192,"bios"],["fuse/plus2-0.rom",16384,"bios"],["fuse/plus2-1.rom",16384,"bios"],["fuse/plus3-0.rom",16384,"bios"],["fuse/plus3-1.rom",16384,"bios"],["fuse/plus3-2.rom",16384,"bios"],["fuse/plus3-3.rom",16384,"bios"],["fuse/plus3e-0.rom",16384,"bios"],["fuse/plus3e-1.rom",16384,"bios"],["fuse/plus3e-2.rom",16384,"bios"],["fuse/plus3e-3.rom",16384,"bios"],["fuse/plusd.rom",8192,"bios"],["fuse/se-0.rom",16384,"bios"],["fuse/se-1.rom",16384,"bios"],["fuse/speccyboot-1.4.rom",8192,"bios"],["fuse/tc2048.rom",16384,"bios"],["fuse/tc2068-0.rom",16384,"bios"],["fuse/tc2068-1.rom",8192,"bios"],["fuse/trdos.rom",16384,"bios"],["fuse/ttx2000s.rom",8192,"bios"],["fuse/usource.rom",8192,"bios"],["fx-scsi.rom",524288,"bios"],["g7400.bin",1024,"bios"],["g80_1500.zip",5636,"bios"],["galaksija/CHRGEN.BIN",2048,"bios"],["galaksija/ROM1.BIN",4096,"bios"],["galaksija/ROM2.BIN",4096,"bios"],["gamegenie.nes",24592,"bios"],["gamtor_vga.zip",208,"bios"],["gb_bios.bin",256,"bios"],["gba_bios.bin",16384,"bios"],["gbc_bios.bin",2304,"bios"],["gc-dvd-20010608.bin",131072,"bios"],["gc-dvd-20010831.bin",131072,"bios"],["gc-dvd-20020402.bin",131072,"bios"],["gc-dvd-20020823.bin",131072,"bios"],["gc-ntsc-10.bin",2097152,"bios"],["gc-ntsc-11.bin",2097152,"bios"],["gc-ntsc-12.bin",2097152,"bios"],["gc-pal-10.bin",2097152,"bios"],["gc-pal-11.bin",2097152,"bios"],["gc-pal-12.bin",2097152,"bios"],["gecard.pce",32768,"bios"],["geforce256.zip",25685,"bios"],["geforce256ddr.zip",21811,"bios"],["gexpress.pce",32768,"bios"],["gfxultra.zip",19347,"bios"],["gfxultrap.zip",38094,"bios"],["ggenie.bin",32768,"bios"],["gic.zip",373,"bios"],["goldstar.bin",1048576,"bios"],["gp32.zip",1378301,"bios"],["gpib_hardbox.zip",18236,"bios"],["gpib_mshark.zip",13934,"bios"],["gpib_softbox.zip",9859,"bios"],["gpl16250va.zip",155340,"bios"],["gpl951xx.zip",3396,"bios"],["grom.bin",2048,"bios"],["gzdoom.pk3",3612904,"game_data"],["h89bus_io_decoder_444_43.zip",175,"bios"],["h89bus_io_decoder_444_61.zip",176,"bios"],["h89bus_io_decoder_cdr86.zip",177,"bios"],["h89bus_io_decoder_mms_61c.zip",193,"bios"],["h8_cpu_8080.zip",7111,"bios"],["h8_ha_8_6.zip",6415,"bios"],["hatari/BOOT.ST",737280,"bios"],["hcpu30.zip",15456,"bios"],["hd44780.zip",965,"bios"],["hd44780u.zip",2082,"bios"],["hd61830.zip",839,"bios"],["hdae5000.zip",823668,"bios"],["he191_3425.zip",983,"bios"],["heath_gp19_tlb.zip",13491,"bios"],["heath_igc_super19_tlb_device.zip",5615,"bios"],["heath_igc_tlb_device.zip",5021,"bios"],["heath_igc_ultra_tlb_device.zip",4818,"bios"],["heath_igc_watz_tlb_device.zip",7609,"bios"],["heath_imaginator_tlb.zip",9135,"bios"],["heath_super19_tlb.zip",5615,"bios"],["heath_superset_tlb.zip",14186,"bios"],["heath_tlb.zip",5021,"bios"],["heath_ultra_tlb.zip",4818,"bios"],["heath_watz_tlb.zip",7609,"bios"],["hisaturn.bin",524288,"bios"],["hk68v10.zip",8083,"bios"],["howard.o",513,"bios"],["hp82900.zip",691,"bios"],["hp82937.zip",2028,"bios"],["hp82939.zip",1869,"bios"],["hp9122c.zip",10761,"bios"],["hp9133.zip",21140,"bios"],["hp98034.zip",717,"bios"],["hp98035.zip",1993,"bios"],["hp98046.zip",1103,"bios"],["hp9845_prt.zip",1241,"bios"],["hp9895.zip",6135,"bios"],["hpblp.zip",34683,"bios"],["human_interface.zip",2044,"bios"],["i8244.zip",456,"bios"],["i8245.zip",456,"bios"],["ibm_mfc.zip",17863,"bios"],["ibm_vga.zip",13184,"bios"],["ibsap2.zip",1061,"bios"],["id1/pak0.pak",18689235,"game_data"],["idpart_video.zip",2623,"bios"],["ie15_device.zip",5520,"bios"],["ie15kbd.zip",352,"bios"],["if1-1.rom",8192,"bios"],["if1-2.rom",8192,"bios"],["imds2ioc.zip",19804,"bios"],["imi5000h.zip",3337,"bios"],["in207100kbd.zip",1074,"bios"],["in213kbd.zip",658,"bios"],["indusgt.zip",15707,"bios"],["intv_ecs.zip",13890,"bios"],["intv_voice.zip",2025,"bios"],["iq151_disc2.zip",1872,"bios"],["iq151_minigraf.zip",3404,"bios"],["iq151_ms15a.zip",1938,"bios"],["iq151_video32.zip",709,"bios"],["iq151_video64.zip",1120,"bios"],["iris_kbd.zip",939,"bios"],["isa_aga.zip",2673,"bios"],["isa_aga_pc200.zip",3722,"bios"],["isa_epc_mda.zip",1714,"bios"],["isa_finalchs.zip",39370,"bios"],["isa_hdc.zip",5558,"bios"],["isa_hercules.zip",3204,"bios"],["isa_ibm_mda.zip",483513,"bios"],["isa_ibm_pgc.zip",69664,"bios"],["isa_ibm_speech.zip",22584,"bios"],["isa_pcmidi.zip",6300,"bios"],["isa_prose4001.zip",96246,"bios"],["isbc202.zip",2023,"bios"],["isbc8024.zip",2868,"bios"],["isbc_215g.zip",11746,"bios"],["ivelultrkb.zip",841,"bios"],["jagboot.rom",131072,"bios"],["jagboot_m.rom",131072,"bios"],["jaleco_vj_pc.zip",116758,"bios"],["jc1310.zip",3574,"bios"],["jopac.bin",1024,"bios"],["jp_mcd1_9111.bin",131072,"bios"],["jp_mcd1_9112.bin",131072,"bios"],["jp_mcd2_921222.bin",131072,"bios"],["k7659_keyboard.zip",384,"bios"],["kaypro10kbd.zip",1307,"bios"],["kayproiikbd.zip",1101,"bios"],["kb_3270pc.zip",1115,"bios"],["kb_ec1841.zip",788,"bios"],["kb_iskr1030.zip",1022,"bios"],["kb_ms_natural.zip",3029,"bios"],["kb_pcat101.zip",2989,"bios"],["kb_pcat84.zip",1032,"bios"],["kb_pcxt83.zip",726,"bios"],["kbd_lle_en_us.zip",3038,"bios"],["kc_d004.zip",4285,"bios"],["kc_d004_gide.zip",30180,"bios"],["kernal-901227-01.bin",8192,"bios"],["kernal-901227-02.bin",8192,"bios"],["kernal.901486-02.bin",8192,"bios"],["keropi/cgrom.dat",786432,"bios"],["keropi/iplrom.dat",131072,"bios"],["keropi/iplrom30.dat",131072,"bios"],["keropi/iplromco.dat",131072,"bios"],["keropi/iplromxv.dat",131072,"bios"],["keytronic_l2207.zip",2325,"bios"],["keytronic_pc3270.zip",3168,"bios"],["keytronic_pc3270_at.zip",3168,"bios"],["kick.rom",262144,"bios"],["kick12.rom",524288,"bios"],["kick13.rom",524288,"bios"],["kick20.rom",524288,"bios"],["kick205.rom",524288,"bios"],["kick31.rom",524288,"bios"],["kick31034.A1000",262144,"bios"],["kick32034.A1000",262144,"bios"],["kick33180.A500",262144,"bios"],["kick34005.A500",262144,"bios"],["kick34005.CDTV",262144,"bios"],["kick37175.A500",524288,"bios"],["kick37350.A600",524288,"bios"],["kick39106.A1200",524288,"bios"],["kick39106.A4000",524288,"bios"],["kick40060.CD32",524288,"bios"],["kick40060.CD32.ext",524288,"bios"],["kick40063.A600",524288,"bios"],["kick40068.A1200",524288,"bios"],["kick40068.A4000",524288,"bios"],["km035.zip",1035,"bios"],["kronos/saturn_bios.bin",524288,"bios"],["kronos/stvbios.zip",3455065,"bios"],["ks0066.zip",2011,"bios"],["labtam_3232.zip",73648,"bios"],["labtam_8086cpu.zip",3231,"bios"],["labtam_vducom.zip",75740,"bios"],["labtam_z80sbc.zip",16546,"bios"],["lba_enhancer.zip",2746,"bios"],["lc7985.zip",957,"bios"],["ldv1000.zip",4816,"bios"],["lh5323m1.bin",262144,"bios"],["lha201.zip",6661,"bios"],["libbass.dylib",874240,"bios"],["libbass.so",248952,"bios"],["libbassmidi.dylib",519808,"bios"],["libbassmidi.so",142080,"bios"],["lisa2fdc.zip",3159,"bios"],["lisafdc.zip",3328,"bios"],["lisavideo.zip",260,"bios"],["lk201.zip",6069,"bios"],["lm24014h.zip",629,"bios"],["lrk331.zip",18121,"bios"],["luna_68k_cmc.zip",13767,"bios"],["luna_68k_gpu.zip",84000,"bios"],["luna_68k_ioc.zip",28610,"bios"],["lux10828.zip",9352,"bios"],["lux21046.zip",24177,"bios"],["lux21056.zip",7454,"bios"],["lx800.zip",15176,"bios"],["lx810l.zip",22103,"bios"],["lynxboot.img",512,"bios"],["m1comm.zip",3832,"bios"],["m20_8086.zip",6611,"bios"],["m24_kbd.zip",1483,"bios"],["m24_z8000.zip",9638,"bios"],["m50dass.zip",5021,"bios"],["m68705p3.zip",266,"bios"],["m68705p5.zip",266,"bios"],["m68705r3.zip",271,"bios"],["m68705u3.zip",271,"bios"],["m68hc05pge.zip",607,"bios"],["mach64isa.zip",121273,"bios"],["macxlfdc.zip",5757,"bios"],["macxlvideo.zip",212,"bios"],["mame/hash/32x.xml",128073,"game_data"],["mame/hash/3do_m2.xml",1791,"game_data"],["mame/hash/README.md",354,"game_data"],["mame/hash/a2600.xml",737892,"game_data"],["mame/hash/a2600_cass.xml",32898,"game_data"],["mame/hash/a5200.hsi",32063,"game_data"],["mame/hash/a5200.xml",58114,"game_data"],["mame/hash/a7800.xml",127364,"game_data"],["mame/hash/abc1600_flop.xml",7222,"game_data"],["mame/hash/abc1600_hdd.xml",547,"game_data"],["mame/hash/abc800_hdd.xml",1362,"game_data"],["mame/hash/abc806_flop.xml",4664,"game_data"],["mame/hash/abc80_cass.xml",1063,"game_data"],["mame/hash/abc80_flop.xml",4875,"game_data"],["mame/hash/abc80_rom.xml",2440,"game_data"],["mame/hash/abc830_flop.xml",7246,"game_data"],["mame/hash/abc832_flop.xml",14768,"game_data"],["mame/hash/abc838_flop.xml",1979,"game_data"],["mame/hash/acrnsys_flop.xml",1659,"game_data"],["mame/hash/acrnsys_rom.xml",2174,"game_data"],["mame/hash/advantage.xml",5914,"game_data"],["mame/hash/aim65_cart.xml",9060,"game_data"],["mame/hash/aleste.xml",1366,"game_data"],["mame/hash/alice32.xml",27026,"game_data"],["mame/hash/alice90.xml",3996,"game_data"],["mame/hash/alphasmart_kapps.xml",16025,"game_data"],["mame/hash/alphatro_cart.xml",1129,"game_data"],["mame/hash/alphatro_flop.xml",1342,"game_data"],["mame/hash/altos5.xml",1323,"game_data"],["mame/hash/altos586.xml",574,"game_data"],["mame/hash/altos8600.xml",1043,"game_data"],["mame/hash/amiga_amix.xml",4460,"game_data"],["mame/hash/amiga_apps.xml",7434,"game_data"],["mame/hash/amiga_cd.xml",15524,"game_data"],["mame/hash/amiga_demos.xml",3217,"game_data"],["mame/hash/amiga_flop.xml",410553,"game_data"],["mame/hash/amiga_hardware.xml",9287,"game_data"],["mame/hash/amiga_hdd.xml",1617,"game_data"],["mame/hash/amiga_workbench.xml",61616,"game_data"],["mame/hash/amigaaga_flop.xml",215186,"game_data"],["mame/hash/amigaecs_flop.xml",35873,"game_data"],["mame/hash/amigaocs_flop.xml",2095329,"game_data"],["mame/hash/ampro.xml",2178,"game_data"],["mame/hash/apc.xml",14254,"game_data"],["mame/hash/apexc_cyl.xml",1523,"game_data"],["mame/hash/apogee.xml",41066,"game_data"],["mame/hash/apollo_ctape.xml",2075,"game_data"],["mame/hash/apple1.xml",20026,"game_data"],["mame/hash/apple2_cass.xml",138008,"game_data"],["mame/hash/apple2_rom.xml",1709,"game_data"],["mame/hash/apple3.xml",10270,"game_data"],["mame/hash/applix_flop.xml",541,"game_data"],["mame/hash/apricot_flop.xml",33034,"game_data"],["mame/hash/apxen_flop.xml",1562,"game_data"],["mame/hash/aquarius_cart.xml",14960,"game_data"],["mame/hash/aquarius_cass.xml",34155,"game_data"],["mame/hash/arb.xml",3568,"game_data"],["mame/hash/arcadia.xml",57566,"game_data"],["mame/hash/atom_cass.xml",19518,"game_data"],["mame/hash/atom_flop.xml",7657,"game_data"],["mame/hash/atom_rom.xml",16011,"game_data"],["mame/hash/attache.xml",555,"game_data"],["mame/hash/aussiebyte.xml",545,"game_data"],["mame/hash/b2m.xml",1244,"game_data"],["mame/hash/basf7100.xml",881,"game_data"],["mame/hash/bbcbc.xml",5189,"game_data"],["mame/hash/bdesignm_design_cart.xml",3983,"game_data"],["mame/hash/bdesignm_game_cart.xml",3809,"game_data"],["mame/hash/bingobear.xml",1244,"game_data"],["mame/hash/bkrankp_cart.xml",9615,"game_data"],["mame/hash/bmjr_cass.xml",790,"game_data"],["mame/hash/bml3_cass.xml",1359,"game_data"],["mame/hash/bml3_flop.xml",4172,"game_data"],["mame/hash/brother_pn.xml",1902,"game_data"],["mame/hash/bungo_flop.xml",2355,"game_data"],["mame/hash/buzztime_cart.xml",1855,"game_data"],["mame/hash/bw12.xml",869,"game_data"],["mame/hash/bw14.xml",4116,"game_data"],["mame/hash/bw2.xml",2574,"game_data"],["mame/hash/bx256hp_flop.xml",4979,"game_data"],["mame/hash/c128_cart.xml",7667,"game_data"],["mame/hash/c128_flop.xml",29219,"game_data"],["mame/hash/c128_rom.xml",3843,"game_data"],["mame/hash/c2color_cart.xml",4498,"game_data"],["mame/hash/c64_cart.xml",258956,"game_data"],["mame/hash/c64_cass.xml",578831,"game_data"],["mame/hash/c64_flop_misc.xml",34001,"game_data"],["mame/hash/c64_flop_orig.xml",30419,"game_data"],["mame/hash/c64_quik.xml",585,"game_data"],["mame/hash/c65_flop.xml",616,"game_data"],["mame/hash/carbeena.xml",811,"game_data"],["mame/hash/casio_rompack.xml",72987,"game_data"],["mame/hash/cassvisn_cart.xml",8242,"game_data"],["mame/hash/cbm2_cart.xml",2432,"game_data"],["mame/hash/cbm2_flop.xml",55851,"game_data"],["mame/hash/cbm8096_flop.xml",976,"game_data"],["mame/hash/cbm8296_flop.xml",1344,"game_data"],["mame/hash/cc40_cart.xml",4533,"game_data"],["mame/hash/cd32.xml",73479,"game_data"],["mame/hash/cdtv.xml",128903,"game_data"],["mame/hash/cecflop.xml",9584,"game_data"],["mame/hash/cgenie_cass.xml",135849,"game_data"],["mame/hash/cgenie_flop_rom.xml",1068,"game_data"],["mame/hash/challenge_gear_cart.xml",1798,"game_data"],["mame/hash/channelf.xml",20040,"game_data"],["mame/hash/chessking_cart.xml",641,"game_data"],["mame/hash/chessmstdm.xml",1095,"game_data"],["mame/hash/chip8_quik.xml",32203,"game_data"],["mame/hash/clickstart_cart.xml",10218,"game_data"],["mame/hash/clipper_flop.xml",1190,"game_data"],["mame/hash/coleco.xml",153128,"game_data"],["mame/hash/coleco_homebrew.xml",89593,"game_data"],["mame/hash/compclr2_flop.xml",94972,"game_data"],["mame/hash/compis.xml",40308,"game_data"],["mame/hash/comx35_flop.xml",543,"game_data"],["mame/hash/conchess.xml",1245,"game_data"],["mame/hash/copera.xml",5754,"game_data"],["mame/hash/cpc_cass.xml",1991951,"game_data"],["mame/hash/cpc_flop.xml",12700511,"game_data"],["mame/hash/ctvboy.xml",3078,"game_data"],["mame/hash/cubieboard4.xml",3873,"game_data"],["mame/hash/cx3000tc.xml",2044,"game_data"],["mame/hash/cz1_cart.xml",1477,"game_data"],["mame/hash/dai_cass.xml",4412,"game_data"],["mame/hash/database.xml",8810,"game_data"],["mame/hash/dc.xml",1547464,"game_data"],["mame/hash/dgnbeta_flop.xml",1891,"game_data"],["mame/hash/digiblast_cart.xml",10923,"game_data"],["mame/hash/digilog320.xml",1545,"game_data"],["mame/hash/dim68k.xml",7070,"game_data"],["mame/hash/dmv.xml",54867,"game_data"],["mame/hash/dps1.xml",596,"game_data"],["mame/hash/duelmast_cart.xml",1148,"game_data"],["mame/hash/easy_karaoke_cart.xml",16341,"game_data"],["mame/hash/ec1841.xml",4295,"game_data"],["mame/hash/einstein.xml",53792,"game_data"],["mame/hash/einstein_rom.xml",547,"game_data"],["mame/hash/entex_sag.xml",3620,"game_data"],["mame/hash/ep64_cart.xml",6240,"game_data"],["mame/hash/ep64_cass.xml",1272,"game_data"],["mame/hash/ep64_flop.xml",73009,"game_data"],["mame/hash/epson_cpm.xml",5880,"game_data"],["mame/hash/eti660_quik.xml",2480,"game_data"],["mame/hash/ews286_flop.xml",1384,"game_data"],["mame/hash/excalibur64.xml",551,"game_data"],["mame/hash/exl100.xml",6011,"game_data"],["mame/hash/famibox.xml",31176,"game_data"],["mame/hash/famicom_cass.xml",21948,"game_data"],["mame/hash/famicom_flop.xml",168824,"game_data"],["mame/hash/fidel_msc.xml",1132,"game_data"],["mame/hash/fidel_sc6.xml",565,"game_data"],["mame/hash/fidel_scc.xml",4897,"game_data"],["mame/hash/fmtowns_cd.xml",2734453,"game_data"],["mame/hash/fmtowns_flop_cracked.xml",3606,"game_data"],["mame/hash/fmtowns_flop_misc.xml",63683,"game_data"],["mame/hash/fmtowns_flop_orig.xml",150372,"game_data"],["mame/hash/fp1100_cass.xml",4676,"game_data"],["mame/hash/gaelco_ds5002fp_rom.xml",4164,"game_data"],["mame/hash/galaxy.xml",24068,"game_data"],["mame/hash/gameboy.xml",1136450,"game_data"],["mame/hash/gamegear.xml",414475,"game_data"],["mame/hash/gameking.xml",21981,"game_data"],["mame/hash/gameking3.xml",4399,"game_data"],["mame/hash/gba.xml",1727109,"game_data"],["mame/hash/gba_ereader.xml",286933,"game_data"],["mame/hash/gbcolor.xml",1161729,"game_data"],["mame/hash/generic_cdrom.xml",52075,"game_data"],["mame/hash/generic_flop_525.xml",4909,"game_data"],["mame/hash/genie3_flop.xml",4849,"game_data"],["mame/hash/ggm.xml",8019,"game_data"],["mame/hash/gimix.xml",2241,"game_data"],["mame/hash/gj4000.xml",681,"game_data"],["mame/hash/gjmovie.xml",760,"game_data"],["mame/hash/gjrstar.xml",2795,"game_data"],["mame/hash/gl2000.xml",4022,"game_data"],["mame/hash/gl6000sl.xml",1205,"game_data"],["mame/hash/glcolor.xml",2575,"game_data"],["mame/hash/glcx.xml",4447,"game_data"],["mame/hash/gln.xml",1724,"game_data"],["mame/hash/gls.xml",609,"game_data"],["mame/hash/gtfore.xml",2385,"game_data"],["mame/hash/guab.xml",4131,"game_data"],["mame/hash/gx4000.xml",12933,"game_data"],["mame/hash/h21.xml",1358,"game_data"],["mame/hash/h88_cass.xml",6198,"game_data"],["mame/hash/horizon.xml",110171,"game_data"],["mame/hash/hp85_rom.xml",2800,"game_data"],["mame/hash/hp86_rom.xml",5029,"game_data"],["mame/hash/hp9825_rom.xml",6691,"game_data"],["mame/hash/hp9831_rom.xml",1188,"game_data"],["mame/hash/hp9835a_rom.xml",2757,"game_data"],["mame/hash/hp9845a_rom.xml",4328,"game_data"],["mame/hash/hp9845b_rom.xml",19426,"game_data"],["mame/hash/hp98x6_rom.xml",1486,"game_data"],["mame/hash/hp9k3xx_cdrom.xml",7323,"game_data"],["mame/hash/hp9k3xx_flop.xml",30834,"game_data"],["mame/hash/hp9k3xx_hdd.xml",691,"game_data"],["mame/hash/hp_ipc.xml",23990,"game_data"],["mame/hash/hp_ipc_rom.xml",672,"game_data"],["mame/hash/ht68k.xml",923,"game_data"],["mame/hash/hx20_rom.xml",904,"game_data"],["mame/hash/hyperscan.xml",2390,"game_data"],["mame/hash/hyperscan_card.xml",193115,"game_data"],["mame/hash/i7000_card.xml",7455,"game_data"],["mame/hash/ibm5140.xml",1967,"game_data"],["mame/hash/ibm5150_cass.xml",736,"game_data"],["mame/hash/ibm5150_hdd.xml",5316,"game_data"],["mame/hash/ibm5170.xml",1162208,"game_data"],["mame/hash/ibm5170_cdrom.xml",454762,"game_data"],["mame/hash/ibm5170_hdd.xml",12253,"game_data"],["mame/hash/ibm6580.xml",4972,"game_data"],["mame/hash/ibmpc110.xml",1581,"game_data"],["mame/hash/ibmpcjr_cart.xml",9823,"game_data"],["mame/hash/ibmpcjr_flop.xml",6253,"game_data"],["mame/hash/ibmpcjx.xml",2034,"game_data"],["mame/hash/icanguit.xml",4013,"game_data"],["mame/hash/icanpian.xml",7041,"game_data"],["mame/hash/intellect02.xml",1026,"game_data"],["mame/hash/interact.xml",14054,"game_data"],["mame/hash/interpro.xml",15826,"game_data"],["mame/hash/intv.hsi",21652,"game_data"],["mame/hash/intv.xml",100100,"game_data"],["mame/hash/intvecs.xml",7161,"game_data"],["mame/hash/iq128.xml",1656,"game_data"],["mame/hash/iq151_cart.xml",2180,"game_data"],["mame/hash/iq151_flop.xml",1019,"game_data"],["mame/hash/ique.xml",18576,"game_data"],["mame/hash/iqunlim_cart.xml",1166,"game_data"],["mame/hash/itt3030.xml",1428,"game_data"],["mame/hash/jaguar.xml",78281,"game_data"],["mame/hash/jakks_gamekey_dp.xml",761,"game_data"],["mame/hash/jakks_gamekey_dy.xml",2768,"game_data"],["mame/hash/jakks_gamekey_mv.xml",756,"game_data"],["mame/hash/jakks_gamekey_nk.xml",1934,"game_data"],["mame/hash/jakks_gamekey_nm.xml",2051,"game_data"],["mame/hash/jakks_gamekey_sw.xml",2931,"game_data"],["mame/hash/jakks_gamekey_wp.xml",1064,"game_data"],["mame/hash/jaminator.xml",6011,"game_data"],["mame/hash/jazz.xml",1564,"game_data"],["mame/hash/jb3000_flop.xml",660,"game_data"],["mame/hash/juicebox.xml",18075,"game_data"],["mame/hash/juku.xml",6267,"game_data"],["mame/hash/jupace_cass.xml",81423,"game_data"],["mame/hash/jupace_snap.xml",2564,"game_data"],["mame/hash/k28.xml",3157,"game_data"],["mame/hash/k28o.xml",827,"game_data"],["mame/hash/kaypro.xml",8389,"game_data"],["mame/hash/kc_cart.xml",2336,"game_data"],["mame/hash/kc_cass.xml",70753,"game_data"],["mame/hash/kc_flop.xml",2125,"game_data"],["mame/hash/kim1_cass.xml",4296,"game_data"],["mame/hash/kisssite_cd.xml",13436,"game_data"],["mame/hash/korvet_flop.xml",8743,"game_data"],["mame/hash/lanteach.xml",561,"game_data"],["mame/hash/lantrans.xml",4167,"game_data"],["mame/hash/leapfrog_didj_cart.xml",3419,"game_data"],["mame/hash/leapfrog_iquest_cart.xml",996,"game_data"],["mame/hash/leapfrog_leappad_cart.xml",91522,"game_data"],["mame/hash/leapfrog_ltleappad_cart.xml",9206,"game_data"],["mame/hash/leapfrog_mfleappad_cart.xml",11748,"game_data"],["mame/hash/leapfrog_zippity_cart.xml",1903,"game_data"],["mame/hash/leapster.xml",79859,"game_data"],["mame/hash/leapster_explorer_cart.xml",2082,"game_data"],["mame/hash/lisa.xml",35666,"game_data"],["mame/hash/lisa2.xml",5305,"game_data"],["mame/hash/lk3000.xml",2341,"game_data"],["mame/hash/lnux4004.xml",551,"game_data"],["mame/hash/lviv.xml",117889,"game_data"],["mame/hash/lynx.xml",57321,"game_data"],["mame/hash/m20.xml",24233,"game_data"],["mame/hash/m24.xml",585,"game_data"],["mame/hash/m3.xml",567,"game_data"],["mame/hash/m5_cart.xml",24121,"game_data"],["mame/hash/m5_cass.xml",16984,"game_data"],["mame/hash/m5_flop.xml",1025,"game_data"],["mame/hash/mbc200.xml",906,"game_data"],["mame/hash/mbc55x.xml",6393,"game_data"],["mame/hash/mbee_cart.xml",23641,"game_data"],["mame/hash/mbee_cass.xml",1994,"game_data"],["mame/hash/mbee_flop.xml",218405,"game_data"],["mame/hash/mbee_quik.xml",64816,"game_data"],["mame/hash/mc1000_cass.xml",53448,"game_data"],["mame/hash/mc1502_flop.xml",949,"game_data"],["mame/hash/md2_flop.xml",2723,"game_data"],["mame/hash/megacd.xml",1291438,"game_data"],["mame/hash/megadriv.xml",1656213,"game_data"],["mame/hash/megaduck.xml",19227,"game_data"],["mame/hash/megapc.xml",1756,"game_data"],["mame/hash/mephisto_mm1.xml",613,"game_data"],["mame/hash/mephisto_mm2.xml",650,"game_data"],["mame/hash/mephisto_mm4.xml",618,"game_data"],["mame/hash/mephisto_mm5.xml",616,"game_data"],["mame/hash/mephisto_smondial2.xml",681,"game_data"],["mame/hash/microbox2_flop.xml",955,"game_data"],["mame/hash/microvision.xml",12187,"game_data"],["mame/hash/midi_flop.xml",1102,"game_data"],["mame/hash/mikro80.xml",2155,"game_data"],["mame/hash/mikrosha_cart.xml",564,"game_data"],["mame/hash/mikrosha_cass.xml",19640,"game_data"],["mame/hash/mindset_flop.xml",889,"game_data"],["mame/hash/misterx.xml",1485,"game_data"],["mame/hash/mk14_quik.xml",1607,"game_data"],["mame/hash/mm1_flop.xml",3737,"game_data"],["mame/hash/mm2_flop.xml",1145,"game_data"],["mame/hash/mm2_hdd.xml",564,"game_data"],["mame/hash/mo5_cart.xml",21269,"game_data"],["mame/hash/mo5_cass.xml",706525,"game_data"],["mame/hash/mo5_flop.xml",32837,"game_data"],["mame/hash/mo5_qd.xml",12350,"game_data"],["mame/hash/mo6_cass.xml",70027,"game_data"],["mame/hash/mo6_flop.xml",23106,"game_data"],["mame/hash/mobigo_cart.xml",23750,"game_data"],["mame/hash/monon_color.xml",15292,"game_data"],["mame/hash/mpc3000_flop.xml",3350,"game_data"],["mame/hash/mpc60_flop.xml",15063,"game_data"],["mame/hash/mpf1_rom.xml",2881,"game_data"],["mame/hash/mpu1000.xml",614,"game_data"],["mame/hash/mpz80.xml",21352,"game_data"],["mame/hash/msx.hsi",130435,"game_data"],["mame/hash/msx1_bee_card.xml",5450,"game_data"],["mame/hash/msx1_cart.xml",1069721,"game_data"],["mame/hash/msx1_cass.xml",815967,"game_data"],["mame/hash/msx1_flop.xml",243313,"game_data"],["mame/hash/msx1_flop_525.xml",8311,"game_data"],["mame/hash/msx2.hsi",290917,"game_data"],["mame/hash/msx2_cart.xml",191807,"game_data"],["mame/hash/msx2_cass.xml",2308,"game_data"],["mame/hash/msx2_flop.xml",1138601,"game_data"],["mame/hash/msx2p_cart.xml",2243,"game_data"],["mame/hash/msx2p_flop.xml",35351,"game_data"],["mame/hash/msx_softcard.xml",2406,"game_data"],["mame/hash/msx_yamaha_minicart.xml",913,"game_data"],["mame/hash/msxr_cart.xml",4556,"game_data"],["mame/hash/msxr_flop.xml",58312,"game_data"],["mame/hash/mt65_cass.xml",3972,"game_data"],["mame/hash/mt65_rom.xml",7665,"game_data"],["mame/hash/mt65_snap.xml",6125,"game_data"],["mame/hash/mtu130_flop.xml",2682,"game_data"],["mame/hash/mtx_cart.xml",3484,"game_data"],["mame/hash/mtx_cass.xml",23223,"game_data"],["mame/hash/mtx_flop.xml",3849,"game_data"],["mame/hash/mtx_hdd.xml",1479,"game_data"],["mame/hash/mtx_rom.xml",2033,"game_data"],["mame/hash/mylife_cart.xml",3029,"game_data"],["mame/hash/myvision.xml",10822,"game_data"],["mame/hash/mz2000_cass.xml",18487,"game_data"],["mame/hash/mz2000_flop.xml",6827,"game_data"],["mame/hash/mz2000_snap.xml",6357,"game_data"],["mame/hash/mz2500_flop.xml",41591,"game_data"],["mame/hash/mz5500_flop.xml",3298,"game_data"],["mame/hash/mz700_cass.xml",101940,"game_data"],["mame/hash/mz800_cass.xml",6416,"game_data"],["mame/hash/mz800_rom.xml",1699,"game_data"],["mame/hash/mz80b_cass.xml",3476,"game_data"],["mame/hash/mz80b_flop.xml",1334,"game_data"],["mame/hash/mz80k_cass.xml",17674,"game_data"],["mame/hash/n64.xml",634504,"game_data"],["mame/hash/n64_lodgenet.xml",18886,"game_data"],["mame/hash/n64dd.xml",7365,"game_data"],["mame/hash/nascom_flop.xml",4009,"game_data"],["mame/hash/nascom_snap.xml",32837,"game_data"],["mame/hash/nascom_socket.xml",2918,"game_data"],["mame/hash/neocd.xml",69767,"game_data"],["mame/hash/neogeo.xml",861636,"game_data"],["mame/hash/nes.hsi",2901163,"game_data"],["mame/hash/nes.xml",3760989,"game_data"],["mame/hash/nes_ade.xml",3683,"game_data"],["mame/hash/nes_datach.xml",5512,"game_data"],["mame/hash/nes_kstudio.xml",1679,"game_data"],["mame/hash/nes_ntbrom.xml",1534,"game_data"],["mame/hash/nes_vt_cart.xml",1225,"game_data"],["mame/hash/next.xml",4495,"game_data"],["mame/hash/next_cdrom.xml",2473,"game_data"],["mame/hash/next_hdd.xml",5837,"game_data"],["mame/hash/ngp.xml",6692,"game_data"],["mame/hash/ngpc.xml",69520,"game_data"],["mame/hash/nimbus.xml",14651,"game_data"],["mame/hash/novag_ssensor4.xml",690,"game_data"],["mame/hash/nuon.xml",3452,"game_data"],["mame/hash/octopus.xml",3416,"game_data"],["mame/hash/ondra.xml",4936,"game_data"],["mame/hash/orao.xml",25307,"game_data"],["mame/hash/oric1_cass.xml",201867,"game_data"],["mame/hash/orina_stylish_plus_cart.xml",694,"game_data"],["mame/hash/orion_cart.xml",898,"game_data"],["mame/hash/orion_cass.xml",28871,"game_data"],["mame/hash/orion_flop.xml",42898,"game_data"],["mame/hash/orionpro_flop.xml",12350,"game_data"],["mame/hash/osborne1.xml",10325,"game_data"],["mame/hash/osborne2.xml",2130,"game_data"],["mame/hash/p2000_cart.xml",19726,"game_data"],["mame/hash/p2000_cass.xml",80619,"game_data"],["mame/hash/p500_flop.xml",925,"game_data"],["mame/hash/partner_cass.xml",27737,"game_data"],["mame/hash/partner_flop.xml",890,"game_data"],["mame/hash/pasogo.xml",4088,"game_data"],["mame/hash/pasopia7_cass.xml",1740,"game_data"],["mame/hash/pasopia_cass.xml",3381,"game_data"],["mame/hash/pb2000c.xml",994,"game_data"],["mame/hash/pc1000.xml",5519,"game_data"],["mame/hash/pc100_flop.xml",3563,"game_data"],["mame/hash/pc1512_flop.xml",6358,"game_data"],["mame/hash/pc1512_hdd.xml",511,"game_data"],["mame/hash/pc1640_flop.xml",2796,"game_data"],["mame/hash/pc1640_hdd.xml",572,"game_data"],["mame/hash/pc200.xml",1683,"game_data"],["mame/hash/pc6001_cart.xml",6880,"game_data"],["mame/hash/pc6001_cass.xml",52713,"game_data"],["mame/hash/pc6001mk2_cass.xml",42402,"game_data"],["mame/hash/pc6001mk2_flop.xml",5521,"game_data"],["mame/hash/pc6001mk2sr_cass.xml",8673,"game_data"],["mame/hash/pc6001mk2sr_flop.xml",1876,"game_data"],["mame/hash/pc8201.xml",1733,"game_data"],["mame/hash/pc8801_cass.xml",56042,"game_data"],["mame/hash/pc8801_cdrom.xml",6105,"game_data"],["mame/hash/pc8801_flop.xml",2323906,"game_data"],["mame/hash/pc8801_flop_orig.xml",840,"game_data"],["mame/hash/pc88va.xml",66115,"game_data"],["mame/hash/pc88va_flop_orig.xml",5665,"game_data"],["mame/hash/pc98.xml",3156503,"game_data"],["mame/hash/pc98_cd.xml",496918,"game_data"],["mame/hash/pc98_flop_orig.xml",10051,"game_data"],["mame/hash/pc98_hdd.xml",939,"game_data"],["mame/hash/pcd_flop.xml",2088,"game_data"],["mame/hash/pce.xml",168484,"game_data"],["mame/hash/pcecd.xml",359086,"game_data"],["mame/hash/pcfx.xml",6670,"game_data"],["mame/hash/pcw16.xml",2116,"game_data"],["mame/hash/pcx_flop.xml",7886,"game_data"],["mame/hash/pda600.xml",1050,"game_data"],["mame/hash/pdp1_ptp.xml",2537,"game_data"],["mame/hash/pecom_cass.xml",3816,"game_data"],["mame/hash/pencil2.xml",4876,"game_data"],["mame/hash/pencil2_cass.xml",7881,"game_data"],["mame/hash/pentagon_cass.xml",1246,"game_data"],["mame/hash/pet_cass.xml",106400,"game_data"],["mame/hash/pet_flop.xml",33750,"game_data"],["mame/hash/pet_hdd.xml",1283,"game_data"],["mame/hash/pet_quik.xml",1032,"game_data"],["mame/hash/pet_rom.xml",14809,"game_data"],["mame/hash/phc25_cass.xml",12548,"game_data"],["mame/hash/pi_storyreader_cart.xml",22422,"game_data"],["mame/hash/pi_storyreader_v2_cart.xml",658,"game_data"],["mame/hash/picno.xml",12147,"game_data"],["mame/hash/pico.xml",288031,"game_data"],["mame/hash/pippin.xml",45021,"game_data"],["mame/hash/pippin_flop.xml",750,"game_data"],["mame/hash/pixter_cart.xml",2630,"game_data"],["mame/hash/playmaker.xml",1242,"game_data"],["mame/hash/pls1000_cart.xml",2938,"game_data"],["mame/hash/plus4_cart.xml",10278,"game_data"],["mame/hash/plus4_cass.xml",1191,"game_data"],["mame/hash/plus4_flop.xml",2108,"game_data"],["mame/hash/plus4_quik.xml",951,"game_data"],["mame/hash/pmd85_cass.xml",45145,"game_data"],["mame/hash/pockchalv2.xml",18615,"game_data"],["mame/hash/pockchalw.xml",30826,"game_data"],["mame/hash/pofo.xml",2062,"game_data"],["mame/hash/poisk1_flop.xml",961,"game_data"],["mame/hash/pokemini.xml",19575,"game_data"],["mame/hash/poly_flop.xml",1085,"game_data"],["mame/hash/polysix.xml",889,"game_data"],["mame/hash/popstar_cart.xml",1581,"game_data"],["mame/hash/precur2w_cart.xml",782,"game_data"],["mame/hash/princ.xml",3746,"game_data"],["mame/hash/pro128_cart.xml",1868,"game_data"],["mame/hash/pro128_cass.xml",81276,"game_data"],["mame/hash/pro128_flop.xml",1233,"game_data"],["mame/hash/prof180.xml",1181,"game_data"],["mame/hash/prof80.xml",865,"game_data"],["mame/hash/psi98.xml",1275,"game_data"],["mame/hash/psion1.xml",3874,"game_data"],["mame/hash/psion2.xml",79959,"game_data"],["mame/hash/psion_flop.xml",1096,"game_data"],["mame/hash/psion_quik.xml",5838,"game_data"],["mame/hash/psion_ssd.xml",21905,"game_data"],["mame/hash/psx.xml",3919227,"game_data"],["mame/hash/pt68k2.xml",555,"game_data"],["mame/hash/pv1000.xml",12768,"game_data"],["mame/hash/px4_cart.xml",3064,"game_data"],["mame/hash/px8_cart.xml",7208,"game_data"],["mame/hash/pyl601.xml",5562,"game_data"],["mame/hash/ql_cart.xml",1279,"game_data"],["mame/hash/ql_cass.xml",1897,"game_data"],["mame/hash/ql_flop.xml",2234,"game_data"],["mame/hash/quizwiz.xml",3091,"game_data"],["mame/hash/qx10_flop.xml",3250,"game_data"],["mame/hash/r8_card.xml",4710,"game_data"],["mame/hash/r9751.xml",10712,"game_data"],["mame/hash/radio86_cart.xml",539,"game_data"],["mame/hash/radio86_cass.xml",36046,"game_data"],["mame/hash/rainbow.xml",10136,"game_data"],["mame/hash/ramstar.xml",6165,"game_data"],["mame/hash/roland_tnsc1.xml",4197,"game_data"],["mame/hash/roland_tnsc2.xml",3332,"game_data"],["mame/hash/rwtrntcs.xml",1090,"game_data"],["mame/hash/rz1_cass.xml",2687,"game_data"],["mame/hash/s2000_flop.xml",603,"game_data"],["mame/hash/s3000_cdrom.xml",3926,"game_data"],["mame/hash/sagafox.xml",531,"game_data"],["mame/hash/sage2.xml",4188,"game_data"],["mame/hash/saitek_egr.xml",2069,"game_data"],["mame/hash/saitek_kso.xml",1105,"game_data"],["mame/hash/saitek_schess.xml",1334,"game_data"],["mame/hash/samcoupe_cass.xml",1614,"game_data"],["mame/hash/samcoupe_flop.xml",21118,"game_data"],["mame/hash/sat_cart.xml",6332,"game_data"],["mame/hash/sat_vccart.xml",8717,"game_data"],["mame/hash/saturn.xml",1716943,"game_data"],["mame/hash/sawatte.xml",10312,"game_data"],["mame/hash/sb80_flop.xml",2853,"game_data"],["mame/hash/sbrain.xml",525,"game_data"],["mame/hash/sc3000_cart.xml",16483,"game_data"],["mame/hash/sc3000_cass.xml",19145,"game_data"],["mame/hash/sd132_flop.xml",2596,"game_data"],["mame/hash/sd1_flop.xml",568,"game_data"],["mame/hash/sdk85.xml",1175,"game_data"],["mame/hash/sf7000.xml",10494,"game_data"],["mame/hash/sg1000.xml",118348,"game_data"],["mame/hash/sgi_mips.xml",242357,"game_data"],["mame/hash/sgi_mips_hdd.xml",2337,"game_data"],["mame/hash/sgx.xml",2705,"game_data"],["mame/hash/singingstarkaraoke_cart.xml",1479,"game_data"],["mame/hash/sitcom.xml",6387,"game_data"],["mame/hash/smartcycle_cart.xml",6112,"game_data"],["mame/hash/smarttv_cart.xml",6900,"game_data"],["mame/hash/smc777.xml",71270,"game_data"],["mame/hash/snes.xml",2841229,"game_data"],["mame/hash/snes_bspack.xml",213194,"game_data"],["mame/hash/snes_strom.xml",8678,"game_data"],["mame/hash/snes_vkun.xml",1383,"game_data"],["mame/hash/snotec.xml",8033,"game_data"],["mame/hash/snread.xml",3415,"game_data"],["mame/hash/snspell.xml",5704,"game_data"],["mame/hash/softbox.xml",996,"game_data"],["mame/hash/softwarelist.dtd",2483,"game_data"],["mame/hash/sol20_cass.xml",35251,"game_data"],["mame/hash/sony_news.xml",4134,"game_data"],["mame/hash/sorcerer_cart.xml",7212,"game_data"],["mame/hash/sorcerer_cass.xml",58610,"game_data"],["mame/hash/sorcerer_flop.xml",2033,"game_data"],["mame/hash/spc1000_cass.xml",44923,"game_data"],["mame/hash/spc1500_cass.xml",1620,"game_data"],["mame/hash/special_cass.xml",56426,"game_data"],["mame/hash/special_flop.xml",903,"game_data"],["mame/hash/specnext_sd.xml",1136,"game_data"],["mame/hash/specpls3_flop.xml",813283,"game_data"],["mame/hash/spectrum_betadisc_flop.xml",51683,"game_data"],["mame/hash/spectrum_cart.xml",9023,"game_data"],["mame/hash/spectrum_cass.xml",6897158,"game_data"],["mame/hash/spectrum_flop_opus.xml",30500,"game_data"],["mame/hash/spectrum_mgt_flop.xml",4836,"game_data"],["mame/hash/spectrum_microdrive.xml",28256,"game_data"],["mame/hash/spectrum_wafadrive.xml",701,"game_data"],["mame/hash/sprachmg.xml",4905,"game_data"],["mame/hash/squale_cart.xml",2249,"game_data"],["mame/hash/ssem_quik.xml",4598,"game_data"],["mame/hash/st_cart.xml",3348,"game_data"],["mame/hash/st_flop.xml",210727,"game_data"],["mame/hash/st_flop_demos.xml",3744,"game_data"],["mame/hash/stepone_flop.xml",4628,"game_data"],["mame/hash/studio2.xml",32602,"game_data"],["mame/hash/sun_sparc.xml",4191,"game_data"],["mame/hash/super6.xml",6296,"game_data"],["mame/hash/super80_cass.xml",102426,"game_data"],["mame/hash/super80_flop.xml",1706,"game_data"],["mame/hash/super_tv_pc_cart.xml",3902,"game_data"],["mame/hash/superpet_flop.xml",13019,"game_data"],["mame/hash/supracan.xml",10722,"game_data"],["mame/hash/sv8000.xml",3267,"game_data"],["mame/hash/svi318_cart.xml",4379,"game_data"],["mame/hash/svi318_cass.xml",86966,"game_data"],["mame/hash/svi318_flop.xml",2959,"game_data"],["mame/hash/svision.xml",29557,"game_data"],["mame/hash/svmu.xml",29673,"game_data"],["mame/hash/t1000.xml",7944,"game_data"],["mame/hash/tandy200.xml",1727,"game_data"],["mame/hash/tandy2k.xml",4874,"game_data"],["mame/hash/tandy6k.xml",4732,"game_data"],["mame/hash/tc4.xml",1582,"game_data"],["mame/hash/tdv2324.xml",3160,"game_data"],["mame/hash/tek4052_cart.xml",2734,"game_data"],["mame/hash/telestory_cart.xml",9328,"game_data"],["mame/hash/teradrive_flop.xml",4861,"game_data"],["mame/hash/teradrive_hdd.xml",954,"game_data"],["mame/hash/tg16.xml",37822,"game_data"],["mame/hash/thinkpad8xx.xml",6558,"game_data"],["mame/hash/ti74_cart.xml",1611,"game_data"],["mame/hash/ti95_cart.xml",1071,"game_data"],["mame/hash/tiki100.xml",33003,"game_data"],["mame/hash/timex_cass.xml",53889,"game_data"],["mame/hash/timex_dock.xml",17721,"game_data"],["mame/hash/tmc600_quik.xml",1369,"game_data"],["mame/hash/tntell.xml",2942,"game_data"],["mame/hash/to770_cart.xml",772,"game_data"],["mame/hash/to770a_cart.xml",758,"game_data"],["mame/hash/to7_cart.xml",25832,"game_data"],["mame/hash/to7_cass.xml",305755,"game_data"],["mame/hash/to7_qd.xml",9433,"game_data"],["mame/hash/to8_cass.xml",6669,"game_data"],["mame/hash/to8_qd.xml",3289,"game_data"],["mame/hash/to_flop.xml",545143,"game_data"],["mame/hash/triton_rom.xml",532,"game_data"],["mame/hash/trs80m2.xml",9352,"game_data"],["mame/hash/trsm100.xml",5175,"game_data"],["mame/hash/tsconf.xml",16553,"game_data"],["mame/hash/ttwist_brainquest_cart.xml",682,"game_data"],["mame/hash/turboextreme_cart.xml",607,"game_data"],["mame/hash/tvc_cart.xml",5156,"game_data"],["mame/hash/tvc_cass.xml",97888,"game_data"],["mame/hash/tvc_flop.xml",326997,"game_data"],["mame/hash/tvdear.xml",1842,"game_data"],["mame/hash/tvgogo.xml",5603,"game_data"],["mame/hash/tvochken.xml",16440,"game_data"],["mame/hash/tx0_ptp.xml",6329,"game_data"],["mame/hash/u110_card.xml",8800,"game_data"],["mame/hash/unichamp.xml",1778,"game_data"],["mame/hash/ut88.xml",2584,"game_data"],["mame/hash/uzebox.xml",50778,"game_data"],["mame/hash/v1050_flop.xml",4387,"game_data"],["mame/hash/v1050_hdd.xml",1054,"game_data"],["mame/hash/vbaby_cart.xml",4246,"game_data"],["mame/hash/vboy.xml",23269,"game_data"],["mame/hash/vc4000.xml",17828,"game_data"],["mame/hash/vector06_cart.xml",679,"game_data"],["mame/hash/vector06_flop.xml",7730,"game_data"],["mame/hash/vfxsd_flop.xml",994,"game_data"],["mame/hash/vgmplay.xml",19970196,"game_data"],["mame/hash/vic10.xml",13030,"game_data"],["mame/hash/vic1001_cart.xml",159400,"game_data"],["mame/hash/vic1001_cass.xml",1136,"game_data"],["mame/hash/vic1001_flop.xml",3222,"game_data"],["mame/hash/victor9k_flop.xml",1056,"game_data"],["mame/hash/vidbrain.xml",9944,"game_data"],["mame/hash/videoart.xml",3840,"game_data"],["mame/hash/videopac.xml",107901,"game_data"],["mame/hash/vii.xml",903,"game_data"],["mame/hash/vip.xml",981,"game_data"],["mame/hash/visicom.xml",3074,"game_data"],["mame/hash/vixen.xml",7617,"game_data"],["mame/hash/vsmile_cd.xml",28424,"game_data"],["mame/hash/vsmileb_cart.xml",20217,"game_data"],["mame/hash/vtech2_cass.xml",2383,"game_data"],["mame/hash/vtech_innotab_cart.xml",10101,"game_data"],["mame/hash/vtech_innotv_cart.xml",2019,"game_data"],["mame/hash/vtech_storio_cart.xml",13859,"game_data"],["mame/hash/wangpc.xml",2810,"game_data"],["mame/hash/waveterm.xml",2024,"game_data"],["mame/hash/wicat.xml",10200,"game_data"],["mame/hash/wizard_cart.xml",6438,"game_data"],["mame/hash/wmbullet.xml",1680,"game_data"],["mame/hash/wren_flop.xml",2590,"game_data"],["mame/hash/wscolor.xml",103090,"game_data"],["mame/hash/wswan.xml",145839,"game_data"],["mame/hash/x07_card.xml",698,"game_data"],["mame/hash/x07_cass.xml",51019,"game_data"],["mame/hash/x1_cass.xml",76089,"game_data"],["mame/hash/x1_flop.xml",249940,"game_data"],["mame/hash/x37_flop.xml",6292,"game_data"],["mame/hash/x37_hdd.xml",530,"game_data"],["mame/hash/x68k_flop.xml",1441600,"game_data"],["mame/hash/xerox820.xml",5473,"game_data"],["mame/hash/xerox820ii.xml",4778,"game_data"],["mame/hash/yeno_laptop_cart.xml",1742,"game_data"],["mame/hash/z80clock.xml",9043,"game_data"],["mame/hash/z80ne_cass.xml",42440,"game_data"],["mame/hash/z80ne_flop.xml",30301,"game_data"],["mame/hash/z88_cart.xml",24642,"game_data"],["mame/hash/zorba.xml",33048,"game_data"],["mame/hash/zx80_cass.xml",3169,"game_data"],["mame/hash/zx81_cass.xml",474158,"game_data"],["mame/plugins/README.md",88,"game_data"],["mame/plugins/autofire/autofire_menu.lua",11558,"game_data"],["mame/plugins/autofire/autofire_save.lua",2817,"game_data"],["mame/plugins/autofire/init.lua",3223,"game_data"],["mame/plugins/autofire/plugin.json",162,"game_data"],["mame/plugins/boot.lua",990,"game_data"],["mame/plugins/cheat/cheat_json.lua",198,"game_data"],["mame/plugins/cheat/cheat_simple.lua",10784,"game_data"],["mame/plugins/cheat/cheat_xml.lua",7419,"game_data"],["mame/plugins/cheat/init.lua",26494,"game_data"],["mame/plugins/cheat/plugin.json",149,"game_data"],["mame/plugins/cheat/xml_to_json.lua",252,"game_data"],["mame/plugins/cheatfind/init.lua",35221,"game_data"],["mame/plugins/cheatfind/plugin.json",168,"game_data"],["mame/plugins/commonui/init.lua",5312,"game_data"],["mame/plugins/commonui/plugin.json",154,"game_data"],["mame/plugins/console/init.lua",8744,"game_data"],["mame/plugins/console/plugin.json",153,"game_data"],["mame/plugins/data/button_char.lua",7593,"game_data"],["mame/plugins/data/data_command.lua",635,"game_data"],["mame/plugins/data/data_gameinit.lua",466,"game_data"],["mame/plugins/data/data_hiscore.lua",41388,"game_data"],["mame/plugins/data/data_history.lua",5235,"game_data"],["mame/plugins/data/data_mameinfo.lua",908,"game_data"],["mame/plugins/data/data_marp.lua",3763,"game_data"],["mame/plugins/data/data_messinfo.lua",912,"game_data"],["mame/plugins/data/data_story.lua",792,"game_data"],["mame/plugins/data/data_sysinfo.lua",475,"game_data"],["mame/plugins/data/database.lua",3853,"game_data"],["mame/plugins/data/init.lua",1938,"game_data"],["mame/plugins/data/load_dat.lua",6420,"game_data"],["mame/plugins/data/plugin.json",146,"game_data"],["mame/plugins/discord/init.lua",2881,"game_data"],["mame/plugins/discord/plugin.json",155,"game_data"],["mame/plugins/dummy/init.lua",881,"game_data"],["mame/plugins/dummy/plugin.json",167,"game_data"],["mame/plugins/gdbstub/init.lua",7838,"game_data"],["mame/plugins/gdbstub/plugin.json",154,"game_data"],["mame/plugins/hiscore/hiscore.dat",314161,"game_data"],["mame/plugins/hiscore/init.lua",10287,"game_data"],["mame/plugins/hiscore/plugin.json",167,"game_data"],["mame/plugins/hiscore/sort_hiscore.lua",4447,"game_data"],["mame/plugins/inputmacro/init.lua",3797,"game_data"],["mame/plugins/inputmacro/inputmacro_menu.lua",20962,"game_data"],["mame/plugins/inputmacro/inputmacro_persist.lua",3719,"game_data"],["mame/plugins/inputmacro/plugin.json",171,"game_data"],["mame/plugins/json/LICENSE",1079,"game_data"],["mame/plugins/json/README.md",45,"game_data"],["mame/plugins/json/init.lua",21505,"game_data"],["mame/plugins/json/plugin.json",136,"game_data"],["mame/plugins/keypress/init.lua",1162,"game_data"],["mame/plugins/keypress/plugin.json",195,"game_data"],["mame/plugins/layout/init.lua",2376,"game_data"],["mame/plugins/layout/plugin.json",157,"game_data"],["mame/plugins/offscreenreload/init.lua",2415,"game_data"],["mame/plugins/offscreenreload/offscreenreload_menu.lua",11498,"game_data"],["mame/plugins/offscreenreload/offscreenreload_persist.lua",3471,"game_data"],["mame/plugins/offscreenreload/plugin.json",189,"game_data"],["mame/plugins/plugin.schema",655,"game_data"],["mame/plugins/portname/init.lua",5173,"game_data"],["mame/plugins/portname/plugin.json",170,"game_data"],["mame/plugins/timecode/init.lua",11542,"game_data"],["mame/plugins/timecode/plugin.json",175,"game_data"],["mame/plugins/timer/init.lua",2359,"game_data"],["mame/plugins/timer/plugin.json",161,"game_data"],["mame/plugins/timer/timer_persist.lua",7109,"game_data"],["mame/plugins/vector/init.lua",1443,"game_data"],["mame/plugins/vector/plugin.json",182,"game_data"],["mame/plugins/xml/LICENSE.txt",1061,"game_data"],["mame/plugins/xml/init.lua",12842,"game_data"],["mame/plugins/xml/plugin.json",146,"game_data"],["mame/samples/floppy/35_seek_12ms.wav",26540,"game_data"],["mame/samples/floppy/35_seek_20ms.wav",44144,"game_data"],["mame/samples/floppy/35_seek_2ms.wav",7450,"game_data"],["mame/samples/floppy/35_seek_6ms.wav",22230,"game_data"],["mame/samples/floppy/35_spin_empty.wav",17708,"game_data"],["mame/samples/floppy/35_spin_end.wav",17684,"game_data"],["mame/samples/floppy/35_spin_loaded.wav",17708,"game_data"],["mame/samples/floppy/35_spin_start_empty.wav",17708,"game_data"],["mame/samples/floppy/35_spin_start_loaded.wav",35308,"game_data"],["mame/samples/floppy/35_step_1_1.wav",6878,"game_data"],["mame/samples/floppy/525_seek_12ms.wav",22764,"game_data"],["mame/samples/floppy/525_seek_20ms.wav",30060,"game_data"],["mame/samples/floppy/525_seek_6ms.wav",14860,"game_data"],["mame/samples/floppy/525_spin_empty.wav",8864,"game_data"],["mame/samples/floppy/525_spin_end.wav",8864,"game_data"],["mame/samples/floppy/525_spin_loaded.wav",17708,"game_data"],["mame/samples/floppy/525_spin_start_empty.wav",11180,"game_data"],["mame/samples/floppy/525_spin_start_loaded.wav",17708,"game_data"],["mame/samples/floppy/525_step_1_1.wav",6628,"game_data"],["mame2000/cheat/cheat.dat",7971360,"game_data"],["mame2003-plus/artwork/blueshrk.zip",925914,"game_data"],["mame2003-plus/artwork/dotron.zip",2010009,"game_data"],["mame2003-plus/artwork/frogs.zip",2832731,"game_data"],["mame2003-plus/artwork/invaders.zip",4324198,"game_data"],["mame2003-plus/artwork/omegrace.zip",1754523,"game_data"],["mame2003-plus/artwork/skydiver.zip",117241,"game_data"],["mame2003-plus/artwork/solarq.zip",1342645,"game_data"],["mame2003-plus/artwork/warrior.zip",1125335,"game_data"],["mame2003-plus/cheat.dat",7971360,"game_data"],["mame2003-plus/hiscore.dat",131926,"game_data"],["mame2003-plus/history.dat",38635890,"game_data"],["mame2003-plus/mameinfo.dat",24837237,"game_data"],["mame2003/cheat.dat",7971360,"game_data"],["mame2003/hiscore.dat",215475,"game_data"],["mame2003/history.dat",38635890,"game_data"],["mame2003/mameinfo.dat",24837237,"game_data"],["mame2010/cheat.zip",24981772,"game_data"],["mame2010/hiscore.dat",202298,"game_data"],["mc1502_rom.zip",25819,"bios"],["mc_mk4_hopper.zip",791,"bios"],["mcpx_1.0.bin",512,"bios"],["md_kbd.zip",1044,"bios"],["md_rom_svp.zip",1263,"bios"],["mdisplay3.zip",14234,"bios"],["mg1_kbd_device.zip",740,"bios"],["mga2064w.zip",86678,"bios"],["microtan_kbd_mt009.zip",376,"bios"],["microtouch.zip",41890,"bios"],["midcsd.zip",222,"bios"],["midssio.zip",163,"bios"],["mindset_sound_module.zip",1102,"bios"],["minichif.zip",22917,"bios"],["mks3.zip",2351,"bios"],["mm1kb.zip",499,"bios"],["mm5740.zip",212,"bios"],["mockingboardd.zip",1861,"bios"],["model1io.zip",4700,"bios"],["model1io2.zip",17058,"bios"],["mpcb828.zip",167,"bios"],["mpcb896.zip",168,"bios"],["mpcb963.zip",164,"bios"],["mpcba79.zip",168,"bios"],["mpcbb68.zip",3163,"bios"],["mpcbb92.zip",3163,"bios"],["mpeg_card.bin",524288,"bios"],["mpf1_epb.zip",1497,"bios"],["mpf1_epb_ibp.zip",2667,"bios"],["mpf1_iom_ip.zip",1166,"bios"],["mpf1_prt.zip",2971,"bios"],["mpf1_prt_ip.zip",2760,"bios"],["mpf1_sgb.zip",2402,"bios"],["mpf1_ssb.zip",3448,"bios"],["mpf1_ssb_ip.zip",4164,"bios"],["mpf1_tva_ip.zip",1790,"bios"],["mpf1_vid.zip",2320,"bios"],["mpr-17933.bin",524288,"bios"],["mpr-18100.bin",524288,"bios"],["mpr-18811-mx.ic1",2097152,"bios"],["mpr-19367-mx.ic1",2097152,"bios"],["mps1200.zip",21255,"bios"],["mps1250.zip",26948,"bios"],["mpu401.zip",3573,"bios"],["mr9735_002.zip",542,"bios"],["ms7004.zip",1446,"bios"],["msdsd1.zip",11813,"bios"],["msdsd2.zip",12220,"bios"],["msm6222b01.zip",972,"bios"],["msmt070.zip",202,"bios"],["msmt071.zip",170,"bios"],["msmt081.zip",170,"bios"],["msmt094.zip",110283,"bios"],["msx_cart_bm_012.zip",5300,"bios"],["msx_cart_easispeech.zip",2011,"bios"],["msx_cart_sfg01.zip",10912,"bios"],["msx_cart_sfg05.zip",69473,"bios"],["msx_cart_skw01.zip",111704,"bios"],["msx_cart_sunrise_ataide.zip",158361,"bios"],["msx_moonsound.zip",1922475,"bios"],["mt32-roms/cm32l_control.rom",65536,"bios"],["mt32-roms/mt32_control.rom",65536,"bios"],["mt32-roms/pcm_cm32l.rom",1048576,"bios"],["mt32-roms/pcm_mt32.rom",524288,"bios"],["mtx_cfx.zip",54548,"bios"],["mtx_sdxbas.zip",10404,"bios"],["mtx_sdxcpm.zip",4710,"bios"],["mu5lcd.zip",12098,"bios"],["mulcd.zip",40392,"bios"],["mvme120.zip",47505,"bios"],["mvme121.zip",142638,"bios"],["mvme122.zip",142638,"bios"],["mvme123.zip",142638,"bios"],["mvme147.zip",251991,"bios"],["mvme180.zip",96310,"bios"],["mvme181.zip",127740,"bios"],["mvme187.zip",222085,"bios"],["mvme327a.zip",39770,"bios"],["mvme328.zip",47299,"bios"],["mvme350.zip",8228,"bios"],["mz1e30.zip",13614,"bios"],["mz1p16.zip",3679,"bios"],["mzr8105.zip",10272,"bios"],["nabupc_keyboard.zip",1348,"bios"],["namco50.zip",898,"bios"],["namco51.zip",716,"bios"],["namco52.zip",389,"bios"],["namco53.zip",675,"bios"],["namco54.zip",592,"bios"],["namco62.zip",645,"bios"],["namco_amc.zip",3052,"bios"],["namco_asca1.zip",130552,"bios"],["namco_asca3.zip",130552,"bios"],["namco_asca3a.zip",130552,"bios"],["namco_asca5.zip",130552,"bios"],["namco_csz1.zip",2730,"bios"],["namco_cyberlead.zip",130552,"bios"],["namco_cyberlead_led.zip",80055,"bios"],["namco_cyberleada.zip",130552,"bios"],["namco_emio102.zip",130552,"bios"],["namco_fca10.zip",130552,"bios"],["namco_fca11.zip",130552,"bios"],["namco_fcb.zip",130552,"bios"],["namco_tssio.zip",130552,"bios"],["namco_xmiu1.zip",130552,"bios"],["namcoc65.zip",2163,"bios"],["namcoc67.zip",6552,"bios"],["namcoc68.zip",1721,"bios"],["namcoc69.zip",7771,"bios"],["namcoc70.zip",7822,"bios"],["namcoc71.zip",2756,"bios"],["namcoc74.zip",6936,"bios"],["namcoc75.zip",8709,"bios"],["namcoc76.zip",9579,"bios"],["nanoreseau_mo.zip",1937,"bios"],["nanoreseau_to.zip",1970,"bios"],["nb_aenet.zip",400,"bios"],["nb_amc3b.zip",417,"bios"],["nb_btbug.zip",91614,"bios"],["nb_c264.zip",6489,"bios"],["nb_laserview.zip",4885,"bios"],["nb_m2hr.zip",3538,"bios"],["nb_m2vc.zip",2106,"bios"],["nb_mdc48.zip",6576,"bios"],["nb_pcs8.zip",9570,"bios"],["nb_qdlink.zip",3316,"bios"],["nb_rtpd.zip",1828,"bios"],["nb_sp8s3.zip",23241,"bios"],["nb_spdq.zip",39282,"bios"],["nb_thungx.zip",18290,"bios"],["nb_thungx16.zip",18318,"bios"],["nb_vikbw.zip",2162,"bios"],["nb_wkstn.zip",2715,"bios"],["nb_wspt.zip",2646,"bios"],["ncr53c825_pci.zip",10043,"bios"],["nds7.bin",16384,"bios"],["nds9.bin",4096,"bios"],["nds_sd_card.bin",1048576,"bios"],["neocd.zip",429431,"bios"],["neocd/000-lo.lo",131072,"bios"],["neocd/front-sp1.bin",524288,"bios"],["neocd/neocd.bin",524288,"bios"],["neocd/neocd_f.rom",524288,"bios"],["neocd/neocd_sf.rom",524288,"bios"],["neocd/neocd_st.rom",524288,"bios"],["neocd/neocd_sz.rom",524288,"bios"],["neocd/neocd_t.rom",524288,"bios"],["neocd/neocd_z.rom",524288,"bios"],["neocd/ng-lo.rom",65536,"bios"],["neocd/top-sp1.bin",524288,"bios"],["neocd/uni-bioscd.rom",524288,"bios"],["neocdz.zip",955352,"bios"],["neocdz.zip",1181333,"bios"],["neogeo.zip",1859335,"bios"],["neon250.zip",20999,"bios"],["nes.pal",192,"bios"],["nes_rob.zip",637,"bios"],["nestopia/samples/ftaerobi/00.wav",378030,"game_data"],["nestopia/samples/ftaerobi/01.wav",145582,"game_data"],["nestopia/samples/ftaerobi/02.wav",114606,"game_data"],["nestopia/samples/ftaerobi/03.wav",311470,"game_data"],["nestopia/samples/ftaerobi/04.wav",94382,"game_data"],["nestopia/samples/ftaerobi/05.wav",95404,"game_data"],["nestopia/samples/ftaerobi/06.wav",98476,"game_data"],["nestopia/samples/ftaerobi/07.wav",90284,"game_data"],["nestopia/samples/moepro/00.wav",60848,"game_data"],["nestopia/samples/moepro/01.wav",37296,"game_data"],["nestopia/samples/moepro/02.wav",45742,"game_data"],["nestopia/samples/moepro/03.wav",75950,"game_data"],["nestopia/samples/moepro/04.wav",59056,"game_data"],["nestopia/samples/moepro/05.wav",52402,"game_data"],["nestopia/samples/moepro/06.wav",25644,"game_data"],["nestopia/samples/moepro/07.wav",58796,"game_data"],["nestopia/samples/moepro/08.wav",61104,"game_data"],["nestopia/samples/moepro/09.wav",79024,"game_data"],["nestopia/samples/moepro/10.wav",55986,"game_data"],["nestopia/samples/moepro/11.wav",59310,"game_data"],["nestopia/samples/moepro/12.wav",33198,"game_data"],["nestopia/samples/moepro/13.wav",49714,"game_data"],["nestopia/samples/moepro/14.wav",35246,"game_data"],["nestopia/samples/moepro/15.wav",267952,"game_data"],["nestopia/samples/moepro88/00.wav",25132,"game_data"],["nestopia/samples/moepro88/01.wav",29874,"game_data"],["nestopia/samples/moepro88/02.wav",25454,"game_data"],["nestopia/samples/moepro88/03.wav",26028,"game_data"],["nestopia/samples/moepro88/04.wav",36144,"game_data"],["nestopia/samples/moepro88/05.wav",35884,"game_data"],["nestopia/samples/moepro88/06.wav",34990,"game_data"],["nestopia/samples/moepro88/07.wav",49580,"game_data"],["nestopia/samples/moepro88/08.wav",49966,"game_data"],["nestopia/samples/moepro88/09.wav",49716,"game_data"],["nestopia/samples/moepro88/10.wav",56752,"game_data"],["nestopia/samples/moepro88/11.wav",58542,"game_data"],["nestopia/samples/moepro88/12.wav",34994,"game_data"],["nestopia/samples/moepro88/13.wav",31410,"game_data"],["nestopia/samples/moepro88/14.wav",128176,"game_data"],["nestopia/samples/moepro88/15.wav",26416,"game_data"],["nestopia/samples/moepro88/16.wav",44,"game_data"],["nestopia/samples/moepro88/17.wav",25390,"game_data"],["nestopia/samples/moepro88/18.wav",28590,"game_data"],["nestopia/samples/moepro88/19.wav",269490,"game_data"],["nestopia/samples/mptennis/00.wav",44,"game_data"],["nestopia/samples/mptennis/01.wav",44,"game_data"],["nestopia/samples/mptennis/02.wav",58796,"game_data"],["nestopia/samples/mptennis/03.wav",57260,"game_data"],["nestopia/samples/mptennis/04.wav",42412,"game_data"],["nestopia/samples/mptennis/05.wav",39724,"game_data"],["nestopia/samples/mptennis/06.wav",82732,"game_data"],["nestopia/samples/mptennis/07.wav",58028,"game_data"],["nestopia/samples/mptennis/08.wav",66732,"game_data"],["nestopia/samples/mptennis/09.wav",57132,"game_data"],["nestopia/samples/mptennis/10.wav",50860,"game_data"],["nestopia/samples/mptennis/11.wav",53490,"game_data"],["nestopia/samples/mptennis/12.wav",54572,"game_data"],["nestopia/samples/mptennis/13.wav",271406,"game_data"],["nestopia/samples/mptennis/14.wav",46510,"game_data"],["nestopia/samples/mptennis/15.wav",41900,"game_data"],["nestopia/samples/mptennis/16.wav",47532,"game_data"],["nestopia/samples/mptennis/17.wav",31664,"game_data"],["nestopia/samples/mptennis/18.wav",58924,"game_data"],["nestopia/samples/mptennis/19.wav",44,"game_data"],["nestopia/samples/terao/00.wav",90798,"game_data"],["nestopia/samples/terao/01.wav",54700,"game_data"],["nestopia/samples/terao/02.wav",48044,"game_data"],["nestopia/samples/terao/03.wav",83634,"game_data"],["nestopia/samples/terao/04.wav",77740,"game_data"],["nestopia/samples/terao/05.wav",80812,"game_data"],["newbrain_eim.zip",24763,"bios"],["newbrain_fdc.zip",128088,"bios"],["nlq401.zip",7554,"bios"],["nmk004.zip",3556,"bios"],["nokia_crtc186.zip",5203,"bios"],["novell_dcb.zip",3425,"bios"],["np2/2608_bd.wav",19192,"bios"],["np2/2608_hh.wav",36722,"bios"],["np2/2608_rim.wav",5288,"bios"],["np2/2608_sd.wav",15558,"bios"],["np2/2608_tom.wav",23092,"bios"],["np2/2608_top.wav",57016,"bios"],["np2/bios.rom",98304,"bios"],["np2/bios9821.rom",8192,"bios"],["np2/font.bmp",524350,"bios"],["np2/sasi.rom",4096,"bios"],["np2/scsi.rom",8192,"bios"],["np2/sound.rom",16384,"bios"],["np2kai/2608_BD.WAV",19192,"bios"],["np2kai/2608_HH.WAV",36722,"bios"],["np2kai/2608_RIM.WAV",5288,"bios"],["np2kai/2608_SD.WAV",15558,"bios"],["np2kai/2608_TOM.WAV",23092,"bios"],["np2kai/2608_TOP.WAV",57016,"bios"],["np2kai/FONT.ROM",288768,"bios"],["np2kai/bios.rom",98304,"bios"],["np2kai/font.bmp",524350,"bios"],["np2kai/ide.rom",8192,"bios"],["np2kai/itf.rom",32768,"bios"],["np2kai/pci.rom",32768,"bios"],["np2kai/sasi.rom",4096,"bios"],["np2kai/scsi.rom",8192,"bios"],["np2kai/sound.rom",16384,"bios"],["np600a3.zip",8089,"bios"],["nss_tvinterface.zip",17125,"bios"],["nxengine/Doukutsu.exe",1478656,"game_data"],["nxengine/data/npc.tbl",8664,"game_data"],["nxengine/data/sprites.sif",59482,"game_data"],["nxengine/tilekey.dat",1028,"game_data"],["o2rom.bin",1024,"bios"],["omniwave.zip",880710,"bios"],["omti8621isa.zip",13582,"bios"],["openbios.bin",524288,"bios"],["opera-boot.bin",131072,"bios"],["oric_jasmin.zip",471,"bios"],["oric_microdisc.zip",3254,"bios"],["osa_analyst.zip",348004,"bios"],["osa_bforce.zip",26799,"bios"],["osa_maestro.zip",324479,"bios"],["osa_maestroa.zip",47396,"bios"],["osa_sparc.zip",348745,"bios"],["oti64111_pci.zip",19135,"bios"],["p1_fdc.zip",6158,"bios"],["p1_hdc.zip",6372,"bios"],["p1_rom.zip",5821,"bios"],["p72.zip",351169,"bios"],["pa7246.zip",63947,"bios"],["palmos40-en-m500.rom",2359296,"bios"],["palmos41-en-m515.rom",4194304,"bios"],["palmos52-en-t3.rom",16777216,"bios"],["palmos60-en-t3.rom",16777216,"bios"],["panafz1-kanji.bin",933636,"bios"],["panafz1.bin",1048576,"bios"],["panafz10-norsa.bin",1048576,"bios"],["panafz10.bin",1048576,"bios"],["panafz10e-anvil-norsa.bin",1048576,"bios"],["panafz10e-anvil.bin",1048576,"bios"],["panafz10ja-anvil-kanji.bin",1048576,"bios"],["panafz1j-kanji.bin",1048576,"bios"],["panafz1j-norsa.bin",1048576,"bios"],["panafz1j.bin",1048576,"bios"],["partner_gdp.zip",1917,"bios"],["pc1512kb.zip",733,"bios"],["pc1640_iga.zip",8824,"bios"],["pc6022.zip",3694,"bios"],["pc80s31.zip",3242,"bios"],["pc80s31k.zip",7153,"bios"],["pc88va2_fd_if.zip",3891,"bios"],["pc9801_14.zip",5571,"bios"],["pc9801_26.zip",36650,"bios"],["pc9801_27.zip",2700,"bios"],["pc9801_55l.zip",4654,"bios"],["pc9801_55u.zip",4653,"bios"],["pc9801_86.zip",22165,"bios"],["pc98_fdd_2dd.zip",1959,"bios"],["pc98_fdd_2hd.zip",2702,"bios"],["pc98_otomichan_kai.zip",116066,"bios"],["pcd_kbd.zip",2572,"bios"],["pcd_video.zip",612,"bios"],["pcfx.rom",1048576,"bios"],["pcfxbios.bin",1048576,"bios"],["pcfxga.rom",1048576,"bios"],["pcfxv101.bin",1048576,"bios"],["pcsx2/bios/SCPH-10000.MEC",4,"bios"],["pcsx2/bios/SCPH-10000.bin",4194304,"bios"],["pcsx2/bios/SCPH-30004R.bin",4194304,"bios"],["pcsx2/bios/SCPH-39001.bin",4194304,"bios"],["pcsx2/bios/SCPH-50009_BIOS_V10_CHN_190.BIN",4194304,"bios"],["pcsx2/bios/SCPH-50009_BIOS_V10_CHN_190.NVM",1024,"bios"],["pcsx2/bios/SCPH-50009_BIOS_V10_CHN_190.ROM1",524288,"bios"],["pcsx2/bios/SCPH-50009_BIOS_V10_CHN_190.ROM2",524288,"bios"],["pcsx2/bios/SCPH-70004.BIN",4194304,"bios"],["pcsx2/bios/SCPH-70004.ROM1",524288,"bios"],["pcsx2/bios/SCPH-70006_BIOS_V12_HK_200.NVM",1024,"bios"],["pcsx2/bios/SCPH-70008_BIOS_V12_RUS_200.BIN",4194304,"bios"],["pcsx2/bios/SCPH-70008_BIOS_V12_RUS_200.NVM",1024,"bios"],["pcsx2/bios/SCPH-75008_BIOS_V14_RUS_220.NVM",1024,"bios"],["pcsx2/bios/SCPH-77008_BIOS_V15_RUS_220.NVM",1024,"bios"],["pcsx2/bios/SCPH-90006_BIOS_VX_HK _230.NVM",1024,"bios"],["pcsx2/bios/SCPH-90006_BIOS_VX_HK _230.ROM1",524288,"bios"],["pcsx2/bios/SCPH30004R.nvm",1024,"bios"],["pcsx2/bios/ps2-0100j-20000117.bin",4194304,"bios"],["pcsx2/bios/ps2-0100jd-20000117.bin",4194304,"bios"],["pcsx2/bios/ps2-0101j-20000217.bin",4194304,"bios"],["pcsx2/bios/ps2-0101jd-20000217.bin",4194304,"bios"],["pcsx2/bios/ps2-0101xd-20000224.bin",4194304,"bios"],["pcsx2/bios/ps2-0110a-20000727.bin",4194304,"bios"],["pcsx2/bios/ps2-0110ad-20000727.bin",4194304,"bios"],["pcsx2/bios/ps2-0120a-20000902.bin",4194304,"bios"],["pcsx2/bios/ps2-0120e-20000902.bin",4194304,"bios"],["pcsx2/bios/ps2-0120ed-20000902-20030110.bin",4194304,"bios"],["pcsx2/bios/ps2-0120ed-20000902.bin",4194304,"bios"],["pcsx2/bios/ps2-0120j-20001027-185015.bin",4194304,"bios"],["pcsx2/bios/ps2-0120j-20001027-191435.bin",4194304,"bios"],["pcsx2/bios/ps2-0150a-20001228.bin",4194304,"bios"],["pcsx2/bios/ps2-0150ad-20001228-20030520.bin",4194304,"bios"],["pcsx2/bios/ps2-0150e-20001228.bin",4194304,"bios"],["pcsx2/bios/ps2-0150ed-20001228-20030520.bin",4194304,"bios"],["pcsx2/bios/ps2-0150j-20010118.bin",4194304,"bios"],["pcsx2/bios/ps2-0150jd-20010118.bin",4194304,"bios"],["pcsx2/bios/ps2-0160a-20010427.bin",4194304,"bios"],["pcsx2/bios/ps2-0160a-20010704.bin",4194304,"bios"],["pcsx2/bios/ps2-0160a-20011004.bin",4194304,"bios"],["pcsx2/bios/ps2-0160a-20020207.bin",4194304,"bios"],["pcsx2/bios/ps2-0160e-20010704.bin",4194304,"bios"],["pcsx2/bios/ps2-0160e-20011004.bin",4194304,"bios"],["pcsx2/bios/ps2-0160e-20020319.bin",4194304,"bios"],["pcsx2/bios/ps2-0160e-20020426.bin",4194304,"bios"],["pcsx2/bios/ps2-0160h-20010730.bin",4194304,"bios"],["pcsx2/bios/ps2-0160h-20020426.bin",4194304,"bios"],["pcsx2/bios/ps2-0160h-20030602.bin",4194304,"bios"],["pcsx2/bios/ps2-0160j-20010427.bin",4194304,"bios"],["pcsx2/bios/ps2-0160j-20011004.bin",4194304,"bios"],["pcsx2/bios/ps2-0160j-20020426.bin",4194304,"bios"],["pcsx2/bios/ps2-0170a-20030325.bin",4194304,"bios"],["pcsx2/bios/ps2-0170ad-20030325.bin",4194304,"bios"],["pcsx2/bios/ps2-0170e-20030227.bin",4194304,"bios"],["pcsx2/bios/ps2-0170ed-20030227.bin",4194304,"bios"],["pcsx2/bios/ps2-0170j-20030206.bin",4194304,"bios"],["pcsx2/bios/ps2-0170jd-20030206.bin",4194304,"bios"],["pcsx2/bios/ps2-0180cd-20030224.bin",4194304,"bios"],["pcsx2/bios/ps2-0180j-20031028.bin",4194304,"bios"],["pcsx2/bios/ps2-0190a-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190a-20040329.bin",4194304,"bios"],["pcsx2/bios/ps2-0190ad-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190c-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190cd-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190e-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190e-20030822.bin",4194304,"bios"],["pcsx2/bios/ps2-0190h-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190j-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190j-20030822.bin",4194304,"bios"],["pcsx2/bios/ps2-0190k-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190r-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0200a-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0200ad-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0200e-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0200ed-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0200h-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0200j-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0210j-20040917.bin",4194304,"bios"],["pcsx2/bios/ps2-0220a-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220a-20060210.bin",4194304,"bios"],["pcsx2/bios/ps2-0220a-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0220ad-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220ad-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0220e-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220e-20060210.bin",4194304,"bios"],["pcsx2/bios/ps2-0220e-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0220h-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220h-20060210.bin",4194304,"bios"],["pcsx2/bios/ps2-0220h-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0220j-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220j-20060210.bin",4194304,"bios"],["pcsx2/bios/ps2-0220j-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0220jd-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220jd-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0230a-20080220.bin",4194304,"bios"],["pcsx2/bios/ps2-0230a-20080220.nvm",1024,"bios"],["pcsx2/bios/ps2-0230e-20080220.bin",4194304,"bios"],["pcsx2/bios/ps2-0230h-20080220.bin",4194304,"bios"],["pcsx2/bios/ps2-0230j-20080220.bin",4194304,"bios"],["pcsx2/bios/ps2-0250e-20100415.bin",4194304,"bios"],["pcsx2/bios/ps2-0250j-20100415.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-110u.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-120e.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-120u.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-130e.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-130u.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-200j.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-210e.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-210j.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-210u.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-212g.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-212u.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-213e.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-215g.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-300e.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-300u.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-302c.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-302e.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-302u.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-310.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-311.bin",4194304,"bios"],["pcsx2/bios/ps2_scph50006.bin",4194304,"bios"],["pcsx2/bios/ps2_scph50008.bin",4194304,"bios"],["pcsx2/bios/scph30004fr.nvm",1024,"bios"],["pcsx2/bios/scph39001.nvm",1024,"bios"],["pcsx2/resources/GameIndex.yaml",1737799,"bios"],["pcx_video.zip",8874,"bios"],["pd32.zip",998,"bios"],["pd3_30hr.zip",4685,"bios"],["pd3_c264.zip",5773,"bios"],["pd3_lviw.zip",4760,"bios"],["pd3_mclr.zip",4568,"bios"],["pd3_pc16.zip",8246,"bios"],["pdc20262.zip",14359,"bios"],["pdc20268.zip",9340,"bios"],["pds30_emac.zip",346,"bios"],["pds_sefp.zip",14387,"bios"],["pdslc_macconlc.zip",419,"bios"],["pencil2_coleco.zip",5795,"bios"],["permedia2.zip",138948,"bios"],["pet_superpet.zip",15774,"bios"],["pg200.zip",549,"bios"],["plg100_vl.zip",333318,"bios"],["plg150_ap.zip",11733949,"bios"],["plus2-0.rom",16384,"bios"],["plus2-1.rom",16384,"bios"],["plus3-0.rom",16384,"bios"],["plus3-1.rom",16384,"bios"],["plus3-2.rom",16384,"bios"],["plus3-3.rom",16384,"bios"],["plus3e-0.rom",16384,"bios"],["plus3e-1.rom",16384,"bios"],["plus3e-2.rom",16384,"bios"],["plus3e-3.rom",16384,"bios"],["plusd.rom",8192,"bios"],["plutonia.wad",17420824,"game_data"],["polyvti.zip",859,"bios"],["pr8210.zip",2012,"bios"],["prav8ckb.zip",1204,"bios"],["prboom.wad",143312,"bios"],["profighterq.zip",11314,"bios"],["profighterqa.zip",17554,"bios"],["profighterqb.zip",62747,"bios"],["profighterx.zip",24041,"bios"],["promotion3210.zip",18077,"bios"],["ps1_rom.bin",524288,"bios"],["ps2_desr5000.bin",4194304,"bios"],["ps2_desr5500.bin",4194304,"bios"],["ps2_dtlh10000_0117.bin",4194304,"bios"],["ps2_dtlh10000_0217.bin",4194304,"bios"],["ps2_dtlh10000_0224.bin",4194304,"bios"],["ps2_dtlh30000.bin",4194304,"bios"],["ps2_dtlh30001.bin",4194304,"bios"],["ps2_dtlh30002.bin",4194304,"bios"],["ps2_dtlh30101.bin",4194304,"bios"],["ps2_dtlh30102_0902.bin",4194304,"bios"],["ps2_dtlh30102_1228.bin",4194304,"bios"],["ps2_dtlh50000.bin",4194304,"bios"],["ps2_dtlh50001_0325.bin",4194304,"bios"],["ps2_dtlh50001_0623.bin",4194304,"bios"],["ps2_dtlh50002.bin",4194304,"bios"],["ps2_dtlh50009.bin",4194304,"bios"],["ps2_dtlh70002.bin",4194304,"bios"],["ps2_dtlh75000.bin",4194304,"bios"],["ps2_dtlh75000a.bin",4194304,"bios"],["ps2_dtlh90000_a.bin",4194304,"bios"],["ps2_dtlh90000_j.bin",4194304,"bios"],["ps2_kdl22px300.bin",4194304,"bios"],["ps2_keybc.zip",3537,"bios"],["ps2_scph10000_0117.bin",4194304,"bios"],["ps2_scph10000_15000.bin",4194304,"bios"],["ps2_scph18000.bin",524288,"bios"],["ps2_scph18000_gh003.bin",4194304,"bios"],["ps2_scph18000_gh008.bin",4194304,"bios"],["ps2_scph30000_0427.bin",4194304,"bios"],["ps2_scph30000_35000.bin",4194304,"bios"],["ps2_scph30001_0727.bin",4194304,"bios"],["ps2_scph30001_0902.bin",4194304,"bios"],["ps2_scph30001_35001.bin",4194304,"bios"],["ps2_scph30001r_0427.bin",4194304,"bios"],["ps2_scph30001r_0704.bin",4194304,"bios"],["ps2_scph30001r_1004.bin",4194304,"bios"],["ps2_scph30002_0902.bin",4194304,"bios"],["ps2_scph30002_1228.bin",4194304,"bios"],["ps2_scph30002r_0704.bin",4194304,"bios"],["ps2_scph30002r_1004.bin",4194304,"bios"],["ps2_scph30003.bin",524288,"bios"],["ps2_scph30005r.bin",4194304,"bios"],["ps2_scph37000_39000.bin",4194304,"bios"],["ps2_scph39001.bin",4194304,"bios"],["ps2_scph39002.bin",4194304,"bios"],["ps2_scph39005.bin",4194304,"bios"],["ps2_scph39008.bin",4194304,"bios"],["ps2_scph50000_0822.bin",4194304,"bios"],["ps2_scph50000_55000.bin",4194304,"bios"],["ps2_scph50001_0325.bin",4194304,"bios"],["ps2_scph50001_0623.bin",4194304,"bios"],["ps2_scph50002_0227.bin",4194304,"bios"],["ps2_scph50002_0623.bin",4194304,"bios"],["ps2_scph50004_0822.bin",4194304,"bios"],["ps2_scph50005.bin",4194304,"bios"],["ps2_scph50006.bin",4194304,"bios"],["ps2_scph50008.bin",4194304,"bios"],["ps2_scph50009.bin",4194304,"bios"],["ps2_scph50011.bin",4194304,"bios"],["ps2_scph55000_0623.bin",4194304,"bios"],["ps2_scph70000.bin",4194304,"bios"],["ps2_scph70001.bin",4194304,"bios"],["ps2_scph70002.bin",4194304,"bios"],["ps2_scph70002_alt.bin",524288,"bios"],["ps2_scph70005.bin",4194304,"bios"],["ps2_scph75000.bin",4194304,"bios"],["ps2_scph75001.bin",4194304,"bios"],["ps2_scph75002.bin",4194304,"bios"],["ps2_scph75006.bin",4194304,"bios"],["ps2_scph77000.bin",4194304,"bios"],["ps2_scph77001.bin",4194304,"bios"],["ps2_scph77002.bin",4194304,"bios"],["ps2_scph77006.bin",4194304,"bios"],["ps2_scph79000_90000.bin",4194304,"bios"],["ps2_scph79001_90001.bin",4194304,"bios"],["ps2_scph79002_90002.bin",4194304,"bios"],["ps2_scph79006_90006.bin",4194304,"bios"],["ps2_scph90000_0220.bin",4194304,"bios"],["ps2_scph90001_0220.bin",4194304,"bios"],["ps2_scph90002_0220.bin",4194304,"bios"],["ps2_scph90005_0220.bin",4194304,"bios"],["psion_3fax.zip",394842,"bios"],["psion_3link_ser.zip",50609,"bios"],["psx_cd.zip",222667,"bios"],["psxgboost.zip",179516,"bios"],["psxonpsp660.bin",524288,"bios"],["pvga1a.zip",65692,"bios"],["pvga1a_jk.zip",103539,"bios"],["px320a.zip",1092458,"bios"],["qg640.zip",75366,"bios"],["ql_cumanafdi.zip",16173,"bios"],["ql_gold.zip",66339,"bios"],["ql_kdi.zip",6387,"bios"],["ql_mhd.zip",5988,"bios"],["ql_mpfdi.zip",5067,"bios"],["ql_opdbm.zip",27486,"bios"],["ql_pcmlqdi.zip",10237,"bios"],["ql_qldisc.zip",13083,"bios"],["ql_qplus4.zip",597,"bios"],["ql_qubide.zip",30514,"bios"],["ql_sdisk.zip",8903,"bios"],["ql_sqboard256.zip",541045,"bios"],["ql_sqboard512.zip",541045,"bios"],["ql_sqmouse.zip",61242,"bios"],["ql_sqmouse512.zip",541045,"bios"],["ql_trump.zip",121019,"bios"],["ql_trump256.zip",121019,"bios"],["ql_trump512.zip",121019,"bios"],["ql_trump768.zip",121019,"bios"],["qsound.zip",2654,"bios"],["qsound_hle.zip",2676,"bios"],["qts1.zip",25174,"bios"],["quadro.zip",51307,"bios"],["quasi88/N88EXT0.ROM",8192,"bios"],["quasi88/N88EXT1.ROM",8192,"bios"],["quasi88/N88EXT2.ROM",8192,"bios"],["quasi88/N88EXT3.ROM",8192,"bios"],["quasi88/disk.rom",2048,"bios"],["quasi88/font.rom",2048,"bios"],["quasi88/font2.rom",2048,"bios"],["quasi88/font3.rom",2048,"bios"],["quasi88/n88.rom",32768,"bios"],["quasi88/n88_0.rom",8192,"bios"],["quasi88/n88_1.rom",8192,"bios"],["quasi88/n88_2.rom",8192,"bios"],["quasi88/n88_3.rom",8192,"bios"],["quasi88/n88jisho.rom",524288,"bios"],["quasi88/n88knj1.rom",131072,"bios"],["quasi88/n88knj2.rom",131072,"bios"],["quasi88/n88n.rom",32768,"bios"],["quoth/pak0.pak",48226771,"game_data"],["quoth/pak1.pak",84961704,"game_data"],["quoth/pak2.pak",8021749,"game_data"],["qvision_wavestar.zip",4834,"bios"],["qx10_keyboard_ascii.zip",963,"bios"],["qx10_keyboard_hasci.zip",963,"bios"],["rageiidvd.zip",74874,"bios"],["rc2014_micro.zip",12592,"bios"],["rc2014_mini_cpm.zip",23836,"bios"],["rc2014_pagable_rom.zip",34021,"bios"],["rc2014_rom_ram_512k.zip",2572870,"bios"],["rc2014_switchable_rom.zip",42387,"bios"],["riva128.zip",60632,"bios"],["riva128zx.zip",59311,"bios"],["rivatnt.zip",82626,"bios"],["rivatnt2.zip",46394,"bios"],["rivatnt2_m64.zip",272160,"bios"],["rivatnt2_ultra.zip",24007,"bios"],["rm_mq2.zip",6064,"bios"],["robotron_k7070.zip",15464,"bios"],["robotron_k7071.zip",4152,"bios"],["rolm_pdc.zip",8595,"bios"],["rolm_smioc.zip",6192,"bios"],["rom.db",17742,"bios"],["rom.key",2069,"bios"],["roms/a2090a-combitec-turbo.rom",32768,"bios"],["roms/a2090a.rom",16384,"bios"],["roms/a2090b-combitec-turbo.rom",32768,"bios"],["roms/a2090b-combitec.rom",32768,"bios"],["roms/a2090b-macrosystem.rom",32768,"bios"],["roms/a2620-a2630-01.rom",65536,"bios"],["roms/a2620-a2630-02.rom",65536,"bios"],["roms/a2620-a2630-03.rom",65536,"bios"],["roms/a2620-a2630-04.rom",65536,"bios"],["roms/a2620-a2630-06.rom",65536,"bios"],["roms/a2620-a2630-07.rom",65536,"bios"],["roms/a4091-v40.13.rom",32768,"bios"],["roms/a4091-v40.4.rom",32768,"bios"],["roms/a4091-v40.9.rom",32768,"bios"],["roms/a590-a2091-guru-rom-v6.14.rom",32768,"bios"],["roms/a590-a2091-v4.4.rom",16384,"bios"],["roms/a590-a2091-v4.6.rom",16384,"bios"],["roms/a590-a2091-v5.92.rom",16384,"bios"],["roms/a590-a2091-v6.0.rom",16384,"bios"],["roms/a590-a2091-v6.1.rom",16384,"bios"],["roms/a590-a2091-v6.6.rom",16384,"bios"],["roms/a590-a2091-v7.0.rom",16384,"bios"],["roms/accessx-2000-v2.1.rom",32768,"bios"],["roms/accessx-500-2000-v2.1-descrambled.rom",32768,"bios"],["roms/accessx-500-v2.1.rom",32768,"bios"],["roms/action-cartridge-super-iv-pro-rom-v4.3.rom",170368,"bios"],["roms/action-replay-1200.rom",262144,"bios"],["roms/action-replay-mk-i-v1.00.rom",65536,"bios"],["roms/action-replay-mk-i-v1.50.rom",65536,"bios"],["roms/action-replay-mk-ii-v2.05.rom",131072,"bios"],["roms/action-replay-mk-ii-v2.12.rom",131072,"bios"],["roms/action-replay-mk-ii-v2.14.rom",131072,"bios"],["roms/action-replay-mk-iii-v3.09.rom",262144,"bios"],["roms/action-replay-mk-iii-v3.17.rom",262144,"bios"],["roms/adide-40-44-v33.rom",16384,"bios"],["roms/adide-40-44-v34.rom",16384,"bios"],["roms/alf-2.rom",65536,"bios"],["roms/alfapower-v6.10.rom",32768,"bios"],["roms/alfapower-v8.2.rom",32768,"bios"],["roms/alfapower-v8.3.rom",32768,"bios"],["roms/apollo-1240-1260.rom",131072,"bios"],["roms/apollo-500-2000.rom",16384,"bios"],["roms/archos-add-500.rom",16384,"bios"],["roms/archos-overdrive-hd-v5.0.rom",32768,"bios"],["roms/ashcom-design-addhard-v2.0.rom",16384,"bios"],["roms/blizzard-1230-i-ii.rom",32768,"bios"],["roms/blizzard-1230-iii.rom",32768,"bios"],["roms/blizzard-1230-iv.rom",32768,"bios"],["roms/blizzard-1240-1260.rom",32768,"bios"],["roms/blizzard-2060-v7.25.rom",65536,"bios"],["roms/blizzard-2060-v8.2.rom",65536,"bios"],["roms/blizzard-2060-v8.5.rom",65536,"bios"],["roms/blizzard-scsi-kit-iii.rom",65536,"bios"],["roms/blizzard-scsi-kit-iv.rom",32768,"bios"],["roms/buddha-v103.17.rom",32768,"bios"],["roms/c-ltd-kronos.rom",8192,"bios"],["roms/california-access-malibu-v1.0.rom",8192,"bios"],["roms/combitec-hd20a-hd40a.rom",32768,"bios"],["roms/comspec-sa-series-v34.805.rom",16384,"bios"],["roms/csa-magnum-040.rom",65536,"bios"],["roms/csa-twelve-gauge.rom",32768,"bios"],["roms/cyberstorm-mk-i-68060-support.rom",32768,"bios"],["roms/cyberstorm-mk-i-cyberscsi-module.rom",32768,"bios"],["roms/dkb-1230-1240-cobra-plus-ferret-v1.23.rom",12060,"bios"],["roms/dkb-1230-1240-cobra.rom",1460,"bios"],["roms/dkb-rapidfire-spitfire-v1.31.rom",11284,"bios"],["roms/dkb-wildfire-v1.1.rom",18352,"bios"],["roms/elsat-mega-ram-hd.rom",16384,"bios"],["roms/evesham-micros-reference.rom",65536,"bios"],["roms/expansion-systems-dataflyerplus-v1.5.rom",32768,"bios"],["roms/expansion-systems-dataflyerplus-v1.7.rom",32768,"bios"],["roms/expansion-systems-dataflyerplus-v2.0.rom",32768,"bios"],["roms/expansion-systems-dataflyerplus-v2.1.rom",32768,"bios"],["roms/fastlane.rom",32768,"bios"],["roms/fusion-forty.rom",131072,"bios"],["roms/gvp-a1230-turboplus-series-ii-v5.0.rom",16384,"bios"],["roms/gvp-a1230-turboplus.rom",16384,"bios"],["roms/gvp-a3001-series-i.rom",8192,"bios"],["roms/gvp-series-i-ii-v3.15.rom",16384,"bios"],["roms/gvp-series-i-ii-v3.7.rom",16384,"bios"],["roms/gvp-series-i-v1.0.rom",16384,"bios"],["roms/gvp-series-i-v3.7.rom",16384,"bios"],["roms/gvp-series-ii-guru-rom.rom",32624,"bios"],["roms/gvp-series-ii-v4.13.rom",16384,"bios"],["roms/gvp-series-ii-v4.15.rom",16384,"bios"],["roms/hardital-dotto.rom",32768,"bios"],["roms/hardital-synthesis-v48.5.rom",32768,"bios"],["roms/hardital-synthesis-v53.1.rom",32768,"bios"],["roms/hardital-tqm.rom",32768,"bios"],["roms/harms-3000-professional.rom",65536,"bios"],["roms/icd-adscsi-2000-v1.6-icddisk-v1.0.rom",32768,"bios"],["roms/icd-adscsi-2000-v2.01-icddisk-v32.1.rom",32768,"bios"],["roms/icd-adscsi-2000-v2.1-icddisk-v33.0.rom",32768,"bios"],["roms/icd-adscsi-2000-v2.2-icddisk-v34.0.rom",32768,"bios"],["roms/ivs-grandslam-trumpcard-pro-v4.9.rom",16384,"bios"],["roms/ivs-trumpcard-v1.5.rom",8192,"bios"],["roms/ivs-trumpcard-v3.1.rom",8192,"bios"],["roms/ivs-trumpcard-v4.9.rom",16384,"bios"],["roms/ivs-vector-4.14.rom",65536,"bios"],["roms/kommos-a500-a2000-v1.7.rom",32768,"bios"],["roms/kommos-a500-a2000-v1.8.rom",32768,"bios"],["roms/kupke-golem-030.rom",8192,"bios"],["roms/kupke-golem-hd3000-v1.4.rom",16384,"bios"],["roms/kupke-golem-v3.9.rom",16384,"bios"],["roms/kupke-golem-v4.2.rom",16384,"bios"],["roms/m-tec-at500-megabody-v1.33.rom",32768,"bios"],["roms/m-tec-at500-v1.33w.rom",32768,"bios"],["roms/m-tec-e-matrix-530.rom",65536,"bios"],["roms/macrosystem-falcon-040-no-scsi.rom",131072,"bios"],["roms/mainhattan-data-a-team-v1.8.rom",65536,"bios"],["roms/masoboshi-mc-702-v2.201.rom",32768,"bios"],["roms/mast-fireball.rom",8192,"bios"],["roms/mastercard-v2.3.rom",65536,"bios"],["roms/microbotics-hardframe-v1.5.rom",32768,"bios"],["roms/microbotics-hardframe-v1.8.rom",32768,"bios"],["roms/microbotics-hardframe-v1.9.rom",32768,"bios"],["roms/multi-evolution-500-2000-v2.2.rom",65536,"bios"],["roms/multi-evolution-500-2000-v3.0.rom",65536,"bios"],["roms/multi-evolution-500-2000-v3.4.rom",65536,"bios"],["roms/nordic-power-v1.5.rom",65536,"bios"],["roms/nordic-power-v2.0.rom",65536,"bios"],["roms/nordic-power-v3.0.rom",65536,"bios"],["roms/nordic-power-v3.2.rom",65536,"bios"],["roms/oktagon-2008.rom",32768,"bios"],["roms/pacific-peripherals-overdrive-v1.5.rom",8192,"bios"],["roms/pacific-peripherals-overdrive-v2.0.rom",8192,"bios"],["roms/phoenix-board-scsi-vj.rom",32768,"bios"],["roms/picasso_iv_flash.rom",131072,"bios"],["roms/preferred-technologies-nexus.rom",8192,"bios"],["roms/pro-access-v2.17.rom",65536,"bios"],["roms/profex-electronics-hd-3300.rom",8192,"bios"],["roms/protar-a500hd.rom",32768,"bios"],["roms/quikpak-4060-xp-v2.1.rom",32768,"bios"],["roms/roctec-rochard-rh800c-v1.rom",16384,"bios"],["roms/roctec-rochard-rh800c-v2.rom",16384,"bios"],["roms/spirit-technology-inmate.rom",32768,"bios"],["roms/supradrive-2000dma-44-25b.rom",8192,"bios"],["roms/supradrive-amab2.rom",8192,"bios"],["roms/supradrive-amab3.rom",8192,"bios"],["roms/supradrive-amab4.rom",8192,"bios"],["roms/supradrive-amab5.rom",8192,"bios"],["roms/supradrive-amab6.rom",8192,"bios"],["roms/sx32-pro.rom",65536,"bios"],["roms/tekmagic2040.rom",65536,"bios"],["roms/tekmagic2060.rom",65536,"bios"],["roms/trifecta-v4.31.rom",32768,"bios"],["roms/trumpcard-500at-v1.1.rom",16384,"bios"],["roms/trumpcard-500at-v1.2.rom",16384,"bios"],["roms/typhoon-mk2.rom",65536,"bios"],["roms/vector-falcon-8000-v7.1.rom",32768,"bios"],["roms/vector-falcon-8000-v7.6.rom",32768,"bios"],["roms/vortex-system-2000.rom",16384,"bios"],["roms/warp-engine.rom",32768,"bios"],["roms/x-power-professional-500-v1.2.rom",131072,"bios"],["roms/x-power-professional-500-v1.3.rom",131072,"bios"],["roms/xetec-fasttrak.rom",32768,"bios"],["roms/zeus-040.rom",16384,"bios"],["rt1000b.zip",5852,"bios"],["rtpc_kbd.zip",1918,"bios"],["rtpc_kls.zip",5044,"bios"],["rx01.zip",2846,"bios"],["s100_am310.zip",1308,"bios"],["s100_djdma.zip",3777,"bios"],["s100_nsmdsa.zip",396,"bios"],["s100_nsmdsad.zip",334,"bios"],["s100_sj2db.zip",1012,"bios"],["s1410.zip",11050,"bios"],["s3_764.zip",18299,"bios"],["s8k_cpu.zip",31998,"bios"],["s8k_cpu10.zip",6294,"bios"],["s8k_hpcpu.zip",11518,"bios"],["s97269pb.zip",566,"bios"],["s97801_device.zip",8720,"bios"],["s97801_kbd.zip",1772,"bios"],["s_smp.zip",209,"bios"],["saa5051.zip",522,"bios"],["saa5052.zip",514,"bios"],["saa5053.zip",519,"bios"],["saa5054.zip",511,"bios"],["saa5055.zip",525,"bios"],["saa5056.zip",535,"bios"],["saa5057.zip",523,"bios"],["saa5240a.zip",1015,"bios"],["saa5240b.zip",978,"bios"],["saa5243e.zip",1297,"bios"],["sad8852.zip",4434,"bios"],["same_cdi/bios/cdi490a.zip",379558,"bios"],["same_cdi/bios/cdi910.zip",487572,"bios"],["same_cdi/bios/cdibios.zip",472798,"bios"],["same_cdi/bios/cdimono1.zip",660996,"bios"],["same_cdi/bios/cdimono2.zip",244291,"bios"],["sanyotry.bin",1048576,"bios"],["satar4mp.bin",262144,"bios"],["satcdb.zip",101309,"bios"],["saturn_bios.bin",524288,"bios"],["sb300p.zip",1591,"bios"],["sbus_hme.zip",17450,"bios"],["sbus_sunpc.zip",536,"bios"],["sc119.zip",721668,"bios"],["sc55-roms/cm300-v1.10/rom2.bin",262144,"bios"],["sc55-roms/cm300-v1.20/rom2.bin",262144,"bios"],["sc55-roms/cm300-v1.30/rom1.bin",32768,"bios"],["sc55-roms/cm300-v1.30/rom2.bin",262144,"bios"],["sc55-roms/cm300-v1.30/wave1.bin",1048576,"bios"],["sc55-roms/cm300-v1.30/wave2.bin",1048576,"bios"],["sc55-roms/mk1-v1.00/rom1.bin",32768,"bios"],["sc55-roms/mk1-v1.00/rom2.bin",262144,"bios"],["sc55-roms/mk1-v1.10/rom1.bin",32768,"bios"],["sc55-roms/mk1-v1.10/rom2.bin",262144,"bios"],["sc55-roms/mk1-v1.20/rom1.bin",32768,"bios"],["sc55-roms/mk1-v1.20/rom2.bin",262144,"bios"],["sc55-roms/mk1-v1.21/rom1.bin",32768,"bios"],["sc55-roms/mk1-v1.21/rom2.bin",262144,"bios"],["sc55-roms/mk1-v1.21/wave1.bin",1048576,"bios"],["sc55-roms/mk1-v1.21/wave2.bin",1048576,"bios"],["sc55-roms/mk1-v1.21/wave3.bin",1048576,"bios"],["sc55-roms/mk1-v2.00/rom1.bin",32768,"bios"],["sc55-roms/mk1-v2.00/rom2.bin",262144,"bios"],["sc55-roms/mk2-v1.01/rom1.bin",32768,"bios"],["sc55-roms/mk2-v1.01/rom2.bin",524288,"bios"],["sc55-roms/mk2-v1.01/smrom.bin",4096,"bios"],["sc55-roms/mk2-v1.01/wave1.bin",2097152,"bios"],["sc55-roms/mk2-v1.01/wave2.bin",1048576,"bios"],["sc55-roms/sc155-rev1/rom2.bin",262144,"bios"],["sc55-roms/scb55-v2.00/rom2.bin",262144,"bios"],["sc55-roms/st-v1.01/rom2.bin",262144,"bios"],["scorpion_ic.zip",18332,"bios"],["scph100.bin",524288,"bios"],["scph1000.bin",524288,"bios"],["scph1000r.bin",524288,"bios"],["scph1001.bin",524288,"bios"],["scph1001_v20.bin",524288,"bios"],["scph1001_v21.bin",524288,"bios"],["scph1002.bin",524288,"bios"],["scph1002a.bin",524288,"bios"],["scph1002b.bin",524288,"bios"],["scph1002c.bin",524288,"bios"],["scph101.bin",524288,"bios"],["scph101_v44.bin",524288,"bios"],["scph101_v45.bin",524288,"bios"],["scph102.bin",524288,"bios"],["scph102A.bin",524288,"bios"],["scph102B.bin",524288,"bios"],["scph102C.bin",524288,"bios"],["scph102_v44.bin",524288,"bios"],["scph102_v45.bin",524288,"bios"],["scph3000.bin",524288,"bios"],["scph3500.bin",524288,"bios"],["scph5000.bin",524288,"bios"],["scph5500.bin",524288,"bios"],["scph5501.bin",524288,"bios"],["scph5502.bin",524288,"bios"],["scph5552.bin",524288,"bios"],["scph5903.bin",1048576,"bios"],["scph7000.bin",524288,"bios"],["scph7000w.bin",524288,"bios"],["scph7001.bin",524288,"bios"],["scph7002.bin",524288,"bios"],["scph7003.bin",524288,"bios"],["scph7502.bin",524288,"bios"],["scph9002(7502).bin",524288,"bios"],["scpu-dos-1.4.bin",131072,"bios"],["scpu-dos-2.04.bin",131072,"bios"],["scummvm.zip",9523360,"bios"],["scummvm/extra/CM32L_CONTROL.ROM",65536,"bios"],["scummvm/extra/CM32L_PCM.ROM",1048576,"bios"],["scummvm/extra/MT32_CONTROL.ROM",65536,"bios"],["scummvm/extra/MT32_PCM.ROM",524288,"bios"],["scummvm/extra/Roland_SC-55.sf2",3283278,"bios"],["scummvm/extra/access.dat",520352,"bios"],["scummvm/extra/achievements.dat",249239,"bios"],["scummvm/extra/bagel.dat",20584,"bios"],["scummvm/extra/classicmacfonts.dat",626103,"bios"],["scummvm/extra/cryo.dat",12499,"bios"],["scummvm/extra/cryomni3d.dat",70416,"bios"],["scummvm/extra/darkseed.dat",37183,"bios"],["scummvm/extra/drascula.dat",259625,"bios"],["scummvm/extra/encoding.dat",179670,"bios"],["scummvm/extra/fonts-cjk.dat",38277312,"bios"],["scummvm/extra/fonts-imgui.dat",4000965,"bios"],["scummvm/extra/fonts.dat",6449829,"bios"],["scummvm/extra/freescape.dat",30124,"bios"],["scummvm/extra/got.aud",11313,"bios"],["scummvm/extra/got.gfx",288199,"bios"],["scummvm/extra/grim-patch.lab",9341,"bios"],["scummvm/extra/hadesch_translations.dat",431,"bios"],["scummvm/extra/helpdialog.zip",207764,"bios"],["scummvm/extra/hugo.dat",186866,"bios"],["scummvm/extra/kyra.dat",2028520,"bios"],["scummvm/extra/lure.dat",768832,"bios"],["scummvm/extra/macgui.dat",65656,"bios"],["scummvm/extra/macventure.dat",4146,"bios"],["scummvm/extra/mm.dat",280803,"bios"],["scummvm/extra/monkey4-patch.m4b",2990,"bios"],["scummvm/extra/mort.dat",76302,"bios"],["scummvm/extra/myst3.dat",358287,"bios"],["scummvm/extra/nancy.dat",255042,"bios"],["scummvm/extra/neverhood.dat",23804,"bios"],["scummvm/extra/pred.dic",126481,"bios"],["scummvm/extra/prince_translation.dat",168060,"bios"],["scummvm/extra/queen.tbl",1100505,"bios"],["scummvm/extra/sky.cpt",419427,"bios"],["scummvm/extra/supernova.dat",523211,"bios"],["scummvm/extra/teenagent.dat",403315,"bios"],["scummvm/extra/titanic.dat",3197968,"bios"],["scummvm/extra/tony.dat",24584,"bios"],["scummvm/extra/toon.dat",20996,"bios"],["scummvm/extra/ultima.dat",15981464,"bios"],["scummvm/extra/ultima8.dat",238149,"bios"],["scummvm/extra/vkeybd_default.zip",184946,"bios"],["scummvm/extra/wintermute.zip",4520,"bios"],["scummvm/theme/gui-icons.dat",3315855,"bios"],["scummvm/theme/residualvm.zip",94555,"bios"],["scummvm/theme/scummclassic.zip",16488,"bios"],["scummvm/theme/scummmodern.zip",68087,"bios"],["scummvm/theme/scummremastered.zip",93901,"bios"],["scummvm/theme/shaders.dat",657234,"bios"],["scummvm/theme/translations.dat",3693914,"bios"],["se-0.rom",16384,"bios"],["se-1.rom",16384,"bios"],["sed1200da.zip",749,"bios"],["sed1200db.zip",775,"bios"],["sed1200fa.zip",749,"bios"],["sed1200fb.zip",775,"bios"],["sed1278.zip",2096,"bios"],["sega1003.bin",524288,"bios"],["sega_100.bin",524288,"bios"],["sega_100a.bin",524288,"bios"],["sega_101.bin",524288,"bios"],["sega_sp400.zip",3461,"bios"],["segabill.zip",3117,"bios"],["sente6vb.zip",4778,"bios"],["serad.zip",4375,"bios"],["sfd1001.zip",13984,"bios"],["sgb.boot.rom",256,"bios"],["sgb1.program.rom",262144,"bios"],["sgb2.boot.rom",256,"bios"],["sgb2.program.rom",524288,"bios"],["sgb2_bios.bin",256,"bios"],["sgb2_boot.bin",256,"bios"],["sgb_bios.bin",256,"bios"],["sgb_boot.bin",256,"bios"],["sgi_gm1.zip",25397,"bios"],["sgi_ip2.zip",39192,"bios"],["sgi_ip4.zip",211576,"bios"],["sgi_kbd.zip",1233,"bios"],["sgi_pm1.zip",18125,"bios"],["sgi_pm2.zip",35149,"bios"],["side116.zip",3528,"bios"],["simutrek.zip",2912,"bios"],["sis630_gui.zip",49059,"bios"],["sis6326_agp.zip",101579,"bios"],["sis6326_dvd.zip",23245,"bios"],["sis6326_pci.zip",64665,"bios"],["sis900_eth.zip",24831,"bios"],["sk.bin",2097152,"bios"],["sk2chip.bin",262144,"bios"],["sl31253.bin",1024,"bios"],["sl31254.bin",1024,"bios"],["sl90025.bin",1024,"bios"],["smoc501.zip",37103,"bios"],["sms_diypaddle.zip",334,"bios"],["smvme2000.zip",29273,"bios"],["sn74s262.zip",675,"bios"],["sn74s263.zip",705,"bios"],["sns_dsp1bleg.zip",4140,"bios"],["sns_dsp1leg.zip",4135,"bios"],["sns_dsp1leg_hi.zip",4135,"bios"],["sns_dsp2leg.zip",2987,"bios"],["sns_dsp3leg.zip",3522,"bios"],["sns_dsp4leg.zip",3417,"bios"],["sns_rom_sgb.zip",390,"bios"],["sns_rom_sgb2.zip",392,"bios"],["sns_seta10leg.zip",2712,"bios"],["sns_seta11leg.zip",17424,"bios"],["softcard3.zip",407,"bios"],["sound_orchestra.zip",13041,"bios"],["spc1000_fdd_exp.zip",1839,"bios"],["speakboard.zip",116066,"bios"],["speccyboot-1.4.rom",8192,"bios"],["spectred_kbd.zip",911,"bios"],["spectrum_beta128.zip",2046403,"bios"],["spectrum_betacbi.zip",2046403,"bios"],["spectrum_betaclone.zip",2046403,"bios"],["spectrum_betaplus.zip",2046403,"bios"],["spectrum_betav2.zip",2046403,"bios"],["spectrum_betav3.zip",2046403,"bios"],["spectrum_d40.zip",14616,"bios"],["spectrum_d80.zip",14616,"bios"],["spectrum_d80v2.zip",7460,"bios"],["spectrum_disciple.zip",2046403,"bios"],["spectrum_flpone.zip",2046403,"bios"],["spectrum_gamma.zip",2046403,"bios"],["spectrum_intf1.zip",11519,"bios"],["spectrum_kempcentref.zip",1768,"bios"],["spectrum_kempcentreu.zip",1957,"bios"],["spectrum_kempdisc.zip",2046403,"bios"],["spectrum_lprint.zip",1878,"bios"],["spectrum_lprint3.zip",2046403,"bios"],["spectrum_mface1.zip",2046403,"bios"],["spectrum_mface128.zip",2046403,"bios"],["spectrum_mface128v1.zip",2046403,"bios"],["spectrum_mface1v1.zip",2046403,"bios"],["spectrum_mface1v2.zip",2046403,"bios"],["spectrum_mface1v3.zip",2046403,"bios"],["spectrum_mface3.zip",19134,"bios"],["spectrum_mikroplus.zip",12536,"bios"],["spectrum_mpoker.zip",2573,"bios"],["spectrum_mprint.zip",2046403,"bios"],["spectrum_opus.zip",29218,"bios"],["spectrum_plus2test.zip",3413,"bios"],["spectrum_plusd.zip",17587,"bios"],["spectrum_proceed.zip",6377,"bios"],["spectrum_sdi.zip",2603,"bios"],["spectrum_spdos.zip",2046403,"bios"],["spectrum_speccydos.zip",2046403,"bios"],["spectrum_specmate.zip",2046403,"bios"],["spectrum_swiftdisc.zip",2046403,"bios"],["spectrum_swiftdisc2.zip",2046403,"bios"],["spectrum_usource.zip",7261,"bios"],["spectrum_uspeech.zip",3944,"bios"],["spectrum_vtx5000.zip",2046403,"bios"],["spectrum_wafa.zip",2046403,"bios"],["squirreljme-0.3.0-fast.jar",15181774,"bios"],["squirreljme-0.3.0-slow-test.jar",15181774,"bios"],["squirreljme-0.3.0-slow.jar",15181774,"bios"],["squirreljme-0.3.0-test.jar",3396757,"bios"],["squirreljme-0.3.0.jar",15181774,"bios"],["squirreljme-fast.jar",15181774,"bios"],["squirreljme-slow-test.jar",15181774,"bios"],["squirreljme-slow.jar",15181774,"bios"],["squirreljme-test.jar",3396757,"bios"],["squirreljme.jar",4700395,"bios"],["st010.data.rom",4096,"bios"],["st010.program.rom",49152,"bios"],["st011.data.rom",4096,"bios"],["st011.program.rom",49152,"bios"],["st018.data.rom",32768,"bios"],["st018.program.rom",131072,"bios"],["st_kbd.zip",3344,"bios"],["stereo_fx.zip",3977,"bios"],["stic.zip",1296,"bios"],["stvbios.zip",3455065,"bios"],["sun1_cpu.zip",57393,"bios"],["sun_gem.zip",9773,"bios"],["sv603.zip",5695,"bios"],["sv806.zip",2717,"bios"],["sw1000xg.zip",20518162,"bios"],["swp30.zip",47545,"bios"],["swtpc8212_device.zip",5070,"bios"],["sx1541.zip",30913,"bios"],["sys68k_cpu1.zip",30486,"bios"],["sys68k_cpu20.zip",34447,"bios"],["sys68k_cpu21.zip",34447,"bios"],["sys68k_cpu21a.zip",34447,"bios"],["sys68k_cpu21b.zip",34447,"bios"],["sys68k_cpu21s.zip",34447,"bios"],["sys68k_cpu21ya.zip",34447,"bios"],["sys68k_cpu21yb.zip",34447,"bios"],["sys68k_cpu30.zip",291856,"bios"],["sys68k_cpu30be.zip",291856,"bios"],["sys68k_cpu30x.zip",291856,"bios"],["sys68k_cpu30xa.zip",291856,"bios"],["sys68k_cpu30za.zip",291856,"bios"],["sys68k_cpu33.zip",218296,"bios"],["sys68k_iscsi1.zip",17599,"bios"],["sys68k_isio1.zip",7302,"bios"],["syscard1.pce",262144,"bios"],["syscard2.pce",262144,"bios"],["syscard2u.pce",262144,"bios"],["syscard3.pce",262144,"bios"],["syscard3u.pce",262144,"bios"],["t5182.zip",2681,"bios"],["tanbus_ra32krom.zip",4189,"bios"],["tanbus_tandos.zip",6297,"bios"],["tanbus_tanex.zip",26826,"bios"],["tanbus_vid8082.zip",5374,"bios"],["tandberg_tdv2100_disp_logic.zip",1299,"bios"],["tandberg_tdv2100_keyboard.zip",572,"bios"],["tandy_1000_graphics.zip",3739,"bios"],["tandy_1000x_graphics.zip",3731,"bios"],["tape_128.szx",1464,"bios"],["tape_16.szx",591,"bios"],["tape_2048.szx",720,"bios"],["tape_2068.szx",1799,"bios"],["tape_48.szx",708,"bios"],["tape_pentagon.szx",1479,"bios"],["tape_plus2.szx",1571,"bios"],["tape_plus2a.szx",1617,"bios"],["tape_plus3.szx",1856,"bios"],["tape_plus3e.szx",1970,"bios"],["tape_scorpion.szx",3500,"bios"],["tape_se.szx",2146,"bios"],["tape_ts2068.szx",1840,"bios"],["tc2048.rom",16384,"bios"],["tc2068-0.rom",16384,"bios"],["tc2068-1.rom",8192,"bios"],["tdl12.zip",8050,"bios"],["technica.zip",12198,"bios"],["tek410x_kbd.zip",936,"bios"],["tek_msu_fdc.zip",2453,"bios"],["teletex800.zip",1260,"bios"],["tetriskr_cga.zip",160878,"bios"],["tgui9680.zip",22311,"bios"],["ti83.rom",262144,"bios"],["ti83plus.rom",524288,"bios"],["ti83se.rom",2097152,"bios"],["ti99_arcturus.zip",11432,"bios"],["ti99_bwg.zip",7452,"bios"],["ti99_ccdcc.zip",9611,"bios"],["ti99_ccfdc.zip",9712,"bios"],["ti99_ddcc1.zip",6231,"bios"],["ti99_evpc.zip",17207,"bios"],["ti99_fdc.zip",4969,"bios"],["ti99_gkracker.zip",5998,"bios"],["ti99_hfdc.zip",11813,"bios"],["ti99_myarcmem.zip",6085,"bios"],["ti99_pcode.zip",41460,"bios"],["ti99_rs232.zip",1782,"bios"],["ti99_thermal.zip",1544,"bios"],["ti99_tipi.zip",5838,"bios"],["ti99_whtscsi.zip",12367,"bios"],["ti_hx5102.zip",9758,"bios"],["tiki100_8088.zip",1246,"bios"],["tim011_kbd.zip",1862,"bios"],["tk02.zip",2839,"bios"],["tms320c30.zip",573,"bios"],["tms320c31.zip",573,"bios"],["tms320c32.zip",620,"bios"],["tms320vc33.zip",573,"bios"],["tnt.wad",18195736,"game_data"],["tonelib.bin",130500,"bios"],["tos.img",196608,"bios"],["tp880v.zip",55282,"bios"],["tp881v.zip",72045,"bios"],["trio64dx_pci.zip",73424,"bios"],["trs80m2kb.zip",920,"bios"],["tsvme104.zip",25233,"bios"],["turbogx.zip",11121,"bios"],["turbogxp.zip",11215,"bios"],["tv950kb.zip",1046,"bios"],["tv955kb.zip",1417,"bios"],["tvc_hbf.zip",36960,"bios"],["tvga9000.zip",37841,"bios"],["uae_data/drive_click_A500.wav",3313326,"bios"],["uae_data/drive_click_LOUD.wav",3308526,"bios"],["uae_data/drive_snatch_A500.wav",34450,"bios"],["uae_data/drive_snatch_LOUD.wav",39864,"bios"],["uae_data/drive_spin_A500.wav",134294,"bios"],["uae_data/drive_spin_LOUD.wav",20216,"bios"],["uae_data/drive_spinnd_A500.wav",352430,"bios"],["uae_data/drive_spinnd_LOUD.wav",241790,"bios"],["uae_data/drive_startup_A500.wav",34450,"bios"],["uae_data/drive_startup_LOUD.wav",43492,"bios"],["ubpnic.zip",171,"bios"],["ultra12f.zip",44397,"bios"],["ultra12f32.zip",20138,"bios"],["ultra14f.zip",16630,"bios"],["ultra24f.zip",19448,"bios"],["umc6650.zip",160,"bios"],["ume2015/hiscore.dat",216250,"game_data"],["uniap2ti.zip",1716,"bios"],["upd7220.zip",367,"bios"],["upd7801g.s01",4096,"bios"],["us_scd1_9210.bin",131072,"bios"],["us_scd2_9306.bin",131072,"bios"],["uts_400kbd.zip",853,"bios"],["uts_extw.zip",1046,"bios"],["v102_kbd.zip",1329,"bios"],["v50_kbd.zip",1066,"bios"],["v550_kbd.zip",1184,"bios"],["vanta.zip",72613,"bios"],["vector4_kbd.zip",1267,"bios"],["vic1515.zip",2699,"bios"],["vic1520.zip",3695,"bios"],["vic20_fe3.zip",9529,"bios"],["vic20_videopak.zip",830,"bios"],["vice/C128/basic-901226-01.bin",8192,"bios"],["vice/C128/basichi-318019-04.bin",16384,"bios"],["vice/C128/basiclo-318018-04.bin",16384,"bios"],["vice/C128/chargen-315079-01.bin",8192,"bios"],["vice/C128/chargen-325078-02.bin",8192,"bios"],["vice/C128/chargen-325167-02.bin",8192,"bios"],["vice/C128/chargen-325173-01D.bin",8192,"bios"],["vice/C128/chargen-325181-01.bin",8192,"bios"],["vice/C128/chargen-390059-01.bin",8192,"bios"],["vice/C128/kernal-315078-03.bin",16384,"bios"],["vice/C128/kernal-318020-05.bin",16384,"bios"],["vice/C128/kernal-318034-01.bin",16384,"bios"],["vice/C128/kernal-325172-01.bin",16384,"bios"],["vice/C128/kernal-901227-03.bin",8192,"bios"],["vice/C128/kernal64-325179-01.bin",8192,"bios"],["vice/C128/kernal64-325182-01.bin",8192,"bios"],["vice/C128/kernalfi",16384,"bios"],["vice/C128/kernalfr",16384,"bios"],["vice/C128/kernalit",16384,"bios"],["vice/C128/kernalno",16384,"bios"],["vice/C64/kernal-901227-01.bin",8192,"bios"],["vice/C64/kernal-901227-02.bin",8192,"bios"],["vice/DRIVES/dos1571cr-318047-01.bin",32768,"bios"],["vice/JiffyDOS_1541-II.bin",16384,"bios"],["vice/JiffyDOS_1571_repl310654.bin",32768,"bios"],["vice/JiffyDOS_1581.bin",32768,"bios"],["vice/JiffyDOS_C128.bin",16384,"bios"],["vice/JiffyDOS_C64.bin",8192,"bios"],["vice/JiffyDOS_SX-64.bin",8192,"bios"],["vice/VIC20/chargen-901460-02.bin",4096,"bios"],["vice/VIC20/kernal.901486-02.bin",8192,"bios"],["victor9k_fdc.zip",1152,"bios"],["victor9k_kb.zip",669,"bios"],["videnh2.zip",1713,"bios"],["virge_pci.zip",35167,"bios"],["virgedx_pci.zip",56560,"bios"],["virgevx_pci.zip",19358,"bios"],["vision864.zip",18539,"bios"],["vision964.zip",18202,"bios"],["vision968.zip",55852,"bios"],["voice/E480.WAV",101,"game_data"],["voice/E481.WAV",554,"game_data"],["voice/E482.WAV",554,"game_data"],["voice/E483.WAV",1096,"game_data"],["voice/E484.WAV",2219,"game_data"],["voice/E485.WAV",4592,"game_data"],["voice/E486.WAV",2902,"game_data"],["voice/E487.WAV",804,"game_data"],["voice/E488.WAV",1378,"game_data"],["voice/E489.WAV",576,"game_data"],["voice/E48A.WAV",1556,"game_data"],["voice/E48B.WAV",1516,"game_data"],["voice/E48C.WAV",794,"game_data"],["voice/E48D.WAV",1510,"game_data"],["voice/E48E.WAV",1892,"game_data"],["voice/E48F.WAV",788,"game_data"],["voice/E490.WAV",2020,"game_data"],["voice/E491.WAV",1122,"game_data"],["voice/E492.WAV",1862,"game_data"],["voice/E493.WAV",2772,"game_data"],["voice/E494.WAV",3120,"game_data"],["voice/E495.WAV",854,"game_data"],["voice/E496.WAV",1154,"game_data"],["voice/E497.WAV",1122,"game_data"],["voice/E498.WAV",1144,"game_data"],["voice/E499.WAV",2056,"game_data"],["voice/E49A.WAV",1302,"game_data"],["voice/E49B.WAV",2492,"game_data"],["voice/E49C.WAV",936,"game_data"],["voice/E49D.WAV",2038,"game_data"],["voice/E49E.WAV",1146,"game_data"],["voice/E49F.WAV",2884,"game_data"],["voice/E4A0.WAV",4096,"game_data"],["voice/E4A1.WAV",1702,"game_data"],["voice/E4A2.WAV",1570,"game_data"],["voice/E4A3.WAV",2060,"game_data"],["voice/E4A4.WAV",846,"game_data"],["voice/E4A5.WAV",1756,"game_data"],["voice/E4A6.WAV",2144,"game_data"],["voice/E4A7.WAV",1388,"game_data"],["voice/E4A8.WAV",1586,"game_data"],["voice/E4A9.WAV",2022,"game_data"],["voice/E4AA.WAV",1624,"game_data"],["voice/E4AB.WAV",2302,"game_data"],["voice/E4AC.WAV",2484,"game_data"],["voice/E4AD.WAV",1252,"game_data"],["voice/E4AE.WAV",1978,"game_data"],["voice/E4AF.WAV",3984,"game_data"],["voice/E4B0.WAV",2184,"game_data"],["voice/E4B1.WAV",1448,"game_data"],["voice/E4B2.WAV",2040,"game_data"],["voice/E4B3.WAV",1762,"game_data"],["voice/E4B4.WAV",3334,"game_data"],["voice/E4B5.WAV",2604,"game_data"],["voice/E4B6.WAV",2654,"game_data"],["voice/E4B7.WAV",984,"game_data"],["voice/E4B8.WAV",2156,"game_data"],["voice/E4B9.WAV",890,"game_data"],["voice/E4BA.WAV",3656,"game_data"],["voice/E4BB.WAV",3166,"game_data"],["voice/E4BC.WAV",3840,"game_data"],["voice/E4BD.WAV",464,"game_data"],["voice/E4BE.WAV",2084,"game_data"],["voice/E4BF.WAV",646,"game_data"],["voice/E4C0.WAV",5348,"game_data"],["voice/E4C1.WAV",8577,"game_data"],["voice/E4C2.WAV",5504,"game_data"],["voice/E4C3.WAV",12420,"game_data"],["voice/E4C4.WAV",11286,"game_data"],["voice/E4C5.WAV",7194,"game_data"],["voice/E4C6.WAV",7078,"game_data"],["voice/E4C7.WAV",4566,"game_data"],["voice/E4C8.WAV",7740,"game_data"],["voice/E4C9.WAV",9504,"game_data"],["voice/E4CA.WAV",12896,"game_data"],["voice/E4FA.WAV",11049,"game_data"],["voice/E4FB.WAV",7604,"game_data"],["voice/E880.WAV",10745,"game_data"],["voice/E881.WAV",7324,"game_data"],["voice/E882.WAV",6876,"game_data"],["voice/E883.WAV",7418,"game_data"],["voice/E884.WAV",13296,"game_data"],["voice/E885.WAV",10055,"game_data"],["voice/E886.WAV",5827,"game_data"],["voice/E887.WAV",6215,"game_data"],["voice/E888.WAV",5264,"game_data"],["voice/E889.WAV",8524,"game_data"],["voice/E88A.WAV",4348,"game_data"],["voice/E88B.WAV",4104,"game_data"],["voice/E88C.WAV",9624,"game_data"],["voice/E88D.WAV",6914,"game_data"],["voice/E88E.WAV",8319,"game_data"],["voice/E88F.WAV",9592,"game_data"],["voice/E890.WAV",9479,"game_data"],["voice/E891.WAV",8697,"game_data"],["voice/E892.WAV",6878,"game_data"],["voice/E893.WAV",6220,"game_data"],["voice/E894.WAV",6830,"game_data"],["voice/E895.WAV",6283,"game_data"],["voice/E980.WAV",6300,"game_data"],["voice/E981.WAV",5324,"game_data"],["voice/E982.WAV",11267,"game_data"],["voice/E983.WAV",7202,"game_data"],["voice/E984.WAV",6732,"game_data"],["voice/E985.WAV",6317,"game_data"],["voice/E986.WAV",6638,"game_data"],["voice/E987.WAV",8261,"game_data"],["voice/E988.WAV",10269,"game_data"],["voice/E989.WAV",5644,"game_data"],["voice/E98A.WAV",6008,"game_data"],["voice/E98B.WAV",10470,"game_data"],["voice/E98C.WAV",6304,"game_data"],["voice/E98D.WAV",3478,"game_data"],["voice/E98E.WAV",12232,"game_data"],["voice/E98F.WAV",13922,"game_data"],["voice/E990.WAV",10460,"game_data"],["voice/E991.WAV",2924,"game_data"],["voice/E992.WAV",16808,"game_data"],["voice/E993.WAV",12544,"game_data"],["voice/E994.WAV",7100,"game_data"],["voice/E995.WAV",6452,"game_data"],["voice/E996.WAV",6685,"game_data"],["voice/EA80.WAV",3092,"game_data"],["voice/EA81.WAV",5390,"game_data"],["voice/EA82.WAV",14341,"game_data"],["voice/EA83.WAV",4719,"game_data"],["voice/EA84.WAV",5252,"game_data"],["voice/EA85.WAV",7018,"game_data"],["voice/EA86.WAV",8480,"game_data"],["voice/EA87.WAV",9496,"game_data"],["voice/EA88.WAV",38600,"game_data"],["voice/EA89.WAV",29892,"game_data"],["voice/EA8A.WAV",11328,"game_data"],["voice/EA8B.WAV",2604,"game_data"],["voice/EA8C.WAV",16184,"game_data"],["voice/EA8D.WAV",3308,"game_data"],["voice/EA8E.WAV",3350,"game_data"],["voice/EA8F.WAV",18174,"game_data"],["voice/EA90.WAV",3348,"game_data"],["voice/EA91.WAV",3299,"game_data"],["voice/EA92.WAV",3302,"game_data"],["voice/EA93.WAV",3306,"game_data"],["voice/EA94.WAV",3267,"game_data"],["voice/EA95.WAV",3388,"game_data"],["voice/EA96.WAV",3392,"game_data"],["voice/EA97.WAV",3393,"game_data"],["voice/EA98.WAV",3359,"game_data"],["voice/EA99.WAV",3300,"game_data"],["voice/EA9A.WAV",3312,"game_data"],["voice/EA9B.WAV",3402,"game_data"],["voice/EA9C.WAV",3308,"game_data"],["voice/EA9D.WAV",3313,"game_data"],["voice/EA9E.WAV",3302,"game_data"],["voice/EA9F.WAV",3340,"game_data"],["voice/EAA0.WAV",3314,"game_data"],["voice/EAA1.WAV",3306,"game_data"],["voice/EAA2.WAV",3308,"game_data"],["voice/EAA3.WAV",3314,"game_data"],["voice/EAA4.WAV",3313,"game_data"],["voice/EAA5.WAV",3311,"game_data"],["voice/EAA6.WAV",3340,"game_data"],["voice/EAA7.WAV",3302,"game_data"],["voice/EB80.WAV",7226,"game_data"],["voice/EB81.WAV",5558,"game_data"],["voice/EB82.WAV",5566,"game_data"],["voice/EB83.WAV",6276,"game_data"],["voice/EB84.WAV",7508,"game_data"],["voice/EB85.WAV",5400,"game_data"],["voice/EB86.WAV",8981,"game_data"],["voice/EB87.WAV",8844,"game_data"],["voice/EB88.WAV",6554,"game_data"],["voice/EB89.WAV",6932,"game_data"],["voice/EB8A.WAV",7059,"game_data"],["voice/EB8B.WAV",7544,"game_data"],["voice/EB8C.WAV",5790,"game_data"],["voice/EB8D.WAV",6700,"game_data"],["voice/EB8E.WAV",6188,"game_data"],["voice/EB8F.WAV",4880,"game_data"],["voice/EB90.WAV",7480,"game_data"],["voice/EB91.WAV",6804,"game_data"],["voice/EB92.WAV",7419,"game_data"],["voice/EB93.WAV",6105,"game_data"],["voice/EB94.WAV",4972,"game_data"],["voice/EB95.WAV",5084,"game_data"],["voice/EB96.WAV",6492,"game_data"],["voice/EB97.WAV",8819,"game_data"],["voice/EB98.WAV",6104,"game_data"],["voice/EB99.WAV",5896,"game_data"],["voice/EB9A.WAV",5784,"game_data"],["voice/EB9B.WAV",5742,"game_data"],["voice/EB9C.WAV",6154,"game_data"],["voice/EB9D.WAV",4984,"game_data"],["voice/EC80.WAV",6815,"game_data"],["voice/EC81.WAV",5628,"game_data"],["voice/EC82.WAV",17440,"game_data"],["voice/EC83.WAV",8162,"game_data"],["voice/EC84.WAV",7944,"game_data"],["voice/EC85.WAV",6848,"game_data"],["voice/EC86.WAV",8225,"game_data"],["voice/EC87.WAV",5588,"game_data"],["voice/EC88.WAV",8954,"game_data"],["voice/EC89.WAV",7340,"game_data"],["voice/EC8A.WAV",9092,"game_data"],["voice/EC8B.WAV",7754,"game_data"],["voice/EC8C.WAV",7100,"game_data"],["voice/EC8D.WAV",5732,"game_data"],["voice/EC8E.WAV",6200,"game_data"],["voice/EC8F.WAV",6504,"game_data"],["voice/EC90.WAV",7853,"game_data"],["voice/EC91.WAV",8378,"game_data"],["voice/EC92.WAV",5336,"game_data"],["voice/EC93.WAV",8294,"game_data"],["voice/EC94.WAV",7838,"game_data"],["voice/EC95.WAV",6927,"game_data"],["voice/EC96.WAV",7524,"game_data"],["voice/EC97.WAV",8140,"game_data"],["voice/EC98.WAV",8370,"game_data"],["voice/EC99.WAV",7292,"game_data"],["voice/EC9A.WAV",6884,"game_data"],["voice/EC9B.WAV",6846,"game_data"],["voice/ED80.WAV",6308,"game_data"],["voice/ED81.WAV",5772,"game_data"],["voice/ED82.WAV",6794,"game_data"],["voice/ED83.WAV",6680,"game_data"],["voice/ED84.WAV",6624,"game_data"],["voice/ED85.WAV",7450,"game_data"],["voice/ED86.WAV",7055,"game_data"],["voice/ED87.WAV",5955,"game_data"],["voice/ED88.WAV",6789,"game_data"],["voice/ED89.WAV",6542,"game_data"],["voice/ED8A.WAV",6924,"game_data"],["voice/ED8B.WAV",7062,"game_data"],["voice/ED8C.WAV",6967,"game_data"],["voice/ED8D.WAV",7205,"game_data"],["voice/ED8E.WAV",7381,"game_data"],["voice/ED8F.WAV",5168,"game_data"],["voice/ED90.WAV",5344,"game_data"],["voice/ED91.WAV",5345,"game_data"],["voice/ED92.WAV",7924,"game_data"],["voice/ED93.WAV",7415,"game_data"],["voice/ED94.WAV",6820,"game_data"],["voice/ED95.WAV",6464,"game_data"],["voice/ED96.WAV",6576,"game_data"],["voice/ED97.WAV",6124,"game_data"],["voice/ED98.WAV",7688,"game_data"],["voice/ED99.WAV",6369,"game_data"],["voice/ED9A.WAV",6254,"game_data"],["voice/EE80.WAV",6012,"game_data"],["voice/EE81.WAV",8294,"game_data"],["voice/EE82.WAV",7128,"game_data"],["voice/EE83.WAV",4256,"game_data"],["voice/EE84.WAV",7514,"game_data"],["voice/EE85.WAV",8176,"game_data"],["voice/EE86.WAV",6824,"game_data"],["voice/EE87.WAV",8117,"game_data"],["voice/EE88.WAV",8756,"game_data"],["voice/EE89.WAV",7406,"game_data"],["voice/EE8A.WAV",7352,"game_data"],["voice/EE8B.WAV",8651,"game_data"],["voice/EE8C.WAV",7511,"game_data"],["voice/EE8D.WAV",8024,"game_data"],["voice/EE8E.WAV",9809,"game_data"],["voice/EE8F.WAV",8364,"game_data"],["voice/EE90.WAV",4828,"game_data"],["voice/EE91.WAV",6092,"game_data"],["voice/EE92.WAV",5000,"game_data"],["voice/EE93.WAV",7197,"game_data"],["voice/EE94.WAV",6785,"game_data"],["voice/EE95.WAV",6105,"game_data"],["voice/EE96.WAV",7604,"game_data"],["voicebox.zip",2019,"bios"],["voodoo_3000_x86.zip",40056,"bios"],["votraxtnt.zip",3922,"bios"],["votrsc01.zip",588,"bios"],["votrsc01a.zip",590,"bios"],["vp700.zip",3613,"bios"],["vsaturn.bin",524288,"bios"],["vtech_fdc.zip",4431,"bios"],["vtech_rs232.zip",2458,"bios"],["vtech_rtty.zip",2488,"bios"],["vtech_sdloader.zip",11160,"bios"],["vtech_wordpro.zip",8125,"bios"],["wangpc_lic.zip",2810,"bios"],["wangpc_rtc.zip",3197,"bios"],["wangpc_wdc.zip",3193,"bios"],["wangpckb.zip",1228,"bios"],["wd1002a_wx1.zip",1868,"bios"],["wd1007a.zip",3971,"bios"],["wd90c00_jk.zip",58499,"bios"],["wd90c11_lr.zip",18343,"bios"],["wd90c30_lr.zip",41732,"bios"],["wd90c31_lr.zip",22513,"bios"],["wd90c31a_lr.zip",38568,"bios"],["wd90c31a_zs.zip",18777,"bios"],["wd90c33_zz.zip",19105,"bios"],["wd90c90_jk.zip",15497,"bios"],["wd9710_pci.zip",18718,"bios"],["wdxt_gen.zip",4266,"bios"],["wg130.zip",1861561,"bios"],["whdboot/JST",89108,"bios"],["whdboot/WHDLoad",161031,"bios"],["whdboot/boot-data.zip",297373,"bios"],["whdboot/game-data/whdload_db.json",6741053,"bios"],["whdboot/host-quit",3180,"bios"],["whdboot/save-data/Kickstarts/kick31034.A1000.RTB",3736,"bios"],["whdboot/save-data/Kickstarts/kick33180.A500.RTB",3882,"bios"],["whdboot/save-data/Kickstarts/kick34005.A500.RTB",4020,"bios"],["whdboot/save-data/Kickstarts/kick36143.A3000.RTB",5980,"bios"],["whdboot/save-data/Kickstarts/kick37175.A500.RTB",5576,"bios"],["whdboot/save-data/Kickstarts/kick39106.A1200.RTB",5002,"bios"],["whdboot/save-data/Kickstarts/kick40063.A600.RTB",5000,"bios"],["whdboot/save-data/Kickstarts/kick40068.A1200.RTB",5008,"bios"],["whdboot/save-data/Kickstarts/kick40068.A4000.RTB",4976,"bios"],["wildmidi.cfg",192,"game_data"],["wpcap.dll",499128,"bios"],["wyse700.zip",4164,"bios"],["x68k_cz6bs1.zip",3156,"bios"],["x820iikb.zip",1128,"bios"],["x820kb.zip",1128,"bios"],["xbox_eeprom.bin",256,"bios"],["xbox_hdd.qcow2",1638400,"bios"],["xerox820_16_8.zip",1338,"bios"],["xerox820_emii_flpy5.zip",2303,"bios"],["xerox820_emii_rgd5.zip",2303,"bios"],["xetec_c5181.zip",3192,"bios"],["xmil/FNT0808.X1",2048,"bios"],["xmil/FNT0816.X1",4096,"bios"],["xmil/FNT1616.X1",306176,"bios"],["xmil/IPLROM.X1",4096,"bios"],["xmil/IPLROM.X1T",32768,"bios"],["xrick/data.zip",1457440,"bios"],["xt446.zip",18613894,"bios"],["xtide.zip",148910,"bios"],["ym2413.zip",286,"bios"],["ym2423.zip",313,"bios"],["ym2608.zip",7587,"bios"],["ym2608.zip",7609,"bios"],["ymf281.zip",313,"bios"],["ymf288_adpcm_rom.bin",8192,"bios"],["z8671.zip",2028,"bios"],["z8682.zip",201,"bios"],["zdoom.pk3",619127,"game_data"],["zip100_ide.zip",36071,"bios"],["zorba_kbd.zip",1406,"bios"],["zt18hfnt.rom",32768,"bios"],["zxbus_neogs.zip",297163,"bios"]],"format_version":1,"platform":"retroarch","sets":{"acorn-bbc-micro|b2":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"amstrad-cpc|":{"bytes":114688,"files":[873,874,875,876],"optional":[],"required_bytes":114688},"amstrad-cpc|cap32":{"bytes":114688,"files":[873,874,875,876],"optional":[],"required_bytes":114688},"amstrad-cpc|crocods":{"bytes":114688,"files":[873,874,875,876],"optional":[],"required_bytes":114688},"apple-ios|touchhle":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"apple-macintosh|minivmac":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"apple2|linapple":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"aquaplus-piece|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"arcade-laserdisc|daphne":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"arcade-laserdisc|hypseus-singe":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"arcade|":{"bytes":1608777213,"files":[4,8,10,12,124,125,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,495,496,497,506,507,508,509,510,511,512,514,515,516,517,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,586,587,588,589,590,591,592,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,680,681,682,683,684,685,686,687,688,689,690,692,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,713,714,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,766,767,769,770,771,772,773,779,780,781,782,783,784,785,786,788,789,790,791,792,793,794,797,799,802,803,804,805,806,807,827,828,829,844,845,846,848,849,850,852,853,854,855,858,859,860,861,862,863,864,865,866,867,868,869,898,899,900,901,902,903,904,905,906,907,908,909,910,917,918,919,920,921,923,924,925,926,927,928,929,930,931,932,933,934,935,937,938,939,940,941,942,944,945,946,947,948,949,950,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,974,981,982,1034,1039,1054,1055,1057,1058,1060,1063,1064,1065,1066,1067,1070,1071,1072,1073,1074,1075,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1095,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1115,1116,1117,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1150,1151,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1177,1178,1179,1200,1203,1204,1205,1206,1207,1208,1209,1210,1212,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2178,2179,2181,2252,2253,2254,2255,2256,2257,2285,2286,2292,2293,2296,2297,2298,2299,2300,2301,2302,2303,2304,2305,2306,2307,2308,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2501,2502,2503,2505,2506,2507,2508,2509,2533,2592,2593,2594,2595,2597,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2823,2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2859,2861,2862,2863,2864,2892,2986,2987,2988,2989,2990,2995,2996,2997,2998,2999,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3046,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3105,3106,3107,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3130,3131,3132,3138,3139,3140,3141,3142,3143,3144,3145,3146,3163,3164,3165,3166,3167,3168,3169,3173,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3199,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3220,3221,3222,3223,3224,3225,3226,3227,3228,3232,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3274,3275,3276,3277,3278,3279,3280,3281,3282,3553,3554,3555,3556,3557,3558,3560,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573,3574,3575,3576,3577,3578,3579,3580,3581,3598,3599,3600,3601,3604,3605,3606,3607,3614,3615,3616,3617,3619,3620,3622,3623,3625,3626,3628],"optional":[],"required_bytes":1608777213},"arcade|fbalpha2012":{"bytes":825620530,"files":[125,409,928,929,930,931,932,933,934,935,937,938,939,940,941,942,943,945,946,947,948,949,950,951,953,954,955,956,959,960,961,962,963,2178,2620],"optional":[125,928,929,930,931,932,933,934,935],"required_bytes":8587539},"arcade|fbneo":{"bytes":319127529,"files":[409,937,938,939,940,941,942,944,945,946,947,948,949,950,952,953,954,955,956,957,958,959,960,961,962,963,2178,2620],"optional":[957,958],"required_bytes":9560899},"arcade|mame":{"bytes":289518643,"files":[4,8,10,12,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,495,496,497,506,507,508,509,510,511,512,514,515,516,517,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,586,587,588,589,590,591,592,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,680,681,682,683,684,685,686,687,688,689,690,692,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,713,714,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,766,767,769,770,771,772,773,779,780,781,782,783,784,785,786,788,789,790,791,792,793,794,797,799,802,803,804,805,806,807,827,828,829,844,845,846,848,849,850,852,853,854,855,858,859,860,861,862,863,864,865,866,867,868,869,898,899,900,901,902,903,904,905,906,907,908,909,910,917,918,919,920,921,923,924,925,926,937,938,939,940,941,942,943,945,946,947,948,949,950,951,953,954,955,956,959,960,961,962,963,964,965,966,967,968,969,970,971,974,981,982,1034,1039,1054,1055,1057,1058,1060,1063,1064,1065,1066,1067,1070,1071,1072,1073,1074,1075,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1095,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1115,1116,1117,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1150,1151,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1177,1178,1179,1200,1203,1204,1205,1206,1207,1208,1209,1210,1212,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2025,2026,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2178,2179,2181,2252,2253,2254,2255,2256,2257,2285,2286,2292,2293,2296,2297,2298,2299,2300,2301,2302,2303,2304,2305,2306,2307,2308,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2501,2502,2503,2505,2506,2507,2508,2509,2533,2592,2593,2594,2595,2597,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2823,2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2859,2861,2862,2863,2864,2892,2986,2987,2988,2989,2990,2995,2996,2997,2998,2999,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3046,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3105,3106,3107,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3130,3131,3132,3138,3139,3140,3141,3142,3143,3144,3145,3146,3163,3164,3165,3166,3167,3168,3169,3173,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3199,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3220,3221,3222,3223,3224,3225,3227,3228,3232,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3274,3275,3276,3277,3278,3279,3280,3281,3282,3553,3554,3555,3556,3557,3558,3560,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573,3574,3575,3576,3577,3578,3579,3580,3581,3598,3599,3600,3601,3604,3605,3606,3607,3614,3615,3616,3617,3618,3620,3622,3623,3625,3626,3628],"optional":[4,8,10,12,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,410,411,412,413,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,495,496,497,506,507,508,509,510,511,512,514,515,516,517,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,586,587,588,589,590,591,592,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,680,681,682,683,684,685,686,687,688,689,690,692,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,713,714,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,766,767,769,770,771,772,773,779,780,781,782,783,784,785,786,788,789,790,791,792,793,794,797,799,802,803,804,805,806,807,827,828,829,844,845,846,848,849,850,852,853,854,855,858,859,860,861,862,863,864,865,866,867,868,869,898,899,900,901,902,903,904,905,906,907,908,909,910,917,918,919,920,921,923,924,925,926,964,965,966,967,968,969,970,971,974,981,982,1034,1039,1054,1055,1057,1058,1060,1063,1064,1065,1066,1067,1070,1071,1072,1073,1074,1075,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1095,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1115,1116,1117,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1150,1151,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1177,1178,1179,1200,1203,1204,1205,1206,1207,1208,1209,1210,1212,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1349,1355,1356,1607,1608,1619,1620,1679,1792,1793,1794,1795,1796,1797,1798,1835,1836,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2025,2026,2028,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2066,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2179,2181,2252,2253,2254,2255,2256,2257,2285,2286,2292,2293,2296,2297,2298,2299,2300,2301,2302,2303,2304,2305,2306,2307,2308,2323,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2471,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2501,2502,2503,2505,2506,2507,2508,2509,2533,2592,2593,2594,2595,2597,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2621,2622,2623,2644,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2823,2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2859,2861,2862,2863,2864,2892,2986,2987,2988,2989,2990,2995,2996,2997,2998,2999,3008,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3026,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3046,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3105,3106,3107,3109,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3130,3131,3132,3138,3139,3140,3141,3142,3143,3144,3145,3146,3163,3164,3165,3166,3167,3168,3169,3173,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3199,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3220,3221,3222,3223,3224,3225,3227,3228,3232,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3274,3275,3276,3277,3278,3279,3280,3281,3282,3553,3554,3555,3556,3557,3558,3560,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573,3574,3575,3576,3577,3578,3579,3580,3581,3598,3599,3600,3601,3604,3605,3606,3607,3614,3615,3616,3617,3618,3620,3622,3623,3625,3626,3628],"required_bytes":103004545},"arcade|mame2000":{"bytes":16558899,"files":[409,937,938,939,940,941,942,943,945,946,947,948,949,950,951,953,954,955,956,959,960,961,962,963,2006,2178,2620],"optional":[2006],"required_bytes":8587539},"arcade|mame2003_plus":{"bytes":94627885,"files":[409,937,938,939,940,941,942,943,945,946,947,948,949,950,951,953,954,955,956,959,960,961,962,963,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2043,2044,2138,2178,2620],"optional":[2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2043,2044],"required_bytes":8597118},"arcade|mame2010":{"bytes":33771609,"files":[409,937,938,939,940,941,942,943,945,946,947,948,949,950,951,953,954,955,956,959,960,961,962,963,2023,2024,2178,2620],"optional":[2023,2024],"required_bytes":8587539},"arduboy|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"arduboy|ardens":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"arduboy|arduous":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"atari-2600|stella":{"bytes":33793052,"files":[269,270,271,272,273,274,275],"optional":[269,270,271,272,273,274,275],"required_bytes":0},"atari-2600|stella2014":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"atari-400-800|":{"bytes":231424,"files":[13,19,20,21,22,30,238,239,240,241,282,498,499,500,501,502,503,504,505],"optional":[],"required_bytes":231424},"atari-400-800|atari800":{"bytes":231424,"files":[13,19,20,21,22,30,238,239,240,241,282,498,499,500,501,502,503,504,505],"optional":[238,239,240,241,498,499,500,501,502,503,504,505],"required_bytes":71680},"atari-5200|":{"bytes":231424,"files":[13,19,20,21,22,30,238,239,240,241,282,498,499,500,501,502,503,504,505],"optional":[],"required_bytes":231424},"atari-5200|a5200":{"bytes":71680,"files":[13,19,20,21,22,30,282],"optional":[],"required_bytes":71680},"atari-5200|atari800":{"bytes":231424,"files":[13,19,20,21,22,30,238,239,240,241,282,498,499,500,501,502,503,504,505],"optional":[238,239,240,241,498,499,500,501,502,503,504,505],"required_bytes":71680},"atari-7800|":{"bytes":20480,"files":[17,18],"optional":[],"required_bytes":20480},"atari-7800|prosystem":{"bytes":20480,"files":[17,18],"optional":[],"required_bytes":20480},"atari-jaguar|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"atari-jaguar|bigpemu":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"atari-jaguar|virtualjaguar":{"bytes":786432,"files":[283,284,1148,1149],"optional":[283,284,1148,1149],"required_bytes":0},"atari-lynx|":{"bytes":1025,"files":[1096,1231],"optional":[],"required_bytes":1025},"atari-lynx|beetle_lynx":{"bytes":512,"files":[1231],"optional":[],"required_bytes":512},"atari-lynx|handy":{"bytes":1025,"files":[1096,1231],"optional":[1096],"required_bytes":512},"atari-st|":{"bytes":2375680,"files":[911,912,913,1076,3198],"optional":[],"required_bytes":2375680},"atari-st|hatari":{"bytes":933888,"files":[1076,3198],"optional":[1076],"required_bytes":196608},"bally-astrocade|mess2015":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"bandai-wswanc|beetle_wswan":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"bandai-wswan|beetle_wswan":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"bbk-longman-4980|bbkemu":{"bytes":4194304,"files":[31,32],"optional":[],"required_bytes":4194304},"bbk-longman-4988|bbkemu":{"bytes":4194304,"files":[31,32],"optional":[],"required_bytes":4194304},"bennugd|bennugd":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps1|fbalpha2012":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps1|fbalpha2012_cps1":{"bytes":322458,"files":[936],"optional":[936],"required_bytes":0},"capcom-cps1|fbneo":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps2|fbalpha2012":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps2|fbalpha2012_cps2":{"bytes":322458,"files":[936],"optional":[936],"required_bytes":0},"capcom-cps2|fbneo":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps3|fbalpha2012":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps3|fbalpha2012_cps3":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps3|fbneo":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"casio-loopy|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"cave-story|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"cave-story|doukutsu_rs":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"cave-story|nxengine":{"bytes":1547830,"files":[2287,2288,2289,2290],"optional":[2289,2290],"required_bytes":1487320},"chip8|jaxe":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"coco|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"coco|xroar":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"colecovision|":{"bytes":6498322,"files":[33,117,118,119,120,121,122,150,166,167,168,169,170,171,172,173,174,207,217,218,219,220,221,222,223,224,225,226,227,576,731,732,733,940],"optional":[],"required_bytes":6498322},"colecovision|bluemsx":{"bytes":6470308,"files":[33,117,118,119,120,121,122,150,166,167,168,169,170,171,172,173,174,207,217,218,219,220,221,222,223,224,225,226,227,576,731,733,940],"optional":[117,118,120,121,122,166,167,168,169,170,171,172,173,174,207,217,218,219,220,221,222,223,224,225,226,227],"required_bytes":993816},"colecovision|coolcv":{"bytes":985624,"files":[33,119,576,731,733,940],"optional":[],"required_bytes":985624},"colecovision|gearcoleco":{"bytes":985624,"files":[33,119,576,731,733,940],"optional":[],"required_bytes":985624},"commodore-amiga-cd32|puae":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-amiga-cd32|puae2021":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-amiga|":{"bytes":38387780,"files":[15,16,114,281,493,494,677,678,983,984,985,986,987,988,989,990,991,992,993,994,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,2085,2086,2087,2088,2665,2666,2667,2668,2669,2670,2671,2672,2673,2674,2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690,2691,2692,2693,2694,2695,2696,2697,2698,2699,2700,2701,2702,2703,2704,2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,2730,2731,2732,2733,2734,2735,2736,2737,2738,2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750,2751,2752,2753,2754,2755,2756,2757,2758,2759,2760,2761,2762,2763,2764,2765,2766,2767,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777,2778,2779,2780,2781,2782,2783,2784,2785,2786,2787,2788,2789,2790,2791,2792,2793,2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806,2807,2808,2809,2810,2811,2812,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,3210,3211,3212,3213,3214,3215,3216,3217,3218,3219,3582,3583,3584,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595],"optional":[],"required_bytes":38387780},"commodore-amiga|puae":{"bytes":13843102,"files":[281,677,678,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,2665,3210,3211,3212,3213,3214,3215,3216,3217,3218,3219],"optional":[281,677,678,1186,1187,2665,3210,3211,3212,3213,3214,3215,3216,3217,3218,3219],"required_bytes":5505024},"commodore-amiga|puae2021":{"bytes":13843102,"files":[281,677,678,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,2665,3210,3211,3212,3213,3214,3215,3216,3217,3218,3219],"optional":[281,677,678,1186,1187,2665,3210,3211,3212,3213,3214,3215,3216,3217,3218,3219],"required_bytes":5505024},"commodore-amiga|uae4arm":{"bytes":5507093,"files":[1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,2665],"optional":[2665],"required_bytes":5505024},"commodore-c128|vice_x128":{"bytes":753664,"files":[135,136,137,138,139,2927,2928,3243,3244,3245,3246,3247,3248,3249,3250,3251,3252,3253,3254,3255,3256,3257,3258,3259,3260,3261,3262,3265,3266,3267,3268,3269,3270],"optional":[135,136,137,138,139],"required_bytes":647168},"commodore-c64|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-c64|vice_x64":{"bytes":49152,"files":[140,1169,1170,3263,3264,3271],"optional":[140,1169,1170,3263,3264,3271],"required_bytes":0},"commodore-cbm-ii|vice_xcbm2":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-pet|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-pet|vice_xpet":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-plus4|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-plus4|vice_xplus4":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-vic20|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-vic20|vice_xvic":{"bytes":24576,"files":[715,1171,3272,3273],"optional":[715,1171,3272,3273],"required_bytes":0},"dinothawr|":{"bytes":6727905,"files":[123,787],"optional":[],"required_bytes":6727905},"dinothawr|dinothawr":{"bytes":6727905,"files":[123,787],"optional":[],"required_bytes":6727905},"discrete-arcade|dice":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"doom|":{"bytes":142481407,"files":[823,824,825,826,975,976,1069,2500,2504,3196,3624],"optional":[],"required_bytes":142481407},"doom|gzdoom":{"bytes":143312,"files":[2504],"optional":[],"required_bytes":143312},"doom|prboom":{"bytes":142481407,"files":[823,824,825,826,975,976,1069,2500,2504,3196,3624],"optional":[823,824,825,826,975,976,1069,2500,3196,3624],"required_bytes":143312},"dos|":{"bytes":57366868,"files":[38,39,40,116,148,149,243,244,245,246,247,248,249,250,251,252,253,513,518,519,1213,1214,1215,1216,2865,2866,2867,2868,2869,2870,2871,2872,2873,2874,2875,2876,2877,2878,2879,2880,2881,2882,2883,2884,2885,2886,2887,2888,2889,2890,2891],"optional":[],"required_bytes":57366868},"dos|dosbox_pure":{"bytes":43239764,"files":[38,39,40,116,148,149,243,244,245,246,247,248,249,250,251,252,518,519,1213,1214,1215,1216],"optional":[38,116,243,244,245,246,247,248,249,250,251,252],"required_bytes":3707312},"dragon32|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"elektronika-bk|bk":{"bytes":102528,"files":[577,578,579,580,581,582,583,584,585],"optional":[585],"required_bytes":102400},"enterprise-128|ep128emu_core":{"bytes":65536,"files":[878,881],"optional":[878,881],"required_bytes":0},"enterprise-64-128|":{"bytes":95957100,"files":[392,437,515,529,613,622,625,626,629,630,710,716,739,763,764,827,870,871,872,877,879,880,882,883,884,885,890,891,894,898,899,902,921,1083,1088,1089,1090,1091,1092,1093,1116,1117,1227,1229,1230,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1350,1351,1352,1353,1354,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,2029,2041,2042,2079,2106,2155,2254,2286,2307,2326,2329,2838,2839,2841,2843,2844,2846,2847,2850,2892,2988,2989,3012,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3115,3195,3554,3555,3557,3617,3620,3627],"optional":[],"required_bytes":95957100},"enterprise-64-128|ep128emu_core":{"bytes":376832,"files":[870,871,872,877,879,880,882,883,884,885,890,891,3627],"optional":[],"required_bytes":376832},"entex-advision|mess2015":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"fairchild-channelf|":{"bytes":5777,"files":[939,3023,3024,3025],"optional":[],"required_bytes":5777},"fairchild-channelf|freechaf":{"bytes":5777,"files":[939,3023,3024,3025],"optional":[],"required_bytes":5777},"famicom-disk-system|fceumm":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"famicom|fceumm":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"famicom|nestopia":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"flashback|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"flashback|reminiscence":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"flash|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"galaksija|galaksija":{"bytes":10240,"files":[1035,1036,1037],"optional":[],"required_bytes":10240},"game-boy-advance|mgba":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"game-boy-color|gambatte":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"game-boy|gambatte":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"gamepark-gp32|mame":{"bytes":1378301,"files":[1062],"optional":[],"required_bytes":1378301},"gametank|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"gametank|gametank":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"handheld-electronic|gw":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"igs-pgm|fbalpha2012":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"intellivision|":{"bytes":10240,"files":[922,1068],"optional":[],"required_bytes":10240},"intellivision|freeintv":{"bytes":10240,"files":[922,1068],"optional":[],"required_bytes":10240},"j2me|freej2me":{"bytes":112628937,"files":[977,978,979,3089,3090,3091,3093,3094,3095,3096,3098],"optional":[],"required_bytes":112628937},"j2me|freej2me_plus":{"bytes":113848030,"files":[977,978,979,980,3089,3090,3091,3093,3094,3095,3096,3098],"optional":[],"required_bytes":113848030},"j2me|squirreljme":{"bytes":119422451,"files":[977,978,979,3089,3090,3091,3092,3093,3094,3095,3096,3097,3098],"optional":[3092,3097],"required_bytes":112628937},"lowresnx|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"lowresnx|lowresnx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"mega-duck|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"mega-duck|sameduck":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"microsoft-xbox|xemu":{"bytes":3186872,"files":[113,2027,3597,3602,3603],"optional":[3597,3602],"required_bytes":2687488},"msx2plus|bluemsx":{"bytes":212992,"files":[157,158,159,160,161,191,192,193],"optional":[157,158,159,160,161],"required_bytes":65536},"msx2|bluemsx":{"bytes":622592,"files":[154,155,156,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,194,195,196,197,198,199],"optional":[154,155,156,177,178,179,180,182,183,184,185,186,187,188,189,190,194,195,196,197,198,199],"required_bytes":49152},"msxturbor|bluemsx":{"bytes":147456,"files":[202,213,214,215,216],"optional":[],"required_bytes":147456},"msx|bluemsx":{"bytes":7630068,"files":[37,41,115,117,118,119,120,121,122,126,127,128,141,142,143,144,145,146,147,151,152,153,166,167,168,169,170,171,172,173,174,175,200,201,203,204,205,206,207,208,209,210,211,212,217,218,219,220,221,222,223,224,225,226,227,233,242,947],"optional":[117,118,120,121,122,151,152,153,166,167,168,169,170,171,172,173,174,200,201,203,204,205,206,207,208,209,210,211,212,217,218,219,220,221,222,223,224,225,226,227],"required_bytes":1703016},"nec-pc-88|":{"bytes":925696,"files":[2624,2625,2626,2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2637,2638,2639,2640],"optional":[],"required_bytes":925696},"nec-pc-88|quasi88":{"bytes":925696,"files":[2624,2625,2626,2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2637,2638,2639,2640],"optional":[2629,2630,2631],"required_bytes":919552},"nec-pc-engine-cd|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nec-pc-engine-cd|mednafen_pce_fast":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nec-pc-engine|":{"bytes":1376256,"files":[1053,1056,3133,3134,3135,3136,3137],"optional":[],"required_bytes":1376256},"nec-pc-engine|mednafen_pce_fast":{"bytes":1376256,"files":[1053,1056,3133,3134,3135,3136,3137],"optional":[],"required_bytes":1376256},"nec-pc-engine|mednafen_supergrafx":{"bytes":1376256,"files":[1053,1056,3133,3134,3135,3136,3137],"optional":[],"required_bytes":1376256},"nec-pcfx|":{"bytes":4718592,"files":[1032,2341,2342,2343,2344],"optional":[],"required_bytes":4718592},"nec-pcfx|beetle_pcfx":{"bytes":4718592,"files":[1032,2341,2342,2343,2344],"optional":[],"required_bytes":4718592},"nec-supergrafx|mednafen_supergrafx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"neogeo|fbalpha2012":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"neogeo|fbalpha2012_neogeo":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"neogeo|fbneo":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-3ds|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-3ds|azahar":{"bytes":3207537,"files":[23,24,25,26,27,28,29],"optional":[23,24,25,26,27,28,29],"required_bytes":0},"nintendo-3ds|citra":{"bytes":3271885,"files":[109,110,111,112],"optional":[109,110,111,112],"required_bytes":0},"nintendo-3ds|panda3ds":{"bytes":60621,"files":[236,237],"optional":[236,237],"required_bytes":0},"nintendo-64dd|":{"bytes":8454540,"files":[14,230,231],"optional":[],"required_bytes":8454540},"nintendo-64dd|mupen64plus_next":{"bytes":8454540,"files":[14,230,231],"optional":[231],"required_bytes":8388608},"nintendo-64dd|parallel_n64":{"bytes":8388608,"files":[14,230],"optional":[],"required_bytes":8388608},"nintendo-64|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-64|mupen64plus_next":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-64|parallel_n64":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-dsi|dsperate":{"bytes":251920448,"files":[830,831,832,833],"optional":[],"required_bytes":251920448},"nintendo-dsi|melonds_ds":{"bytes":251920448,"files":[830,831,832,833],"optional":[],"required_bytes":251920448},"nintendo-ds|":{"bytes":253573696,"files":[263,264,265,266,267,268,567,568,830,831,832,833,972,2160,2161,2162],"optional":[],"required_bytes":253573696},"nintendo-ds|drastic":{"bytes":252223552,"files":[567,568,830,831,832,833,972,2160,2161],"optional":[],"required_bytes":252223552},"nintendo-ds|melonds":{"bytes":252223552,"files":[567,568,830,831,832,833,972,2160,2161],"optional":[],"required_bytes":252223552},"nintendo-fds|":{"bytes":38542,"files":[798,942,1038],"optional":[],"required_bytes":38542},"nintendo-fds|fceumm":{"bytes":38542,"files":[798,942,1038],"optional":[],"required_bytes":38542},"nintendo-fds|nestopia":{"bytes":38542,"files":[798,942,1038],"optional":[],"required_bytes":38542},"nintendo-gamecube|":{"bytes":288170070,"files":[129,130,131,132,133,134,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052],"optional":[],"required_bytes":288170070},"nintendo-gamecube|dolphin":{"bytes":153933191,"files":[808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052],"optional":[816,817,818,819,820,821,822],"required_bytes":19679928},"nintendo-gba|":{"bytes":317952,"files":[263,264,265,266,267,268,1041],"optional":[],"required_bytes":317952},"nintendo-gba|gpsp":{"bytes":16384,"files":[1041],"optional":[],"required_bytes":16384},"nintendo-gba|mgba":{"bytes":16384,"files":[1041],"optional":[],"required_bytes":16384},"nintendo-gbc|":{"bytes":2294016,"files":[36,254,255,263,264,265,266,267,268,414,711,712,800,834,835,836,837,838,839,840,841,842,843,1042,3005,3007,3099,3100,3101,3102],"optional":[],"required_bytes":2294016},"nintendo-gbc|gambatte":{"bytes":1990144,"files":[36,254,255,711,712,800,834,835,836,837,838,839,840,841,842,843,1042,3005,3007,3099,3100,3101,3102],"optional":[],"required_bytes":1990144},"nintendo-gbc|mgba":{"bytes":1990144,"files":[36,254,255,711,712,800,834,835,836,837,838,839,840,841,842,843,1042,3005,3007,3099,3100,3101,3102],"optional":[],"required_bytes":1990144},"nintendo-gb|":{"bytes":2287616,"files":[36,254,255,263,264,265,266,267,268,712,800,801,834,835,836,837,838,839,840,841,842,843,1040,3005,3007,3099,3100,3101,3102],"optional":[],"required_bytes":2287616},"nintendo-gb|gambatte":{"bytes":1986048,"files":[36,254,255,712,800,801,834,835,836,837,838,839,840,841,842,843,1040,3005,3007,3099,3100,3101,3102],"optional":[],"required_bytes":1986048},"nintendo-gb|mgba":{"bytes":1986048,"files":[36,254,255,712,800,801,834,835,836,837,838,839,840,841,842,843,1040,3005,3007,3099,3100,3101,3102],"optional":[],"required_bytes":1986048},"nintendo-nes|":{"bytes":7079398,"files":[228,229,232,276,765,1038,1211,2180,2182,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2194,2195,2196,2197,2198,2199,2200,2201,2202,2203,2204,2205,2206,2207,2208,2209,2210,2211,2212,2213,2214,2215,2216,2217,2218,2219,2220,2221,2222,2223,2224,2225,2226,2227,2228,2229,2230,2231,2232,2233,2234,2235,2236,2237,2238,2239,2240,2241,2242,2243,2244,2245,2246,2247,2248,2249,2250,2251,3621],"optional":[],"required_bytes":7079398},"nintendo-nes|fceumm":{"bytes":1034318,"files":[232,1038,2180],"optional":[2180],"required_bytes":1034126},"nintendo-nes|nestopia":{"bytes":5997926,"files":[232,765,1038,2182,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2194,2195,2196,2197,2198,2199,2200,2201,2202,2203,2204,2205,2206,2207,2208,2209,2210,2211,2212,2213,2214,2215,2216,2217,2218,2219,2220,2221,2222,2223,2224,2225,2226,2227,2228,2229,2230,2231,2232,2233,2234,2235,2236,2237,2238,2239,2240,2241,2242,2243,2244,2245,2246,2247,2248,2249,2250,2251],"optional":[765],"required_bytes":5997734},"nintendo-nes|quicknes":{"bytes":1034126,"files":[232,1038],"optional":[],"required_bytes":1034126},"nintendo-pokemon-mini|":{"bytes":4096,"files":[565],"optional":[],"required_bytes":4096},"nintendo-pokemon-mini|pokemini":{"bytes":4096,"files":[565],"optional":[],"required_bytes":4096},"nintendo-satellaview|":{"bytes":4083900,"files":[34,35,36,254,255,257,258,259,260,261,712,800,834,835,836,837,838,839,840,841,842,843,3005,3007,3099,3100,3101,3102],"optional":[],"required_bytes":4083900},"nintendo-satellaview|snes9x":{"bytes":4082688,"files":[34,35,36,254,255,712,800,834,835,836,837,838,839,840,841,842,843,3005,3007,3099,3100,3101,3102],"optional":[],"required_bytes":4082688},"nintendo-sgb|":{"bytes":3035648,"files":[36,254,255,277,278,279,712,800,834,835,836,837,838,839,840,841,842,843,3000,3001,3002,3003,3004,3005,3006,3007,3099,3100,3101,3102],"optional":[],"required_bytes":3035648},"nintendo-sgb|mgba":{"bytes":2772736,"files":[36,254,255,712,800,834,835,836,837,838,839,840,841,842,843,3000,3001,3003,3004,3005,3006,3007,3099,3100,3101,3102],"optional":[],"required_bytes":2772736},"nintendo-snes|chimerasnes":{"bytes":2152448,"files":[36,254,255,712,768,800,834,835,836,837,838,839,840,841,842,843,3005,3007,3099,3100,3101,3102,3103,3104],"optional":[],"required_bytes":2152448},"nintendo-snes|mednafen_supafaust":{"bytes":2152448,"files":[36,254,255,712,768,800,834,835,836,837,838,839,840,841,842,843,3005,3007,3099,3100,3101,3102,3103,3104],"optional":[],"required_bytes":2152448},"nintendo-snes|snes9x":{"bytes":2152448,"files":[36,254,255,712,768,800,834,835,836,837,838,839,840,841,842,843,3005,3007,3099,3100,3101,3102,3103,3104],"optional":[],"required_bytes":2152448},"nintendo-snes|snes9x2005":{"bytes":2152448,"files":[36,254,255,712,768,800,834,835,836,837,838,839,840,841,842,843,3005,3007,3099,3100,3101,3102,3103,3104],"optional":[],"required_bytes":2152448},"nintendo-snes|snes9x2005_plus":{"bytes":2152448,"files":[36,254,255,712,768,800,834,835,836,837,838,839,840,841,842,843,3005,3007,3099,3100,3101,3102,3103,3104],"optional":[],"required_bytes":2152448},"nintendo-sufami-turbo|":{"bytes":262144,"files":[256],"optional":[],"required_bytes":262144},"nintendo-sufami-turbo|snes9x":{"bytes":262144,"files":[256],"optional":[],"required_bytes":262144},"nintendo-sufami-turbo|snes9x2010":{"bytes":262144,"files":[256],"optional":[],"required_bytes":262144},"nintendo-switch|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-virtualboy|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-virtualboy|beetle_vb":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-wiiu|cemu":{"bytes":92610046,"files":[42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108],"optional":[42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108],"required_bytes":449507},"nintendo-wii|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-wii|dolphin":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"odyssey2|o2em":{"bytes":1606321,"files":[621,1033,1152,2291,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407,3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434,3435,3436,3437,3438,3439,3440,3441,3442,3443,3444,3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497,3498,3499,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3521,3522,3523,3524,3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552],"optional":[],"required_bytes":1606321},"olivetti-pc128|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"onscripter|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"onscripter|onscripter":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"openbor|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"openbor|openbor":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"palm-os|":{"bytes":40108544,"files":[594,2309,2310,2311,2312],"optional":[],"required_bytes":40108544},"palm-os|mu":{"bytes":40108544,"files":[594,2309,2310,2311,2312],"optional":[],"required_bytes":40108544},"panasonic-3do|opera":{"bytes":13123332,"files":[9,1061,2295,2313,2314,2315,2316,2317,2318,2319,2320,2321,2322,2857],"optional":[2295],"required_bytes":12992260},"pc-98|":{"bytes":1987076,"files":[2258,2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269,2270,2271,2272,2273,2274,2275,2276,2277,2278,2279,2280,2281,2282,2283,2284],"optional":[],"required_bytes":1987076},"pc-98|nekop2":{"bytes":1933828,"files":[2258,2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269,2270,2271,2272,2273,2274,2275,2276,2277,2278,2280,2284],"optional":[2258,2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269],"required_bytes":1117442},"pc-98|np2kai":{"bytes":1170690,"files":[2270,2271,2272,2273,2274,2275,2276,2277,2278,2279,2280,2281,2282,2283,2284],"optional":[2279,2281,2282,2283],"required_bytes":1117442},"pc80|quasi88":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"philips-cdi|same_cdi":{"bytes":2990918,"files":[693,2852,2853,2854,2855,2856],"optional":[2852,2853],"required_bytes":2123788},"philips-videopac|":{"bytes":1605297,"files":[621,1033,1152,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407,3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434,3435,3436,3437,3438,3439,3440,3441,3442,3443,3444,3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497,3498,3499,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3521,3522,3523,3524,3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552],"optional":[],"required_bytes":1605297},"philips-videopac|o2em":{"bytes":1605297,"files":[621,1033,1152,3283,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407,3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434,3435,3436,3437,3438,3439,3440,3441,3442,3443,3444,3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497,3498,3499,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3521,3522,3523,3524,3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552],"optional":[],"required_bytes":1605297},"pico8|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"pico8|fake08":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"pico8|lexaloffle":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"quake2|vitaquake2":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"quake|tyrquake":{"bytes":159899459,"files":[1114,2641,2642,2643],"optional":[2642,2643],"required_bytes":66916006},"rpgmaker|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"rpgmaker|easyrpg":{"bytes":148398498,"files":[851,3596],"optional":[851,3596],"required_bytes":0},"rpgmaker|mkxp_z":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sammy-atomiswave|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sammy-atomiswave|flycast":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sammy-atomiswave|flycast2021":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"scummvm|":{"bytes":100146431,"files":[2929,2930,2931,2932,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,2963,2964,2965,2966,2967,2968,2969,2970,2971,2972,2973,2974,2975,2976,2977,2978,2979,2980,2981,2982,2983],"optional":[],"required_bytes":100146431},"scummvm|scummvm":{"bytes":100146431,"files":[2929,2930,2931,2932,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,2963,2964,2965,2966,2967,2968,2969,2970,2971,2972,2973,2974,2975,2976,2977,2978,2979,2980,2981,2982,2983],"optional":[2930,2931,2932,2933,2937,2938,2941,2944,2945,2948,2949,2952,2964,2965,2974],"required_bytes":54440382},"scv|emuscv":{"bytes":4096,"files":[3229],"optional":[],"required_bytes":4096},"sega-32x|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-32x|picodrive":{"bytes":3328,"files":[5,6,7],"optional":[5,6,7],"required_bytes":0},"sega-dreamcast|":{"bytes":7204656,"files":[593,774,775,776,777,778,973],"optional":[],"required_bytes":7204656},"sega-dreamcast|flycast":{"bytes":4456448,"files":[774,775,776,777],"optional":[776],"required_bytes":4325376},"sega-dreamcast|flycast2021":{"bytes":4976432,"files":[774,775,776,777,778],"optional":[776,778],"required_bytes":4325376},"sega-gamegear|gearsystem":{"bytes":1024,"files":[564],"optional":[],"required_bytes":1024},"sega-gamegear|genesis_plus_gx":{"bytes":1024,"files":[564],"optional":[],"required_bytes":1024},"sega-gamegear|picodrive":{"bytes":17391,"files":[564,679],"optional":[679],"required_bytes":1024},"sega-genesis|genesis_plus_gx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-genesis|picodrive":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-mastersystem|gearsystem":{"bytes":32768,"files":[566,572,573,575],"optional":[],"required_bytes":32768},"sega-mastersystem|genesis_plus_gx":{"bytes":32768,"files":[566,572,573,575],"optional":[],"required_bytes":32768},"sega-mastersystem|picodrive":{"bytes":49135,"files":[566,572,573,575,679],"optional":[679],"required_bytes":32768},"sega-mastersystem|smsplus":{"bytes":32768,"files":[566,572,573,575],"optional":[],"required_bytes":32768},"sega-megacd|genesis_plus_gx":{"bytes":393216,"files":[569,570,571],"optional":[],"required_bytes":393216},"sega-megacd|picodrive":{"bytes":1589231,"files":[262,569,570,571,679,914,915,916,1153,1154,1155,3230,3231],"optional":[262,679,914,915,1153,1154,3230],"required_bytes":786432},"sega-megadrive|genesis_plus_gx":{"bytes":2444622,"files":[492,574,1059,2664,3021,3022],"optional":[],"required_bytes":2444622},"sega-megadrive|picodrive":{"bytes":2460989,"files":[492,574,679,1059,2664,3021,3022],"optional":[679],"required_bytes":2444622},"sega-model3|supermodel3":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-naomi|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-naomi|flycast":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-naomi|flycast2021":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-outrun|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-outrun|cannonball":{"bytes":2621440,"files":[637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676],"optional":[638,640,642,644,646,648,650,652,665],"required_bytes":2064384},"sega-pico|fake08":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-pico|picodrive":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-saturn|":{"bytes":13744217,"files":[691,1094,1201,1202,2051,2062,2063,2064,2065,2858,2860,2991,2992,2993,2994,3559],"optional":[],"required_bytes":13744217},"sega-saturn|yabasanshiro":{"bytes":12892249,"files":[1094,1201,1202,2062,2063,2064,2065,2860,2991,2992,2993,2994,3559],"optional":[],"required_bytes":12892249},"sega-sc3000|bluemsx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-sc3000|picodrive":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-sf7000|bluemsx":{"bytes":8192,"files":[162],"optional":[],"required_bytes":8192},"sega-sg1000|bluemsx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-sg1000|gearsystem":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-sg1000|genesis_plus_gx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-sg1000|picodrive":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-stv|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-stv|beetle_saturn":{"bytes":5027929,"files":[895,896,897,3108],"optional":[3108],"required_bytes":1572864},"sega-triforce|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-vmu|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-vmu|vemulator":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sharp-x1|":{"bytes":349184,"files":[3608,3609,3610,3611,3612],"optional":[],"required_bytes":349184},"sharp-x1|x1":{"bytes":349184,"files":[3608,3609,3610,3611,3612],"optional":[3608,3609,3610],"required_bytes":36864},"sharp-x68000|":{"bytes":1310720,"files":[1172,1173,1174,1175,1176],"optional":[],"required_bytes":1310720},"sharp-x68000|px68k":{"bytes":1310720,"files":[1172,1173,1174,1175,1176],"optional":[],"required_bytes":1310720},"sinclair-zx-spectrum|":{"bytes":946477,"files":[0,1,2,3,11,795,796,892,893,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1118,1119,2489,2490,2491,2492,2493,2494,2495,2496,2497,2498,2499,2984,2985,3045,3147,3148,3149,3150,3151,3152,3153,3154,3155,3156,3157,3158,3159,3160,3161,3162],"optional":[],"required_bytes":946477},"sinclair-zx-spectrum|fuse":{"bytes":946477,"files":[0,1,2,3,11,795,796,892,893,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1118,1119,2489,2490,2491,2492,2493,2494,2495,2496,2497,2498,2499,2984,2985,3045,3147,3148,3149,3150,3151,3152,3153,3154,3155,3156,3157,3158,3159,3160,3161,3162],"optional":[],"required_bytes":946477},"sinclair-zx81|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sinclair-zx81|81":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"snk-neogeo-cd|":{"bytes":8008490,"files":[952,2163,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176],"optional":[],"required_bytes":8008490},"snk-neogeo-cd|neocd":{"bytes":6835502,"files":[951,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2177],"optional":[],"required_bytes":6835502},"snk-neogeo-pocket|beetle_ngp":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"snk-ngpc|beetle_ngp":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"snk-ngp|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"snk-ngp|beetle_ngp":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"snk-ngp|race":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"solarus|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sony-playstation-2|":{"bytes":437955723,"files":[857,2345,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2365,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,2388,2389,2390,2391,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,2403,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2437,2438,2439,2440,2441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470],"optional":[],"required_bytes":437955723},"sony-playstation-2|aethersx2":{"bytes":307921991,"files":[2363,2364,2365,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,2388,2389,2390,2391,2393,2395,2396,2397,2398,2399,2400,2402,2403,2404,2405,2407,2409,2410,2411,2412,2413,2415,2416,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2439,2441,2442,2443,2444,2445,2470],"optional":[],"required_bytes":307921991},"sony-playstation-3|rpcs3":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sony-playstation-vita|vita3k":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sony-playstation|":{"bytes":344981504,"files":[847,2294,2510,2511,2512,2513,2514,2515,2516,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,2529,2530,2531,2532,2534,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2550,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572,2573,2574,2575,2576,2577,2578,2579,2580,2581,2582,2583,2584,2585,2586,2587,2588,2589,2590,2591,2596,2893,2894,2895,2896,2897,2898,2899,2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915,2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926],"optional":[],"required_bytes":344981504},"sony-playstation|beetle_psx":{"bytes":13107200,"files":[2294,2510,2596,2893,2894,2896,2899,2903,2907,2908,2909,2912,2913,2914,2915,2916,2917,2918,2919,2922,2923,2924,2925,2926],"optional":[2294,2919],"required_bytes":11534336},"sony-playstation|pcsx_rearmed":{"bytes":11534336,"files":[2510,2596,2893,2894,2896,2899,2903,2907,2908,2909,2912,2913,2914,2915,2916,2917,2918,2922,2923,2924,2925,2926],"optional":[],"required_bytes":11534336},"sony-psp|":{"bytes":1785762,"files":[234,235],"optional":[],"required_bytes":1785762},"sony-psp|ppsspp":{"bytes":1785762,"files":[234,235],"optional":[234],"required_bytes":666530},"spectravideo|bluemsx":{"bytes":98304,"files":[163,164,165],"optional":[],"required_bytes":98304},"sunplus-native32|native32emu":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sunplus-spmp8000|spmp8000emu":{"bytes":130500,"files":[3197],"optional":[3197],"required_bytes":0},"super-mario-war|superbroswar":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"texas-instruments-ti-83|":{"bytes":2883584,"files":[3170,3171,3172],"optional":[],"required_bytes":2883584},"texas-instruments-ti-83|numero":{"bytes":2883584,"files":[3170,3171,3172],"optional":[],"required_bytes":2883584},"thomson-mo5|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-mo6|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to770|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to7|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to8d|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to8|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to9plus|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to9|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"ti99|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"tic80|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"tic80|tic80":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"tomb-raider|openlara":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"uzebox|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"uzebox|uzem":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"vectrex|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"vectrex|vecx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"videoton-tvc|ep128emu_core":{"bytes":49152,"files":[886,887,888,889],"optional":[],"required_bytes":49152},"vircon32|vircon32":{"bytes":1073060,"files":[280],"optional":[],"required_bytes":1073060},"watara-supervision|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"watara-supervision|potator":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"wolfenstein3d|ecwolf":{"bytes":178755,"files":[856],"optional":[],"required_bytes":178755},"wonderswan-color|beetle_wswan":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"wonderswan|beetle_wswan":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"xegs|atari800":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"xrick|":{"bytes":1457440,"files":[3613],"optional":[],"required_bytes":1457440},"xrick|xrick":{"bytes":1457440,"files":[3613],"optional":[],"required_bytes":1457440},"zeldaclassic|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"zmachine|mojozork":{"bytes":0,"files":[],"optional":[],"required_bytes":0}}} +{"files":[["128-0.rom",16384,"bios"],["128-1.rom",16384,"bios"],["128-spanish-0.rom",16384,"bios"],["128-spanish-1.rom",16384,"bios"],["22vp931.zip",1405,"bios"],["32X_G_BIOS.bin",256,"bios"],["32X_M_BIOS.bin",2048,"bios"],["32X_S_BIOS.bin",1024,"bios"],["3c505.zip",10896,"bios"],["3do_arcade_saot.bin",524288,"bios"],["3xtwin.zip",1417,"bios"],["48.rom",16384,"bios"],["4dparprn.zip",409,"bios"],["5200.rom",2048,"bios"],["64DD_IPL.bin",4194304,"bios"],["6570-036.rom",2048,"bios"],["68HC05.rom",8192,"bios"],["7800 BIOS (E).rom",16384,"bios"],["7800 BIOS (U).rom",4096,"bios"],["ATARIBAS.ROM",8192,"bios"],["ATARIOSA.ROM",10240,"bios"],["ATARIOSB.ROM",10240,"bios"],["ATARIXL.ROM",16384,"bios"],["Azahar/Azahar/nand/private/movable.sed",320,"bios"],["Azahar/Azahar/nand/rw/sys/LocalFriendCodeSeed_B",272,"bios"],["Azahar/Azahar/nand/rw/sys/SecureInfo_A",273,"bios"],["Azahar/Azahar/sysdata/keys.txt",7424,"bios"],["Azahar/Azahar/sysdata/otp.bin",256,"bios"],["Azahar/Azahar/sysdata/seeddb.bin",53264,"bios"],["Azahar/Azahar/sysdata/shared_font.bin",3145728,"bios"],["BB01R4_OS.ROM",16384,"bios"],["BBKEmu/A4980/8.BIN",2097152,"bios"],["BBKEmu/A4980/E.BIN",2097152,"bios"],["BIOS.col",8192,"bios"],["BS-X (En) (DRM-Free).bin",1048576,"bios"],["BS-X (En).bin",1048576,"bios"],["BS-X.bin",1048576,"bios"],["CARTS.SHA",33152,"bios"],["CM32LN_CONTROL.ROM",65536,"bios"],["CM32L_CONTROL.ROM",65536,"bios"],["CM32L_PCM.ROM",1048576,"bios"],["CYRILLIC.FNT",2048,"bios"],["Cemu/cafeLibs/erreula.rpl",790080,"bios"],["Cemu/cafeLibs/snd_user.rpl",84032,"bios"],["Cemu/cafeLibs/snduser2.rpl",111360,"bios"],["Cemu/cafeLibs/swkbd.rpl",1116288,"bios"],["Cemu/keys.txt",449507,"bios"],["Cemu/mlc01/sys/title/0005001b/10042400/content/CafeCn.ttf",13110604,"bios"],["Cemu/mlc01/sys/title/0005001b/10042400/content/CafeKr.ttf",2260660,"bios"],["Cemu/mlc01/sys/title/0005001b/10042400/content/CafeStd.ttf",2442464,"bios"],["Cemu/mlc01/sys/title/0005001b/10042400/content/CafeTw.ttf",8229724,"bios"],["Cemu/mlc01/sys/title/0005001b/1004f000/content/00/swkbd/swkbd.pack",1907900,"bios"],["Cemu/mlc01/sys/title/0005001b/10051000/content/00/erreula/erreula.pack",1252759,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_CERT.der",1226,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_ACCOUNT_1_RSA_KEY.aes",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_CERT.der",1224,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_COMMON_1_RSA_KEY.aes",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_CERT.der",1224,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_OLIVE_1_RSA_KEY.aes",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_CERT.der",1223,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_VINO_1_RSA_KEY.aes",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_CERT.der",1223,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/ccerts/WIIU_WOOD_1_RSA_KEY.aes",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ADDTRUST_EXT_CA_ROOT.der",1082,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/BALTIMORE_CYBERTRUST_ROOT_CA.der",891,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA.der",897,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G2.der",1173,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CA_G3.der",1060,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA.der",924,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G2.der",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CACERT_NINTENDO_CLASS2_CA_G3.der",1200,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/COMODO_CA.der",980,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/CYBERTRUST_GLOBAL_ROOT_CA.der",933,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA.der",955,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_ASSURED_ID_ROOT_CA_G2.der",922,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA.der",947,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_GLOBAL_ROOT_CA_G2.der",914,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/DIGICERT_HIGH_ASSURANCE_EV_ROOT_CA.der",969,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_CA_2048.der",1070,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA.der",1173,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_ROOT_CA_G2.der",1090,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/ENTRUST_SECURE_SERVER_CA.der",1244,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/EQUIFAX_SECURE_CA.der",804,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA.der",856,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_GLOBAL_CA2.der",874,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA.der",896,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GEOTRUST_PRIMARY_CA_G3.der",1026,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA.der",889,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R2.der",958,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GLOBALSIGN_ROOT_CA_R3.der",867,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/GTE_CYBERTRUST_GLOBAL_ROOT.der",606,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PREMIUM_SERVER_CA.der",811,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA.der",1060,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/THAWTE_PRIMARY_ROOT_CA_G3.der",1070,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/UTN_DATACORP_SGC_CA.der",1122,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/UTN_USERFIRST_HARDWARE_CA.der",1144,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA.der",576,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G2.der",774,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G3.der",1054,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_CLASS3_PUBLIC_PRIMARY_CA_G5.der",1239,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERISIGN_UNIVERSAL_ROOT_CA.der",1213,"bios"],["Cemu/mlc01/sys/title/0005001b/10054000/content/scerts/VERIZON_GLOBAL_ROOT_CA.der",889,"bios"],["Cemu/otp.bin",1024,"bios"],["Cemu/resources/sharedFonts/CafeCn.ttf",9664448,"bios"],["Cemu/resources/sharedFonts/CafeKr.ttf",5626464,"bios"],["Cemu/resources/sharedFonts/CafeStd.ttf",5363768,"bios"],["Cemu/resources/sharedFonts/CafeTw.ttf",6593548,"bios"],["Cemu/seeprom.bin",512,"bios"],["Cemu/shareddata.bin",33554432,"bios"],["Citra/Citra/sysdata/aes_keys.txt",7357,"bios"],["Citra/Citra/sysdata/boot9.bin",65536,"bios"],["Citra/Citra/sysdata/seeddb.bin",53264,"bios"],["Citra/Citra/sysdata/shared_font.bin",3145728,"bios"],["Complex_4627.bin",1048576,"bios"],["D8039HLC.rom",2048,"bios"],["DISK.ROM",16384,"bios"],["DOSBOX.SF2",32319396,"bios"],["Databases/colecodb.xml",158187,"bios"],["Databases/msxcaswavdb.xml",819679,"bios"],["Databases/msxromdb.xml",930986,"bios"],["Databases/msxsysromdb.xml",157542,"bios"],["Databases/segadb.xml",82318,"bios"],["Databases/svidb.xml",261070,"bios"],["Dinothawr.zip",6724506,"bios"],["FB Alpha 2012 CPS-3/hiscore.dat",322458,"bios"],["FB Alpha 2012/hiscore.dat",322458,"bios"],["FMPAC.ROM",65536,"bios"],["FMPAC16.ROM",16384,"bios"],["ITALIC.FNT",2048,"bios"],["Ishiiruka/User/Wii/clientca.pem",1005,"bios"],["Ishiiruka/User/Wii/clientcakey.pem",609,"bios"],["Ishiiruka/User/Wii/rootca.pem",897,"bios"],["Ishiiruka/User/Wii/sd.raw",134217728,"bios"],["Ishiiruka/User/Wii/shared2/sys/SYSCONF",16384,"bios"],["Ishiiruka/User/Wii/title/00000001/00000002/data/setting.txt",256,"bios"],["JiffyDOS_1541-II.bin",16384,"bios"],["JiffyDOS_1571_repl310654.bin",32768,"bios"],["JiffyDOS_1581.bin",32768,"bios"],["JiffyDOS_C128.bin",16384,"bios"],["JiffyDOS_C64.bin",8192,"bios"],["JiffyDOS_SX-64.bin",8192,"bios"],["KANJI.ROM",131072,"bios"],["MSX.ROM",32768,"bios"],["MSX2.ROM",32768,"bios"],["MSX2EXT.ROM",16384,"bios"],["MSX2P.ROM",32768,"bios"],["MSX2PEXT.ROM",16384,"bios"],["MSXDOS2.ROM",65536,"bios"],["MT32_CONTROL.ROM",65536,"bios"],["MT32_PCM.ROM",524288,"bios"],["Machines/COL - ColecoVision/coleco.rom",8192,"bios"],["Machines/Forte II Games - Pesadelo/pesadelo.rom",65536,"bios"],["Machines/MSX - C-BIOS/cbios_logo_msx1.rom",16384,"bios"],["Machines/MSX - C-BIOS/cbios_main_msx1.rom",32768,"bios"],["Machines/MSX2 - C-BIOS/cbios_logo_msx2.rom",16384,"bios"],["Machines/MSX2 - C-BIOS/cbios_main_msx2.rom",32768,"bios"],["Machines/MSX2 - C-BIOS/cbios_sub.rom",16384,"bios"],["Machines/MSX2+ - C-BIOS/cbios_logo_msx2+.rom",16384,"bios"],["Machines/MSX2+ - C-BIOS/cbios_main_msx2+.rom",32768,"bios"],["Machines/MSX2+ - C-BIOS/cbios_music.rom",16384,"bios"],["Machines/MSX2+ - European/Msx2pe.rom",32768,"bios"],["Machines/MSX2+ - European/Msx2pexte.rom",49152,"bios"],["Machines/SEGA - SF-7000/sf7000.rom",8192,"bios"],["Machines/SVI - Spectravideo SVI-318/svi318.rom",32768,"bios"],["Machines/SVI - Spectravideo SVI-328 MK2/svi328a.rom",32768,"bios"],["Machines/SVI - Spectravideo SVI-328/svi328.rom",32768,"bios"],["Machines/Shared Roms/ARAB1.ROM",32768,"bios"],["Machines/Shared Roms/ARABIC.rom",32768,"bios"],["Machines/Shared Roms/BEERIDE.ROM",16384,"bios"],["Machines/Shared Roms/FMPAC.rom",65536,"bios"],["Machines/Shared Roms/GCVMX80.ROM",8192,"bios"],["Machines/Shared Roms/HANGUL.rom",131072,"bios"],["Machines/Shared Roms/KANJI.rom",262144,"bios"],["Machines/Shared Roms/MICROSOLDISK.ROM",16384,"bios"],["Machines/Shared Roms/MOONSOUND.rom",2097152,"bios"],["Machines/Shared Roms/MSX.rom",32768,"bios"],["Machines/Shared Roms/MSX2.rom",32768,"bios"],["Machines/Shared Roms/MSX2AR.ROM",32768,"bios"],["Machines/Shared Roms/MSX2AREXT.ROM",16384,"bios"],["Machines/Shared Roms/MSX2BR.rom",32768,"bios"],["Machines/Shared Roms/MSX2BREXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2EXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2FR.rom",32768,"bios"],["Machines/Shared Roms/MSX2FREXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2G.rom",32768,"bios"],["Machines/Shared Roms/MSX2GEXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2HAN.rom",32768,"bios"],["Machines/Shared Roms/MSX2J.rom",32768,"bios"],["Machines/Shared Roms/MSX2JEXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2KR.rom",32768,"bios"],["Machines/Shared Roms/MSX2KREXT.rom",32768,"bios"],["Machines/Shared Roms/MSX2P.rom",32768,"bios"],["Machines/Shared Roms/MSX2PEXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2PMUS.rom",16384,"bios"],["Machines/Shared Roms/MSX2R.rom",32768,"bios"],["Machines/Shared Roms/MSX2R2.ROM",32768,"bios"],["Machines/Shared Roms/MSX2REXT.rom",16384,"bios"],["Machines/Shared Roms/MSX2SE.rom",32768,"bios"],["Machines/Shared Roms/MSX2SP.rom",32768,"bios"],["Machines/Shared Roms/MSX2SPEXT.rom",16384,"bios"],["Machines/Shared Roms/MSXAR.ROM",32768,"bios"],["Machines/Shared Roms/MSXBR.rom",32768,"bios"],["Machines/Shared Roms/MSXDOS23.ROM",65536,"bios"],["Machines/Shared Roms/MSXFR.rom",32768,"bios"],["Machines/Shared Roms/MSXG.rom",32768,"bios"],["Machines/Shared Roms/MSXHAN.rom",8192,"bios"],["Machines/Shared Roms/MSXJ.rom",32768,"bios"],["Machines/Shared Roms/MSXKANJI.rom",32768,"bios"],["Machines/Shared Roms/MSXKR.rom",32768,"bios"],["Machines/Shared Roms/MSXR.rom",32768,"bios"],["Machines/Shared Roms/MSXR2.ROM",32768,"bios"],["Machines/Shared Roms/MSXSE.ROM",32768,"bios"],["Machines/Shared Roms/MSXSP.rom",32768,"bios"],["Machines/Shared Roms/MSXTR.ROM",32768,"bios"],["Machines/Shared Roms/MSXTREXT.ROM",16384,"bios"],["Machines/Shared Roms/MSXTRMUS.ROM",16384,"bios"],["Machines/Shared Roms/MSXTROPT.ROM",16384,"bios"],["Machines/Shared Roms/NATIONALDISK.rom",16384,"bios"],["Machines/Shared Roms/NOVAXIS.rom",16384,"bios"],["Machines/Shared Roms/PAINT.rom",65536,"bios"],["Machines/Shared Roms/PANASONICDISK.rom",16384,"bios"],["Machines/Shared Roms/PHILIPSDISK.rom",16384,"bios"],["Machines/Shared Roms/RS232.ROM",8192,"bios"],["Machines/Shared Roms/SUNRISEIDE.rom",65536,"bios"],["Machines/Shared Roms/SWP.rom",32768,"bios"],["Machines/Shared Roms/XBASIC2.rom",16384,"bios"],["Machines/Shared Roms/nowindDos1.rom",524288,"bios"],["Machines/Shared Roms/nowindDos2.rom",524288,"bios"],["MesenNesDB.txt",548608,"game_data"],["MesenPalette.pal",192,"bios"],["Mupen64plus/IPL.n64",4194304,"bios"],["Mupen64plus/font.ttf",65932,"bios"],["NstDatabase.xml",1009534,"bios"],["PAINTER.ROM",65536,"bios"],["PPSSPP/ppge_atlas.meta",1119232,"bios"],["PPSSPP/ppge_atlas.zim",666530,"bios"],["Panda3DS/Emulator Files/sysdata/aes_keys.txt",7357,"bios"],["Panda3DS/Emulator Files/sysdata/seeddb.bin",53264,"bios"],["ROM_OS_BB01R59",16384,"bios"],["ROM_OS_BB01R59A",16384,"bios"],["ROM_OS_BB02R3V4",16384,"bios"],["ROM_OS_CC01R4",16384,"bios"],["RS232.ROM",16640,"bios"],["SC-55-v1.00/sc55_rom1.bin",32768,"bios"],["SC-55-v1.00/sc55_rom2.bin",262144,"bios"],["SC-55-v1.00/sc55_waverom1.bin",1048576,"bios"],["SC-55-v1.00/sc55_waverom2.bin",1048576,"bios"],["SC-55-v1.00/sc55_waverom3.bin",1048576,"bios"],["SC-55/ROM1.BIN",32768,"bios"],["SC-55/ROM2.BIN",524288,"bios"],["SC-55/ROM_SM.BIN",4096,"bios"],["SC-55/WAVEROM1.BIN",2097152,"bios"],["SC-55/WAVEROM2.BIN",1048576,"bios"],["SC-55/WAVEROM3.BIN",1048576,"bios"],["SGB1.sfc",262144,"bios"],["SGB2.sfc",524288,"bios"],["STBIOS.bin",262144,"bios"],["Satellaview/BSX0120-0.bin",34,"game_data"],["Satellaview/BSX0121-0.bin",34,"game_data"],["Satellaview/BSX0122-0.bin",1031,"game_data"],["Satellaview/BSX0123-0.bin",16,"game_data"],["Satellaview/BSX0124-0.bin",97,"game_data"],["SegaCDBIOS9303.bin",131072,"bios"],["SkyEmu/cgb_boot.bin",2304,"bios"],["SkyEmu/dmg_rom.bin",256,"bios"],["SkyEmu/firmware.bin",262144,"bios"],["SkyEmu/gba_bios.bin",16384,"bios"],["SkyEmu/nds7.bin",16384,"bios"],["SkyEmu/nds9.bin",4096,"bios"],["Stella/stella/KVB1.WAV",4219542,"game_data"],["Stella/stella/KVB2.WAV",9593878,"game_data"],["Stella/stella/KVB3.WAV",7676992,"game_data"],["Stella/stella/KVS1.WAV",3436329,"game_data"],["Stella/stella/KVS2.WAV",2086275,"game_data"],["Stella/stella/KVS3.WAV",3720920,"game_data"],["Stella/stella/KVSHARED.WAV",3059116,"game_data"],["StudyBox.bin",262144,"bios"],["Super GameBoy.sfc/lr35902.boot.rom",256,"bios"],["Super GameBoy.sfc/program.rom",262144,"bios"],["Super GameBoy.sfc/sgb1.boot.rom",256,"bios"],["Vircon32Bios.v32",1073060,"bios"],["WHDLoad.prefs",1935,"bios"],["XEGAME.ROM",8192,"bios"],["[BIOS] Atari Jaguar CD (World).j64",262144,"bios"],["[BIOS] Atari Jaguar Developer CD (World).j64",262144,"bios"],["a1000kbd_de.zip",1331,"bios"],["a1000kbd_dk.zip",1331,"bios"],["a1000kbd_fr.zip",1331,"bios"],["a1000kbd_gb.zip",1331,"bios"],["a1000kbd_it.zip",1331,"bios"],["a1000kbd_se.zip",1331,"bios"],["a1000kbd_us.zip",1331,"bios"],["a1200kbd_rb.zip",1476,"bios"],["a1cass.zip",509,"bios"],["a2000kbd_ch.zip",1335,"bios"],["a2000kbd_de.zip",1335,"bios"],["a2000kbd_dk.zip",1335,"bios"],["a2000kbd_es.zip",1335,"bios"],["a2000kbd_fr.zip",1335,"bios"],["a2000kbd_g80_de.zip",1151,"bios"],["a2000kbd_g80_dk.zip",1151,"bios"],["a2000kbd_g80_gb.zip",1151,"bios"],["a2000kbd_g80_se.zip",1151,"bios"],["a2000kbd_g80_us.zip",1151,"bios"],["a2000kbd_gb.zip",1335,"bios"],["a2000kbd_it.zip",1335,"bios"],["a2000kbd_no.zip",1335,"bios"],["a2000kbd_se.zip",1335,"bios"],["a2000kbd_us.zip",1335,"bios"],["a2aevm80.zip",2540,"bios"],["a2ap16.zip",2649,"bios"],["a2ap16a.zip",2549,"bios"],["a2aplcrd.zip",1188,"bios"],["a2autokbd.zip",1363,"bios"],["a2booti.zip",3578,"bios"],["a2bufgrapplerplus.zip",3613,"bios"],["a2bufgrapplerplusa.zip",483416,"bios"],["a2cffa02.zip",2371,"bios"],["a2cffa2.zip",2389,"bios"],["a2corvus.zip",1590,"bios"],["a2diskiing.zip",371,"bios"],["a2excel9.zip",7157,"bios"],["a2focdrv.zip",1651,"bios"],["a2grappler.zip",1536,"bios"],["a2grapplerplus.zip",5587,"bios"],["a2hsscsi.zip",11374,"bios"],["a2ieee488.zip",1619,"bios"],["a2iwm.zip",371,"bios"],["a2kb200.zip",1144,"bios"],["a2memexp.zip",2174,"bios"],["a2mouse.zip",2836,"bios"],["a2parprn.zip",354,"bios"],["a2pdromdr.zip",666891,"bios"],["a2pic.zip",519,"bios"],["a2q68.zip",5474,"bios"],["a2q68plus.zip",5474,"bios"],["a2ramfac.zip",16155,"bios"],["a2romfp.zip",11102,"bios"],["a2romint.zip",12783,"bios"],["a2scsi.zip",8945,"bios"],["a2sd.zip",1282,"bios"],["a2sic.zip",1867,"bios"],["a2sider1.zip",1738,"bios"],["a2sider2.zip",707,"bios"],["a2ssc.zip",1845,"bios"],["a2superdrive.zip",10883,"bios"],["a2suprterm.zip",1864,"bios"],["a2surance.zip",3321,"bios"],["a2swyft.zip",11515,"bios"],["a2thunpl.zip",998,"bios"],["a2tk10.zip",1541,"bios"],["a2tmstho.zip",1217,"bios"],["a2twarp.zip",2309,"bios"],["a2ultrme.zip",3652,"bios"],["a2ulttrm.zip",3746,"bios"],["a2uniprint.zip",2145,"bios"],["a2vidtrm.zip",10620,"bios"],["a2vistaa800.zip",790,"bios"],["a2vtc1.zip",2062,"bios"],["a2vuliie.zip",3719,"bios"],["a2zipdrv.zip",3006,"bios"],["a3fdc.zip",262,"bios"],["a500kbd_ch.zip",1335,"bios"],["a500kbd_de.zip",1335,"bios"],["a500kbd_dk.zip",1335,"bios"],["a500kbd_es.zip",1335,"bios"],["a500kbd_fr.zip",1335,"bios"],["a500kbd_gb.zip",1335,"bios"],["a500kbd_it.zip",1335,"bios"],["a500kbd_no.zip",1335,"bios"],["a500kbd_se.zip",1335,"bios"],["a500kbd_us.zip",1335,"bios"],["a600kbd_ch.zip",1335,"bios"],["a600kbd_de.zip",1335,"bios"],["a600kbd_dk.zip",1335,"bios"],["a600kbd_es.zip",1335,"bios"],["a600kbd_fr.zip",1335,"bios"],["a600kbd_gb.zip",1335,"bios"],["a600kbd_it.zip",1335,"bios"],["a600kbd_no.zip",1335,"bios"],["a600kbd_se.zip",1335,"bios"],["a600kbd_us.zip",1335,"bios"],["abc1600mac.zip",7345,"bios"],["abc1600mover.zip",1347,"bios"],["abc55.zip",1546,"bios"],["abc77.zip",1546,"bios"],["abc800kb.zip",1087,"bios"],["abc80kb.zip",389,"bios"],["abc830.zip",24177,"bios"],["abc832.zip",24177,"bios"],["abc834.zip",24177,"bios"],["abc838.zip",24177,"bios"],["abc850flop.zip",24177,"bios"],["abc99.zip",5285,"bios"],["abc_db4106.zip",1696,"bios"],["abc_db4107.zip",23643,"bios"],["abc_db4112.zip",9945,"bios"],["abc_fd2.zip",6129,"bios"],["abc_slutprov.zip",509,"bios"],["abc_ssa.zip",101707,"bios"],["abc_uni800.zip",163,"bios"],["abc_unidisk.zip",9386,"bios"],["abcsio.zip",3201,"bios"],["acb2072.zip",11517,"bios"],["ace80.zip",1177,"bios"],["ace_sp_reelctrl.zip",1966,"bios"],["ace_sp_reelctrl_pcp.zip",1148,"bios"],["acorn_vdu80.zip",704,"bios"],["acs8600_ics.zip",2931,"bios"],["aes.zip",850311,"bios"],["agat7_flop.zip",588,"bios"],["agat840k_hle.zip",322,"bios"],["agat9_flop.zip",589,"bios"],["agat_fdc.zip",609,"bios"],["agb_boot.bin",2304,"bios"],["aha1542a.zip",15453,"bios"],["aha1542b.zip",84294,"bios"],["aha1542c.zip",52938,"bios"],["aha1542cf.zip",92027,"bios"],["aha1542cp.zip",36978,"bios"],["aha1740.zip",28701,"bios"],["aha1742a.zip",57787,"bios"],["aha2940.zip",38616,"bios"],["aha2940au.zip",31135,"bios"],["alto2_cpu.zip",15499,"bios"],["altos2_kbd.zip",695,"bios"],["am100kbd.zip",2016,"bios"],["amiga_a2091.zip",54815,"bios"],["amiga_a570.zip",171907,"bios"],["amiga_a590.zip",69833,"bios"],["amiga_ar1.zip",61074,"bios"],["amiga_ar2.zip",193315,"bios"],["amiga_ar3.zip",263916,"bios"],["amiga_buddha.zip",1179140,"bios"],["amiga_oktagon2008.zip",13786,"bios"],["amiga_ripple.zip",15180,"bios"],["ampex230_kbd.zip",976,"bios"],["ap2000.zip",21618,"bios"],["aplcd150.zip",9137,"bios"],["aprissi.zip",5014,"bios"],["arc_a448.zip",602,"bios"],["arc_a448b.zip",836,"bios"],["arc_acejoy.zip",1311,"bios"],["arc_armadeus.zip",1014,"bios"],["arc_bbcio_aga30.zip",1329,"bios"],["arc_bbcio_aka10.zip",3792,"bios"],["arc_bbcio_we.zip",1273,"bios"],["arc_eaglem2.zip",47500,"bios"],["arc_ether1_aka25.zip",163,"bios"],["arc_ether2_aeh50.zip",378,"bios"],["arc_ether3_aeh54.zip",50047,"bios"],["arc_ethera.zip",149278,"bios"],["arc_etherd.zip",105641,"bios"],["arc_etherr.zip",49753,"bios"],["arc_faxpack.zip",5826,"bios"],["arc_greyhawk.zip",5265,"bios"],["arc_hdisc_akd52.zip",421,"bios"],["arc_hdisc_cw.zip",565,"bios"],["arc_hdisc_morley.zip",1333,"bios"],["arc_hdisc_we.zip",462,"bios"],["arc_ide_be.zip",24321,"bios"],["arc_ide_rdev.zip",7001,"bios"],["arc_iomidi_aka15.zip",5309,"bios"],["arc_lark.zip",33629,"bios"],["arc_lbp4.zip",14292,"bios"],["arc_midi2.zip",12743,"bios"],["arc_midi_aka16.zip",21857,"bios"],["arc_midimax.zip",36846,"bios"],["arc_midimax2.zip",21595,"bios"],["arc_nexus_a500.zip",15560,"bios"],["arc_rom_aka05.zip",4909,"bios"],["arc_rom_r225.zip",107080,"bios"],["arc_rs423.zip",285,"bios"],["arc_scan256.zip",9805,"bios"],["arc_scanjunior.zip",6379,"bios"],["arc_scanjunior3.zip",6965,"bios"],["arc_scanlight.zip",7019,"bios"],["arc_scanvideo.zip",25778,"bios"],["arc_scsi_aka30.zip",11747,"bios"],["arc_scsi_aka31.zip",11851,"bios"],["arc_scsi_aka32.zip",96376,"bios"],["arc_scsi_cumana.zip",43880,"bios"],["arc_scsi_ling.zip",51477,"bios"],["arc_scsi_morley.zip",196852,"bios"],["arc_scsi_oak.zip",85368,"bios"],["arc_scsi_vti.zip",34230,"bios"],["arc_serial.zip",3063,"bios"],["arc_spectra.zip",2421,"bios"],["arc_ua_morley.zip",1410,"bios"],["arc_uma_morley.zip",9527,"bios"],["arc_upa_hccs.zip",1172,"bios"],["arc_upmidi_aka12.zip",9038,"bios"],["areplay.bin",32768,"bios"],["aros-ext.bin",524288,"bios"],["aros-rom.bin",524288,"bios"],["asc88.zip",5709,"bios"],["ascsasi.zip",1357,"bios"],["at_keybc.zip",3655,"bios"],["atari-1200xl-os-rev-10.rom",16384,"bios"],["atari-1200xl-os-rev-11.rom",16384,"bios"],["atari-5200-os-2port.rom",2048,"bios"],["atari-800-os-a-ntsc.rom",10240,"bios"],["atari-basic-rev-a.rom",8192,"bios"],["atari-basic-rev-b.rom",8192,"bios"],["atari-xl-os-ver-1.rom",16384,"bios"],["atari-xl-os-ver-3.rom",16384,"bios"],["atari1050.zip",13755,"bios"],["atari810.zip",3303,"bios"],["atom_discpack.zip",3459,"bios"],["atom_gdos.zip",3145,"bios"],["atom_gdos2015.zip",6985,"bios"],["atom_speech.zip",2019,"bios"],["atom_vdu80.zip",1074,"bios"],["awe32.raw",1048576,"bios"],["ax208.zip",5590,"bios"],["ax208p.zip",5598,"bios"],["banshee_x86.zip",35460,"bios"],["basf7100_kbd.zip",456,"bios"],["bass.dll",144696,"bios"],["bassmidi.dll",73600,"bios"],["bbc_24bbc.zip",2844684,"bios"],["bbc_2ndserial.zip",2844684,"bios"],["bbc_autoprom.zip",2737,"bios"],["bbc_beebspch.zip",6564,"bios"],["bbc_cc500.zip",2844684,"bios"],["bbc_chameleon.zip",654,"bios"],["bbc_cms6502.zip",17969,"bios"],["bbc_cumana68k.zip",3790,"bios"],["bbc_datacentre.zip",40386,"bios"],["bbc_detalker.zip",2019,"bios"],["bbc_ieee488.zip",2844684,"bios"],["bbc_multiform.zip",11635,"bios"],["bbc_opus3.zip",36996,"bios"],["bbc_opusa.zip",23792,"bios"],["bbc_pdram.zip",2195,"bios"],["bbc_pms64k.zip",8361,"bios"],["bbc_ramdisc.zip",2844684,"bios"],["bbc_tube_16032.zip",17960,"bios"],["bbc_tube_32016.zip",31067,"bios"],["bbc_tube_32016l.zip",3585,"bios"],["bbc_tube_6502.zip",4337,"bios"],["bbc_tube_6502e.zip",1515,"bios"],["bbc_tube_6502p.zip",6023,"bios"],["bbc_tube_65c102.zip",4375,"bios"],["bbc_tube_80286.zip",6649,"bios"],["bbc_tube_a500.zip",12117,"bios"],["bbc_tube_a500d.zip",12312,"bios"],["bbc_tube_arm.zip",38022,"bios"],["bbc_tube_arm7.zip",109910,"bios"],["bbc_tube_casper.zip",18005,"bios"],["bbc_tube_cms6809.zip",9090,"bios"],["bbc_tube_matchbox.zip",48928,"bios"],["bbc_tube_pcplus.zip",6662,"bios"],["bbc_tube_rc6502.zip",31532,"bios"],["bbc_tube_rc65816.zip",31259,"bios"],["bbc_tube_x25.zip",17863,"bios"],["bbc_tube_z80.zip",3197,"bios"],["bbc_tube_z80w.zip",3145,"bios"],["bbc_tube_zep100.zip",40985,"bios"],["bbc_tube_zep100l.zip",18020,"bios"],["bbc_tube_zep100w.zip",29266,"bios"],["bbc_voicebox.zip",2019,"bios"],["betadisk.zip",563424,"bios"],["bingoct.zip",173688,"bios"],["bios.gg",1024,"bios"],["bios.min",4096,"bios"],["bios.sms",8192,"bios"],["bios7.bin",16384,"bios"],["bios9.bin",4096,"bios"],["bios_CD_E.bin",131072,"bios"],["bios_CD_J.bin",131072,"bios"],["bios_CD_U.bin",131072,"bios"],["bios_E.sms",8192,"bios"],["bios_J.sms",8192,"bios"],["bios_MD.bin",2048,"bios"],["bios_U.sms",8192,"bios"],["bioscv.rom",2048,"bios"],["bk/B11M_BOS.ROM",8192,"bios"],["bk/B11M_EXT.ROM",8192,"bios"],["bk/BAS11M_0.ROM",16384,"bios"],["bk/BAS11M_1.ROM",8192,"bios"],["bk/BASIC10.ROM",24576,"bios"],["bk/DISK_327.ROM",4096,"bios"],["bk/FOCAL10.ROM",24576,"bios"],["bk/MONIT10.ROM",8192,"bios"],["bk/TERAK.ROM",128,"bios"],["bk_altpro.zip",9022,"bios"],["bk_kmd.zip",6973,"bios"],["bk_samara.zip",3049,"bios"],["bluechip.zip",23865,"bios"],["bml3kanji.zip",69657,"bios"],["bml3mp1802.zip",1841,"bios"],["bml3mp1805.zip",1874,"bios"],["boot.bin",2097152,"bios"],["bootloader-dbvz.rom",512,"bios"],["bsmt2000.zip",2646,"bios"],["bt542b.zip",18614,"bios"],["bt542bh.zip",22150,"bios"],["bt545s.zip",21352,"bios"],["bw2_ramcard.zip",8925,"bios"],["bwtwo.zip",2396,"bios"],["c1526.zip",18797,"bios"],["c1540.zip",12139,"bios"],["c1541.zip",85282,"bios"],["c1541c.zip",23897,"bios"],["c1541dd.zip",15970,"bios"],["c1541ii.zip",35933,"bios"],["c1541pd.zip",14855,"bios"],["c1541pdc.zip",23097,"bios"],["c1551.zip",11640,"bios"],["c1563.zip",12632,"bios"],["c1570.zip",17870,"bios"],["c1571.zip",55420,"bios"],["c1571cr.zip",38062,"bios"],["c1581.zip",58254,"bios"],["c2031.zip",12163,"bios"],["c2040.zip",7844,"bios"],["c2040_fdc.zip",426,"bios"],["c3040.zip",7844,"bios"],["c4023.zip",4285,"bios"],["c4040.zip",20926,"bios"],["c52.bin",1024,"bios"],["c64_ar4x.zip",190,"bios"],["c64_buscard.zip",2010118,"bios"],["c64_buscard2.zip",2010118,"bios"],["c64_cspeech.zip",2011,"bios"],["c64_mscr.zip",2311,"bios"],["c64_nl10.zip",16716,"bios"],["c64_supercpu.zip",2010118,"bios"],["c64_xl80.zip",830,"bios"],["c64_z80videopak.zip",858,"bios"],["c8050.zip",39422,"bios"],["c8050fdc.zip",426,"bios"],["c8250.zip",39422,"bios"],["c8250lp.zip",29852,"bios"],["c8280.zip",23702,"bios"],["cadabc.zip",9823,"bios"],["cannonball/epr-10187.88",32768,"game_data"],["cannonball/epr-10327.76",65536,"game_data"],["cannonball/epr-10327a.76",65536,"game_data"],["cannonball/epr-10328.75",65536,"game_data"],["cannonball/epr-10328a.75",65536,"game_data"],["cannonball/epr-10329.58",65536,"game_data"],["cannonball/epr-10329a.58",65536,"game_data"],["cannonball/epr-10330.57",65536,"game_data"],["cannonball/epr-10330a.57",65536,"game_data"],["cannonball/epr-10380.133",65536,"game_data"],["cannonball/epr-10380b.133",65536,"game_data"],["cannonball/epr-10381.132",65536,"game_data"],["cannonball/epr-10381b.132",65536,"game_data"],["cannonball/epr-10382.118",65536,"game_data"],["cannonball/epr-10382b.118",65536,"game_data"],["cannonball/epr-10383.117",65536,"game_data"],["cannonball/epr-10383b.117",65536,"game_data"],["cannonball/mpr-10371.9",131072,"game_data"],["cannonball/mpr-10372.13",131072,"game_data"],["cannonball/mpr-10373.10",131072,"game_data"],["cannonball/mpr-10374.14",131072,"game_data"],["cannonball/mpr-10375.11",131072,"game_data"],["cannonball/mpr-10376.15",131072,"game_data"],["cannonball/mpr-10377.12",131072,"game_data"],["cannonball/mpr-10378.16",131072,"game_data"],["cannonball/opr-10185.11",32768,"game_data"],["cannonball/opr-10186.47",32768,"game_data"],["cannonball/opr-10188.71",32768,"game_data"],["cannonball/opr-10188.71f",32768,"game_data"],["cannonball/opr-10189.70",32768,"game_data"],["cannonball/opr-10190.69",32768,"game_data"],["cannonball/opr-10191.68",32768,"game_data"],["cannonball/opr-10192.67",32768,"game_data"],["cannonball/opr-10193.66",32768,"game_data"],["cannonball/opr-10230.104",32768,"game_data"],["cannonball/opr-10231.103",32768,"game_data"],["cannonball/opr-10232.102",32768,"game_data"],["cannonball/opr-10266.101",32768,"game_data"],["cannonball/opr-10267.100",32768,"game_data"],["cannonball/opr-10268.99",32768,"game_data"],["capsimg.dll",191488,"bios"],["capsimg.so",95460,"bios"],["carthw.cfg",16367,"bios"],["cbm2_hrga.zip",3343,"bios"],["cbm2_hrgb.zip",3343,"bios"],["cbm8000_hsg_a.zip",3615,"bios"],["cbm8000_hsg_b.zip",3615,"bios"],["cbm_interpod.zip",3450,"bios"],["cbm_serbox.zip",2245,"bios"],["cchip.zip",2700,"bios"],["ccs7710.zip",1473,"bios"],["cd90_015.zip",1871,"bios"],["cd90_351.zip",4831,"bios"],["cd90_640.zip",1744,"bios"],["cdb/cdb_rom.bin",65536,"bios"],["cdd2000.zip",195999,"bios"],["cdimono1.zip",745703,"bios"],["cdr4210.zip",82902,"bios"],["cdrn820s.zip",66313,"bios"],["cdu415.zip",31828,"bios"],["cdu561_25.zip",141631,"bios"],["cdu75s.zip",31456,"bios"],["centennial_sl01m_15_11194.zip",301,"bios"],["centennial_sl02m_15_11194.zip",301,"bios"],["centennial_sl04m_15_11194.zip",313,"bios"],["cffa1.zip",4726,"bios"],["cfp1080s.zip",67669,"bios"],["cga.zip",3710,"bios"],["cga_iskr1030m.zip",1588,"bios"],["cga_iskr1031.zip",1665,"bios"],["cga_m24.zip",2283,"bios"],["cga_mc1502.zip",1235,"bios"],["cga_poisk2.zip",3177,"bios"],["cga_superimpose.zip",3710,"bios"],["cgb_bios.bin",2304,"bios"],["cgb_boot.bin",2304,"bios"],["cgenie_fdc.zip",20834,"bios"],["cgthree.zip",1224,"bios"],["chargen-901460-02.bin",4096,"bios"],["chessmachine.zip",542,"bios"],["cit101_kbd.zip",930,"bios"],["cit101e_kbd.zip",921,"bios"],["cit220p_kbd.zip",773,"bios"],["clgd5401.zip",36135,"bios"],["clgd542x.zip",329437,"bios"],["clgd5434_pci.zip",78023,"bios"],["clgd5446_pci.zip",40471,"bios"],["clgd5465_laguna.zip",21300,"bios"],["cmdhd.zip",8968,"bios"],["cmdrc2.zip",12317,"bios"],["cmi_ankbd.zip",836,"bios"],["cmi_mkbd.zip",1391,"bios"],["cms_4080term.zip",576010,"bios"],["cmsscsi.zip",5181,"bios"],["coleco.rom",8192,"bios"],["coleco.zip",28014,"bios"],["colecovision.rom",8192,"bios"],["compiskb.zip",480,"bios"],["comx_clm.zip",4009,"bios"],["comx_eb.zip",9599,"bios"],["comx_epr.zip",15391,"bios"],["comx_fd.zip",6238,"bios"],["comx_pl80.zip",8379,"bios"],["comx_prn.zip",5439,"bios"],["comx_thm.zip",2913,"bios"],["concept_kbd.zip",336,"bios"],["cp2024.zip",23160,"bios"],["cp31.zip",128845,"bios"],["cpc_brunword4.zip",139453,"bios"],["cpc_ddi1.zip",10934,"bios"],["cpc_dkspeech.zip",1460991,"bios"],["cpc_hd20.zip",19579,"bios"],["cpc_mface2.zip",1460991,"bios"],["cpc_ser.zip",1460991,"bios"],["cpc_serams.zip",1460991,"bios"],["cpc_smartwatch.zip",5640,"bios"],["cpc_ssa1.zip",1460991,"bios"],["cpc_transtape.zip",4021,"bios"],["cpuap.zip",26613,"bios"],["cq90_028.zip",1744,"bios"],["crd254sh.zip",31383,"bios"],["crvfdc01.zip",149,"bios"],["crvfdc02.zip",151,"bios"],["csd1.zip",12487,"bios"],["ct1741.zip",8003,"bios"],["cuda.zip",12814,"bios"],["cuda302.zip",3720,"bios"],["cudalite.zip",4037,"bios"],["custom.pal",192,"bios"],["cv8lc.zip",7423,"bios"],["cw7501.zip",83060,"bios"],["cx4.data.rom",3072,"bios"],["d2fdc.zip",262,"bios"],["d9060.zip",32197,"bios"],["d9090.zip",32197,"bios"],["db50xg.zip",3666695,"bios"],["db60xg.zip",3669859,"bios"],["dc/boot.bin",2097152,"bios"],["dc/dc_boot.bin",2097152,"bios"],["dc/dc_nvmem.bin",131072,"bios"],["dc/flash.bin",131072,"bios"],["dc/font.bin",519984,"bios"],["dc320b.zip",15794,"bios"],["dc320e.zip",31945,"bios"],["dc820.zip",26031,"bios"],["dc820b.zip",32045,"bios"],["dectalk_isa.zip",3823,"bios"],["dg640.zip",855,"bios"],["digilog_kbd.zip",1067,"bios"],["dim68k_kbd.zip",1550,"bios"],["dinothawr/dinothawr.game",3399,"game_data"],["dio98543.zip",2010,"bios"],["dio98544.zip",2034,"bios"],["dio98550.zip",3081,"bios"],["dio98603a.zip",291168,"bios"],["dio98603b.zip",377453,"bios"],["dio98628.zip",5918,"bios"],["dio98629.zip",5266,"bios"],["disciple.rom",8192,"bios"],["disk_plus3.szx",1568,"bios"],["diskii13.zip",590,"bios"],["disksys.rom",8192,"bios"],["dm_clgd5430.zip",20166,"bios"],["dmg_boot.bin",256,"bios"],["dmg_rom.bin",256,"bios"],["dmv_k220.zip",15572,"bios"],["dmv_k230.zip",2880,"bios"],["dmv_k231.zip",2880,"bios"],["dmv_k235.zip",2430,"bios"],["dmv_k806.zip",642,"bios"],["dmv_keyboard.zip",1135,"bios"],["dolphin-emu/Sys/GC/EUR/IPL.bin",2097152,"bios"],["dolphin-emu/Sys/GC/JAP/IPL.bin",2097152,"bios"],["dolphin-emu/Sys/GC/USA/IPL.bin",2097152,"bios"],["dolphin-emu/Sys/GC/dsp_coef.bin",4096,"bios"],["dolphin-emu/Sys/GC/dsp_rom.bin",8192,"bios"],["dolphin-emu/Sys/GC/font_japanese.bin",259626,"bios"],["dolphin-emu/Sys/GC/font_western.bin",6478,"bios"],["dolphin-emu/Sys/codehandler.bin",2880,"bios"],["dolphin-emu/User/GBA/gba_bios.bin",16384,"bios"],["dolphin-emu/User/Load/WiiSD.raw",134217728,"bios"],["dolphin-emu/User/Wii/clientca.pem",1005,"bios"],["dolphin-emu/User/Wii/clientcakey.pem",609,"bios"],["dolphin-emu/User/Wii/rootca.pem",897,"bios"],["dolphin-emu/User/Wii/shared2/sys/SYSCONF",16384,"bios"],["dolphin-emu/User/Wii/title/00000001/00000002/data/setting.txt",256,"bios"],["doom.wad",11159840,"game_data"],["doom1.wad",4196020,"game_data"],["doom2.wad",14943400,"game_data"],["doom2f.wad",14607420,"game_data"],["ds1001.zip",313,"bios"],["dsd4432.zip",1119,"bios"],["dsd5217.zip",21312,"bios"],["dsi_bios7.bin",65536,"bios"],["dsi_bios9.bin",65536,"bios"],["dsi_firmware.bin",131072,"bios"],["dsi_nand.bin",251658304,"bios"],["dsp1.data.rom",2048,"bios"],["dsp1.program.rom",6144,"bios"],["dsp1b.data.rom",2048,"bios"],["dsp1b.program.rom",6144,"bios"],["dsp2.data.rom",2048,"bios"],["dsp2.program.rom",6144,"bios"],["dsp3.data.rom",2048,"bios"],["dsp3.program.rom",6144,"bios"],["dsp4.data.rom",2048,"bios"],["dsp4.program.rom",6144,"bios"],["dsp56303.zip",568,"bios"],["dsp56311.zip",568,"bios"],["dsp56362.zip",629,"bios"],["dtlh1100.bin",524288,"bios"],["duodock.zip",47614,"bios"],["dvk_kmd.zip",6186,"bios"],["dw_kbd.zip",722,"bios"],["easyrpg.soundfont",148398306,"game_data"],["ec1841_0002.zip",3710,"bios"],["ecb_grip21.zip",10317,"bios"],["econet_e01.zip",26965,"bios"],["econet_e01s.zip",54134,"bios"],["ecwolf.pk3",178755,"bios"],["eeprom.dat",64,"bios"],["ef9340_1.zip",1022,"bios"],["ef9365.zip",590,"bios"],["ega.zip",18988,"bios"],["eidemax.zip",46469,"bios"],["einstein_sd.zip",1105,"bios"],["einstein_speech.zip",2019,"bios"],["eispc_kb.zip",848,"bios"],["enetlc.zip",8935,"bios"],["enetlctp.zip",471,"bios"],["enetnbtp.zip",472,"bios"],["enh2000.zip",12453,"bios"],["enp10.zip",35461,"bios"],["ep128emu/roms/basic20.rom",16384,"bios"],["ep128emu/roms/basic21.rom",16384,"bios"],["ep128emu/roms/brd.rom",16384,"bios"],["ep128emu/roms/cpc464.rom",32768,"bios"],["ep128emu/roms/cpc6128.rom",32768,"bios"],["ep128emu/roms/cpc664.rom",32768,"bios"],["ep128emu/roms/cpc_amsdos.rom",16384,"bios"],["ep128emu/roms/epd19hft.rom",32768,"bios"],["ep128emu/roms/epdos16f.rom",32768,"bios"],["ep128emu/roms/epfileio.rom",16384,"bios"],["ep128emu/roms/exdos13.rom",32768,"bios"],["ep128emu/roms/exdos14isdos10uk.rom",32768,"bios"],["ep128emu/roms/exos20.rom",32768,"bios"],["ep128emu/roms/exos21.rom",32768,"bios"],["ep128emu/roms/exos24uk.rom",65536,"bios"],["ep128emu/roms/hun.rom",16384,"bios"],["ep128emu/roms/ide12.rom",16384,"bios"],["ep128emu/roms/tvc22_ext.rom",8192,"bios"],["ep128emu/roms/tvc22_sys.rom",16384,"bios"],["ep128emu/roms/tvc_dos12d.rom",16384,"bios"],["ep128emu/roms/tvcfileio.rom",8192,"bios"],["ep128emu/roms/zt19hfnt.rom",32768,"bios"],["ep128emu/roms/zt19uk.rom",32768,"bios"],["ep128emu/roms/zx128.rom",32768,"bios"],["ep128emu/roms/zx48.rom",16384,"bios"],["ep64_exdos.zip",14521,"bios"],["epr-17952a.ic8",524288,"bios"],["epr-17954a.ic8",524288,"bios"],["epr-20091.ic8",524288,"bios"],["epson_fx80.zip",12887,"bios"],["epson_jx80.zip",11210,"bios"],["epson_pf10.zip",3426,"bios"],["epson_qx_option_multifont.zip",42543,"bios"],["epson_rx80.zip",6311,"bios"],["epson_tf20.zip",3426,"bios"],["ergoline_kbd.zip",1847,"bios"],["esq2x40_vfx.zip",288,"bios"],["et4000.zip",31117,"bios"],["et4000_kasan16.zip",206680,"bios"],["et4kw32i.zip",18756,"bios"],["et532_board.zip",1252,"bios"],["ethudock.zip",692,"bios"],["etos1024k.img",1048576,"bios"],["etos192uk.img",196608,"bios"],["etos192us.img",196608,"bios"],["eu_mcd1_9210.bin",131072,"bios"],["eu_mcd2_9303.bin",131072,"bios"],["eu_mcd2_9306.bin",131072,"bios"],["europc_kbd.zip",1138,"bios"],["ev346.zip",3881,"bios"],["everdrive_md.zip",37759,"bios"],["ex1280.zip",3538,"bios"],["ex800.zip",21628,"bios"],["exec.bin",8192,"bios"],["executive10_102_kbd.zip",1778,"bios"],["exorterm155_device.zip",8999,"bios"],["exos201.zip",19800,"bios"],["f4431_kbd.zip",1807,"bios"],["fba/hiscore.dat",322458,"bios"],["fba2012/samples/dkong.zip",29270,"game_data"],["fba2012/samples/dkongjr.zip",300220,"game_data"],["fba2012/samples/fireshrk.zip",180371945,"game_data"],["fba2012/samples/galaga.zip",243090,"game_data"],["fba2012/samples/ghox.zip",149028023,"game_data"],["fba2012/samples/rallyx.zip",72511,"game_data"],["fba2012/samples/tekipaki.zip",207969846,"game_data"],["fba2012/samples/vimana.zip",278695628,"game_data"],["fbalpha2012/hiscore.dat",322458,"bios"],["fbneo/bubsys.zip",7950,"bios"],["fbneo/cchip.zip",2700,"bios"],["fbneo/channelf.zip",2705,"bios"],["fbneo/coleco.zip",28014,"bios"],["fbneo/decocass.zip",16107,"bios"],["fbneo/fdsbios.zip",5758,"bios"],["fbneo/hiscore.dat",324575,"bios"],["fbneo/hiscore.dat",328397,"bios"],["fbneo/isgsm.zip",10207,"bios"],["fbneo/midssio.zip",163,"bios"],["fbneo/msx.zip",193854,"bios"],["fbneo/namcoc69.zip",7771,"bios"],["fbneo/namcoc70.zip",7822,"bios"],["fbneo/namcoc75.zip",8709,"bios"],["fbneo/neocdz.zip",214681,"bios"],["fbneo/neocdz.zip",1184219,"bios"],["fbneo/neogeo.zip",1859335,"bios"],["fbneo/ngp.zip",74758,"bios"],["fbneo/nmk004.zip",3556,"bios"],["fbneo/pgm.zip",2094636,"bios"],["fbneo/samples/donpachi.zip",208549253,"game_data"],["fbneo/samples/sfz3mix.zip",101017377,"game_data"],["fbneo/skns.zip",924762,"bios"],["fbneo/spec128.zip",25489,"bios"],["fbneo/spec1282a.zip",41646,"bios"],["fbneo/spectrum.zip",12432,"bios"],["fbneo/ym2608.zip",7609,"bios"],["fc_disksys.zip",11579,"bios"],["fd148.zip",11962,"bios"],["fd2000.zip",45358,"bios"],["fd4000.zip",45409,"bios"],["fdc344.zip",2298,"bios"],["fdcmag.zip",2158,"bios"],["fga4he.zip",17002,"bios"],["filetto_cga.zip",3713,"bios"],["firmware.bin",262144,"bios"],["flash.bin",131072,"bios"],["freedom220_kbd.zip",1353,"bios"],["freedoom1.wad",28795076,"game_data"],["freedoom2.wad",28787748,"game_data"],["freej2me-lr.jar",552042,"bios"],["freej2me-sdl.jar",552043,"bios"],["freej2me.jar",552039,"bios"],["freej2me_plus-lr.jar",1219093,"bios"],["fsd1.zip",11799,"bios"],["fsd2.zip",48020,"bios"],["fsuae/Kickstarts/amiga-ext-130-cdtv.rom",262144,"bios"],["fsuae/Kickstarts/amiga-ext-310-cd32.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-120.rom",262144,"bios"],["fsuae/Kickstarts/amiga-os-130.rom",262144,"bios"],["fsuae/Kickstarts/amiga-os-204.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-205.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-310-a1200.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-310-a3000.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-310-a4000.rom",524288,"bios"],["fsuae/Kickstarts/amiga-os-310-cd32.rom",524288,"bios"],["fsuae/Kickstarts/cd32fmv.rom",262144,"bios"],["fsuae/Kickstarts/rom.key",2069,"bios"],["fuse/128-0.rom",16384,"bios"],["fuse/128-1.rom",16384,"bios"],["fuse/128p-0.rom",16384,"bios"],["fuse/128p-1.rom",16384,"bios"],["fuse/256s-0.rom",16384,"bios"],["fuse/256s-1.rom",16384,"bios"],["fuse/256s-2.rom",16384,"bios"],["fuse/256s-3.rom",16384,"bios"],["fuse/48.rom",16384,"bios"],["fuse/didaktik80.rom",14336,"bios"],["fuse/disciple.rom",8192,"bios"],["fuse/gluck.rom",16384,"bios"],["fuse/if1-2.rom",8192,"bios"],["fuse/mf1.rom",8192,"bios"],["fuse/mf128.rom",8192,"bios"],["fuse/mf3.rom",8192,"bios"],["fuse/opus.rom",8192,"bios"],["fuse/plus2-0.rom",16384,"bios"],["fuse/plus2-1.rom",16384,"bios"],["fuse/plus3-0.rom",16384,"bios"],["fuse/plus3-1.rom",16384,"bios"],["fuse/plus3-2.rom",16384,"bios"],["fuse/plus3-3.rom",16384,"bios"],["fuse/plus3e-0.rom",16384,"bios"],["fuse/plus3e-1.rom",16384,"bios"],["fuse/plus3e-2.rom",16384,"bios"],["fuse/plus3e-3.rom",16384,"bios"],["fuse/plusd.rom",8192,"bios"],["fuse/se-0.rom",16384,"bios"],["fuse/se-1.rom",16384,"bios"],["fuse/speccyboot-1.4.rom",8192,"bios"],["fuse/tc2048.rom",16384,"bios"],["fuse/tc2068-0.rom",16384,"bios"],["fuse/tc2068-1.rom",8192,"bios"],["fuse/trdos.rom",16384,"bios"],["fuse/ttx2000s.rom",8192,"bios"],["fuse/usource.rom",8192,"bios"],["fx-scsi.rom",524288,"bios"],["g7400.bin",1024,"bios"],["g80_1500.zip",5636,"bios"],["galaksija/CHRGEN.BIN",2048,"bios"],["galaksija/ROM1.BIN",4096,"bios"],["galaksija/ROM2.BIN",4096,"bios"],["gamegenie.nes",24592,"bios"],["gamtor_vga.zip",208,"bios"],["gb_bios.bin",256,"bios"],["gba_bios.bin",16384,"bios"],["gbc_bios.bin",2304,"bios"],["gc-dvd-20010608.bin",131072,"bios"],["gc-dvd-20010831.bin",131072,"bios"],["gc-dvd-20020402.bin",131072,"bios"],["gc-dvd-20020823.bin",131072,"bios"],["gc-ntsc-10.bin",2097152,"bios"],["gc-ntsc-11.bin",2097152,"bios"],["gc-ntsc-12.bin",2097152,"bios"],["gc-pal-10.bin",2097152,"bios"],["gc-pal-11.bin",2097152,"bios"],["gc-pal-12.bin",2097152,"bios"],["gecard.pce",32768,"bios"],["geforce256.zip",25685,"bios"],["geforce256ddr.zip",21811,"bios"],["gexpress.pce",32768,"bios"],["gfxultra.zip",19347,"bios"],["gfxultrap.zip",38094,"bios"],["ggenie.bin",32768,"bios"],["gic.zip",373,"bios"],["goldstar.bin",1048576,"bios"],["gp32.zip",1378301,"bios"],["gpib_hardbox.zip",18236,"bios"],["gpib_mshark.zip",13934,"bios"],["gpib_softbox.zip",9859,"bios"],["gpl16250va.zip",155340,"bios"],["gpl951xx.zip",3396,"bios"],["grom.bin",2048,"bios"],["gzdoom.pk3",3612904,"game_data"],["h89bus_io_decoder_444_43.zip",175,"bios"],["h89bus_io_decoder_444_61.zip",176,"bios"],["h89bus_io_decoder_cdr86.zip",177,"bios"],["h89bus_io_decoder_mms_61c.zip",193,"bios"],["h8_cpu_8080.zip",7111,"bios"],["h8_ha_8_6.zip",6415,"bios"],["hatari/BOOT.ST",737280,"bios"],["hcpu30.zip",15456,"bios"],["hd44780.zip",965,"bios"],["hd44780u.zip",2082,"bios"],["hd61830.zip",839,"bios"],["hdae5000.zip",823668,"bios"],["he191_3425.zip",983,"bios"],["heath_gp19_tlb.zip",13491,"bios"],["heath_igc_super19_tlb_device.zip",5615,"bios"],["heath_igc_tlb_device.zip",5021,"bios"],["heath_igc_ultra_tlb_device.zip",4818,"bios"],["heath_igc_watz_tlb_device.zip",7609,"bios"],["heath_imaginator_tlb.zip",9135,"bios"],["heath_super19_tlb.zip",5615,"bios"],["heath_superset_tlb.zip",14186,"bios"],["heath_tlb.zip",5021,"bios"],["heath_ultra_tlb.zip",4818,"bios"],["heath_watz_tlb.zip",7609,"bios"],["hisaturn.bin",524288,"bios"],["hk68v10.zip",8083,"bios"],["howard.o",513,"bios"],["hp82900.zip",691,"bios"],["hp82937.zip",2028,"bios"],["hp82939.zip",1869,"bios"],["hp9122c.zip",10761,"bios"],["hp9133.zip",21140,"bios"],["hp98034.zip",717,"bios"],["hp98035.zip",1993,"bios"],["hp98046.zip",1103,"bios"],["hp9845_prt.zip",1241,"bios"],["hp9895.zip",6135,"bios"],["hpblp.zip",34683,"bios"],["human_interface.zip",2044,"bios"],["i8244.zip",456,"bios"],["i8245.zip",456,"bios"],["ibm_mfc.zip",17863,"bios"],["ibm_vga.zip",13184,"bios"],["ibsap2.zip",1061,"bios"],["id1/pak0.pak",18689235,"game_data"],["idpart_video.zip",2623,"bios"],["ie15_device.zip",5520,"bios"],["ie15kbd.zip",352,"bios"],["if1-1.rom",8192,"bios"],["if1-2.rom",8192,"bios"],["imds2ioc.zip",19804,"bios"],["imi5000h.zip",3337,"bios"],["in207100kbd.zip",1074,"bios"],["in213kbd.zip",658,"bios"],["indusgt.zip",15707,"bios"],["intv_ecs.zip",13890,"bios"],["intv_voice.zip",2025,"bios"],["iq151_disc2.zip",1872,"bios"],["iq151_minigraf.zip",3404,"bios"],["iq151_ms15a.zip",1938,"bios"],["iq151_video32.zip",709,"bios"],["iq151_video64.zip",1120,"bios"],["iris_kbd.zip",939,"bios"],["isa_aga.zip",2673,"bios"],["isa_aga_pc200.zip",3722,"bios"],["isa_epc_mda.zip",1714,"bios"],["isa_finalchs.zip",39370,"bios"],["isa_hdc.zip",5558,"bios"],["isa_hercules.zip",3204,"bios"],["isa_ibm_mda.zip",483513,"bios"],["isa_ibm_pgc.zip",69664,"bios"],["isa_ibm_speech.zip",22584,"bios"],["isa_pcmidi.zip",6300,"bios"],["isa_prose4001.zip",96246,"bios"],["isbc202.zip",2023,"bios"],["isbc8024.zip",2868,"bios"],["isbc_215g.zip",11746,"bios"],["ivelultrkb.zip",841,"bios"],["jagboot.rom",131072,"bios"],["jagboot_m.rom",131072,"bios"],["jaleco_vj_pc.zip",116758,"bios"],["jc1310.zip",3574,"bios"],["jopac.bin",1024,"bios"],["jp_mcd1_9111.bin",131072,"bios"],["jp_mcd1_9112.bin",131072,"bios"],["jp_mcd2_921222.bin",131072,"bios"],["k7659_keyboard.zip",384,"bios"],["kaypro10kbd.zip",1307,"bios"],["kayproiikbd.zip",1101,"bios"],["kb_3270pc.zip",1115,"bios"],["kb_ec1841.zip",788,"bios"],["kb_iskr1030.zip",1022,"bios"],["kb_ms_natural.zip",3029,"bios"],["kb_pcat101.zip",2989,"bios"],["kb_pcat84.zip",1032,"bios"],["kb_pcxt83.zip",726,"bios"],["kbd_lle_en_us.zip",3038,"bios"],["kc_d004.zip",4285,"bios"],["kc_d004_gide.zip",30180,"bios"],["kernal-901227-01.bin",8192,"bios"],["kernal-901227-02.bin",8192,"bios"],["kernal.901486-02.bin",8192,"bios"],["keropi/cgrom.dat",786432,"bios"],["keropi/iplrom.dat",131072,"bios"],["keropi/iplrom30.dat",131072,"bios"],["keropi/iplromco.dat",131072,"bios"],["keropi/iplromxv.dat",131072,"bios"],["keytronic_l2207.zip",2325,"bios"],["keytronic_pc3270.zip",3168,"bios"],["keytronic_pc3270_at.zip",3168,"bios"],["kick.rom",262144,"bios"],["kick12.rom",524288,"bios"],["kick13.rom",524288,"bios"],["kick20.rom",524288,"bios"],["kick205.rom",524288,"bios"],["kick31.rom",524288,"bios"],["kick31034.A1000",262144,"bios"],["kick32034.A1000",262144,"bios"],["kick33180.A500",262144,"bios"],["kick34005.A500",262144,"bios"],["kick34005.CDTV",262144,"bios"],["kick37175.A500",524288,"bios"],["kick37350.A600",524288,"bios"],["kick39106.A1200",524288,"bios"],["kick39106.A4000",524288,"bios"],["kick40060.CD32",524288,"bios"],["kick40060.CD32.ext",524288,"bios"],["kick40063.A600",524288,"bios"],["kick40068.A1200",524288,"bios"],["kick40068.A4000",524288,"bios"],["km035.zip",1035,"bios"],["kronos/saturn_bios.bin",524288,"bios"],["kronos/stvbios.zip",3455065,"bios"],["ks0066.zip",2011,"bios"],["labtam_3232.zip",73648,"bios"],["labtam_8086cpu.zip",3231,"bios"],["labtam_vducom.zip",75740,"bios"],["labtam_z80sbc.zip",16546,"bios"],["lba_enhancer.zip",2746,"bios"],["lc7985.zip",957,"bios"],["ldv1000.zip",4816,"bios"],["lh5323m1.bin",262144,"bios"],["lha201.zip",6661,"bios"],["libbass.dylib",874240,"bios"],["libbass.so",248952,"bios"],["libbassmidi.dylib",519808,"bios"],["libbassmidi.so",142080,"bios"],["lisa2fdc.zip",3159,"bios"],["lisafdc.zip",3328,"bios"],["lisavideo.zip",260,"bios"],["lk201.zip",6069,"bios"],["lm24014h.zip",629,"bios"],["lrk331.zip",18121,"bios"],["luna_68k_cmc.zip",13767,"bios"],["luna_68k_gpu.zip",84000,"bios"],["luna_68k_ioc.zip",28610,"bios"],["lux10828.zip",9352,"bios"],["lux21046.zip",24177,"bios"],["lux21056.zip",7454,"bios"],["lx800.zip",15176,"bios"],["lx810l.zip",22103,"bios"],["lynxboot.img",512,"bios"],["m1comm.zip",3832,"bios"],["m20_8086.zip",6611,"bios"],["m24_kbd.zip",1483,"bios"],["m24_z8000.zip",9638,"bios"],["m50dass.zip",5021,"bios"],["m68705p3.zip",266,"bios"],["m68705p5.zip",266,"bios"],["m68705r3.zip",271,"bios"],["m68705u3.zip",271,"bios"],["m68hc05pge.zip",607,"bios"],["mach64isa.zip",121273,"bios"],["macxlfdc.zip",5757,"bios"],["macxlvideo.zip",212,"bios"],["mame/hash/32x.xml",128073,"game_data"],["mame/hash/3do_m2.xml",1791,"game_data"],["mame/hash/README.md",354,"game_data"],["mame/hash/a2600.xml",737892,"game_data"],["mame/hash/a2600_cass.xml",32898,"game_data"],["mame/hash/a5200.hsi",32063,"game_data"],["mame/hash/a5200.xml",58114,"game_data"],["mame/hash/a7800.xml",127364,"game_data"],["mame/hash/abc1600_flop.xml",7222,"game_data"],["mame/hash/abc1600_hdd.xml",547,"game_data"],["mame/hash/abc800_hdd.xml",1362,"game_data"],["mame/hash/abc806_flop.xml",4664,"game_data"],["mame/hash/abc80_cass.xml",1063,"game_data"],["mame/hash/abc80_flop.xml",4875,"game_data"],["mame/hash/abc80_rom.xml",2440,"game_data"],["mame/hash/abc830_flop.xml",7246,"game_data"],["mame/hash/abc832_flop.xml",14768,"game_data"],["mame/hash/abc838_flop.xml",1979,"game_data"],["mame/hash/acrnsys_flop.xml",1659,"game_data"],["mame/hash/acrnsys_rom.xml",2174,"game_data"],["mame/hash/advantage.xml",5914,"game_data"],["mame/hash/aim65_cart.xml",9060,"game_data"],["mame/hash/aleste.xml",1366,"game_data"],["mame/hash/alice32.xml",27026,"game_data"],["mame/hash/alice90.xml",3996,"game_data"],["mame/hash/alphasmart_kapps.xml",16025,"game_data"],["mame/hash/alphatro_cart.xml",1129,"game_data"],["mame/hash/alphatro_flop.xml",1342,"game_data"],["mame/hash/altos5.xml",1323,"game_data"],["mame/hash/altos586.xml",574,"game_data"],["mame/hash/altos8600.xml",1043,"game_data"],["mame/hash/amiga_amix.xml",4460,"game_data"],["mame/hash/amiga_apps.xml",7434,"game_data"],["mame/hash/amiga_cd.xml",15524,"game_data"],["mame/hash/amiga_demos.xml",3217,"game_data"],["mame/hash/amiga_flop.xml",410553,"game_data"],["mame/hash/amiga_hardware.xml",9287,"game_data"],["mame/hash/amiga_hdd.xml",1617,"game_data"],["mame/hash/amiga_workbench.xml",61616,"game_data"],["mame/hash/amigaaga_flop.xml",215186,"game_data"],["mame/hash/amigaecs_flop.xml",35873,"game_data"],["mame/hash/amigaocs_flop.xml",2095329,"game_data"],["mame/hash/ampro.xml",2178,"game_data"],["mame/hash/apc.xml",14254,"game_data"],["mame/hash/apexc_cyl.xml",1523,"game_data"],["mame/hash/apogee.xml",41066,"game_data"],["mame/hash/apollo_ctape.xml",2075,"game_data"],["mame/hash/apple1.xml",20026,"game_data"],["mame/hash/apple2_cass.xml",138008,"game_data"],["mame/hash/apple2_rom.xml",1709,"game_data"],["mame/hash/apple3.xml",10270,"game_data"],["mame/hash/applix_flop.xml",541,"game_data"],["mame/hash/apricot_flop.xml",33034,"game_data"],["mame/hash/apxen_flop.xml",1562,"game_data"],["mame/hash/aquarius_cart.xml",14960,"game_data"],["mame/hash/aquarius_cass.xml",34155,"game_data"],["mame/hash/arb.xml",3568,"game_data"],["mame/hash/arcadia.xml",57566,"game_data"],["mame/hash/atom_cass.xml",19518,"game_data"],["mame/hash/atom_flop.xml",7657,"game_data"],["mame/hash/atom_rom.xml",16011,"game_data"],["mame/hash/attache.xml",555,"game_data"],["mame/hash/aussiebyte.xml",545,"game_data"],["mame/hash/b2m.xml",1244,"game_data"],["mame/hash/basf7100.xml",881,"game_data"],["mame/hash/bbcbc.xml",5189,"game_data"],["mame/hash/bdesignm_design_cart.xml",3983,"game_data"],["mame/hash/bdesignm_game_cart.xml",3809,"game_data"],["mame/hash/bingobear.xml",1244,"game_data"],["mame/hash/bkrankp_cart.xml",9615,"game_data"],["mame/hash/bmjr_cass.xml",790,"game_data"],["mame/hash/bml3_cass.xml",1359,"game_data"],["mame/hash/bml3_flop.xml",4172,"game_data"],["mame/hash/brother_pn.xml",1902,"game_data"],["mame/hash/bungo_flop.xml",2355,"game_data"],["mame/hash/buzztime_cart.xml",1855,"game_data"],["mame/hash/bw12.xml",869,"game_data"],["mame/hash/bw14.xml",4116,"game_data"],["mame/hash/bw2.xml",2574,"game_data"],["mame/hash/bx256hp_flop.xml",4979,"game_data"],["mame/hash/c128_cart.xml",7667,"game_data"],["mame/hash/c128_flop.xml",29219,"game_data"],["mame/hash/c128_rom.xml",3843,"game_data"],["mame/hash/c2color_cart.xml",4498,"game_data"],["mame/hash/c64_cart.xml",258956,"game_data"],["mame/hash/c64_cass.xml",578831,"game_data"],["mame/hash/c64_flop_misc.xml",34001,"game_data"],["mame/hash/c64_flop_orig.xml",30419,"game_data"],["mame/hash/c64_quik.xml",585,"game_data"],["mame/hash/c65_flop.xml",616,"game_data"],["mame/hash/carbeena.xml",811,"game_data"],["mame/hash/casio_rompack.xml",72987,"game_data"],["mame/hash/cassvisn_cart.xml",8242,"game_data"],["mame/hash/cbm2_cart.xml",2432,"game_data"],["mame/hash/cbm2_flop.xml",55851,"game_data"],["mame/hash/cbm8096_flop.xml",976,"game_data"],["mame/hash/cbm8296_flop.xml",1344,"game_data"],["mame/hash/cc40_cart.xml",4533,"game_data"],["mame/hash/cd32.xml",73479,"game_data"],["mame/hash/cdtv.xml",128903,"game_data"],["mame/hash/cecflop.xml",9584,"game_data"],["mame/hash/cgenie_cass.xml",135849,"game_data"],["mame/hash/cgenie_flop_rom.xml",1068,"game_data"],["mame/hash/challenge_gear_cart.xml",1798,"game_data"],["mame/hash/channelf.xml",20040,"game_data"],["mame/hash/chessking_cart.xml",641,"game_data"],["mame/hash/chessmstdm.xml",1095,"game_data"],["mame/hash/chip8_quik.xml",32203,"game_data"],["mame/hash/clickstart_cart.xml",10218,"game_data"],["mame/hash/clipper_flop.xml",1190,"game_data"],["mame/hash/coleco.xml",153128,"game_data"],["mame/hash/coleco_homebrew.xml",89593,"game_data"],["mame/hash/compclr2_flop.xml",94972,"game_data"],["mame/hash/compis.xml",40308,"game_data"],["mame/hash/comx35_flop.xml",543,"game_data"],["mame/hash/conchess.xml",1245,"game_data"],["mame/hash/copera.xml",5754,"game_data"],["mame/hash/cpc_cass.xml",1991951,"game_data"],["mame/hash/cpc_flop.xml",12700511,"game_data"],["mame/hash/ctvboy.xml",3078,"game_data"],["mame/hash/cubieboard4.xml",3873,"game_data"],["mame/hash/cx3000tc.xml",2044,"game_data"],["mame/hash/cz1_cart.xml",1477,"game_data"],["mame/hash/dai_cass.xml",4412,"game_data"],["mame/hash/database.xml",8810,"game_data"],["mame/hash/dc.xml",1547464,"game_data"],["mame/hash/dgnbeta_flop.xml",1891,"game_data"],["mame/hash/digiblast_cart.xml",10923,"game_data"],["mame/hash/digilog320.xml",1545,"game_data"],["mame/hash/dim68k.xml",7070,"game_data"],["mame/hash/dmv.xml",54867,"game_data"],["mame/hash/dps1.xml",596,"game_data"],["mame/hash/duelmast_cart.xml",1148,"game_data"],["mame/hash/easy_karaoke_cart.xml",16341,"game_data"],["mame/hash/ec1841.xml",4295,"game_data"],["mame/hash/einstein.xml",53792,"game_data"],["mame/hash/einstein_rom.xml",547,"game_data"],["mame/hash/entex_sag.xml",3620,"game_data"],["mame/hash/ep64_cart.xml",6240,"game_data"],["mame/hash/ep64_cass.xml",1272,"game_data"],["mame/hash/ep64_flop.xml",73009,"game_data"],["mame/hash/epson_cpm.xml",5880,"game_data"],["mame/hash/eti660_quik.xml",2480,"game_data"],["mame/hash/ews286_flop.xml",1384,"game_data"],["mame/hash/excalibur64.xml",551,"game_data"],["mame/hash/exl100.xml",6011,"game_data"],["mame/hash/famibox.xml",31176,"game_data"],["mame/hash/famicom_cass.xml",21948,"game_data"],["mame/hash/famicom_flop.xml",168824,"game_data"],["mame/hash/fidel_msc.xml",1132,"game_data"],["mame/hash/fidel_sc6.xml",565,"game_data"],["mame/hash/fidel_scc.xml",4897,"game_data"],["mame/hash/fmtowns_cd.xml",2734453,"game_data"],["mame/hash/fmtowns_flop_cracked.xml",3606,"game_data"],["mame/hash/fmtowns_flop_misc.xml",63683,"game_data"],["mame/hash/fmtowns_flop_orig.xml",150372,"game_data"],["mame/hash/fp1100_cass.xml",4676,"game_data"],["mame/hash/gaelco_ds5002fp_rom.xml",4164,"game_data"],["mame/hash/galaxy.xml",24068,"game_data"],["mame/hash/gameboy.xml",1136450,"game_data"],["mame/hash/gamegear.xml",414475,"game_data"],["mame/hash/gameking.xml",21981,"game_data"],["mame/hash/gameking3.xml",4399,"game_data"],["mame/hash/gba.xml",1727109,"game_data"],["mame/hash/gba_ereader.xml",286933,"game_data"],["mame/hash/gbcolor.xml",1161729,"game_data"],["mame/hash/generic_cdrom.xml",52075,"game_data"],["mame/hash/generic_flop_525.xml",4909,"game_data"],["mame/hash/genie3_flop.xml",4849,"game_data"],["mame/hash/ggm.xml",8019,"game_data"],["mame/hash/gimix.xml",2241,"game_data"],["mame/hash/gj4000.xml",681,"game_data"],["mame/hash/gjmovie.xml",760,"game_data"],["mame/hash/gjrstar.xml",2795,"game_data"],["mame/hash/gl2000.xml",4022,"game_data"],["mame/hash/gl6000sl.xml",1205,"game_data"],["mame/hash/glcolor.xml",2575,"game_data"],["mame/hash/glcx.xml",4447,"game_data"],["mame/hash/gln.xml",1724,"game_data"],["mame/hash/gls.xml",609,"game_data"],["mame/hash/gtfore.xml",2385,"game_data"],["mame/hash/guab.xml",4131,"game_data"],["mame/hash/gx4000.xml",12933,"game_data"],["mame/hash/h21.xml",1358,"game_data"],["mame/hash/h88_cass.xml",6198,"game_data"],["mame/hash/horizon.xml",110171,"game_data"],["mame/hash/hp85_rom.xml",2800,"game_data"],["mame/hash/hp86_rom.xml",5029,"game_data"],["mame/hash/hp9825_rom.xml",6691,"game_data"],["mame/hash/hp9831_rom.xml",1188,"game_data"],["mame/hash/hp9835a_rom.xml",2757,"game_data"],["mame/hash/hp9845a_rom.xml",4328,"game_data"],["mame/hash/hp9845b_rom.xml",19426,"game_data"],["mame/hash/hp98x6_rom.xml",1486,"game_data"],["mame/hash/hp9k3xx_cdrom.xml",7323,"game_data"],["mame/hash/hp9k3xx_flop.xml",30834,"game_data"],["mame/hash/hp9k3xx_hdd.xml",691,"game_data"],["mame/hash/hp_ipc.xml",23990,"game_data"],["mame/hash/hp_ipc_rom.xml",672,"game_data"],["mame/hash/ht68k.xml",923,"game_data"],["mame/hash/hx20_rom.xml",904,"game_data"],["mame/hash/hyperscan.xml",2390,"game_data"],["mame/hash/hyperscan_card.xml",193115,"game_data"],["mame/hash/i7000_card.xml",7455,"game_data"],["mame/hash/ibm5140.xml",1967,"game_data"],["mame/hash/ibm5150_cass.xml",736,"game_data"],["mame/hash/ibm5150_hdd.xml",5316,"game_data"],["mame/hash/ibm5170.xml",1162208,"game_data"],["mame/hash/ibm5170_cdrom.xml",454762,"game_data"],["mame/hash/ibm5170_hdd.xml",12253,"game_data"],["mame/hash/ibm6580.xml",4972,"game_data"],["mame/hash/ibmpc110.xml",1581,"game_data"],["mame/hash/ibmpcjr_cart.xml",9823,"game_data"],["mame/hash/ibmpcjr_flop.xml",6253,"game_data"],["mame/hash/ibmpcjx.xml",2034,"game_data"],["mame/hash/icanguit.xml",4013,"game_data"],["mame/hash/icanpian.xml",7041,"game_data"],["mame/hash/intellect02.xml",1026,"game_data"],["mame/hash/interact.xml",14054,"game_data"],["mame/hash/interpro.xml",15826,"game_data"],["mame/hash/intv.hsi",21652,"game_data"],["mame/hash/intv.xml",100100,"game_data"],["mame/hash/intvecs.xml",7161,"game_data"],["mame/hash/iq128.xml",1656,"game_data"],["mame/hash/iq151_cart.xml",2180,"game_data"],["mame/hash/iq151_flop.xml",1019,"game_data"],["mame/hash/ique.xml",18576,"game_data"],["mame/hash/iqunlim_cart.xml",1166,"game_data"],["mame/hash/itt3030.xml",1428,"game_data"],["mame/hash/jaguar.xml",78281,"game_data"],["mame/hash/jakks_gamekey_dp.xml",761,"game_data"],["mame/hash/jakks_gamekey_dy.xml",2768,"game_data"],["mame/hash/jakks_gamekey_mv.xml",756,"game_data"],["mame/hash/jakks_gamekey_nk.xml",1934,"game_data"],["mame/hash/jakks_gamekey_nm.xml",2051,"game_data"],["mame/hash/jakks_gamekey_sw.xml",2931,"game_data"],["mame/hash/jakks_gamekey_wp.xml",1064,"game_data"],["mame/hash/jaminator.xml",6011,"game_data"],["mame/hash/jazz.xml",1564,"game_data"],["mame/hash/jb3000_flop.xml",660,"game_data"],["mame/hash/juicebox.xml",18075,"game_data"],["mame/hash/juku.xml",6267,"game_data"],["mame/hash/jupace_cass.xml",81423,"game_data"],["mame/hash/jupace_snap.xml",2564,"game_data"],["mame/hash/k28.xml",3157,"game_data"],["mame/hash/k28o.xml",827,"game_data"],["mame/hash/kaypro.xml",8389,"game_data"],["mame/hash/kc_cart.xml",2336,"game_data"],["mame/hash/kc_cass.xml",70753,"game_data"],["mame/hash/kc_flop.xml",2125,"game_data"],["mame/hash/kim1_cass.xml",4296,"game_data"],["mame/hash/kisssite_cd.xml",13436,"game_data"],["mame/hash/korvet_flop.xml",8743,"game_data"],["mame/hash/lanteach.xml",561,"game_data"],["mame/hash/lantrans.xml",4167,"game_data"],["mame/hash/leapfrog_didj_cart.xml",3419,"game_data"],["mame/hash/leapfrog_iquest_cart.xml",996,"game_data"],["mame/hash/leapfrog_leappad_cart.xml",91522,"game_data"],["mame/hash/leapfrog_ltleappad_cart.xml",9206,"game_data"],["mame/hash/leapfrog_mfleappad_cart.xml",11748,"game_data"],["mame/hash/leapfrog_zippity_cart.xml",1903,"game_data"],["mame/hash/leapster.xml",79859,"game_data"],["mame/hash/leapster_explorer_cart.xml",2082,"game_data"],["mame/hash/lisa.xml",35666,"game_data"],["mame/hash/lisa2.xml",5305,"game_data"],["mame/hash/lk3000.xml",2341,"game_data"],["mame/hash/lnux4004.xml",551,"game_data"],["mame/hash/lviv.xml",117889,"game_data"],["mame/hash/lynx.xml",57321,"game_data"],["mame/hash/m20.xml",24233,"game_data"],["mame/hash/m24.xml",585,"game_data"],["mame/hash/m3.xml",567,"game_data"],["mame/hash/m5_cart.xml",24121,"game_data"],["mame/hash/m5_cass.xml",16984,"game_data"],["mame/hash/m5_flop.xml",1025,"game_data"],["mame/hash/mbc200.xml",906,"game_data"],["mame/hash/mbc55x.xml",6393,"game_data"],["mame/hash/mbee_cart.xml",23641,"game_data"],["mame/hash/mbee_cass.xml",1994,"game_data"],["mame/hash/mbee_flop.xml",218405,"game_data"],["mame/hash/mbee_quik.xml",64816,"game_data"],["mame/hash/mc1000_cass.xml",53448,"game_data"],["mame/hash/mc1502_flop.xml",949,"game_data"],["mame/hash/md2_flop.xml",2723,"game_data"],["mame/hash/megacd.xml",1291438,"game_data"],["mame/hash/megadriv.xml",1656213,"game_data"],["mame/hash/megaduck.xml",19227,"game_data"],["mame/hash/megapc.xml",1756,"game_data"],["mame/hash/mephisto_mm1.xml",613,"game_data"],["mame/hash/mephisto_mm2.xml",650,"game_data"],["mame/hash/mephisto_mm4.xml",618,"game_data"],["mame/hash/mephisto_mm5.xml",616,"game_data"],["mame/hash/mephisto_smondial2.xml",681,"game_data"],["mame/hash/microbox2_flop.xml",955,"game_data"],["mame/hash/microvision.xml",12187,"game_data"],["mame/hash/midi_flop.xml",1102,"game_data"],["mame/hash/mikro80.xml",2155,"game_data"],["mame/hash/mikrosha_cart.xml",564,"game_data"],["mame/hash/mikrosha_cass.xml",19640,"game_data"],["mame/hash/mindset_flop.xml",889,"game_data"],["mame/hash/misterx.xml",1485,"game_data"],["mame/hash/mk14_quik.xml",1607,"game_data"],["mame/hash/mm1_flop.xml",3737,"game_data"],["mame/hash/mm2_flop.xml",1145,"game_data"],["mame/hash/mm2_hdd.xml",564,"game_data"],["mame/hash/mo5_cart.xml",21269,"game_data"],["mame/hash/mo5_cass.xml",706525,"game_data"],["mame/hash/mo5_flop.xml",32837,"game_data"],["mame/hash/mo5_qd.xml",12350,"game_data"],["mame/hash/mo6_cass.xml",70027,"game_data"],["mame/hash/mo6_flop.xml",23106,"game_data"],["mame/hash/mobigo_cart.xml",23750,"game_data"],["mame/hash/monon_color.xml",15292,"game_data"],["mame/hash/mpc3000_flop.xml",3350,"game_data"],["mame/hash/mpc60_flop.xml",15063,"game_data"],["mame/hash/mpf1_rom.xml",2881,"game_data"],["mame/hash/mpu1000.xml",614,"game_data"],["mame/hash/mpz80.xml",21352,"game_data"],["mame/hash/msx.hsi",130435,"game_data"],["mame/hash/msx1_bee_card.xml",5450,"game_data"],["mame/hash/msx1_cart.xml",1069721,"game_data"],["mame/hash/msx1_cass.xml",815967,"game_data"],["mame/hash/msx1_flop.xml",243313,"game_data"],["mame/hash/msx1_flop_525.xml",8311,"game_data"],["mame/hash/msx2.hsi",290917,"game_data"],["mame/hash/msx2_cart.xml",191807,"game_data"],["mame/hash/msx2_cass.xml",2308,"game_data"],["mame/hash/msx2_flop.xml",1138601,"game_data"],["mame/hash/msx2p_cart.xml",2243,"game_data"],["mame/hash/msx2p_flop.xml",35351,"game_data"],["mame/hash/msx_softcard.xml",2406,"game_data"],["mame/hash/msx_yamaha_minicart.xml",913,"game_data"],["mame/hash/msxr_cart.xml",4556,"game_data"],["mame/hash/msxr_flop.xml",58312,"game_data"],["mame/hash/mt65_cass.xml",3972,"game_data"],["mame/hash/mt65_rom.xml",7665,"game_data"],["mame/hash/mt65_snap.xml",6125,"game_data"],["mame/hash/mtu130_flop.xml",2682,"game_data"],["mame/hash/mtx_cart.xml",3484,"game_data"],["mame/hash/mtx_cass.xml",23223,"game_data"],["mame/hash/mtx_flop.xml",3849,"game_data"],["mame/hash/mtx_hdd.xml",1479,"game_data"],["mame/hash/mtx_rom.xml",2033,"game_data"],["mame/hash/mylife_cart.xml",3029,"game_data"],["mame/hash/myvision.xml",10822,"game_data"],["mame/hash/mz2000_cass.xml",18487,"game_data"],["mame/hash/mz2000_flop.xml",6827,"game_data"],["mame/hash/mz2000_snap.xml",6357,"game_data"],["mame/hash/mz2500_flop.xml",41591,"game_data"],["mame/hash/mz5500_flop.xml",3298,"game_data"],["mame/hash/mz700_cass.xml",101940,"game_data"],["mame/hash/mz800_cass.xml",6416,"game_data"],["mame/hash/mz800_rom.xml",1699,"game_data"],["mame/hash/mz80b_cass.xml",3476,"game_data"],["mame/hash/mz80b_flop.xml",1334,"game_data"],["mame/hash/mz80k_cass.xml",17674,"game_data"],["mame/hash/n64.xml",634504,"game_data"],["mame/hash/n64_lodgenet.xml",18886,"game_data"],["mame/hash/n64dd.xml",7365,"game_data"],["mame/hash/nascom_flop.xml",4009,"game_data"],["mame/hash/nascom_snap.xml",32837,"game_data"],["mame/hash/nascom_socket.xml",2918,"game_data"],["mame/hash/neocd.xml",69767,"game_data"],["mame/hash/neogeo.xml",861636,"game_data"],["mame/hash/nes.hsi",2901163,"game_data"],["mame/hash/nes.xml",3760989,"game_data"],["mame/hash/nes_ade.xml",3683,"game_data"],["mame/hash/nes_datach.xml",5512,"game_data"],["mame/hash/nes_kstudio.xml",1679,"game_data"],["mame/hash/nes_ntbrom.xml",1534,"game_data"],["mame/hash/nes_vt_cart.xml",1225,"game_data"],["mame/hash/next.xml",4495,"game_data"],["mame/hash/next_cdrom.xml",2473,"game_data"],["mame/hash/next_hdd.xml",5837,"game_data"],["mame/hash/ngp.xml",6692,"game_data"],["mame/hash/ngpc.xml",69520,"game_data"],["mame/hash/nimbus.xml",14651,"game_data"],["mame/hash/novag_ssensor4.xml",690,"game_data"],["mame/hash/nuon.xml",3452,"game_data"],["mame/hash/octopus.xml",3416,"game_data"],["mame/hash/ondra.xml",4936,"game_data"],["mame/hash/orao.xml",25307,"game_data"],["mame/hash/oric1_cass.xml",201867,"game_data"],["mame/hash/orina_stylish_plus_cart.xml",694,"game_data"],["mame/hash/orion_cart.xml",898,"game_data"],["mame/hash/orion_cass.xml",28871,"game_data"],["mame/hash/orion_flop.xml",42898,"game_data"],["mame/hash/orionpro_flop.xml",12350,"game_data"],["mame/hash/osborne1.xml",10325,"game_data"],["mame/hash/osborne2.xml",2130,"game_data"],["mame/hash/p2000_cart.xml",19726,"game_data"],["mame/hash/p2000_cass.xml",80619,"game_data"],["mame/hash/p500_flop.xml",925,"game_data"],["mame/hash/partner_cass.xml",27737,"game_data"],["mame/hash/partner_flop.xml",890,"game_data"],["mame/hash/pasogo.xml",4088,"game_data"],["mame/hash/pasopia7_cass.xml",1740,"game_data"],["mame/hash/pasopia_cass.xml",3381,"game_data"],["mame/hash/pb2000c.xml",994,"game_data"],["mame/hash/pc1000.xml",5519,"game_data"],["mame/hash/pc100_flop.xml",3563,"game_data"],["mame/hash/pc1512_flop.xml",6358,"game_data"],["mame/hash/pc1512_hdd.xml",511,"game_data"],["mame/hash/pc1640_flop.xml",2796,"game_data"],["mame/hash/pc1640_hdd.xml",572,"game_data"],["mame/hash/pc200.xml",1683,"game_data"],["mame/hash/pc6001_cart.xml",6880,"game_data"],["mame/hash/pc6001_cass.xml",52713,"game_data"],["mame/hash/pc6001mk2_cass.xml",42402,"game_data"],["mame/hash/pc6001mk2_flop.xml",5521,"game_data"],["mame/hash/pc6001mk2sr_cass.xml",8673,"game_data"],["mame/hash/pc6001mk2sr_flop.xml",1876,"game_data"],["mame/hash/pc8201.xml",1733,"game_data"],["mame/hash/pc8801_cass.xml",56042,"game_data"],["mame/hash/pc8801_cdrom.xml",6105,"game_data"],["mame/hash/pc8801_flop.xml",2323906,"game_data"],["mame/hash/pc8801_flop_orig.xml",840,"game_data"],["mame/hash/pc88va.xml",66115,"game_data"],["mame/hash/pc88va_flop_orig.xml",5665,"game_data"],["mame/hash/pc98.xml",3156503,"game_data"],["mame/hash/pc98_cd.xml",496918,"game_data"],["mame/hash/pc98_flop_orig.xml",10051,"game_data"],["mame/hash/pc98_hdd.xml",939,"game_data"],["mame/hash/pcd_flop.xml",2088,"game_data"],["mame/hash/pce.xml",168484,"game_data"],["mame/hash/pcecd.xml",359086,"game_data"],["mame/hash/pcfx.xml",6670,"game_data"],["mame/hash/pcw16.xml",2116,"game_data"],["mame/hash/pcx_flop.xml",7886,"game_data"],["mame/hash/pda600.xml",1050,"game_data"],["mame/hash/pdp1_ptp.xml",2537,"game_data"],["mame/hash/pecom_cass.xml",3816,"game_data"],["mame/hash/pencil2.xml",4876,"game_data"],["mame/hash/pencil2_cass.xml",7881,"game_data"],["mame/hash/pentagon_cass.xml",1246,"game_data"],["mame/hash/pet_cass.xml",106400,"game_data"],["mame/hash/pet_flop.xml",33750,"game_data"],["mame/hash/pet_hdd.xml",1283,"game_data"],["mame/hash/pet_quik.xml",1032,"game_data"],["mame/hash/pet_rom.xml",14809,"game_data"],["mame/hash/phc25_cass.xml",12548,"game_data"],["mame/hash/pi_storyreader_cart.xml",22422,"game_data"],["mame/hash/pi_storyreader_v2_cart.xml",658,"game_data"],["mame/hash/picno.xml",12147,"game_data"],["mame/hash/pico.xml",288031,"game_data"],["mame/hash/pippin.xml",45021,"game_data"],["mame/hash/pippin_flop.xml",750,"game_data"],["mame/hash/pixter_cart.xml",2630,"game_data"],["mame/hash/playmaker.xml",1242,"game_data"],["mame/hash/pls1000_cart.xml",2938,"game_data"],["mame/hash/plus4_cart.xml",10278,"game_data"],["mame/hash/plus4_cass.xml",1191,"game_data"],["mame/hash/plus4_flop.xml",2108,"game_data"],["mame/hash/plus4_quik.xml",951,"game_data"],["mame/hash/pmd85_cass.xml",45145,"game_data"],["mame/hash/pockchalv2.xml",18615,"game_data"],["mame/hash/pockchalw.xml",30826,"game_data"],["mame/hash/pofo.xml",2062,"game_data"],["mame/hash/poisk1_flop.xml",961,"game_data"],["mame/hash/pokemini.xml",19575,"game_data"],["mame/hash/poly_flop.xml",1085,"game_data"],["mame/hash/polysix.xml",889,"game_data"],["mame/hash/popstar_cart.xml",1581,"game_data"],["mame/hash/precur2w_cart.xml",782,"game_data"],["mame/hash/princ.xml",3746,"game_data"],["mame/hash/pro128_cart.xml",1868,"game_data"],["mame/hash/pro128_cass.xml",81276,"game_data"],["mame/hash/pro128_flop.xml",1233,"game_data"],["mame/hash/prof180.xml",1181,"game_data"],["mame/hash/prof80.xml",865,"game_data"],["mame/hash/psi98.xml",1275,"game_data"],["mame/hash/psion1.xml",3874,"game_data"],["mame/hash/psion2.xml",79959,"game_data"],["mame/hash/psion_flop.xml",1096,"game_data"],["mame/hash/psion_quik.xml",5838,"game_data"],["mame/hash/psion_ssd.xml",21905,"game_data"],["mame/hash/psx.xml",3919227,"game_data"],["mame/hash/pt68k2.xml",555,"game_data"],["mame/hash/pv1000.xml",12768,"game_data"],["mame/hash/px4_cart.xml",3064,"game_data"],["mame/hash/px8_cart.xml",7208,"game_data"],["mame/hash/pyl601.xml",5562,"game_data"],["mame/hash/ql_cart.xml",1279,"game_data"],["mame/hash/ql_cass.xml",1897,"game_data"],["mame/hash/ql_flop.xml",2234,"game_data"],["mame/hash/quizwiz.xml",3091,"game_data"],["mame/hash/qx10_flop.xml",3250,"game_data"],["mame/hash/r8_card.xml",4710,"game_data"],["mame/hash/r9751.xml",10712,"game_data"],["mame/hash/radio86_cart.xml",539,"game_data"],["mame/hash/radio86_cass.xml",36046,"game_data"],["mame/hash/rainbow.xml",10136,"game_data"],["mame/hash/ramstar.xml",6165,"game_data"],["mame/hash/roland_tnsc1.xml",4197,"game_data"],["mame/hash/roland_tnsc2.xml",3332,"game_data"],["mame/hash/rwtrntcs.xml",1090,"game_data"],["mame/hash/rz1_cass.xml",2687,"game_data"],["mame/hash/s2000_flop.xml",603,"game_data"],["mame/hash/s3000_cdrom.xml",3926,"game_data"],["mame/hash/sagafox.xml",531,"game_data"],["mame/hash/sage2.xml",4188,"game_data"],["mame/hash/saitek_egr.xml",2069,"game_data"],["mame/hash/saitek_kso.xml",1105,"game_data"],["mame/hash/saitek_schess.xml",1334,"game_data"],["mame/hash/samcoupe_cass.xml",1614,"game_data"],["mame/hash/samcoupe_flop.xml",21118,"game_data"],["mame/hash/sat_cart.xml",6332,"game_data"],["mame/hash/sat_vccart.xml",8717,"game_data"],["mame/hash/saturn.xml",1716943,"game_data"],["mame/hash/sawatte.xml",10312,"game_data"],["mame/hash/sb80_flop.xml",2853,"game_data"],["mame/hash/sbrain.xml",525,"game_data"],["mame/hash/sc3000_cart.xml",16483,"game_data"],["mame/hash/sc3000_cass.xml",19145,"game_data"],["mame/hash/sd132_flop.xml",2596,"game_data"],["mame/hash/sd1_flop.xml",568,"game_data"],["mame/hash/sdk85.xml",1175,"game_data"],["mame/hash/sf7000.xml",10494,"game_data"],["mame/hash/sg1000.xml",118348,"game_data"],["mame/hash/sgi_mips.xml",242357,"game_data"],["mame/hash/sgi_mips_hdd.xml",2337,"game_data"],["mame/hash/sgx.xml",2705,"game_data"],["mame/hash/singingstarkaraoke_cart.xml",1479,"game_data"],["mame/hash/sitcom.xml",6387,"game_data"],["mame/hash/smartcycle_cart.xml",6112,"game_data"],["mame/hash/smarttv_cart.xml",6900,"game_data"],["mame/hash/smc777.xml",71270,"game_data"],["mame/hash/snes.xml",2841229,"game_data"],["mame/hash/snes_bspack.xml",213194,"game_data"],["mame/hash/snes_strom.xml",8678,"game_data"],["mame/hash/snes_vkun.xml",1383,"game_data"],["mame/hash/snotec.xml",8033,"game_data"],["mame/hash/snread.xml",3415,"game_data"],["mame/hash/snspell.xml",5704,"game_data"],["mame/hash/softbox.xml",996,"game_data"],["mame/hash/softwarelist.dtd",2483,"game_data"],["mame/hash/sol20_cass.xml",35251,"game_data"],["mame/hash/sony_news.xml",4134,"game_data"],["mame/hash/sorcerer_cart.xml",7212,"game_data"],["mame/hash/sorcerer_cass.xml",58610,"game_data"],["mame/hash/sorcerer_flop.xml",2033,"game_data"],["mame/hash/spc1000_cass.xml",44923,"game_data"],["mame/hash/spc1500_cass.xml",1620,"game_data"],["mame/hash/special_cass.xml",56426,"game_data"],["mame/hash/special_flop.xml",903,"game_data"],["mame/hash/specnext_sd.xml",1136,"game_data"],["mame/hash/specpls3_flop.xml",813283,"game_data"],["mame/hash/spectrum_betadisc_flop.xml",51683,"game_data"],["mame/hash/spectrum_cart.xml",9023,"game_data"],["mame/hash/spectrum_cass.xml",6897158,"game_data"],["mame/hash/spectrum_flop_opus.xml",30500,"game_data"],["mame/hash/spectrum_mgt_flop.xml",4836,"game_data"],["mame/hash/spectrum_microdrive.xml",28256,"game_data"],["mame/hash/spectrum_wafadrive.xml",701,"game_data"],["mame/hash/sprachmg.xml",4905,"game_data"],["mame/hash/squale_cart.xml",2249,"game_data"],["mame/hash/ssem_quik.xml",4598,"game_data"],["mame/hash/st_cart.xml",3348,"game_data"],["mame/hash/st_flop.xml",210727,"game_data"],["mame/hash/st_flop_demos.xml",3744,"game_data"],["mame/hash/stepone_flop.xml",4628,"game_data"],["mame/hash/studio2.xml",32602,"game_data"],["mame/hash/sun_sparc.xml",4191,"game_data"],["mame/hash/super6.xml",6296,"game_data"],["mame/hash/super80_cass.xml",102426,"game_data"],["mame/hash/super80_flop.xml",1706,"game_data"],["mame/hash/super_tv_pc_cart.xml",3902,"game_data"],["mame/hash/superpet_flop.xml",13019,"game_data"],["mame/hash/supracan.xml",10722,"game_data"],["mame/hash/sv8000.xml",3267,"game_data"],["mame/hash/svi318_cart.xml",4379,"game_data"],["mame/hash/svi318_cass.xml",86966,"game_data"],["mame/hash/svi318_flop.xml",2959,"game_data"],["mame/hash/svision.xml",29557,"game_data"],["mame/hash/svmu.xml",29673,"game_data"],["mame/hash/t1000.xml",7944,"game_data"],["mame/hash/tandy200.xml",1727,"game_data"],["mame/hash/tandy2k.xml",4874,"game_data"],["mame/hash/tandy6k.xml",4732,"game_data"],["mame/hash/tc4.xml",1582,"game_data"],["mame/hash/tdv2324.xml",3160,"game_data"],["mame/hash/tek4052_cart.xml",2734,"game_data"],["mame/hash/telestory_cart.xml",9328,"game_data"],["mame/hash/teradrive_flop.xml",4861,"game_data"],["mame/hash/teradrive_hdd.xml",954,"game_data"],["mame/hash/tg16.xml",37822,"game_data"],["mame/hash/thinkpad8xx.xml",6558,"game_data"],["mame/hash/ti74_cart.xml",1611,"game_data"],["mame/hash/ti95_cart.xml",1071,"game_data"],["mame/hash/tiki100.xml",33003,"game_data"],["mame/hash/timex_cass.xml",53889,"game_data"],["mame/hash/timex_dock.xml",17721,"game_data"],["mame/hash/tmc600_quik.xml",1369,"game_data"],["mame/hash/tntell.xml",2942,"game_data"],["mame/hash/to770_cart.xml",772,"game_data"],["mame/hash/to770a_cart.xml",758,"game_data"],["mame/hash/to7_cart.xml",25832,"game_data"],["mame/hash/to7_cass.xml",305755,"game_data"],["mame/hash/to7_qd.xml",9433,"game_data"],["mame/hash/to8_cass.xml",6669,"game_data"],["mame/hash/to8_qd.xml",3289,"game_data"],["mame/hash/to_flop.xml",545143,"game_data"],["mame/hash/triton_rom.xml",532,"game_data"],["mame/hash/trs80m2.xml",9352,"game_data"],["mame/hash/trsm100.xml",5175,"game_data"],["mame/hash/tsconf.xml",16553,"game_data"],["mame/hash/ttwist_brainquest_cart.xml",682,"game_data"],["mame/hash/turboextreme_cart.xml",607,"game_data"],["mame/hash/tvc_cart.xml",5156,"game_data"],["mame/hash/tvc_cass.xml",97888,"game_data"],["mame/hash/tvc_flop.xml",326997,"game_data"],["mame/hash/tvdear.xml",1842,"game_data"],["mame/hash/tvgogo.xml",5603,"game_data"],["mame/hash/tvochken.xml",16440,"game_data"],["mame/hash/tx0_ptp.xml",6329,"game_data"],["mame/hash/u110_card.xml",8800,"game_data"],["mame/hash/unichamp.xml",1778,"game_data"],["mame/hash/ut88.xml",2584,"game_data"],["mame/hash/uzebox.xml",50778,"game_data"],["mame/hash/v1050_flop.xml",4387,"game_data"],["mame/hash/v1050_hdd.xml",1054,"game_data"],["mame/hash/vbaby_cart.xml",4246,"game_data"],["mame/hash/vboy.xml",23269,"game_data"],["mame/hash/vc4000.xml",17828,"game_data"],["mame/hash/vector06_cart.xml",679,"game_data"],["mame/hash/vector06_flop.xml",7730,"game_data"],["mame/hash/vfxsd_flop.xml",994,"game_data"],["mame/hash/vgmplay.xml",19970196,"game_data"],["mame/hash/vic10.xml",13030,"game_data"],["mame/hash/vic1001_cart.xml",159400,"game_data"],["mame/hash/vic1001_cass.xml",1136,"game_data"],["mame/hash/vic1001_flop.xml",3222,"game_data"],["mame/hash/victor9k_flop.xml",1056,"game_data"],["mame/hash/vidbrain.xml",9944,"game_data"],["mame/hash/videoart.xml",3840,"game_data"],["mame/hash/videopac.xml",107901,"game_data"],["mame/hash/vii.xml",903,"game_data"],["mame/hash/vip.xml",981,"game_data"],["mame/hash/visicom.xml",3074,"game_data"],["mame/hash/vixen.xml",7617,"game_data"],["mame/hash/vsmile_cd.xml",28424,"game_data"],["mame/hash/vsmileb_cart.xml",20217,"game_data"],["mame/hash/vtech2_cass.xml",2383,"game_data"],["mame/hash/vtech_innotab_cart.xml",10101,"game_data"],["mame/hash/vtech_innotv_cart.xml",2019,"game_data"],["mame/hash/vtech_storio_cart.xml",13859,"game_data"],["mame/hash/wangpc.xml",2810,"game_data"],["mame/hash/waveterm.xml",2024,"game_data"],["mame/hash/wicat.xml",10200,"game_data"],["mame/hash/wizard_cart.xml",6438,"game_data"],["mame/hash/wmbullet.xml",1680,"game_data"],["mame/hash/wren_flop.xml",2590,"game_data"],["mame/hash/wscolor.xml",103090,"game_data"],["mame/hash/wswan.xml",145839,"game_data"],["mame/hash/x07_card.xml",698,"game_data"],["mame/hash/x07_cass.xml",51019,"game_data"],["mame/hash/x1_cass.xml",76089,"game_data"],["mame/hash/x1_flop.xml",249940,"game_data"],["mame/hash/x37_flop.xml",6292,"game_data"],["mame/hash/x37_hdd.xml",530,"game_data"],["mame/hash/x68k_flop.xml",1441600,"game_data"],["mame/hash/xerox820.xml",5473,"game_data"],["mame/hash/xerox820ii.xml",4778,"game_data"],["mame/hash/yeno_laptop_cart.xml",1742,"game_data"],["mame/hash/z80clock.xml",9043,"game_data"],["mame/hash/z80ne_cass.xml",42440,"game_data"],["mame/hash/z80ne_flop.xml",30301,"game_data"],["mame/hash/z88_cart.xml",24642,"game_data"],["mame/hash/zorba.xml",33048,"game_data"],["mame/hash/zx80_cass.xml",3169,"game_data"],["mame/hash/zx81_cass.xml",474158,"game_data"],["mame/plugins/README.md",88,"game_data"],["mame/plugins/autofire/autofire_menu.lua",11558,"game_data"],["mame/plugins/autofire/autofire_save.lua",2817,"game_data"],["mame/plugins/autofire/init.lua",3223,"game_data"],["mame/plugins/autofire/plugin.json",162,"game_data"],["mame/plugins/boot.lua",990,"game_data"],["mame/plugins/cheat/cheat_json.lua",198,"game_data"],["mame/plugins/cheat/cheat_simple.lua",10784,"game_data"],["mame/plugins/cheat/cheat_xml.lua",7419,"game_data"],["mame/plugins/cheat/init.lua",26494,"game_data"],["mame/plugins/cheat/plugin.json",149,"game_data"],["mame/plugins/cheat/xml_to_json.lua",252,"game_data"],["mame/plugins/cheatfind/init.lua",35221,"game_data"],["mame/plugins/cheatfind/plugin.json",168,"game_data"],["mame/plugins/commonui/init.lua",5312,"game_data"],["mame/plugins/commonui/plugin.json",154,"game_data"],["mame/plugins/console/init.lua",8744,"game_data"],["mame/plugins/console/plugin.json",153,"game_data"],["mame/plugins/data/button_char.lua",7593,"game_data"],["mame/plugins/data/data_command.lua",635,"game_data"],["mame/plugins/data/data_gameinit.lua",466,"game_data"],["mame/plugins/data/data_hiscore.lua",41388,"game_data"],["mame/plugins/data/data_history.lua",5235,"game_data"],["mame/plugins/data/data_mameinfo.lua",908,"game_data"],["mame/plugins/data/data_marp.lua",3763,"game_data"],["mame/plugins/data/data_messinfo.lua",912,"game_data"],["mame/plugins/data/data_story.lua",792,"game_data"],["mame/plugins/data/data_sysinfo.lua",475,"game_data"],["mame/plugins/data/database.lua",3853,"game_data"],["mame/plugins/data/init.lua",1938,"game_data"],["mame/plugins/data/load_dat.lua",6420,"game_data"],["mame/plugins/data/plugin.json",146,"game_data"],["mame/plugins/discord/init.lua",2881,"game_data"],["mame/plugins/discord/plugin.json",155,"game_data"],["mame/plugins/dummy/init.lua",881,"game_data"],["mame/plugins/dummy/plugin.json",167,"game_data"],["mame/plugins/gdbstub/init.lua",7838,"game_data"],["mame/plugins/gdbstub/plugin.json",154,"game_data"],["mame/plugins/hiscore/hiscore.dat",314161,"game_data"],["mame/plugins/hiscore/init.lua",10287,"game_data"],["mame/plugins/hiscore/plugin.json",167,"game_data"],["mame/plugins/hiscore/sort_hiscore.lua",4447,"game_data"],["mame/plugins/inputmacro/init.lua",3797,"game_data"],["mame/plugins/inputmacro/inputmacro_menu.lua",20962,"game_data"],["mame/plugins/inputmacro/inputmacro_persist.lua",3719,"game_data"],["mame/plugins/inputmacro/plugin.json",171,"game_data"],["mame/plugins/json/LICENSE",1079,"game_data"],["mame/plugins/json/README.md",45,"game_data"],["mame/plugins/json/init.lua",21505,"game_data"],["mame/plugins/json/plugin.json",136,"game_data"],["mame/plugins/keypress/init.lua",1162,"game_data"],["mame/plugins/keypress/plugin.json",195,"game_data"],["mame/plugins/layout/init.lua",2376,"game_data"],["mame/plugins/layout/plugin.json",157,"game_data"],["mame/plugins/offscreenreload/init.lua",2415,"game_data"],["mame/plugins/offscreenreload/offscreenreload_menu.lua",11498,"game_data"],["mame/plugins/offscreenreload/offscreenreload_persist.lua",3471,"game_data"],["mame/plugins/offscreenreload/plugin.json",189,"game_data"],["mame/plugins/plugin.schema",655,"game_data"],["mame/plugins/portname/init.lua",5173,"game_data"],["mame/plugins/portname/plugin.json",170,"game_data"],["mame/plugins/timecode/init.lua",11542,"game_data"],["mame/plugins/timecode/plugin.json",175,"game_data"],["mame/plugins/timer/init.lua",2359,"game_data"],["mame/plugins/timer/plugin.json",161,"game_data"],["mame/plugins/timer/timer_persist.lua",7109,"game_data"],["mame/plugins/vector/init.lua",1443,"game_data"],["mame/plugins/vector/plugin.json",182,"game_data"],["mame/plugins/xml/LICENSE.txt",1061,"game_data"],["mame/plugins/xml/init.lua",12842,"game_data"],["mame/plugins/xml/plugin.json",146,"game_data"],["mame/samples/floppy/35_seek_12ms.wav",26540,"game_data"],["mame/samples/floppy/35_seek_20ms.wav",44144,"game_data"],["mame/samples/floppy/35_seek_2ms.wav",7450,"game_data"],["mame/samples/floppy/35_seek_6ms.wav",22230,"game_data"],["mame/samples/floppy/35_spin_empty.wav",17708,"game_data"],["mame/samples/floppy/35_spin_end.wav",17684,"game_data"],["mame/samples/floppy/35_spin_loaded.wav",17708,"game_data"],["mame/samples/floppy/35_spin_start_empty.wav",17708,"game_data"],["mame/samples/floppy/35_spin_start_loaded.wav",35308,"game_data"],["mame/samples/floppy/35_step_1_1.wav",6878,"game_data"],["mame/samples/floppy/525_seek_12ms.wav",22764,"game_data"],["mame/samples/floppy/525_seek_20ms.wav",30060,"game_data"],["mame/samples/floppy/525_seek_6ms.wav",14860,"game_data"],["mame/samples/floppy/525_spin_empty.wav",8864,"game_data"],["mame/samples/floppy/525_spin_end.wav",8864,"game_data"],["mame/samples/floppy/525_spin_loaded.wav",17708,"game_data"],["mame/samples/floppy/525_spin_start_empty.wav",11180,"game_data"],["mame/samples/floppy/525_spin_start_loaded.wav",17708,"game_data"],["mame/samples/floppy/525_step_1_1.wav",6628,"game_data"],["mame2000/cheat/cheat.dat",7971360,"game_data"],["mame2003-plus/artwork/blueshrk.zip",925914,"game_data"],["mame2003-plus/artwork/dotron.zip",2010009,"game_data"],["mame2003-plus/artwork/frogs.zip",2832731,"game_data"],["mame2003-plus/artwork/invaders.zip",4324198,"game_data"],["mame2003-plus/artwork/omegrace.zip",1754523,"game_data"],["mame2003-plus/artwork/skydiver.zip",117241,"game_data"],["mame2003-plus/artwork/solarq.zip",1342645,"game_data"],["mame2003-plus/artwork/warrior.zip",1125335,"game_data"],["mame2003-plus/cheat.dat",7971360,"game_data"],["mame2003-plus/hiscore.dat",131926,"game_data"],["mame2003-plus/history.dat",38635890,"game_data"],["mame2003-plus/mameinfo.dat",24837237,"game_data"],["mame2003/cheat.dat",7971360,"game_data"],["mame2003/hiscore.dat",215475,"game_data"],["mame2003/history.dat",38635890,"game_data"],["mame2003/mameinfo.dat",24837237,"game_data"],["mame2010/cheat.zip",24981772,"game_data"],["mame2010/hiscore.dat",202298,"game_data"],["mc1502_rom.zip",25819,"bios"],["mc_mk4_hopper.zip",791,"bios"],["mcpx_1.0.bin",512,"bios"],["md_kbd.zip",1044,"bios"],["md_rom_svp.zip",1263,"bios"],["mdisplay3.zip",14234,"bios"],["mg1_kbd_device.zip",740,"bios"],["mga2064w.zip",86678,"bios"],["microtan_kbd_mt009.zip",376,"bios"],["microtouch.zip",41890,"bios"],["midcsd.zip",222,"bios"],["midssio.zip",163,"bios"],["mindset_sound_module.zip",1102,"bios"],["minichif.zip",22917,"bios"],["mks3.zip",2351,"bios"],["mm1kb.zip",499,"bios"],["mm5740.zip",212,"bios"],["mockingboardd.zip",1861,"bios"],["model1io.zip",4700,"bios"],["model1io2.zip",17058,"bios"],["mpcb828.zip",167,"bios"],["mpcb896.zip",168,"bios"],["mpcb963.zip",164,"bios"],["mpcba79.zip",168,"bios"],["mpcbb68.zip",3163,"bios"],["mpcbb92.zip",3163,"bios"],["mpeg_card.bin",524288,"bios"],["mpf1_epb.zip",1497,"bios"],["mpf1_epb_ibp.zip",2667,"bios"],["mpf1_iom_ip.zip",1166,"bios"],["mpf1_prt.zip",2971,"bios"],["mpf1_prt_ip.zip",2760,"bios"],["mpf1_sgb.zip",2402,"bios"],["mpf1_ssb.zip",3448,"bios"],["mpf1_ssb_ip.zip",4164,"bios"],["mpf1_tva_ip.zip",1790,"bios"],["mpf1_vid.zip",2320,"bios"],["mpr-17933.bin",524288,"bios"],["mpr-18100.bin",524288,"bios"],["mpr-18811-mx.ic1",2097152,"bios"],["mpr-19367-mx.ic1",2097152,"bios"],["mps1200.zip",21255,"bios"],["mps1250.zip",26948,"bios"],["mpu401.zip",3573,"bios"],["mr9735_002.zip",542,"bios"],["ms7004.zip",1446,"bios"],["msdsd1.zip",11813,"bios"],["msdsd2.zip",12220,"bios"],["msm6222b01.zip",972,"bios"],["msmt070.zip",202,"bios"],["msmt071.zip",170,"bios"],["msmt081.zip",170,"bios"],["msmt094.zip",110283,"bios"],["msx_cart_bm_012.zip",5300,"bios"],["msx_cart_easispeech.zip",2011,"bios"],["msx_cart_sfg01.zip",10912,"bios"],["msx_cart_sfg05.zip",69473,"bios"],["msx_cart_skw01.zip",111704,"bios"],["msx_cart_sunrise_ataide.zip",158361,"bios"],["msx_moonsound.zip",1922475,"bios"],["mt32-roms/cm32l_control.rom",65536,"bios"],["mt32-roms/mt32_control.rom",65536,"bios"],["mt32-roms/pcm_cm32l.rom",1048576,"bios"],["mt32-roms/pcm_mt32.rom",524288,"bios"],["mtx_cfx.zip",54548,"bios"],["mtx_sdxbas.zip",10404,"bios"],["mtx_sdxcpm.zip",4710,"bios"],["mu5lcd.zip",12098,"bios"],["mulcd.zip",40392,"bios"],["mvme120.zip",47505,"bios"],["mvme121.zip",142638,"bios"],["mvme122.zip",142638,"bios"],["mvme123.zip",142638,"bios"],["mvme147.zip",251991,"bios"],["mvme180.zip",96310,"bios"],["mvme181.zip",127740,"bios"],["mvme187.zip",222085,"bios"],["mvme327a.zip",39770,"bios"],["mvme328.zip",47299,"bios"],["mvme350.zip",8228,"bios"],["mz1e30.zip",13614,"bios"],["mz1p16.zip",3679,"bios"],["mzr8105.zip",10272,"bios"],["nabupc_keyboard.zip",1348,"bios"],["namco50.zip",898,"bios"],["namco51.zip",716,"bios"],["namco52.zip",389,"bios"],["namco53.zip",675,"bios"],["namco54.zip",592,"bios"],["namco62.zip",645,"bios"],["namco_amc.zip",3052,"bios"],["namco_asca1.zip",130552,"bios"],["namco_asca3.zip",130552,"bios"],["namco_asca3a.zip",130552,"bios"],["namco_asca5.zip",130552,"bios"],["namco_csz1.zip",2730,"bios"],["namco_cyberlead.zip",130552,"bios"],["namco_cyberlead_led.zip",80055,"bios"],["namco_cyberleada.zip",130552,"bios"],["namco_emio102.zip",130552,"bios"],["namco_fca10.zip",130552,"bios"],["namco_fca11.zip",130552,"bios"],["namco_fcb.zip",130552,"bios"],["namco_tssio.zip",130552,"bios"],["namco_xmiu1.zip",130552,"bios"],["namcoc65.zip",2163,"bios"],["namcoc67.zip",6552,"bios"],["namcoc68.zip",1721,"bios"],["namcoc69.zip",7771,"bios"],["namcoc70.zip",7822,"bios"],["namcoc71.zip",2756,"bios"],["namcoc74.zip",6936,"bios"],["namcoc75.zip",8709,"bios"],["namcoc76.zip",9579,"bios"],["nanoreseau_mo.zip",1937,"bios"],["nanoreseau_to.zip",1970,"bios"],["nb_aenet.zip",400,"bios"],["nb_amc3b.zip",417,"bios"],["nb_btbug.zip",91614,"bios"],["nb_c264.zip",6489,"bios"],["nb_laserview.zip",4885,"bios"],["nb_m2hr.zip",3538,"bios"],["nb_m2vc.zip",2106,"bios"],["nb_mdc48.zip",6576,"bios"],["nb_pcs8.zip",9570,"bios"],["nb_qdlink.zip",3316,"bios"],["nb_rtpd.zip",1828,"bios"],["nb_sp8s3.zip",23241,"bios"],["nb_spdq.zip",39282,"bios"],["nb_thungx.zip",18290,"bios"],["nb_thungx16.zip",18318,"bios"],["nb_vikbw.zip",2162,"bios"],["nb_wkstn.zip",2715,"bios"],["nb_wspt.zip",2646,"bios"],["ncr53c825_pci.zip",10043,"bios"],["nds7.bin",16384,"bios"],["nds9.bin",4096,"bios"],["nds_sd_card.bin",1048576,"bios"],["neocd.zip",429431,"bios"],["neocd/000-lo.lo",131072,"bios"],["neocd/front-sp1.bin",524288,"bios"],["neocd/neocd.bin",524288,"bios"],["neocd/neocd_f.rom",524288,"bios"],["neocd/neocd_sf.rom",524288,"bios"],["neocd/neocd_st.rom",524288,"bios"],["neocd/neocd_sz.rom",524288,"bios"],["neocd/neocd_t.rom",524288,"bios"],["neocd/neocd_z.rom",524288,"bios"],["neocd/ng-lo.rom",65536,"bios"],["neocd/top-sp1.bin",524288,"bios"],["neocd/uni-bioscd.rom",524288,"bios"],["neocdz.zip",955352,"bios"],["neocdz.zip",1181333,"bios"],["neogeo.zip",1859335,"bios"],["neon250.zip",20999,"bios"],["nes.pal",192,"bios"],["nes_rob.zip",637,"bios"],["nestopia/samples/ftaerobi/00.wav",378030,"game_data"],["nestopia/samples/ftaerobi/01.wav",145582,"game_data"],["nestopia/samples/ftaerobi/02.wav",114606,"game_data"],["nestopia/samples/ftaerobi/03.wav",311470,"game_data"],["nestopia/samples/ftaerobi/04.wav",94382,"game_data"],["nestopia/samples/ftaerobi/05.wav",95404,"game_data"],["nestopia/samples/ftaerobi/06.wav",98476,"game_data"],["nestopia/samples/ftaerobi/07.wav",90284,"game_data"],["nestopia/samples/moepro/00.wav",60848,"game_data"],["nestopia/samples/moepro/01.wav",37296,"game_data"],["nestopia/samples/moepro/02.wav",45742,"game_data"],["nestopia/samples/moepro/03.wav",75950,"game_data"],["nestopia/samples/moepro/04.wav",59056,"game_data"],["nestopia/samples/moepro/05.wav",52402,"game_data"],["nestopia/samples/moepro/06.wav",25644,"game_data"],["nestopia/samples/moepro/07.wav",58796,"game_data"],["nestopia/samples/moepro/08.wav",61104,"game_data"],["nestopia/samples/moepro/09.wav",79024,"game_data"],["nestopia/samples/moepro/10.wav",55986,"game_data"],["nestopia/samples/moepro/11.wav",59310,"game_data"],["nestopia/samples/moepro/12.wav",33198,"game_data"],["nestopia/samples/moepro/13.wav",49714,"game_data"],["nestopia/samples/moepro/14.wav",35246,"game_data"],["nestopia/samples/moepro/15.wav",267952,"game_data"],["nestopia/samples/moepro88/00.wav",25132,"game_data"],["nestopia/samples/moepro88/01.wav",29874,"game_data"],["nestopia/samples/moepro88/02.wav",25454,"game_data"],["nestopia/samples/moepro88/03.wav",26028,"game_data"],["nestopia/samples/moepro88/04.wav",36144,"game_data"],["nestopia/samples/moepro88/05.wav",35884,"game_data"],["nestopia/samples/moepro88/06.wav",34990,"game_data"],["nestopia/samples/moepro88/07.wav",49580,"game_data"],["nestopia/samples/moepro88/08.wav",49966,"game_data"],["nestopia/samples/moepro88/09.wav",49716,"game_data"],["nestopia/samples/moepro88/10.wav",56752,"game_data"],["nestopia/samples/moepro88/11.wav",58542,"game_data"],["nestopia/samples/moepro88/12.wav",34994,"game_data"],["nestopia/samples/moepro88/13.wav",31410,"game_data"],["nestopia/samples/moepro88/14.wav",128176,"game_data"],["nestopia/samples/moepro88/15.wav",26416,"game_data"],["nestopia/samples/moepro88/16.wav",44,"game_data"],["nestopia/samples/moepro88/17.wav",25390,"game_data"],["nestopia/samples/moepro88/18.wav",28590,"game_data"],["nestopia/samples/moepro88/19.wav",269490,"game_data"],["nestopia/samples/mptennis/00.wav",44,"game_data"],["nestopia/samples/mptennis/01.wav",44,"game_data"],["nestopia/samples/mptennis/02.wav",58796,"game_data"],["nestopia/samples/mptennis/03.wav",57260,"game_data"],["nestopia/samples/mptennis/04.wav",42412,"game_data"],["nestopia/samples/mptennis/05.wav",39724,"game_data"],["nestopia/samples/mptennis/06.wav",82732,"game_data"],["nestopia/samples/mptennis/07.wav",58028,"game_data"],["nestopia/samples/mptennis/08.wav",66732,"game_data"],["nestopia/samples/mptennis/09.wav",57132,"game_data"],["nestopia/samples/mptennis/10.wav",50860,"game_data"],["nestopia/samples/mptennis/11.wav",53490,"game_data"],["nestopia/samples/mptennis/12.wav",54572,"game_data"],["nestopia/samples/mptennis/13.wav",271406,"game_data"],["nestopia/samples/mptennis/14.wav",46510,"game_data"],["nestopia/samples/mptennis/15.wav",41900,"game_data"],["nestopia/samples/mptennis/16.wav",47532,"game_data"],["nestopia/samples/mptennis/17.wav",31664,"game_data"],["nestopia/samples/mptennis/18.wav",58924,"game_data"],["nestopia/samples/mptennis/19.wav",44,"game_data"],["nestopia/samples/terao/00.wav",90798,"game_data"],["nestopia/samples/terao/01.wav",54700,"game_data"],["nestopia/samples/terao/02.wav",48044,"game_data"],["nestopia/samples/terao/03.wav",83634,"game_data"],["nestopia/samples/terao/04.wav",77740,"game_data"],["nestopia/samples/terao/05.wav",80812,"game_data"],["newbrain_eim.zip",24763,"bios"],["newbrain_fdc.zip",128088,"bios"],["nlq401.zip",7554,"bios"],["nmk004.zip",3556,"bios"],["nokia_crtc186.zip",5203,"bios"],["novell_dcb.zip",3425,"bios"],["np2/2608_bd.wav",19192,"bios"],["np2/2608_hh.wav",36722,"bios"],["np2/2608_rim.wav",5288,"bios"],["np2/2608_sd.wav",15558,"bios"],["np2/2608_tom.wav",23092,"bios"],["np2/2608_top.wav",57016,"bios"],["np2/bios.rom",98304,"bios"],["np2/bios9821.rom",8192,"bios"],["np2/font.bmp",524350,"bios"],["np2/sasi.rom",4096,"bios"],["np2/scsi.rom",8192,"bios"],["np2/sound.rom",16384,"bios"],["np2kai/2608_BD.WAV",19192,"bios"],["np2kai/2608_HH.WAV",36722,"bios"],["np2kai/2608_RIM.WAV",5288,"bios"],["np2kai/2608_SD.WAV",15558,"bios"],["np2kai/2608_TOM.WAV",23092,"bios"],["np2kai/2608_TOP.WAV",57016,"bios"],["np2kai/FONT.ROM",288768,"bios"],["np2kai/bios.rom",98304,"bios"],["np2kai/font.bmp",524350,"bios"],["np2kai/ide.rom",8192,"bios"],["np2kai/itf.rom",32768,"bios"],["np2kai/pci.rom",32768,"bios"],["np2kai/sasi.rom",4096,"bios"],["np2kai/scsi.rom",8192,"bios"],["np2kai/sound.rom",16384,"bios"],["np600a3.zip",8089,"bios"],["nss_tvinterface.zip",17125,"bios"],["nxengine/Doukutsu.exe",1478656,"game_data"],["nxengine/data/npc.tbl",8664,"game_data"],["nxengine/data/sprites.sif",59482,"game_data"],["nxengine/tilekey.dat",1028,"game_data"],["o2rom.bin",1024,"bios"],["omniwave.zip",880710,"bios"],["omti8621isa.zip",13582,"bios"],["openbios.bin",524288,"bios"],["opera-boot.bin",131072,"bios"],["oric_jasmin.zip",471,"bios"],["oric_microdisc.zip",3254,"bios"],["osa_analyst.zip",348004,"bios"],["osa_bforce.zip",26799,"bios"],["osa_maestro.zip",324479,"bios"],["osa_maestroa.zip",47396,"bios"],["osa_sparc.zip",348745,"bios"],["oti64111_pci.zip",19135,"bios"],["p1_fdc.zip",6158,"bios"],["p1_hdc.zip",6372,"bios"],["p1_rom.zip",5821,"bios"],["p72.zip",351169,"bios"],["pa7246.zip",63947,"bios"],["palmos40-en-m500.rom",2359296,"bios"],["palmos41-en-m515.rom",4194304,"bios"],["palmos52-en-t3.rom",16777216,"bios"],["palmos60-en-t3.rom",16777216,"bios"],["panafz1-kanji.bin",933636,"bios"],["panafz1.bin",1048576,"bios"],["panafz10-norsa.bin",1048576,"bios"],["panafz10.bin",1048576,"bios"],["panafz10e-anvil-norsa.bin",1048576,"bios"],["panafz10e-anvil.bin",1048576,"bios"],["panafz10ja-anvil-kanji.bin",1048576,"bios"],["panafz1j-kanji.bin",1048576,"bios"],["panafz1j-norsa.bin",1048576,"bios"],["panafz1j.bin",1048576,"bios"],["partner_gdp.zip",1917,"bios"],["pc1512kb.zip",733,"bios"],["pc1640_iga.zip",8824,"bios"],["pc6022.zip",3694,"bios"],["pc80s31.zip",3242,"bios"],["pc80s31k.zip",7153,"bios"],["pc88va2_fd_if.zip",3891,"bios"],["pc9801_14.zip",5571,"bios"],["pc9801_26.zip",36650,"bios"],["pc9801_27.zip",2700,"bios"],["pc9801_55l.zip",4654,"bios"],["pc9801_55u.zip",4653,"bios"],["pc9801_86.zip",22165,"bios"],["pc98_fdd_2dd.zip",1959,"bios"],["pc98_fdd_2hd.zip",2702,"bios"],["pc98_otomichan_kai.zip",116066,"bios"],["pcd_kbd.zip",2572,"bios"],["pcd_video.zip",612,"bios"],["pcfx.rom",1048576,"bios"],["pcfxbios.bin",1048576,"bios"],["pcfxga.rom",1048576,"bios"],["pcfxv101.bin",1048576,"bios"],["pcsx2/bios/SCPH-10000.MEC",4,"bios"],["pcsx2/bios/SCPH-10000.bin",4194304,"bios"],["pcsx2/bios/SCPH-30004R.bin",4194304,"bios"],["pcsx2/bios/SCPH-39001.bin",4194304,"bios"],["pcsx2/bios/SCPH-50009_BIOS_V10_CHN_190.BIN",4194304,"bios"],["pcsx2/bios/SCPH-50009_BIOS_V10_CHN_190.NVM",1024,"bios"],["pcsx2/bios/SCPH-50009_BIOS_V10_CHN_190.ROM1",524288,"bios"],["pcsx2/bios/SCPH-50009_BIOS_V10_CHN_190.ROM2",524288,"bios"],["pcsx2/bios/SCPH-70004.BIN",4194304,"bios"],["pcsx2/bios/SCPH-70004.ROM1",524288,"bios"],["pcsx2/bios/SCPH-70006_BIOS_V12_HK_200.NVM",1024,"bios"],["pcsx2/bios/SCPH-70008_BIOS_V12_RUS_200.BIN",4194304,"bios"],["pcsx2/bios/SCPH-70008_BIOS_V12_RUS_200.NVM",1024,"bios"],["pcsx2/bios/SCPH-75008_BIOS_V14_RUS_220.NVM",1024,"bios"],["pcsx2/bios/SCPH-77008_BIOS_V15_RUS_220.NVM",1024,"bios"],["pcsx2/bios/SCPH-90006_BIOS_VX_HK _230.NVM",1024,"bios"],["pcsx2/bios/SCPH-90006_BIOS_VX_HK _230.ROM1",524288,"bios"],["pcsx2/bios/SCPH30004R.nvm",1024,"bios"],["pcsx2/bios/ps2-0100j-20000117.bin",4194304,"bios"],["pcsx2/bios/ps2-0100jd-20000117.bin",4194304,"bios"],["pcsx2/bios/ps2-0101j-20000217.bin",4194304,"bios"],["pcsx2/bios/ps2-0101jd-20000217.bin",4194304,"bios"],["pcsx2/bios/ps2-0101xd-20000224.bin",4194304,"bios"],["pcsx2/bios/ps2-0110a-20000727.bin",4194304,"bios"],["pcsx2/bios/ps2-0110ad-20000727.bin",4194304,"bios"],["pcsx2/bios/ps2-0120a-20000902.bin",4194304,"bios"],["pcsx2/bios/ps2-0120e-20000902.bin",4194304,"bios"],["pcsx2/bios/ps2-0120ed-20000902-20030110.bin",4194304,"bios"],["pcsx2/bios/ps2-0120ed-20000902.bin",4194304,"bios"],["pcsx2/bios/ps2-0120j-20001027-185015.bin",4194304,"bios"],["pcsx2/bios/ps2-0120j-20001027-191435.bin",4194304,"bios"],["pcsx2/bios/ps2-0150a-20001228.bin",4194304,"bios"],["pcsx2/bios/ps2-0150ad-20001228-20030520.bin",4194304,"bios"],["pcsx2/bios/ps2-0150e-20001228.bin",4194304,"bios"],["pcsx2/bios/ps2-0150ed-20001228-20030520.bin",4194304,"bios"],["pcsx2/bios/ps2-0150j-20010118.bin",4194304,"bios"],["pcsx2/bios/ps2-0150jd-20010118.bin",4194304,"bios"],["pcsx2/bios/ps2-0160a-20010427.bin",4194304,"bios"],["pcsx2/bios/ps2-0160a-20010704.bin",4194304,"bios"],["pcsx2/bios/ps2-0160a-20011004.bin",4194304,"bios"],["pcsx2/bios/ps2-0160a-20020207.bin",4194304,"bios"],["pcsx2/bios/ps2-0160e-20010704.bin",4194304,"bios"],["pcsx2/bios/ps2-0160e-20011004.bin",4194304,"bios"],["pcsx2/bios/ps2-0160e-20020319.bin",4194304,"bios"],["pcsx2/bios/ps2-0160e-20020426.bin",4194304,"bios"],["pcsx2/bios/ps2-0160h-20010730.bin",4194304,"bios"],["pcsx2/bios/ps2-0160h-20020426.bin",4194304,"bios"],["pcsx2/bios/ps2-0160h-20030602.bin",4194304,"bios"],["pcsx2/bios/ps2-0160j-20010427.bin",4194304,"bios"],["pcsx2/bios/ps2-0160j-20011004.bin",4194304,"bios"],["pcsx2/bios/ps2-0160j-20020426.bin",4194304,"bios"],["pcsx2/bios/ps2-0170a-20030325.bin",4194304,"bios"],["pcsx2/bios/ps2-0170ad-20030325.bin",4194304,"bios"],["pcsx2/bios/ps2-0170e-20030227.bin",4194304,"bios"],["pcsx2/bios/ps2-0170ed-20030227.bin",4194304,"bios"],["pcsx2/bios/ps2-0170j-20030206.bin",4194304,"bios"],["pcsx2/bios/ps2-0170jd-20030206.bin",4194304,"bios"],["pcsx2/bios/ps2-0180cd-20030224.bin",4194304,"bios"],["pcsx2/bios/ps2-0180j-20031028.bin",4194304,"bios"],["pcsx2/bios/ps2-0190a-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190a-20040329.bin",4194304,"bios"],["pcsx2/bios/ps2-0190ad-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190c-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190cd-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190e-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190e-20030822.bin",4194304,"bios"],["pcsx2/bios/ps2-0190h-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190j-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190j-20030822.bin",4194304,"bios"],["pcsx2/bios/ps2-0190k-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0190r-20030623.bin",4194304,"bios"],["pcsx2/bios/ps2-0200a-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0200ad-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0200e-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0200ed-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0200h-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0200j-20040614.bin",4194304,"bios"],["pcsx2/bios/ps2-0210j-20040917.bin",4194304,"bios"],["pcsx2/bios/ps2-0220a-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220a-20060210.bin",4194304,"bios"],["pcsx2/bios/ps2-0220a-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0220ad-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220ad-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0220e-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220e-20060210.bin",4194304,"bios"],["pcsx2/bios/ps2-0220e-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0220h-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220h-20060210.bin",4194304,"bios"],["pcsx2/bios/ps2-0220h-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0220j-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220j-20060210.bin",4194304,"bios"],["pcsx2/bios/ps2-0220j-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0220jd-20050620.bin",4194304,"bios"],["pcsx2/bios/ps2-0220jd-20060905.bin",4194304,"bios"],["pcsx2/bios/ps2-0230a-20080220.bin",4194304,"bios"],["pcsx2/bios/ps2-0230a-20080220.nvm",1024,"bios"],["pcsx2/bios/ps2-0230e-20080220.bin",4194304,"bios"],["pcsx2/bios/ps2-0230h-20080220.bin",4194304,"bios"],["pcsx2/bios/ps2-0230j-20080220.bin",4194304,"bios"],["pcsx2/bios/ps2-0250e-20100415.bin",4194304,"bios"],["pcsx2/bios/ps2-0250j-20100415.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-110u.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-120e.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-120u.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-130e.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-130u.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-200j.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-210e.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-210j.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-210u.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-212g.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-212u.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-213e.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-215g.bin",2097152,"bios"],["pcsx2/bios/ps2-dvd-300e.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-300u.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-302c.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-302e.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-302u.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-310.bin",4194304,"bios"],["pcsx2/bios/ps2-dvd-311.bin",4194304,"bios"],["pcsx2/bios/ps2_scph50006.bin",4194304,"bios"],["pcsx2/bios/ps2_scph50008.bin",4194304,"bios"],["pcsx2/bios/scph30004fr.nvm",1024,"bios"],["pcsx2/bios/scph39001.nvm",1024,"bios"],["pcsx2/resources/GameIndex.yaml",1737799,"bios"],["pcx_video.zip",8874,"bios"],["pd32.zip",998,"bios"],["pd3_30hr.zip",4685,"bios"],["pd3_c264.zip",5773,"bios"],["pd3_lviw.zip",4760,"bios"],["pd3_mclr.zip",4568,"bios"],["pd3_pc16.zip",8246,"bios"],["pdc20262.zip",14359,"bios"],["pdc20268.zip",9340,"bios"],["pds30_emac.zip",346,"bios"],["pds_sefp.zip",14387,"bios"],["pdslc_macconlc.zip",419,"bios"],["pencil2_coleco.zip",5795,"bios"],["permedia2.zip",138948,"bios"],["pet_superpet.zip",15774,"bios"],["pg200.zip",549,"bios"],["plg100_vl.zip",333318,"bios"],["plg150_ap.zip",11733949,"bios"],["plus2-0.rom",16384,"bios"],["plus2-1.rom",16384,"bios"],["plus3-0.rom",16384,"bios"],["plus3-1.rom",16384,"bios"],["plus3-2.rom",16384,"bios"],["plus3-3.rom",16384,"bios"],["plus3e-0.rom",16384,"bios"],["plus3e-1.rom",16384,"bios"],["plus3e-2.rom",16384,"bios"],["plus3e-3.rom",16384,"bios"],["plusd.rom",8192,"bios"],["plutonia.wad",17420824,"game_data"],["polyvti.zip",859,"bios"],["pr8210.zip",2012,"bios"],["prav8ckb.zip",1204,"bios"],["prboom.wad",143312,"bios"],["profighterq.zip",11314,"bios"],["profighterqa.zip",17554,"bios"],["profighterqb.zip",62747,"bios"],["profighterx.zip",24041,"bios"],["promotion3210.zip",18077,"bios"],["ps1_rom.bin",524288,"bios"],["ps2_desr5000.bin",4194304,"bios"],["ps2_desr5500.bin",4194304,"bios"],["ps2_dtlh10000_0117.bin",4194304,"bios"],["ps2_dtlh10000_0217.bin",4194304,"bios"],["ps2_dtlh10000_0224.bin",4194304,"bios"],["ps2_dtlh30000.bin",4194304,"bios"],["ps2_dtlh30001.bin",4194304,"bios"],["ps2_dtlh30002.bin",4194304,"bios"],["ps2_dtlh30101.bin",4194304,"bios"],["ps2_dtlh30102_0902.bin",4194304,"bios"],["ps2_dtlh30102_1228.bin",4194304,"bios"],["ps2_dtlh50000.bin",4194304,"bios"],["ps2_dtlh50001_0325.bin",4194304,"bios"],["ps2_dtlh50001_0623.bin",4194304,"bios"],["ps2_dtlh50002.bin",4194304,"bios"],["ps2_dtlh50009.bin",4194304,"bios"],["ps2_dtlh70002.bin",4194304,"bios"],["ps2_dtlh75000.bin",4194304,"bios"],["ps2_dtlh75000a.bin",4194304,"bios"],["ps2_dtlh90000_a.bin",4194304,"bios"],["ps2_dtlh90000_j.bin",4194304,"bios"],["ps2_kdl22px300.bin",4194304,"bios"],["ps2_keybc.zip",3537,"bios"],["ps2_scph10000_0117.bin",4194304,"bios"],["ps2_scph10000_15000.bin",4194304,"bios"],["ps2_scph18000.bin",524288,"bios"],["ps2_scph18000_gh003.bin",4194304,"bios"],["ps2_scph18000_gh008.bin",4194304,"bios"],["ps2_scph30000_0427.bin",4194304,"bios"],["ps2_scph30000_35000.bin",4194304,"bios"],["ps2_scph30001_0727.bin",4194304,"bios"],["ps2_scph30001_0902.bin",4194304,"bios"],["ps2_scph30001_35001.bin",4194304,"bios"],["ps2_scph30001r_0427.bin",4194304,"bios"],["ps2_scph30001r_0704.bin",4194304,"bios"],["ps2_scph30001r_1004.bin",4194304,"bios"],["ps2_scph30002_0902.bin",4194304,"bios"],["ps2_scph30002_1228.bin",4194304,"bios"],["ps2_scph30002r_0704.bin",4194304,"bios"],["ps2_scph30002r_1004.bin",4194304,"bios"],["ps2_scph30003.bin",524288,"bios"],["ps2_scph30005r.bin",4194304,"bios"],["ps2_scph37000_39000.bin",4194304,"bios"],["ps2_scph39001.bin",4194304,"bios"],["ps2_scph39002.bin",4194304,"bios"],["ps2_scph39005.bin",4194304,"bios"],["ps2_scph39008.bin",4194304,"bios"],["ps2_scph50000_0822.bin",4194304,"bios"],["ps2_scph50000_55000.bin",4194304,"bios"],["ps2_scph50001_0325.bin",4194304,"bios"],["ps2_scph50001_0623.bin",4194304,"bios"],["ps2_scph50002_0227.bin",4194304,"bios"],["ps2_scph50002_0623.bin",4194304,"bios"],["ps2_scph50004_0822.bin",4194304,"bios"],["ps2_scph50005.bin",4194304,"bios"],["ps2_scph50006.bin",4194304,"bios"],["ps2_scph50008.bin",4194304,"bios"],["ps2_scph50009.bin",4194304,"bios"],["ps2_scph50011.bin",4194304,"bios"],["ps2_scph55000_0623.bin",4194304,"bios"],["ps2_scph70000.bin",4194304,"bios"],["ps2_scph70001.bin",4194304,"bios"],["ps2_scph70002.bin",4194304,"bios"],["ps2_scph70002_alt.bin",524288,"bios"],["ps2_scph70005.bin",4194304,"bios"],["ps2_scph75000.bin",4194304,"bios"],["ps2_scph75001.bin",4194304,"bios"],["ps2_scph75002.bin",4194304,"bios"],["ps2_scph75006.bin",4194304,"bios"],["ps2_scph77000.bin",4194304,"bios"],["ps2_scph77001.bin",4194304,"bios"],["ps2_scph77002.bin",4194304,"bios"],["ps2_scph77006.bin",4194304,"bios"],["ps2_scph79000_90000.bin",4194304,"bios"],["ps2_scph79001_90001.bin",4194304,"bios"],["ps2_scph79002_90002.bin",4194304,"bios"],["ps2_scph79006_90006.bin",4194304,"bios"],["ps2_scph90000_0220.bin",4194304,"bios"],["ps2_scph90001_0220.bin",4194304,"bios"],["ps2_scph90002_0220.bin",4194304,"bios"],["ps2_scph90005_0220.bin",4194304,"bios"],["psion_3fax.zip",394842,"bios"],["psion_3link_ser.zip",50609,"bios"],["psx_cd.zip",222667,"bios"],["psxgboost.zip",179516,"bios"],["psxonpsp660.bin",524288,"bios"],["pvga1a.zip",65692,"bios"],["pvga1a_jk.zip",103539,"bios"],["px320a.zip",1092458,"bios"],["qg640.zip",75366,"bios"],["ql_cumanafdi.zip",16173,"bios"],["ql_gold.zip",66339,"bios"],["ql_kdi.zip",6387,"bios"],["ql_mhd.zip",5988,"bios"],["ql_mpfdi.zip",5067,"bios"],["ql_opdbm.zip",27486,"bios"],["ql_pcmlqdi.zip",10237,"bios"],["ql_qldisc.zip",13083,"bios"],["ql_qplus4.zip",597,"bios"],["ql_qubide.zip",30514,"bios"],["ql_sdisk.zip",8903,"bios"],["ql_sqboard256.zip",541045,"bios"],["ql_sqboard512.zip",541045,"bios"],["ql_sqmouse.zip",61242,"bios"],["ql_sqmouse512.zip",541045,"bios"],["ql_trump.zip",121019,"bios"],["ql_trump256.zip",121019,"bios"],["ql_trump512.zip",121019,"bios"],["ql_trump768.zip",121019,"bios"],["qsound.zip",2654,"bios"],["qsound_hle.zip",2676,"bios"],["qts1.zip",25174,"bios"],["quadro.zip",51307,"bios"],["quasi88/N88EXT0.ROM",8192,"bios"],["quasi88/N88EXT1.ROM",8192,"bios"],["quasi88/N88EXT2.ROM",8192,"bios"],["quasi88/N88EXT3.ROM",8192,"bios"],["quasi88/disk.rom",2048,"bios"],["quasi88/font.rom",2048,"bios"],["quasi88/font2.rom",2048,"bios"],["quasi88/font3.rom",2048,"bios"],["quasi88/n88.rom",32768,"bios"],["quasi88/n88_0.rom",8192,"bios"],["quasi88/n88_1.rom",8192,"bios"],["quasi88/n88_2.rom",8192,"bios"],["quasi88/n88_3.rom",8192,"bios"],["quasi88/n88jisho.rom",524288,"bios"],["quasi88/n88knj1.rom",131072,"bios"],["quasi88/n88knj2.rom",131072,"bios"],["quasi88/n88n.rom",32768,"bios"],["quoth/pak0.pak",48226771,"game_data"],["quoth/pak1.pak",84961704,"game_data"],["quoth/pak2.pak",8021749,"game_data"],["qvision_wavestar.zip",4834,"bios"],["qx10_keyboard_ascii.zip",963,"bios"],["qx10_keyboard_hasci.zip",963,"bios"],["rageiidvd.zip",74874,"bios"],["rc2014_micro.zip",12592,"bios"],["rc2014_mini_cpm.zip",23836,"bios"],["rc2014_pagable_rom.zip",34021,"bios"],["rc2014_rom_ram_512k.zip",2572870,"bios"],["rc2014_switchable_rom.zip",42387,"bios"],["riva128.zip",60632,"bios"],["riva128zx.zip",59311,"bios"],["rivatnt.zip",82626,"bios"],["rivatnt2.zip",46394,"bios"],["rivatnt2_m64.zip",272160,"bios"],["rivatnt2_ultra.zip",24007,"bios"],["rm_mq2.zip",6064,"bios"],["robotron_k7070.zip",15464,"bios"],["robotron_k7071.zip",4152,"bios"],["rolm_pdc.zip",8595,"bios"],["rolm_smioc.zip",6192,"bios"],["rom.db",17742,"bios"],["rom.key",2069,"bios"],["roms/a2090a-combitec-turbo.rom",32768,"bios"],["roms/a2090a.rom",16384,"bios"],["roms/a2090b-combitec-turbo.rom",32768,"bios"],["roms/a2090b-combitec.rom",32768,"bios"],["roms/a2090b-macrosystem.rom",32768,"bios"],["roms/a2620-a2630-01.rom",65536,"bios"],["roms/a2620-a2630-02.rom",65536,"bios"],["roms/a2620-a2630-03.rom",65536,"bios"],["roms/a2620-a2630-04.rom",65536,"bios"],["roms/a2620-a2630-06.rom",65536,"bios"],["roms/a2620-a2630-07.rom",65536,"bios"],["roms/a4091-v40.13.rom",32768,"bios"],["roms/a4091-v40.4.rom",32768,"bios"],["roms/a4091-v40.9.rom",32768,"bios"],["roms/a590-a2091-guru-rom-v6.14.rom",32768,"bios"],["roms/a590-a2091-v4.4.rom",16384,"bios"],["roms/a590-a2091-v4.6.rom",16384,"bios"],["roms/a590-a2091-v5.92.rom",16384,"bios"],["roms/a590-a2091-v6.0.rom",16384,"bios"],["roms/a590-a2091-v6.1.rom",16384,"bios"],["roms/a590-a2091-v6.6.rom",16384,"bios"],["roms/a590-a2091-v7.0.rom",16384,"bios"],["roms/accessx-2000-v2.1.rom",32768,"bios"],["roms/accessx-500-2000-v2.1-descrambled.rom",32768,"bios"],["roms/accessx-500-v2.1.rom",32768,"bios"],["roms/action-cartridge-super-iv-pro-rom-v4.3.rom",170368,"bios"],["roms/action-replay-1200.rom",262144,"bios"],["roms/action-replay-mk-i-v1.00.rom",65536,"bios"],["roms/action-replay-mk-i-v1.50.rom",65536,"bios"],["roms/action-replay-mk-ii-v2.05.rom",131072,"bios"],["roms/action-replay-mk-ii-v2.12.rom",131072,"bios"],["roms/action-replay-mk-ii-v2.14.rom",131072,"bios"],["roms/action-replay-mk-iii-v3.09.rom",262144,"bios"],["roms/action-replay-mk-iii-v3.17.rom",262144,"bios"],["roms/adide-40-44-v33.rom",16384,"bios"],["roms/adide-40-44-v34.rom",16384,"bios"],["roms/alf-2.rom",65536,"bios"],["roms/alfapower-v6.10.rom",32768,"bios"],["roms/alfapower-v8.2.rom",32768,"bios"],["roms/alfapower-v8.3.rom",32768,"bios"],["roms/apollo-1240-1260.rom",131072,"bios"],["roms/apollo-500-2000.rom",16384,"bios"],["roms/archos-add-500.rom",16384,"bios"],["roms/archos-overdrive-hd-v5.0.rom",32768,"bios"],["roms/ashcom-design-addhard-v2.0.rom",16384,"bios"],["roms/blizzard-1230-i-ii.rom",32768,"bios"],["roms/blizzard-1230-iii.rom",32768,"bios"],["roms/blizzard-1230-iv.rom",32768,"bios"],["roms/blizzard-1240-1260.rom",32768,"bios"],["roms/blizzard-2060-v7.25.rom",65536,"bios"],["roms/blizzard-2060-v8.2.rom",65536,"bios"],["roms/blizzard-2060-v8.5.rom",65536,"bios"],["roms/blizzard-scsi-kit-iii.rom",65536,"bios"],["roms/blizzard-scsi-kit-iv.rom",32768,"bios"],["roms/buddha-v103.17.rom",32768,"bios"],["roms/c-ltd-kronos.rom",8192,"bios"],["roms/california-access-malibu-v1.0.rom",8192,"bios"],["roms/combitec-hd20a-hd40a.rom",32768,"bios"],["roms/comspec-sa-series-v34.805.rom",16384,"bios"],["roms/csa-magnum-040.rom",65536,"bios"],["roms/csa-twelve-gauge.rom",32768,"bios"],["roms/cyberstorm-mk-i-68060-support.rom",32768,"bios"],["roms/cyberstorm-mk-i-cyberscsi-module.rom",32768,"bios"],["roms/dkb-1230-1240-cobra-plus-ferret-v1.23.rom",12060,"bios"],["roms/dkb-1230-1240-cobra.rom",1460,"bios"],["roms/dkb-rapidfire-spitfire-v1.31.rom",11284,"bios"],["roms/dkb-wildfire-v1.1.rom",18352,"bios"],["roms/elsat-mega-ram-hd.rom",16384,"bios"],["roms/evesham-micros-reference.rom",65536,"bios"],["roms/expansion-systems-dataflyerplus-v1.5.rom",32768,"bios"],["roms/expansion-systems-dataflyerplus-v1.7.rom",32768,"bios"],["roms/expansion-systems-dataflyerplus-v2.0.rom",32768,"bios"],["roms/expansion-systems-dataflyerplus-v2.1.rom",32768,"bios"],["roms/fastlane.rom",32768,"bios"],["roms/fusion-forty.rom",131072,"bios"],["roms/gvp-a1230-turboplus-series-ii-v5.0.rom",16384,"bios"],["roms/gvp-a1230-turboplus.rom",16384,"bios"],["roms/gvp-a3001-series-i.rom",8192,"bios"],["roms/gvp-series-i-ii-v3.15.rom",16384,"bios"],["roms/gvp-series-i-ii-v3.7.rom",16384,"bios"],["roms/gvp-series-i-v1.0.rom",16384,"bios"],["roms/gvp-series-i-v3.7.rom",16384,"bios"],["roms/gvp-series-ii-guru-rom.rom",32624,"bios"],["roms/gvp-series-ii-v4.13.rom",16384,"bios"],["roms/gvp-series-ii-v4.15.rom",16384,"bios"],["roms/hardital-dotto.rom",32768,"bios"],["roms/hardital-synthesis-v48.5.rom",32768,"bios"],["roms/hardital-synthesis-v53.1.rom",32768,"bios"],["roms/hardital-tqm.rom",32768,"bios"],["roms/harms-3000-professional.rom",65536,"bios"],["roms/icd-adscsi-2000-v1.6-icddisk-v1.0.rom",32768,"bios"],["roms/icd-adscsi-2000-v2.01-icddisk-v32.1.rom",32768,"bios"],["roms/icd-adscsi-2000-v2.1-icddisk-v33.0.rom",32768,"bios"],["roms/icd-adscsi-2000-v2.2-icddisk-v34.0.rom",32768,"bios"],["roms/ivs-grandslam-trumpcard-pro-v4.9.rom",16384,"bios"],["roms/ivs-trumpcard-v1.5.rom",8192,"bios"],["roms/ivs-trumpcard-v3.1.rom",8192,"bios"],["roms/ivs-trumpcard-v4.9.rom",16384,"bios"],["roms/ivs-vector-4.14.rom",65536,"bios"],["roms/kommos-a500-a2000-v1.7.rom",32768,"bios"],["roms/kommos-a500-a2000-v1.8.rom",32768,"bios"],["roms/kupke-golem-030.rom",8192,"bios"],["roms/kupke-golem-hd3000-v1.4.rom",16384,"bios"],["roms/kupke-golem-v3.9.rom",16384,"bios"],["roms/kupke-golem-v4.2.rom",16384,"bios"],["roms/m-tec-at500-megabody-v1.33.rom",32768,"bios"],["roms/m-tec-at500-v1.33w.rom",32768,"bios"],["roms/m-tec-e-matrix-530.rom",65536,"bios"],["roms/macrosystem-falcon-040-no-scsi.rom",131072,"bios"],["roms/mainhattan-data-a-team-v1.8.rom",65536,"bios"],["roms/masoboshi-mc-702-v2.201.rom",32768,"bios"],["roms/mast-fireball.rom",8192,"bios"],["roms/mastercard-v2.3.rom",65536,"bios"],["roms/microbotics-hardframe-v1.5.rom",32768,"bios"],["roms/microbotics-hardframe-v1.8.rom",32768,"bios"],["roms/microbotics-hardframe-v1.9.rom",32768,"bios"],["roms/multi-evolution-500-2000-v2.2.rom",65536,"bios"],["roms/multi-evolution-500-2000-v3.0.rom",65536,"bios"],["roms/multi-evolution-500-2000-v3.4.rom",65536,"bios"],["roms/nordic-power-v1.5.rom",65536,"bios"],["roms/nordic-power-v2.0.rom",65536,"bios"],["roms/nordic-power-v3.0.rom",65536,"bios"],["roms/nordic-power-v3.2.rom",65536,"bios"],["roms/oktagon-2008.rom",32768,"bios"],["roms/pacific-peripherals-overdrive-v1.5.rom",8192,"bios"],["roms/pacific-peripherals-overdrive-v2.0.rom",8192,"bios"],["roms/phoenix-board-scsi-vj.rom",32768,"bios"],["roms/picasso_iv_flash.rom",131072,"bios"],["roms/preferred-technologies-nexus.rom",8192,"bios"],["roms/pro-access-v2.17.rom",65536,"bios"],["roms/profex-electronics-hd-3300.rom",8192,"bios"],["roms/protar-a500hd.rom",32768,"bios"],["roms/quikpak-4060-xp-v2.1.rom",32768,"bios"],["roms/roctec-rochard-rh800c-v1.rom",16384,"bios"],["roms/roctec-rochard-rh800c-v2.rom",16384,"bios"],["roms/spirit-technology-inmate.rom",32768,"bios"],["roms/supradrive-2000dma-44-25b.rom",8192,"bios"],["roms/supradrive-amab2.rom",8192,"bios"],["roms/supradrive-amab3.rom",8192,"bios"],["roms/supradrive-amab4.rom",8192,"bios"],["roms/supradrive-amab5.rom",8192,"bios"],["roms/supradrive-amab6.rom",8192,"bios"],["roms/sx32-pro.rom",65536,"bios"],["roms/tekmagic2040.rom",65536,"bios"],["roms/tekmagic2060.rom",65536,"bios"],["roms/trifecta-v4.31.rom",32768,"bios"],["roms/trumpcard-500at-v1.1.rom",16384,"bios"],["roms/trumpcard-500at-v1.2.rom",16384,"bios"],["roms/typhoon-mk2.rom",65536,"bios"],["roms/vector-falcon-8000-v7.1.rom",32768,"bios"],["roms/vector-falcon-8000-v7.6.rom",32768,"bios"],["roms/vortex-system-2000.rom",16384,"bios"],["roms/warp-engine.rom",32768,"bios"],["roms/x-power-professional-500-v1.2.rom",131072,"bios"],["roms/x-power-professional-500-v1.3.rom",131072,"bios"],["roms/xetec-fasttrak.rom",32768,"bios"],["roms/zeus-040.rom",16384,"bios"],["rt1000b.zip",5852,"bios"],["rtpc_kbd.zip",1918,"bios"],["rtpc_kls.zip",5044,"bios"],["rx01.zip",2846,"bios"],["s100_am310.zip",1308,"bios"],["s100_djdma.zip",3777,"bios"],["s100_nsmdsa.zip",396,"bios"],["s100_nsmdsad.zip",334,"bios"],["s100_sj2db.zip",1012,"bios"],["s1410.zip",11050,"bios"],["s3_764.zip",18299,"bios"],["s8k_cpu.zip",31998,"bios"],["s8k_cpu10.zip",6294,"bios"],["s8k_hpcpu.zip",11518,"bios"],["s97269pb.zip",566,"bios"],["s97801_device.zip",8720,"bios"],["s97801_kbd.zip",1772,"bios"],["s_smp.zip",209,"bios"],["saa5051.zip",522,"bios"],["saa5052.zip",514,"bios"],["saa5053.zip",519,"bios"],["saa5054.zip",511,"bios"],["saa5055.zip",525,"bios"],["saa5056.zip",535,"bios"],["saa5057.zip",523,"bios"],["saa5240a.zip",1015,"bios"],["saa5240b.zip",978,"bios"],["saa5243e.zip",1297,"bios"],["sad8852.zip",4434,"bios"],["same_cdi/bios/cdi490a.zip",379558,"bios"],["same_cdi/bios/cdi910.zip",487572,"bios"],["same_cdi/bios/cdibios.zip",472798,"bios"],["same_cdi/bios/cdimono1.zip",660996,"bios"],["same_cdi/bios/cdimono2.zip",244291,"bios"],["sanyotry.bin",1048576,"bios"],["satar4mp.bin",262144,"bios"],["satcdb.zip",101309,"bios"],["saturn_bios.bin",524288,"bios"],["sb300p.zip",1591,"bios"],["sbus_hme.zip",17450,"bios"],["sbus_sunpc.zip",536,"bios"],["sc119.zip",721668,"bios"],["sc55-roms/cm300-v1.10/rom2.bin",262144,"bios"],["sc55-roms/cm300-v1.20/rom2.bin",262144,"bios"],["sc55-roms/cm300-v1.30/rom1.bin",32768,"bios"],["sc55-roms/cm300-v1.30/rom2.bin",262144,"bios"],["sc55-roms/cm300-v1.30/wave1.bin",1048576,"bios"],["sc55-roms/cm300-v1.30/wave2.bin",1048576,"bios"],["sc55-roms/mk1-v1.00/rom1.bin",32768,"bios"],["sc55-roms/mk1-v1.00/rom2.bin",262144,"bios"],["sc55-roms/mk1-v1.10/rom1.bin",32768,"bios"],["sc55-roms/mk1-v1.10/rom2.bin",262144,"bios"],["sc55-roms/mk1-v1.20/rom1.bin",32768,"bios"],["sc55-roms/mk1-v1.20/rom2.bin",262144,"bios"],["sc55-roms/mk1-v1.21/rom1.bin",32768,"bios"],["sc55-roms/mk1-v1.21/rom2.bin",262144,"bios"],["sc55-roms/mk1-v1.21/wave1.bin",1048576,"bios"],["sc55-roms/mk1-v1.21/wave2.bin",1048576,"bios"],["sc55-roms/mk1-v1.21/wave3.bin",1048576,"bios"],["sc55-roms/mk1-v2.00/rom1.bin",32768,"bios"],["sc55-roms/mk1-v2.00/rom2.bin",262144,"bios"],["sc55-roms/mk2-v1.01/rom1.bin",32768,"bios"],["sc55-roms/mk2-v1.01/rom2.bin",524288,"bios"],["sc55-roms/mk2-v1.01/smrom.bin",4096,"bios"],["sc55-roms/mk2-v1.01/wave1.bin",2097152,"bios"],["sc55-roms/mk2-v1.01/wave2.bin",1048576,"bios"],["sc55-roms/sc155-rev1/rom2.bin",262144,"bios"],["sc55-roms/scb55-v2.00/rom2.bin",262144,"bios"],["sc55-roms/st-v1.01/rom2.bin",262144,"bios"],["scorpion_ic.zip",18332,"bios"],["scph100.bin",524288,"bios"],["scph1000.bin",524288,"bios"],["scph1000r.bin",524288,"bios"],["scph1001.bin",524288,"bios"],["scph1001_v20.bin",524288,"bios"],["scph1001_v21.bin",524288,"bios"],["scph1002.bin",524288,"bios"],["scph1002a.bin",524288,"bios"],["scph1002b.bin",524288,"bios"],["scph1002c.bin",524288,"bios"],["scph101.bin",524288,"bios"],["scph101_v44.bin",524288,"bios"],["scph101_v45.bin",524288,"bios"],["scph102.bin",524288,"bios"],["scph102A.bin",524288,"bios"],["scph102B.bin",524288,"bios"],["scph102C.bin",524288,"bios"],["scph102_v44.bin",524288,"bios"],["scph102_v45.bin",524288,"bios"],["scph3000.bin",524288,"bios"],["scph3500.bin",524288,"bios"],["scph5000.bin",524288,"bios"],["scph5500.bin",524288,"bios"],["scph5501.bin",524288,"bios"],["scph5502.bin",524288,"bios"],["scph5552.bin",524288,"bios"],["scph5903.bin",1048576,"bios"],["scph7000.bin",524288,"bios"],["scph7000w.bin",524288,"bios"],["scph7001.bin",524288,"bios"],["scph7002.bin",524288,"bios"],["scph7003.bin",524288,"bios"],["scph7502.bin",524288,"bios"],["scph9002(7502).bin",524288,"bios"],["scpu-dos-1.4.bin",131072,"bios"],["scpu-dos-2.04.bin",131072,"bios"],["scummvm.zip",9523360,"bios"],["scummvm/extra/CM32L_CONTROL.ROM",65536,"bios"],["scummvm/extra/CM32L_PCM.ROM",1048576,"bios"],["scummvm/extra/MT32_CONTROL.ROM",65536,"bios"],["scummvm/extra/MT32_PCM.ROM",524288,"bios"],["scummvm/extra/Roland_SC-55.sf2",3283278,"bios"],["scummvm/extra/access.dat",520352,"bios"],["scummvm/extra/achievements.dat",249239,"bios"],["scummvm/extra/bagel.dat",20584,"bios"],["scummvm/extra/classicmacfonts.dat",626103,"bios"],["scummvm/extra/cryo.dat",12499,"bios"],["scummvm/extra/cryomni3d.dat",70416,"bios"],["scummvm/extra/darkseed.dat",37183,"bios"],["scummvm/extra/drascula.dat",259625,"bios"],["scummvm/extra/encoding.dat",179670,"bios"],["scummvm/extra/fonts-cjk.dat",38277312,"bios"],["scummvm/extra/fonts-imgui.dat",4000965,"bios"],["scummvm/extra/fonts.dat",6449829,"bios"],["scummvm/extra/freescape.dat",30124,"bios"],["scummvm/extra/got.aud",11313,"bios"],["scummvm/extra/got.gfx",288199,"bios"],["scummvm/extra/grim-patch.lab",9341,"bios"],["scummvm/extra/hadesch_translations.dat",431,"bios"],["scummvm/extra/helpdialog.zip",207764,"bios"],["scummvm/extra/hugo.dat",186866,"bios"],["scummvm/extra/kyra.dat",2028520,"bios"],["scummvm/extra/lure.dat",768832,"bios"],["scummvm/extra/macgui.dat",65656,"bios"],["scummvm/extra/macventure.dat",4146,"bios"],["scummvm/extra/mm.dat",280803,"bios"],["scummvm/extra/monkey4-patch.m4b",2990,"bios"],["scummvm/extra/mort.dat",76302,"bios"],["scummvm/extra/myst3.dat",358287,"bios"],["scummvm/extra/nancy.dat",255042,"bios"],["scummvm/extra/neverhood.dat",23804,"bios"],["scummvm/extra/pred.dic",126481,"bios"],["scummvm/extra/prince_translation.dat",168060,"bios"],["scummvm/extra/queen.tbl",1100505,"bios"],["scummvm/extra/sky.cpt",419427,"bios"],["scummvm/extra/supernova.dat",523211,"bios"],["scummvm/extra/teenagent.dat",403315,"bios"],["scummvm/extra/titanic.dat",3197968,"bios"],["scummvm/extra/tony.dat",24584,"bios"],["scummvm/extra/toon.dat",20996,"bios"],["scummvm/extra/ultima.dat",15981464,"bios"],["scummvm/extra/ultima8.dat",238149,"bios"],["scummvm/extra/vkeybd_default.zip",184946,"bios"],["scummvm/extra/wintermute.zip",4520,"bios"],["scummvm/theme/gui-icons.dat",3315855,"bios"],["scummvm/theme/residualvm.zip",94555,"bios"],["scummvm/theme/scummclassic.zip",16488,"bios"],["scummvm/theme/scummmodern.zip",68087,"bios"],["scummvm/theme/scummremastered.zip",93901,"bios"],["scummvm/theme/shaders.dat",657234,"bios"],["scummvm/theme/translations.dat",3693914,"bios"],["se-0.rom",16384,"bios"],["se-1.rom",16384,"bios"],["sed1200da.zip",749,"bios"],["sed1200db.zip",775,"bios"],["sed1200fa.zip",749,"bios"],["sed1200fb.zip",775,"bios"],["sed1278.zip",2096,"bios"],["sega1003.bin",524288,"bios"],["sega_100.bin",524288,"bios"],["sega_100a.bin",524288,"bios"],["sega_101.bin",524288,"bios"],["sega_sp400.zip",3461,"bios"],["segabill.zip",3117,"bios"],["sente6vb.zip",4778,"bios"],["serad.zip",4375,"bios"],["sfd1001.zip",13984,"bios"],["sgb.boot.rom",256,"bios"],["sgb1.program.rom",262144,"bios"],["sgb2.boot.rom",256,"bios"],["sgb2.program.rom",524288,"bios"],["sgb2_bios.bin",256,"bios"],["sgb2_boot.bin",256,"bios"],["sgb_bios.bin",256,"bios"],["sgb_boot.bin",256,"bios"],["sgi_gm1.zip",25397,"bios"],["sgi_ip2.zip",39192,"bios"],["sgi_ip4.zip",211576,"bios"],["sgi_kbd.zip",1233,"bios"],["sgi_pm1.zip",18125,"bios"],["sgi_pm2.zip",35149,"bios"],["side116.zip",3528,"bios"],["simutrek.zip",2912,"bios"],["sis630_gui.zip",49059,"bios"],["sis6326_agp.zip",101579,"bios"],["sis6326_dvd.zip",23245,"bios"],["sis6326_pci.zip",64665,"bios"],["sis900_eth.zip",24831,"bios"],["sk.bin",2097152,"bios"],["sk2chip.bin",262144,"bios"],["sl31253.bin",1024,"bios"],["sl31254.bin",1024,"bios"],["sl90025.bin",1024,"bios"],["smoc501.zip",37103,"bios"],["sms_diypaddle.zip",334,"bios"],["smvme2000.zip",29273,"bios"],["sn74s262.zip",675,"bios"],["sn74s263.zip",705,"bios"],["sns_dsp1bleg.zip",4140,"bios"],["sns_dsp1leg.zip",4135,"bios"],["sns_dsp1leg_hi.zip",4135,"bios"],["sns_dsp2leg.zip",2987,"bios"],["sns_dsp3leg.zip",3522,"bios"],["sns_dsp4leg.zip",3417,"bios"],["sns_rom_sgb.zip",390,"bios"],["sns_rom_sgb2.zip",392,"bios"],["sns_seta10leg.zip",2712,"bios"],["sns_seta11leg.zip",17424,"bios"],["softcard3.zip",407,"bios"],["sound_orchestra.zip",13041,"bios"],["spc1000_fdd_exp.zip",1839,"bios"],["speakboard.zip",116066,"bios"],["speccyboot-1.4.rom",8192,"bios"],["spectred_kbd.zip",911,"bios"],["spectrum_beta128.zip",2046403,"bios"],["spectrum_betacbi.zip",2046403,"bios"],["spectrum_betaclone.zip",2046403,"bios"],["spectrum_betaplus.zip",2046403,"bios"],["spectrum_betav2.zip",2046403,"bios"],["spectrum_betav3.zip",2046403,"bios"],["spectrum_d40.zip",14616,"bios"],["spectrum_d80.zip",14616,"bios"],["spectrum_d80v2.zip",7460,"bios"],["spectrum_disciple.zip",2046403,"bios"],["spectrum_flpone.zip",2046403,"bios"],["spectrum_gamma.zip",2046403,"bios"],["spectrum_intf1.zip",11519,"bios"],["spectrum_kempcentref.zip",1768,"bios"],["spectrum_kempcentreu.zip",1957,"bios"],["spectrum_kempdisc.zip",2046403,"bios"],["spectrum_lprint.zip",1878,"bios"],["spectrum_lprint3.zip",2046403,"bios"],["spectrum_mface1.zip",2046403,"bios"],["spectrum_mface128.zip",2046403,"bios"],["spectrum_mface128v1.zip",2046403,"bios"],["spectrum_mface1v1.zip",2046403,"bios"],["spectrum_mface1v2.zip",2046403,"bios"],["spectrum_mface1v3.zip",2046403,"bios"],["spectrum_mface3.zip",19134,"bios"],["spectrum_mikroplus.zip",12536,"bios"],["spectrum_mpoker.zip",2573,"bios"],["spectrum_mprint.zip",2046403,"bios"],["spectrum_opus.zip",29218,"bios"],["spectrum_plus2test.zip",3413,"bios"],["spectrum_plusd.zip",17587,"bios"],["spectrum_proceed.zip",6377,"bios"],["spectrum_sdi.zip",2603,"bios"],["spectrum_spdos.zip",2046403,"bios"],["spectrum_speccydos.zip",2046403,"bios"],["spectrum_specmate.zip",2046403,"bios"],["spectrum_swiftdisc.zip",2046403,"bios"],["spectrum_swiftdisc2.zip",2046403,"bios"],["spectrum_usource.zip",7261,"bios"],["spectrum_uspeech.zip",3944,"bios"],["spectrum_vtx5000.zip",2046403,"bios"],["spectrum_wafa.zip",2046403,"bios"],["squirreljme-0.3.0-fast.jar",15181774,"bios"],["squirreljme-0.3.0-slow-test.jar",15181774,"bios"],["squirreljme-0.3.0-slow.jar",15181774,"bios"],["squirreljme-0.3.0-test.jar",3396757,"bios"],["squirreljme-0.3.0.jar",15181774,"bios"],["squirreljme-fast.jar",15181774,"bios"],["squirreljme-slow-test.jar",15181774,"bios"],["squirreljme-slow.jar",15181774,"bios"],["squirreljme-test.jar",3396757,"bios"],["squirreljme.jar",4700395,"bios"],["st010.data.rom",4096,"bios"],["st010.program.rom",49152,"bios"],["st011.data.rom",4096,"bios"],["st011.program.rom",49152,"bios"],["st018.data.rom",32768,"bios"],["st018.program.rom",131072,"bios"],["st_kbd.zip",3344,"bios"],["stereo_fx.zip",3977,"bios"],["stic.zip",1296,"bios"],["stvbios.zip",3455065,"bios"],["sun1_cpu.zip",57393,"bios"],["sun_gem.zip",9773,"bios"],["sv603.zip",5695,"bios"],["sv806.zip",2717,"bios"],["sw1000xg.zip",20518162,"bios"],["swp30.zip",47545,"bios"],["swtpc8212_device.zip",5070,"bios"],["sx1541.zip",30913,"bios"],["sys68k_cpu1.zip",30486,"bios"],["sys68k_cpu20.zip",34447,"bios"],["sys68k_cpu21.zip",34447,"bios"],["sys68k_cpu21a.zip",34447,"bios"],["sys68k_cpu21b.zip",34447,"bios"],["sys68k_cpu21s.zip",34447,"bios"],["sys68k_cpu21ya.zip",34447,"bios"],["sys68k_cpu21yb.zip",34447,"bios"],["sys68k_cpu30.zip",291856,"bios"],["sys68k_cpu30be.zip",291856,"bios"],["sys68k_cpu30x.zip",291856,"bios"],["sys68k_cpu30xa.zip",291856,"bios"],["sys68k_cpu30za.zip",291856,"bios"],["sys68k_cpu33.zip",218296,"bios"],["sys68k_iscsi1.zip",17599,"bios"],["sys68k_isio1.zip",7302,"bios"],["syscard1.pce",262144,"bios"],["syscard2.pce",262144,"bios"],["syscard2u.pce",262144,"bios"],["syscard3.pce",262144,"bios"],["syscard3u.pce",262144,"bios"],["t5182.zip",2681,"bios"],["tanbus_ra32krom.zip",4189,"bios"],["tanbus_tandos.zip",6297,"bios"],["tanbus_tanex.zip",26826,"bios"],["tanbus_vid8082.zip",5374,"bios"],["tandberg_tdv2100_disp_logic.zip",1299,"bios"],["tandberg_tdv2100_keyboard.zip",572,"bios"],["tandy_1000_graphics.zip",3739,"bios"],["tandy_1000x_graphics.zip",3731,"bios"],["tape_128.szx",1464,"bios"],["tape_16.szx",591,"bios"],["tape_2048.szx",720,"bios"],["tape_2068.szx",1799,"bios"],["tape_48.szx",708,"bios"],["tape_pentagon.szx",1479,"bios"],["tape_plus2.szx",1571,"bios"],["tape_plus2a.szx",1617,"bios"],["tape_plus3.szx",1856,"bios"],["tape_plus3e.szx",1970,"bios"],["tape_scorpion.szx",3500,"bios"],["tape_se.szx",2146,"bios"],["tape_ts2068.szx",1840,"bios"],["tc2048.rom",16384,"bios"],["tc2068-0.rom",16384,"bios"],["tc2068-1.rom",8192,"bios"],["tdl12.zip",8050,"bios"],["technica.zip",12198,"bios"],["tek410x_kbd.zip",936,"bios"],["tek_msu_fdc.zip",2453,"bios"],["teletex800.zip",1260,"bios"],["tetriskr_cga.zip",160878,"bios"],["tgui9680.zip",22311,"bios"],["ti83.rom",262144,"bios"],["ti83plus.rom",524288,"bios"],["ti83se.rom",2097152,"bios"],["ti99_arcturus.zip",11432,"bios"],["ti99_bwg.zip",7452,"bios"],["ti99_ccdcc.zip",9611,"bios"],["ti99_ccfdc.zip",9712,"bios"],["ti99_ddcc1.zip",6231,"bios"],["ti99_evpc.zip",17207,"bios"],["ti99_fdc.zip",4969,"bios"],["ti99_gkracker.zip",5998,"bios"],["ti99_hfdc.zip",11813,"bios"],["ti99_myarcmem.zip",6085,"bios"],["ti99_pcode.zip",41460,"bios"],["ti99_rs232.zip",1782,"bios"],["ti99_thermal.zip",1544,"bios"],["ti99_tipi.zip",5838,"bios"],["ti99_whtscsi.zip",12367,"bios"],["ti_hx5102.zip",9758,"bios"],["tiki100_8088.zip",1246,"bios"],["tim011_kbd.zip",1862,"bios"],["tk02.zip",2839,"bios"],["tms320c30.zip",573,"bios"],["tms320c31.zip",573,"bios"],["tms320c32.zip",620,"bios"],["tms320vc33.zip",573,"bios"],["tnt.wad",18195736,"game_data"],["tonelib.bin",130500,"bios"],["tos.img",196608,"bios"],["tp880v.zip",55282,"bios"],["tp881v.zip",72045,"bios"],["trio64dx_pci.zip",73424,"bios"],["trs80m2kb.zip",920,"bios"],["tsvme104.zip",25233,"bios"],["turbogx.zip",11121,"bios"],["turbogxp.zip",11215,"bios"],["tv950kb.zip",1046,"bios"],["tv955kb.zip",1417,"bios"],["tvc_hbf.zip",36960,"bios"],["tvga9000.zip",37841,"bios"],["uae_data/drive_click_A500.wav",3313326,"bios"],["uae_data/drive_click_LOUD.wav",3308526,"bios"],["uae_data/drive_snatch_A500.wav",34450,"bios"],["uae_data/drive_snatch_LOUD.wav",39864,"bios"],["uae_data/drive_spin_A500.wav",134294,"bios"],["uae_data/drive_spin_LOUD.wav",20216,"bios"],["uae_data/drive_spinnd_A500.wav",352430,"bios"],["uae_data/drive_spinnd_LOUD.wav",241790,"bios"],["uae_data/drive_startup_A500.wav",34450,"bios"],["uae_data/drive_startup_LOUD.wav",43492,"bios"],["ubpnic.zip",171,"bios"],["ultra12f.zip",44397,"bios"],["ultra12f32.zip",20138,"bios"],["ultra14f.zip",16630,"bios"],["ultra24f.zip",19448,"bios"],["umc6650.zip",160,"bios"],["ume2015/hiscore.dat",216250,"game_data"],["uniap2ti.zip",1716,"bios"],["upd7220.zip",367,"bios"],["upd7801g.s01",4096,"bios"],["us_scd1_9210.bin",131072,"bios"],["us_scd2_9306.bin",131072,"bios"],["uts_400kbd.zip",853,"bios"],["uts_extw.zip",1046,"bios"],["v102_kbd.zip",1329,"bios"],["v50_kbd.zip",1066,"bios"],["v550_kbd.zip",1184,"bios"],["vanta.zip",72613,"bios"],["vector4_kbd.zip",1267,"bios"],["vic1515.zip",2699,"bios"],["vic1520.zip",3695,"bios"],["vic20_fe3.zip",9529,"bios"],["vic20_videopak.zip",830,"bios"],["vice/C128/basic-901226-01.bin",8192,"bios"],["vice/C128/basichi-318019-04.bin",16384,"bios"],["vice/C128/basiclo-318018-04.bin",16384,"bios"],["vice/C128/chargen-315079-01.bin",8192,"bios"],["vice/C128/chargen-325078-02.bin",8192,"bios"],["vice/C128/chargen-325167-02.bin",8192,"bios"],["vice/C128/chargen-325173-01D.bin",8192,"bios"],["vice/C128/chargen-325181-01.bin",8192,"bios"],["vice/C128/chargen-390059-01.bin",8192,"bios"],["vice/C128/kernal-315078-03.bin",16384,"bios"],["vice/C128/kernal-318020-05.bin",16384,"bios"],["vice/C128/kernal-318034-01.bin",16384,"bios"],["vice/C128/kernal-325172-01.bin",16384,"bios"],["vice/C128/kernal-901227-03.bin",8192,"bios"],["vice/C128/kernal64-325179-01.bin",8192,"bios"],["vice/C128/kernal64-325182-01.bin",8192,"bios"],["vice/C128/kernalfi",16384,"bios"],["vice/C128/kernalfr",16384,"bios"],["vice/C128/kernalit",16384,"bios"],["vice/C128/kernalno",16384,"bios"],["vice/C64/kernal-901227-01.bin",8192,"bios"],["vice/C64/kernal-901227-02.bin",8192,"bios"],["vice/DRIVES/dos1571cr-318047-01.bin",32768,"bios"],["vice/JiffyDOS_1541-II.bin",16384,"bios"],["vice/JiffyDOS_1571_repl310654.bin",32768,"bios"],["vice/JiffyDOS_1581.bin",32768,"bios"],["vice/JiffyDOS_C128.bin",16384,"bios"],["vice/JiffyDOS_C64.bin",8192,"bios"],["vice/JiffyDOS_SX-64.bin",8192,"bios"],["vice/VIC20/chargen-901460-02.bin",4096,"bios"],["vice/VIC20/kernal.901486-02.bin",8192,"bios"],["victor9k_fdc.zip",1152,"bios"],["victor9k_kb.zip",669,"bios"],["videnh2.zip",1713,"bios"],["virge_pci.zip",35167,"bios"],["virgedx_pci.zip",56560,"bios"],["virgevx_pci.zip",19358,"bios"],["vision864.zip",18539,"bios"],["vision964.zip",18202,"bios"],["vision968.zip",55852,"bios"],["voice/E480.WAV",101,"game_data"],["voice/E481.WAV",554,"game_data"],["voice/E482.WAV",554,"game_data"],["voice/E483.WAV",1096,"game_data"],["voice/E484.WAV",2219,"game_data"],["voice/E485.WAV",4592,"game_data"],["voice/E486.WAV",2902,"game_data"],["voice/E487.WAV",804,"game_data"],["voice/E488.WAV",1378,"game_data"],["voice/E489.WAV",576,"game_data"],["voice/E48A.WAV",1556,"game_data"],["voice/E48B.WAV",1516,"game_data"],["voice/E48C.WAV",794,"game_data"],["voice/E48D.WAV",1510,"game_data"],["voice/E48E.WAV",1892,"game_data"],["voice/E48F.WAV",788,"game_data"],["voice/E490.WAV",2020,"game_data"],["voice/E491.WAV",1122,"game_data"],["voice/E492.WAV",1862,"game_data"],["voice/E493.WAV",2772,"game_data"],["voice/E494.WAV",3120,"game_data"],["voice/E495.WAV",854,"game_data"],["voice/E496.WAV",1154,"game_data"],["voice/E497.WAV",1122,"game_data"],["voice/E498.WAV",1144,"game_data"],["voice/E499.WAV",2056,"game_data"],["voice/E49A.WAV",1302,"game_data"],["voice/E49B.WAV",2492,"game_data"],["voice/E49C.WAV",936,"game_data"],["voice/E49D.WAV",2038,"game_data"],["voice/E49E.WAV",1146,"game_data"],["voice/E49F.WAV",2884,"game_data"],["voice/E4A0.WAV",4096,"game_data"],["voice/E4A1.WAV",1702,"game_data"],["voice/E4A2.WAV",1570,"game_data"],["voice/E4A3.WAV",2060,"game_data"],["voice/E4A4.WAV",846,"game_data"],["voice/E4A5.WAV",1756,"game_data"],["voice/E4A6.WAV",2144,"game_data"],["voice/E4A7.WAV",1388,"game_data"],["voice/E4A8.WAV",1586,"game_data"],["voice/E4A9.WAV",2022,"game_data"],["voice/E4AA.WAV",1624,"game_data"],["voice/E4AB.WAV",2302,"game_data"],["voice/E4AC.WAV",2484,"game_data"],["voice/E4AD.WAV",1252,"game_data"],["voice/E4AE.WAV",1978,"game_data"],["voice/E4AF.WAV",3984,"game_data"],["voice/E4B0.WAV",2184,"game_data"],["voice/E4B1.WAV",1448,"game_data"],["voice/E4B2.WAV",2040,"game_data"],["voice/E4B3.WAV",1762,"game_data"],["voice/E4B4.WAV",3334,"game_data"],["voice/E4B5.WAV",2604,"game_data"],["voice/E4B6.WAV",2654,"game_data"],["voice/E4B7.WAV",984,"game_data"],["voice/E4B8.WAV",2156,"game_data"],["voice/E4B9.WAV",890,"game_data"],["voice/E4BA.WAV",3656,"game_data"],["voice/E4BB.WAV",3166,"game_data"],["voice/E4BC.WAV",3840,"game_data"],["voice/E4BD.WAV",464,"game_data"],["voice/E4BE.WAV",2084,"game_data"],["voice/E4BF.WAV",646,"game_data"],["voice/E4C0.WAV",5348,"game_data"],["voice/E4C1.WAV",8577,"game_data"],["voice/E4C2.WAV",5504,"game_data"],["voice/E4C3.WAV",12420,"game_data"],["voice/E4C4.WAV",11286,"game_data"],["voice/E4C5.WAV",7194,"game_data"],["voice/E4C6.WAV",7078,"game_data"],["voice/E4C7.WAV",4566,"game_data"],["voice/E4C8.WAV",7740,"game_data"],["voice/E4C9.WAV",9504,"game_data"],["voice/E4CA.WAV",12896,"game_data"],["voice/E4FA.WAV",11049,"game_data"],["voice/E4FB.WAV",7604,"game_data"],["voice/E880.WAV",10745,"game_data"],["voice/E881.WAV",7324,"game_data"],["voice/E882.WAV",6876,"game_data"],["voice/E883.WAV",7418,"game_data"],["voice/E884.WAV",13296,"game_data"],["voice/E885.WAV",10055,"game_data"],["voice/E886.WAV",5827,"game_data"],["voice/E887.WAV",6215,"game_data"],["voice/E888.WAV",5264,"game_data"],["voice/E889.WAV",8524,"game_data"],["voice/E88A.WAV",4348,"game_data"],["voice/E88B.WAV",4104,"game_data"],["voice/E88C.WAV",9624,"game_data"],["voice/E88D.WAV",6914,"game_data"],["voice/E88E.WAV",8319,"game_data"],["voice/E88F.WAV",9592,"game_data"],["voice/E890.WAV",9479,"game_data"],["voice/E891.WAV",8697,"game_data"],["voice/E892.WAV",6878,"game_data"],["voice/E893.WAV",6220,"game_data"],["voice/E894.WAV",6830,"game_data"],["voice/E895.WAV",6283,"game_data"],["voice/E980.WAV",6300,"game_data"],["voice/E981.WAV",5324,"game_data"],["voice/E982.WAV",11267,"game_data"],["voice/E983.WAV",7202,"game_data"],["voice/E984.WAV",6732,"game_data"],["voice/E985.WAV",6317,"game_data"],["voice/E986.WAV",6638,"game_data"],["voice/E987.WAV",8261,"game_data"],["voice/E988.WAV",10269,"game_data"],["voice/E989.WAV",5644,"game_data"],["voice/E98A.WAV",6008,"game_data"],["voice/E98B.WAV",10470,"game_data"],["voice/E98C.WAV",6304,"game_data"],["voice/E98D.WAV",3478,"game_data"],["voice/E98E.WAV",12232,"game_data"],["voice/E98F.WAV",13922,"game_data"],["voice/E990.WAV",10460,"game_data"],["voice/E991.WAV",2924,"game_data"],["voice/E992.WAV",16808,"game_data"],["voice/E993.WAV",12544,"game_data"],["voice/E994.WAV",7100,"game_data"],["voice/E995.WAV",6452,"game_data"],["voice/E996.WAV",6685,"game_data"],["voice/EA80.WAV",3092,"game_data"],["voice/EA81.WAV",5390,"game_data"],["voice/EA82.WAV",14341,"game_data"],["voice/EA83.WAV",4719,"game_data"],["voice/EA84.WAV",5252,"game_data"],["voice/EA85.WAV",7018,"game_data"],["voice/EA86.WAV",8480,"game_data"],["voice/EA87.WAV",9496,"game_data"],["voice/EA88.WAV",38600,"game_data"],["voice/EA89.WAV",29892,"game_data"],["voice/EA8A.WAV",11328,"game_data"],["voice/EA8B.WAV",2604,"game_data"],["voice/EA8C.WAV",16184,"game_data"],["voice/EA8D.WAV",3308,"game_data"],["voice/EA8E.WAV",3350,"game_data"],["voice/EA8F.WAV",18174,"game_data"],["voice/EA90.WAV",3348,"game_data"],["voice/EA91.WAV",3299,"game_data"],["voice/EA92.WAV",3302,"game_data"],["voice/EA93.WAV",3306,"game_data"],["voice/EA94.WAV",3267,"game_data"],["voice/EA95.WAV",3388,"game_data"],["voice/EA96.WAV",3392,"game_data"],["voice/EA97.WAV",3393,"game_data"],["voice/EA98.WAV",3359,"game_data"],["voice/EA99.WAV",3300,"game_data"],["voice/EA9A.WAV",3312,"game_data"],["voice/EA9B.WAV",3402,"game_data"],["voice/EA9C.WAV",3308,"game_data"],["voice/EA9D.WAV",3313,"game_data"],["voice/EA9E.WAV",3302,"game_data"],["voice/EA9F.WAV",3340,"game_data"],["voice/EAA0.WAV",3314,"game_data"],["voice/EAA1.WAV",3306,"game_data"],["voice/EAA2.WAV",3308,"game_data"],["voice/EAA3.WAV",3314,"game_data"],["voice/EAA4.WAV",3313,"game_data"],["voice/EAA5.WAV",3311,"game_data"],["voice/EAA6.WAV",3340,"game_data"],["voice/EAA7.WAV",3302,"game_data"],["voice/EB80.WAV",7226,"game_data"],["voice/EB81.WAV",5558,"game_data"],["voice/EB82.WAV",5566,"game_data"],["voice/EB83.WAV",6276,"game_data"],["voice/EB84.WAV",7508,"game_data"],["voice/EB85.WAV",5400,"game_data"],["voice/EB86.WAV",8981,"game_data"],["voice/EB87.WAV",8844,"game_data"],["voice/EB88.WAV",6554,"game_data"],["voice/EB89.WAV",6932,"game_data"],["voice/EB8A.WAV",7059,"game_data"],["voice/EB8B.WAV",7544,"game_data"],["voice/EB8C.WAV",5790,"game_data"],["voice/EB8D.WAV",6700,"game_data"],["voice/EB8E.WAV",6188,"game_data"],["voice/EB8F.WAV",4880,"game_data"],["voice/EB90.WAV",7480,"game_data"],["voice/EB91.WAV",6804,"game_data"],["voice/EB92.WAV",7419,"game_data"],["voice/EB93.WAV",6105,"game_data"],["voice/EB94.WAV",4972,"game_data"],["voice/EB95.WAV",5084,"game_data"],["voice/EB96.WAV",6492,"game_data"],["voice/EB97.WAV",8819,"game_data"],["voice/EB98.WAV",6104,"game_data"],["voice/EB99.WAV",5896,"game_data"],["voice/EB9A.WAV",5784,"game_data"],["voice/EB9B.WAV",5742,"game_data"],["voice/EB9C.WAV",6154,"game_data"],["voice/EB9D.WAV",4984,"game_data"],["voice/EC80.WAV",6815,"game_data"],["voice/EC81.WAV",5628,"game_data"],["voice/EC82.WAV",17440,"game_data"],["voice/EC83.WAV",8162,"game_data"],["voice/EC84.WAV",7944,"game_data"],["voice/EC85.WAV",6848,"game_data"],["voice/EC86.WAV",8225,"game_data"],["voice/EC87.WAV",5588,"game_data"],["voice/EC88.WAV",8954,"game_data"],["voice/EC89.WAV",7340,"game_data"],["voice/EC8A.WAV",9092,"game_data"],["voice/EC8B.WAV",7754,"game_data"],["voice/EC8C.WAV",7100,"game_data"],["voice/EC8D.WAV",5732,"game_data"],["voice/EC8E.WAV",6200,"game_data"],["voice/EC8F.WAV",6504,"game_data"],["voice/EC90.WAV",7853,"game_data"],["voice/EC91.WAV",8378,"game_data"],["voice/EC92.WAV",5336,"game_data"],["voice/EC93.WAV",8294,"game_data"],["voice/EC94.WAV",7838,"game_data"],["voice/EC95.WAV",6927,"game_data"],["voice/EC96.WAV",7524,"game_data"],["voice/EC97.WAV",8140,"game_data"],["voice/EC98.WAV",8370,"game_data"],["voice/EC99.WAV",7292,"game_data"],["voice/EC9A.WAV",6884,"game_data"],["voice/EC9B.WAV",6846,"game_data"],["voice/ED80.WAV",6308,"game_data"],["voice/ED81.WAV",5772,"game_data"],["voice/ED82.WAV",6794,"game_data"],["voice/ED83.WAV",6680,"game_data"],["voice/ED84.WAV",6624,"game_data"],["voice/ED85.WAV",7450,"game_data"],["voice/ED86.WAV",7055,"game_data"],["voice/ED87.WAV",5955,"game_data"],["voice/ED88.WAV",6789,"game_data"],["voice/ED89.WAV",6542,"game_data"],["voice/ED8A.WAV",6924,"game_data"],["voice/ED8B.WAV",7062,"game_data"],["voice/ED8C.WAV",6967,"game_data"],["voice/ED8D.WAV",7205,"game_data"],["voice/ED8E.WAV",7381,"game_data"],["voice/ED8F.WAV",5168,"game_data"],["voice/ED90.WAV",5344,"game_data"],["voice/ED91.WAV",5345,"game_data"],["voice/ED92.WAV",7924,"game_data"],["voice/ED93.WAV",7415,"game_data"],["voice/ED94.WAV",6820,"game_data"],["voice/ED95.WAV",6464,"game_data"],["voice/ED96.WAV",6576,"game_data"],["voice/ED97.WAV",6124,"game_data"],["voice/ED98.WAV",7688,"game_data"],["voice/ED99.WAV",6369,"game_data"],["voice/ED9A.WAV",6254,"game_data"],["voice/EE80.WAV",6012,"game_data"],["voice/EE81.WAV",8294,"game_data"],["voice/EE82.WAV",7128,"game_data"],["voice/EE83.WAV",4256,"game_data"],["voice/EE84.WAV",7514,"game_data"],["voice/EE85.WAV",8176,"game_data"],["voice/EE86.WAV",6824,"game_data"],["voice/EE87.WAV",8117,"game_data"],["voice/EE88.WAV",8756,"game_data"],["voice/EE89.WAV",7406,"game_data"],["voice/EE8A.WAV",7352,"game_data"],["voice/EE8B.WAV",8651,"game_data"],["voice/EE8C.WAV",7511,"game_data"],["voice/EE8D.WAV",8024,"game_data"],["voice/EE8E.WAV",9809,"game_data"],["voice/EE8F.WAV",8364,"game_data"],["voice/EE90.WAV",4828,"game_data"],["voice/EE91.WAV",6092,"game_data"],["voice/EE92.WAV",5000,"game_data"],["voice/EE93.WAV",7197,"game_data"],["voice/EE94.WAV",6785,"game_data"],["voice/EE95.WAV",6105,"game_data"],["voice/EE96.WAV",7604,"game_data"],["voicebox.zip",2019,"bios"],["voodoo_3000_x86.zip",40056,"bios"],["votraxtnt.zip",3922,"bios"],["votrsc01.zip",588,"bios"],["votrsc01a.zip",590,"bios"],["vp700.zip",3613,"bios"],["vsaturn.bin",524288,"bios"],["vtech_fdc.zip",4431,"bios"],["vtech_rs232.zip",2458,"bios"],["vtech_rtty.zip",2488,"bios"],["vtech_sdloader.zip",11160,"bios"],["vtech_wordpro.zip",8125,"bios"],["wangpc_lic.zip",2810,"bios"],["wangpc_rtc.zip",3197,"bios"],["wangpc_wdc.zip",3193,"bios"],["wangpckb.zip",1228,"bios"],["wd1002a_wx1.zip",1868,"bios"],["wd1007a.zip",3971,"bios"],["wd90c00_jk.zip",58499,"bios"],["wd90c11_lr.zip",18343,"bios"],["wd90c30_lr.zip",41732,"bios"],["wd90c31_lr.zip",22513,"bios"],["wd90c31a_lr.zip",38568,"bios"],["wd90c31a_zs.zip",18777,"bios"],["wd90c33_zz.zip",19105,"bios"],["wd90c90_jk.zip",15497,"bios"],["wd9710_pci.zip",18718,"bios"],["wdxt_gen.zip",4266,"bios"],["wg130.zip",1861561,"bios"],["whdboot/JST",89108,"bios"],["whdboot/WHDLoad",161031,"bios"],["whdboot/boot-data.zip",297373,"bios"],["whdboot/game-data/whdload_db.json",6741053,"bios"],["whdboot/host-quit",3180,"bios"],["whdboot/save-data/Kickstarts/kick31034.A1000.RTB",3736,"bios"],["whdboot/save-data/Kickstarts/kick33180.A500.RTB",3882,"bios"],["whdboot/save-data/Kickstarts/kick34005.A500.RTB",4020,"bios"],["whdboot/save-data/Kickstarts/kick36143.A3000.RTB",5980,"bios"],["whdboot/save-data/Kickstarts/kick37175.A500.RTB",5576,"bios"],["whdboot/save-data/Kickstarts/kick39106.A1200.RTB",5002,"bios"],["whdboot/save-data/Kickstarts/kick40063.A600.RTB",5000,"bios"],["whdboot/save-data/Kickstarts/kick40068.A1200.RTB",5008,"bios"],["whdboot/save-data/Kickstarts/kick40068.A4000.RTB",4976,"bios"],["wildmidi.cfg",192,"game_data"],["wpcap.dll",499128,"bios"],["wyse700.zip",4164,"bios"],["x68k_cz6bs1.zip",3156,"bios"],["x820iikb.zip",1128,"bios"],["x820kb.zip",1128,"bios"],["xbox_eeprom.bin",256,"bios"],["xbox_hdd.qcow2",1638400,"bios"],["xerox820_16_8.zip",1338,"bios"],["xerox820_emii_flpy5.zip",2303,"bios"],["xerox820_emii_rgd5.zip",2303,"bios"],["xetec_c5181.zip",3192,"bios"],["xmil/FNT0808.X1",2048,"bios"],["xmil/FNT0816.X1",4096,"bios"],["xmil/FNT1616.X1",306176,"bios"],["xmil/IPLROM.X1",4096,"bios"],["xmil/IPLROM.X1T",32768,"bios"],["xrick/data.zip",1457440,"bios"],["xt446.zip",18613894,"bios"],["xtide.zip",148910,"bios"],["ym2413.zip",286,"bios"],["ym2423.zip",313,"bios"],["ym2608.zip",7587,"bios"],["ym2608.zip",7609,"bios"],["ymf281.zip",313,"bios"],["ymf288_adpcm_rom.bin",8192,"bios"],["z8671.zip",2028,"bios"],["z8682.zip",201,"bios"],["zdoom.pk3",619127,"game_data"],["zip100_ide.zip",36071,"bios"],["zorba_kbd.zip",1406,"bios"],["zt18hfnt.rom",32768,"bios"],["zxbus_neogs.zip",297163,"bios"]],"format_version":1,"platform":"retroarch","sets":{"acorn-bbc-micro|b2":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"amstrad-cpc|":{"bytes":114688,"files":[873,874,875,876],"optional":[],"required_bytes":114688},"amstrad-cpc|cap32":{"bytes":114688,"files":[873,874,875,876],"optional":[],"required_bytes":114688},"amstrad-cpc|crocods":{"bytes":114688,"files":[873,874,875,876],"optional":[],"required_bytes":114688},"apple-ios|touchhle":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"apple-macintosh|minivmac":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"apple2|linapple":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"aquaplus-piece|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"arcade-laserdisc|daphne":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"arcade-laserdisc|hypseus-singe":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"arcade|":{"bytes":1608777213,"files":[4,8,10,12,124,125,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,495,496,497,506,507,508,509,510,511,512,514,515,516,517,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,586,587,588,589,590,591,592,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,680,681,682,683,684,685,686,687,688,689,690,692,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,713,714,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,766,767,769,770,771,772,773,779,780,781,782,783,784,785,786,788,789,790,791,792,793,794,797,799,802,803,804,805,806,807,827,828,829,844,845,846,848,849,850,852,853,854,855,858,859,860,861,862,863,864,865,866,867,868,869,899,900,901,902,903,904,905,906,907,908,909,910,911,918,919,920,921,922,924,925,926,927,928,929,930,931,932,933,934,935,936,938,939,940,941,942,943,945,946,947,948,949,950,951,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,975,982,983,1035,1040,1055,1056,1058,1059,1061,1064,1065,1066,1067,1068,1071,1072,1073,1074,1075,1076,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1096,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1116,1117,1118,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1151,1152,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1178,1179,1180,1201,1204,1205,1206,1207,1208,1209,1210,1211,1213,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024,2025,2026,2027,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2160,2179,2180,2182,2253,2254,2255,2256,2257,2258,2286,2287,2293,2294,2297,2298,2299,2300,2301,2302,2303,2304,2305,2306,2307,2308,2309,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2489,2502,2503,2504,2506,2507,2508,2509,2510,2534,2593,2594,2595,2596,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2624,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2664,2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2860,2862,2863,2864,2865,2893,2987,2988,2989,2990,2991,2996,2997,2998,2999,3000,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3045,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3089,3106,3107,3108,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3130,3131,3132,3133,3139,3140,3141,3142,3143,3144,3145,3146,3147,3164,3165,3166,3167,3168,3169,3170,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3196,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3210,3221,3222,3223,3224,3225,3226,3227,3228,3229,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3243,3275,3276,3277,3278,3279,3280,3281,3282,3283,3554,3555,3556,3557,3558,3559,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573,3574,3575,3576,3577,3578,3579,3580,3581,3582,3599,3600,3601,3602,3605,3606,3607,3608,3615,3616,3617,3618,3620,3621,3623,3624,3626,3627,3629],"optional":[],"required_bytes":1608777213},"arcade|fbalpha2012":{"bytes":825620530,"files":[125,409,929,930,931,932,933,934,935,936,938,939,940,941,942,943,944,946,947,948,949,950,951,952,954,955,956,957,960,961,962,963,964,2179,2621],"optional":[125,929,930,931,932,933,934,935,936],"required_bytes":8587539},"arcade|fbneo":{"bytes":319127529,"files":[409,938,939,940,941,942,943,945,946,947,948,949,950,951,953,954,955,956,957,958,959,960,961,962,963,964,2179,2621],"optional":[958,959],"required_bytes":9560899},"arcade|mame":{"bytes":289518643,"files":[4,8,10,12,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,495,496,497,506,507,508,509,510,511,512,514,515,516,517,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,586,587,588,589,590,591,592,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,680,681,682,683,684,685,686,687,688,689,690,692,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,713,714,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,766,767,769,770,771,772,773,779,780,781,782,783,784,785,786,788,789,790,791,792,793,794,797,799,802,803,804,805,806,807,827,828,829,844,845,846,848,849,850,852,853,854,855,858,859,860,861,862,863,864,865,866,867,868,869,899,900,901,902,903,904,905,906,907,908,909,910,911,918,919,920,921,922,924,925,926,927,938,939,940,941,942,943,944,946,947,948,949,950,951,952,954,955,956,957,960,961,962,963,964,965,966,967,968,969,970,971,972,975,982,983,1035,1040,1055,1056,1058,1059,1061,1064,1065,1066,1067,1068,1071,1072,1073,1074,1075,1076,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1096,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1116,1117,1118,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1151,1152,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1178,1179,1180,1201,1204,1205,1206,1207,1208,1209,1210,1211,1213,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1608,1609,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1620,1621,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1680,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791,1792,1793,1794,1795,1796,1797,1798,1799,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1836,1837,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2026,2027,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2160,2179,2180,2182,2253,2254,2255,2256,2257,2258,2286,2287,2293,2294,2297,2298,2299,2300,2301,2302,2303,2304,2305,2306,2307,2308,2309,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2489,2502,2503,2504,2506,2507,2508,2509,2510,2534,2593,2594,2595,2596,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2621,2622,2623,2624,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2664,2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2860,2862,2863,2864,2865,2893,2987,2988,2989,2990,2991,2996,2997,2998,2999,3000,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3045,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3089,3106,3107,3108,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3130,3131,3132,3133,3139,3140,3141,3142,3143,3144,3145,3146,3147,3164,3165,3166,3167,3168,3169,3170,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3196,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3210,3221,3222,3223,3224,3225,3226,3228,3229,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3243,3275,3276,3277,3278,3279,3280,3281,3282,3283,3554,3555,3556,3557,3558,3559,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573,3574,3575,3576,3577,3578,3579,3580,3581,3582,3599,3600,3601,3602,3605,3606,3607,3608,3615,3616,3617,3618,3619,3621,3623,3624,3626,3627,3629],"optional":[4,8,10,12,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,410,411,412,413,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,495,496,497,506,507,508,509,510,511,512,514,515,516,517,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,586,587,588,589,590,591,592,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,680,681,682,683,684,685,686,687,688,689,690,692,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,713,714,716,717,718,719,720,721,722,723,724,725,726,727,728,729,730,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763,764,766,767,769,770,771,772,773,779,780,781,782,783,784,785,786,788,789,790,791,792,793,794,797,799,802,803,804,805,806,807,827,828,829,844,845,846,848,849,850,852,853,854,855,858,859,860,861,862,863,864,865,866,867,868,869,899,900,901,902,903,904,905,906,907,908,909,910,911,918,919,920,921,922,924,925,926,927,965,966,967,968,969,970,971,972,975,982,983,1035,1040,1055,1056,1058,1059,1061,1064,1065,1066,1067,1068,1071,1072,1073,1074,1075,1076,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091,1092,1093,1094,1096,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1116,1117,1118,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143,1144,1145,1146,1147,1148,1151,1152,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1178,1179,1180,1201,1204,1205,1206,1207,1208,1209,1210,1211,1213,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1350,1356,1357,1608,1609,1620,1621,1680,1793,1794,1795,1796,1797,1798,1799,1836,1837,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999,2000,2001,2002,2003,2004,2005,2006,2026,2027,2029,2030,2031,2032,2033,2034,2035,2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049,2050,2051,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2067,2068,2069,2070,2071,2072,2073,2074,2075,2076,2077,2078,2079,2080,2081,2082,2083,2084,2085,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099,2100,2101,2102,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113,2114,2115,2116,2117,2118,2119,2120,2121,2122,2123,2124,2125,2126,2127,2128,2129,2130,2131,2132,2133,2134,2135,2136,2137,2138,2139,2140,2141,2142,2143,2144,2145,2146,2147,2148,2149,2150,2151,2152,2153,2154,2155,2156,2157,2158,2159,2160,2180,2182,2253,2254,2255,2256,2257,2258,2286,2287,2293,2294,2297,2298,2299,2300,2301,2302,2303,2304,2305,2306,2307,2308,2309,2324,2325,2326,2327,2328,2329,2330,2331,2332,2333,2334,2335,2336,2337,2338,2339,2340,2341,2472,2473,2474,2475,2476,2477,2478,2479,2480,2481,2482,2483,2484,2485,2486,2487,2488,2489,2502,2503,2504,2506,2507,2508,2509,2510,2534,2593,2594,2595,2596,2598,2599,2600,2601,2602,2603,2604,2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620,2622,2623,2624,2645,2646,2647,2648,2649,2650,2651,2652,2653,2654,2655,2656,2657,2658,2659,2660,2661,2662,2663,2664,2824,2825,2826,2827,2828,2829,2830,2831,2832,2833,2834,2835,2836,2837,2838,2839,2840,2841,2842,2843,2844,2845,2846,2847,2848,2849,2850,2851,2852,2860,2862,2863,2864,2865,2893,2987,2988,2989,2990,2991,2996,2997,2998,2999,3000,3009,3010,3011,3012,3013,3014,3015,3016,3017,3018,3019,3020,3021,3027,3028,3029,3030,3031,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3042,3043,3044,3045,3047,3048,3049,3050,3051,3052,3053,3054,3055,3056,3057,3058,3059,3060,3061,3062,3063,3064,3065,3066,3067,3068,3069,3070,3071,3072,3073,3074,3075,3076,3077,3078,3079,3080,3081,3082,3083,3084,3085,3086,3087,3088,3089,3106,3107,3108,3110,3111,3112,3113,3114,3115,3116,3117,3118,3119,3120,3121,3122,3123,3124,3125,3126,3127,3128,3129,3130,3131,3132,3133,3139,3140,3141,3142,3143,3144,3145,3146,3147,3164,3165,3166,3167,3168,3169,3170,3174,3175,3176,3177,3178,3179,3180,3181,3182,3183,3184,3185,3186,3187,3188,3189,3190,3191,3192,3193,3194,3195,3196,3200,3201,3202,3203,3204,3205,3206,3207,3208,3209,3210,3221,3222,3223,3224,3225,3226,3228,3229,3233,3234,3235,3236,3237,3238,3239,3240,3241,3242,3243,3275,3276,3277,3278,3279,3280,3281,3282,3283,3554,3555,3556,3557,3558,3559,3561,3562,3563,3564,3565,3566,3567,3568,3569,3570,3571,3572,3573,3574,3575,3576,3577,3578,3579,3580,3581,3582,3599,3600,3601,3602,3605,3606,3607,3608,3615,3616,3617,3618,3619,3621,3623,3624,3626,3627,3629],"required_bytes":103004545},"arcade|mame2000":{"bytes":16558899,"files":[409,938,939,940,941,942,943,944,946,947,948,949,950,951,952,954,955,956,957,960,961,962,963,964,2007,2179,2621],"optional":[2007],"required_bytes":8587539},"arcade|mame2003_plus":{"bytes":94627885,"files":[409,938,939,940,941,942,943,944,946,947,948,949,950,951,952,954,955,956,957,960,961,962,963,964,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2044,2045,2139,2179,2621],"optional":[2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2044,2045],"required_bytes":8597118},"arcade|mame2010":{"bytes":33771609,"files":[409,938,939,940,941,942,943,944,946,947,948,949,950,951,952,954,955,956,957,960,961,962,963,964,2024,2025,2179,2621],"optional":[2024,2025],"required_bytes":8587539},"arduboy|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"arduboy|ardens":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"arduboy|arduous":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"atari-2600|stella":{"bytes":33793052,"files":[269,270,271,272,273,274,275],"optional":[269,270,271,272,273,274,275],"required_bytes":0},"atari-2600|stella2014":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"atari-400-800|":{"bytes":231424,"files":[13,19,20,21,22,30,238,239,240,241,282,498,499,500,501,502,503,504,505],"optional":[],"required_bytes":231424},"atari-400-800|atari800":{"bytes":231424,"files":[13,19,20,21,22,30,238,239,240,241,282,498,499,500,501,502,503,504,505],"optional":[238,239,240,241,498,499,500,501,502,503,504,505],"required_bytes":71680},"atari-5200|":{"bytes":231424,"files":[13,19,20,21,22,30,238,239,240,241,282,498,499,500,501,502,503,504,505],"optional":[],"required_bytes":231424},"atari-5200|a5200":{"bytes":71680,"files":[13,19,20,21,22,30,282],"optional":[],"required_bytes":71680},"atari-5200|atari800":{"bytes":231424,"files":[13,19,20,21,22,30,238,239,240,241,282,498,499,500,501,502,503,504,505],"optional":[238,239,240,241,498,499,500,501,502,503,504,505],"required_bytes":71680},"atari-7800|":{"bytes":20480,"files":[17,18],"optional":[],"required_bytes":20480},"atari-7800|prosystem":{"bytes":20480,"files":[17,18],"optional":[],"required_bytes":20480},"atari-jaguar|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"atari-jaguar|bigpemu":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"atari-jaguar|virtualjaguar":{"bytes":786432,"files":[283,284,1149,1150],"optional":[283,284,1149,1150],"required_bytes":0},"atari-lynx|":{"bytes":1025,"files":[1097,1232],"optional":[],"required_bytes":1025},"atari-lynx|beetle_lynx":{"bytes":512,"files":[1232],"optional":[],"required_bytes":512},"atari-lynx|handy":{"bytes":1025,"files":[1097,1232],"optional":[1097],"required_bytes":512},"atari-st|":{"bytes":2375680,"files":[912,913,914,1077,3199],"optional":[],"required_bytes":2375680},"atari-st|hatari":{"bytes":933888,"files":[1077,3199],"optional":[1077],"required_bytes":196608},"bally-astrocade|mess2015":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"bandai-wswanc|beetle_wswan":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"bandai-wswan|beetle_wswan":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"bbk-longman-4980|bbkemu":{"bytes":4194304,"files":[31,32],"optional":[],"required_bytes":4194304},"bbk-longman-4988|bbkemu":{"bytes":4194304,"files":[31,32],"optional":[],"required_bytes":4194304},"bennugd|bennugd":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps1|fbalpha2012":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps1|fbalpha2012_cps1":{"bytes":322458,"files":[937],"optional":[937],"required_bytes":0},"capcom-cps1|fbneo":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps2|fbalpha2012":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps2|fbalpha2012_cps2":{"bytes":322458,"files":[937],"optional":[937],"required_bytes":0},"capcom-cps2|fbneo":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps3|fbalpha2012":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps3|fbalpha2012_cps3":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"capcom-cps3|fbneo":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"casio-loopy|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"cave-story|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"cave-story|doukutsu_rs":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"cave-story|nxengine":{"bytes":1547830,"files":[2288,2289,2290,2291],"optional":[2290,2291],"required_bytes":1487320},"chip8|jaxe":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"coco|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"coco|xroar":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"colecovision|":{"bytes":6498322,"files":[33,117,118,119,120,121,122,150,166,167,168,169,170,171,172,173,174,207,217,218,219,220,221,222,223,224,225,226,227,576,731,732,733,941],"optional":[],"required_bytes":6498322},"colecovision|bluemsx":{"bytes":6470308,"files":[33,117,118,119,120,121,122,150,166,167,168,169,170,171,172,173,174,207,217,218,219,220,221,222,223,224,225,226,227,576,731,733,941],"optional":[117,118,120,121,122,166,167,168,169,170,171,172,173,174,207,217,218,219,220,221,222,223,224,225,226,227],"required_bytes":993816},"colecovision|coolcv":{"bytes":985624,"files":[33,119,576,731,733,941],"optional":[],"required_bytes":985624},"colecovision|gearcoleco":{"bytes":985624,"files":[33,119,576,731,733,941],"optional":[],"required_bytes":985624},"commodore-amiga-cd32|puae":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-amiga-cd32|puae2021":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-amiga|":{"bytes":38387780,"files":[15,16,114,281,493,494,677,678,984,985,986,987,988,989,990,991,992,993,994,995,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,2086,2087,2088,2089,2666,2667,2668,2669,2670,2671,2672,2673,2674,2675,2676,2677,2678,2679,2680,2681,2682,2683,2684,2685,2686,2687,2688,2689,2690,2691,2692,2693,2694,2695,2696,2697,2698,2699,2700,2701,2702,2703,2704,2705,2706,2707,2708,2709,2710,2711,2712,2713,2714,2715,2716,2717,2718,2719,2720,2721,2722,2723,2724,2725,2726,2727,2728,2729,2730,2731,2732,2733,2734,2735,2736,2737,2738,2739,2740,2741,2742,2743,2744,2745,2746,2747,2748,2749,2750,2751,2752,2753,2754,2755,2756,2757,2758,2759,2760,2761,2762,2763,2764,2765,2766,2767,2768,2769,2770,2771,2772,2773,2774,2775,2776,2777,2778,2779,2780,2781,2782,2783,2784,2785,2786,2787,2788,2789,2790,2791,2792,2793,2794,2795,2796,2797,2798,2799,2800,2801,2802,2803,2804,2805,2806,2807,2808,2809,2810,2811,2812,2813,2814,2815,2816,2817,2818,2819,2820,2821,2822,2823,3211,3212,3213,3214,3215,3216,3217,3218,3219,3220,3583,3584,3585,3586,3587,3588,3589,3590,3591,3592,3593,3594,3595,3596],"optional":[],"required_bytes":38387780},"commodore-amiga|puae":{"bytes":13843102,"files":[281,677,678,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,2666,3211,3212,3213,3214,3215,3216,3217,3218,3219,3220],"optional":[281,677,678,1187,1188,2666,3211,3212,3213,3214,3215,3216,3217,3218,3219,3220],"required_bytes":5505024},"commodore-amiga|puae2021":{"bytes":13843102,"files":[281,677,678,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,2666,3211,3212,3213,3214,3215,3216,3217,3218,3219,3220],"optional":[281,677,678,1187,1188,2666,3211,3212,3213,3214,3215,3216,3217,3218,3219,3220],"required_bytes":5505024},"commodore-amiga|uae4arm":{"bytes":5507093,"files":[1189,1190,1191,1192,1193,1194,1195,1196,1197,1198,1199,1200,2666],"optional":[2666],"required_bytes":5505024},"commodore-c128|vice_x128":{"bytes":753664,"files":[135,136,137,138,139,2928,2929,3244,3245,3246,3247,3248,3249,3250,3251,3252,3253,3254,3255,3256,3257,3258,3259,3260,3261,3262,3263,3266,3267,3268,3269,3270,3271],"optional":[135,136,137,138,139],"required_bytes":647168},"commodore-c64|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-c64|vice_x64":{"bytes":49152,"files":[140,1170,1171,3264,3265,3272],"optional":[140,1170,1171,3264,3265,3272],"required_bytes":0},"commodore-cbm-ii|vice_xcbm2":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-pet|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-pet|vice_xpet":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-plus4|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-plus4|vice_xplus4":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-vic20|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"commodore-vic20|vice_xvic":{"bytes":24576,"files":[715,1172,3273,3274],"optional":[715,1172,3273,3274],"required_bytes":0},"dinothawr|":{"bytes":6727905,"files":[123,787],"optional":[],"required_bytes":6727905},"dinothawr|dinothawr":{"bytes":6727905,"files":[123,787],"optional":[],"required_bytes":6727905},"discrete-arcade|dice":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"doom|":{"bytes":142481407,"files":[823,824,825,826,976,977,1070,2501,2505,3197,3625],"optional":[],"required_bytes":142481407},"doom|gzdoom":{"bytes":143312,"files":[2505],"optional":[],"required_bytes":143312},"doom|prboom":{"bytes":142481407,"files":[823,824,825,826,976,977,1070,2501,2505,3197,3625],"optional":[823,824,825,826,976,977,1070,2501,3197,3625],"required_bytes":143312},"dos|":{"bytes":57366868,"files":[38,39,40,116,148,149,243,244,245,246,247,248,249,250,251,252,253,513,518,519,1214,1215,1216,1217,2866,2867,2868,2869,2870,2871,2872,2873,2874,2875,2876,2877,2878,2879,2880,2881,2882,2883,2884,2885,2886,2887,2888,2889,2890,2891,2892],"optional":[],"required_bytes":57366868},"dos|dosbox_pure":{"bytes":43239764,"files":[38,39,40,116,148,149,243,244,245,246,247,248,249,250,251,252,518,519,1214,1215,1216,1217],"optional":[38,116,243,244,245,246,247,248,249,250,251,252],"required_bytes":3707312},"dragon32|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"elektronika-bk|bk":{"bytes":102528,"files":[577,578,579,580,581,582,583,584,585],"optional":[585],"required_bytes":102400},"enterprise-128|ep128emu_core":{"bytes":81920,"files":[878,881,886],"optional":[878,881,886],"required_bytes":0},"enterprise-64-128|":{"bytes":95957100,"files":[392,437,515,529,613,622,625,626,629,630,710,716,739,763,764,827,870,871,872,877,879,880,882,883,884,885,891,892,895,899,900,903,922,1084,1089,1090,1091,1092,1093,1094,1117,1118,1228,1230,1231,1246,1247,1248,1249,1250,1251,1252,1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304,1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1351,1352,1353,1354,1355,1358,1359,1360,1361,1362,1363,1364,1365,1366,1367,1368,1369,1370,1371,1372,1373,1374,1375,1376,1377,1378,1379,1380,1381,1382,1383,1384,1385,1386,1387,1388,1389,1390,1391,1392,1393,1394,1395,1396,1397,1398,1399,1400,1401,1402,1403,1404,1405,1406,1407,1408,1409,1410,1411,1412,1413,1414,1415,1416,1417,1418,1419,1420,1421,1422,1423,1424,1425,1426,1427,1428,1429,1430,1431,1432,1433,1434,1435,1436,1437,1438,1439,1440,1441,1442,1443,1444,1445,1446,1447,1448,1449,1450,1451,1452,1453,1454,1455,1456,1457,1458,1459,1460,1461,1462,1463,1464,1465,1466,1467,1468,1469,1470,1471,1472,1473,1474,1475,1476,1477,1478,1479,1480,1481,1482,1483,1484,1485,1486,1487,1488,1489,1490,1491,1492,1493,1494,1495,1496,1497,1498,1499,1500,1501,1502,1503,1504,1505,1506,1507,1508,1509,1510,1511,1512,1513,1514,1515,1516,1517,1518,1519,1520,1521,1522,1523,1524,1525,1526,1527,1528,1529,1530,1531,1532,1533,1534,1535,1536,1537,1538,1539,1540,1541,1542,1543,1544,1545,1546,1547,1548,1549,1550,1551,1552,1553,1554,1555,1556,1557,1558,1559,1560,1561,1562,1563,1564,1565,1566,1567,1568,1569,1570,1571,1572,1573,1574,1575,1576,1577,1578,1579,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1594,1595,1596,1597,1598,1599,1600,1601,1602,1603,1604,1605,1606,1607,1610,1611,1612,1613,1614,1615,1616,1617,1618,1619,1622,1623,1624,1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639,1640,1641,1642,1643,1644,1645,1646,1647,1648,1649,1650,1651,1652,1653,1654,1655,1656,1657,1658,1659,1660,1661,1662,1663,1664,1665,1666,1667,1668,1669,1670,1671,1672,1673,1674,1675,1676,1677,1678,1679,1681,1682,1683,1684,1685,1686,1687,1688,1689,1690,1691,1692,1693,1694,1695,1696,1697,1698,1699,1700,1701,1702,1703,1704,1705,1706,1707,1708,1709,1710,1711,1712,1713,1714,1715,1716,1717,1718,1719,1720,1721,1722,1723,1724,1725,1726,1727,1728,1729,1730,1731,1732,1733,1734,1735,1736,1737,1738,1739,1740,1741,1742,1743,1744,1745,1746,1747,1748,1749,1750,1751,1752,1753,1754,1755,1756,1757,1758,1759,1760,1761,1762,1763,1764,1765,1766,1767,1768,1769,1770,1771,1772,1773,1774,1775,1776,1777,1778,1779,1780,1781,1782,1783,1784,1785,1786,1787,1788,1789,1790,1791,1792,1800,1801,1802,1803,1804,1805,1806,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819,1820,1821,1822,1823,1824,1825,1826,1827,1828,1829,1830,1831,1832,1833,1834,1835,1838,1839,1840,1841,1842,1843,1844,1845,1846,1847,1848,1849,1850,1851,1852,1853,1854,1855,1856,1857,1858,1859,1860,1861,1862,1863,1864,1865,1866,1867,1868,1869,1870,1871,1872,1873,1874,1875,1876,1877,1878,1879,1880,1881,1882,1883,1884,1885,1886,1887,1888,1889,1890,1891,1892,1893,1894,1895,1896,1897,1898,1899,1900,1901,1902,1903,1904,1905,1906,1907,1908,1909,1910,1911,1912,1913,1914,1915,1916,1917,1918,1919,1920,1921,1922,1923,1924,1925,1926,1927,1928,1929,1930,1931,1932,1933,1934,1935,1936,1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953,1954,1955,1956,1957,1958,1959,1960,1961,1962,1963,1964,1965,1966,1967,1968,1969,1970,1971,1972,1973,1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,1985,1986,1987,1988,1989,1990,1991,1992,1993,1994,1995,1996,1997,2030,2042,2043,2080,2107,2156,2255,2287,2308,2327,2330,2839,2840,2842,2844,2845,2847,2848,2851,2893,2989,2990,3013,3032,3033,3034,3035,3036,3037,3038,3039,3040,3041,3116,3196,3555,3556,3558,3618,3621,3628],"optional":[],"required_bytes":95957100},"enterprise-64-128|ep128emu_core":{"bytes":376832,"files":[870,871,872,877,879,880,882,883,884,885,891,892,3628],"optional":[],"required_bytes":376832},"entex-advision|mess2015":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"fairchild-channelf|":{"bytes":5777,"files":[940,3024,3025,3026],"optional":[],"required_bytes":5777},"fairchild-channelf|freechaf":{"bytes":5777,"files":[940,3024,3025,3026],"optional":[],"required_bytes":5777},"famicom-disk-system|fceumm":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"famicom|fceumm":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"famicom|nestopia":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"flashback|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"flashback|reminiscence":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"flash|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"galaksija|galaksija":{"bytes":10240,"files":[1036,1037,1038],"optional":[],"required_bytes":10240},"game-boy-advance|mgba":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"game-boy-color|gambatte":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"game-boy|gambatte":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"gamepark-gp32|mame":{"bytes":1378301,"files":[1063],"optional":[],"required_bytes":1378301},"gametank|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"gametank|gametank":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"handheld-electronic|gw":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"igs-pgm|fbalpha2012":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"intellivision|":{"bytes":10240,"files":[923,1069],"optional":[],"required_bytes":10240},"intellivision|freeintv":{"bytes":10240,"files":[923,1069],"optional":[],"required_bytes":10240},"j2me|freej2me":{"bytes":112628937,"files":[978,979,980,3090,3091,3092,3094,3095,3096,3097,3099],"optional":[],"required_bytes":112628937},"j2me|freej2me_plus":{"bytes":113848030,"files":[978,979,980,981,3090,3091,3092,3094,3095,3096,3097,3099],"optional":[],"required_bytes":113848030},"j2me|squirreljme":{"bytes":119422451,"files":[978,979,980,3090,3091,3092,3093,3094,3095,3096,3097,3098,3099],"optional":[3093,3098],"required_bytes":112628937},"lowresnx|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"lowresnx|lowresnx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"mega-duck|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"mega-duck|sameduck":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"microsoft-xbox|xemu":{"bytes":3186872,"files":[113,2028,3598,3603,3604],"optional":[3598,3603],"required_bytes":2687488},"msx2plus|bluemsx":{"bytes":212992,"files":[157,158,159,160,161,191,192,193],"optional":[157,158,159,160,161],"required_bytes":65536},"msx2|bluemsx":{"bytes":622592,"files":[154,155,156,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,194,195,196,197,198,199],"optional":[154,155,156,177,178,179,180,182,183,184,185,186,187,188,189,190,194,195,196,197,198,199],"required_bytes":49152},"msxturbor|bluemsx":{"bytes":147456,"files":[202,213,214,215,216],"optional":[],"required_bytes":147456},"msx|bluemsx":{"bytes":7630068,"files":[37,41,115,117,118,119,120,121,122,126,127,128,141,142,143,144,145,146,147,151,152,153,166,167,168,169,170,171,172,173,174,175,200,201,203,204,205,206,207,208,209,210,211,212,217,218,219,220,221,222,223,224,225,226,227,233,242,948],"optional":[117,118,120,121,122,151,152,153,166,167,168,169,170,171,172,173,174,200,201,203,204,205,206,207,208,209,210,211,212,217,218,219,220,221,222,223,224,225,226,227],"required_bytes":1703016},"nec-pc-88|":{"bytes":925696,"files":[2625,2626,2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2637,2638,2639,2640,2641],"optional":[],"required_bytes":925696},"nec-pc-88|quasi88":{"bytes":925696,"files":[2625,2626,2627,2628,2629,2630,2631,2632,2633,2634,2635,2636,2637,2638,2639,2640,2641],"optional":[2630,2631,2632],"required_bytes":919552},"nec-pc-engine-cd|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nec-pc-engine-cd|mednafen_pce_fast":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nec-pc-engine|":{"bytes":1376256,"files":[1054,1057,3134,3135,3136,3137,3138],"optional":[],"required_bytes":1376256},"nec-pc-engine|mednafen_pce_fast":{"bytes":1376256,"files":[1054,1057,3134,3135,3136,3137,3138],"optional":[],"required_bytes":1376256},"nec-pc-engine|mednafen_supergrafx":{"bytes":1376256,"files":[1054,1057,3134,3135,3136,3137,3138],"optional":[],"required_bytes":1376256},"nec-pcfx|":{"bytes":4718592,"files":[1033,2342,2343,2344,2345],"optional":[],"required_bytes":4718592},"nec-pcfx|beetle_pcfx":{"bytes":4718592,"files":[1033,2342,2343,2344,2345],"optional":[],"required_bytes":4718592},"nec-supergrafx|mednafen_supergrafx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"neogeo|fbalpha2012":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"neogeo|fbalpha2012_neogeo":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"neogeo|fbneo":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-3ds|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-3ds|azahar":{"bytes":3207537,"files":[23,24,25,26,27,28,29],"optional":[23,24,25,26,27,28,29],"required_bytes":0},"nintendo-3ds|citra":{"bytes":3271885,"files":[109,110,111,112],"optional":[109,110,111,112],"required_bytes":0},"nintendo-3ds|panda3ds":{"bytes":60621,"files":[236,237],"optional":[236,237],"required_bytes":0},"nintendo-64dd|":{"bytes":8454540,"files":[14,230,231],"optional":[],"required_bytes":8454540},"nintendo-64dd|mupen64plus_next":{"bytes":8454540,"files":[14,230,231],"optional":[231],"required_bytes":8388608},"nintendo-64dd|parallel_n64":{"bytes":8388608,"files":[14,230],"optional":[],"required_bytes":8388608},"nintendo-64|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-64|mupen64plus_next":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-64|parallel_n64":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-dsi|dsperate":{"bytes":251920448,"files":[830,831,832,833],"optional":[],"required_bytes":251920448},"nintendo-dsi|melonds_ds":{"bytes":251920448,"files":[830,831,832,833],"optional":[],"required_bytes":251920448},"nintendo-ds|":{"bytes":253573696,"files":[263,264,265,266,267,268,567,568,830,831,832,833,973,2161,2162,2163],"optional":[],"required_bytes":253573696},"nintendo-ds|drastic":{"bytes":252223552,"files":[567,568,830,831,832,833,973,2161,2162],"optional":[],"required_bytes":252223552},"nintendo-ds|melonds":{"bytes":252223552,"files":[567,568,830,831,832,833,973,2161,2162],"optional":[],"required_bytes":252223552},"nintendo-fds|":{"bytes":38542,"files":[798,943,1039],"optional":[],"required_bytes":38542},"nintendo-fds|fceumm":{"bytes":38542,"files":[798,943,1039],"optional":[],"required_bytes":38542},"nintendo-fds|nestopia":{"bytes":38542,"files":[798,943,1039],"optional":[],"required_bytes":38542},"nintendo-gamecube|":{"bytes":288170070,"files":[129,130,131,132,133,134,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053],"optional":[],"required_bytes":288170070},"nintendo-gamecube|dolphin":{"bytes":153933191,"files":[808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053],"optional":[816,817,818,819,820,821,822],"required_bytes":19679928},"nintendo-gba|":{"bytes":317952,"files":[263,264,265,266,267,268,1042],"optional":[],"required_bytes":317952},"nintendo-gba|gpsp":{"bytes":16384,"files":[1042],"optional":[],"required_bytes":16384},"nintendo-gba|mgba":{"bytes":16384,"files":[1042],"optional":[],"required_bytes":16384},"nintendo-gbc|":{"bytes":2294016,"files":[36,254,255,263,264,265,266,267,268,414,711,712,800,834,835,836,837,838,839,840,841,842,843,1043,3006,3008,3100,3101,3102,3103],"optional":[],"required_bytes":2294016},"nintendo-gbc|gambatte":{"bytes":1990144,"files":[36,254,255,711,712,800,834,835,836,837,838,839,840,841,842,843,1043,3006,3008,3100,3101,3102,3103],"optional":[],"required_bytes":1990144},"nintendo-gbc|mgba":{"bytes":1990144,"files":[36,254,255,711,712,800,834,835,836,837,838,839,840,841,842,843,1043,3006,3008,3100,3101,3102,3103],"optional":[],"required_bytes":1990144},"nintendo-gb|":{"bytes":2287616,"files":[36,254,255,263,264,265,266,267,268,712,800,801,834,835,836,837,838,839,840,841,842,843,1041,3006,3008,3100,3101,3102,3103],"optional":[],"required_bytes":2287616},"nintendo-gb|gambatte":{"bytes":1986048,"files":[36,254,255,712,800,801,834,835,836,837,838,839,840,841,842,843,1041,3006,3008,3100,3101,3102,3103],"optional":[],"required_bytes":1986048},"nintendo-gb|mgba":{"bytes":1986048,"files":[36,254,255,712,800,801,834,835,836,837,838,839,840,841,842,843,1041,3006,3008,3100,3101,3102,3103],"optional":[],"required_bytes":1986048},"nintendo-nes|":{"bytes":7079398,"files":[228,229,232,276,765,1039,1212,2181,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2194,2195,2196,2197,2198,2199,2200,2201,2202,2203,2204,2205,2206,2207,2208,2209,2210,2211,2212,2213,2214,2215,2216,2217,2218,2219,2220,2221,2222,2223,2224,2225,2226,2227,2228,2229,2230,2231,2232,2233,2234,2235,2236,2237,2238,2239,2240,2241,2242,2243,2244,2245,2246,2247,2248,2249,2250,2251,2252,3622],"optional":[],"required_bytes":7079398},"nintendo-nes|fceumm":{"bytes":1034318,"files":[232,1039,2181],"optional":[2181],"required_bytes":1034126},"nintendo-nes|nestopia":{"bytes":5997926,"files":[232,765,1039,2183,2184,2185,2186,2187,2188,2189,2190,2191,2192,2193,2194,2195,2196,2197,2198,2199,2200,2201,2202,2203,2204,2205,2206,2207,2208,2209,2210,2211,2212,2213,2214,2215,2216,2217,2218,2219,2220,2221,2222,2223,2224,2225,2226,2227,2228,2229,2230,2231,2232,2233,2234,2235,2236,2237,2238,2239,2240,2241,2242,2243,2244,2245,2246,2247,2248,2249,2250,2251,2252],"optional":[765],"required_bytes":5997734},"nintendo-nes|quicknes":{"bytes":1034126,"files":[232,1039],"optional":[],"required_bytes":1034126},"nintendo-pokemon-mini|":{"bytes":4096,"files":[565],"optional":[],"required_bytes":4096},"nintendo-pokemon-mini|pokemini":{"bytes":4096,"files":[565],"optional":[],"required_bytes":4096},"nintendo-satellaview|":{"bytes":4083900,"files":[34,35,36,254,255,257,258,259,260,261,712,800,834,835,836,837,838,839,840,841,842,843,3006,3008,3100,3101,3102,3103],"optional":[],"required_bytes":4083900},"nintendo-satellaview|snes9x":{"bytes":4082688,"files":[34,35,36,254,255,712,800,834,835,836,837,838,839,840,841,842,843,3006,3008,3100,3101,3102,3103],"optional":[],"required_bytes":4082688},"nintendo-sgb|":{"bytes":3035648,"files":[36,254,255,277,278,279,712,800,834,835,836,837,838,839,840,841,842,843,3001,3002,3003,3004,3005,3006,3007,3008,3100,3101,3102,3103],"optional":[],"required_bytes":3035648},"nintendo-sgb|mgba":{"bytes":2772736,"files":[36,254,255,712,800,834,835,836,837,838,839,840,841,842,843,3001,3002,3004,3005,3006,3007,3008,3100,3101,3102,3103],"optional":[],"required_bytes":2772736},"nintendo-snes|chimerasnes":{"bytes":2152448,"files":[36,254,255,712,768,800,834,835,836,837,838,839,840,841,842,843,3006,3008,3100,3101,3102,3103,3104,3105],"optional":[],"required_bytes":2152448},"nintendo-snes|mednafen_supafaust":{"bytes":2152448,"files":[36,254,255,712,768,800,834,835,836,837,838,839,840,841,842,843,3006,3008,3100,3101,3102,3103,3104,3105],"optional":[],"required_bytes":2152448},"nintendo-snes|snes9x":{"bytes":2152448,"files":[36,254,255,712,768,800,834,835,836,837,838,839,840,841,842,843,3006,3008,3100,3101,3102,3103,3104,3105],"optional":[],"required_bytes":2152448},"nintendo-snes|snes9x2005":{"bytes":2152448,"files":[36,254,255,712,768,800,834,835,836,837,838,839,840,841,842,843,3006,3008,3100,3101,3102,3103,3104,3105],"optional":[],"required_bytes":2152448},"nintendo-snes|snes9x2005_plus":{"bytes":2152448,"files":[36,254,255,712,768,800,834,835,836,837,838,839,840,841,842,843,3006,3008,3100,3101,3102,3103,3104,3105],"optional":[],"required_bytes":2152448},"nintendo-sufami-turbo|":{"bytes":262144,"files":[256],"optional":[],"required_bytes":262144},"nintendo-sufami-turbo|snes9x":{"bytes":262144,"files":[256],"optional":[],"required_bytes":262144},"nintendo-sufami-turbo|snes9x2010":{"bytes":262144,"files":[256],"optional":[],"required_bytes":262144},"nintendo-switch|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-virtualboy|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-virtualboy|beetle_vb":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-wiiu|cemu":{"bytes":92610046,"files":[42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108],"optional":[42,43,44,45,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108],"required_bytes":449507},"nintendo-wii|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"nintendo-wii|dolphin":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"odyssey2|o2em":{"bytes":1606321,"files":[621,1034,1153,2292,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407,3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434,3435,3436,3437,3438,3439,3440,3441,3442,3443,3444,3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497,3498,3499,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3521,3522,3523,3524,3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552,3553],"optional":[],"required_bytes":1606321},"olivetti-pc128|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"onscripter|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"onscripter|onscripter":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"openbor|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"openbor|openbor":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"palm-os|":{"bytes":40108544,"files":[594,2310,2311,2312,2313],"optional":[],"required_bytes":40108544},"palm-os|mu":{"bytes":40108544,"files":[594,2310,2311,2312,2313],"optional":[],"required_bytes":40108544},"panasonic-3do|opera":{"bytes":13123332,"files":[9,1062,2296,2314,2315,2316,2317,2318,2319,2320,2321,2322,2323,2858],"optional":[2296],"required_bytes":12992260},"pc-98|":{"bytes":1987076,"files":[2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269,2270,2271,2272,2273,2274,2275,2276,2277,2278,2279,2280,2281,2282,2283,2284,2285],"optional":[],"required_bytes":1987076},"pc-98|nekop2":{"bytes":1933828,"files":[2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269,2270,2271,2272,2273,2274,2275,2276,2277,2278,2279,2281,2285],"optional":[2259,2260,2261,2262,2263,2264,2265,2266,2267,2268,2269,2270],"required_bytes":1117442},"pc-98|np2kai":{"bytes":1170690,"files":[2271,2272,2273,2274,2275,2276,2277,2278,2279,2280,2281,2282,2283,2284,2285],"optional":[2280,2282,2283,2284],"required_bytes":1117442},"pc80|quasi88":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"philips-cdi|same_cdi":{"bytes":2990918,"files":[693,2853,2854,2855,2856,2857],"optional":[2853,2854],"required_bytes":2123788},"philips-videopac|":{"bytes":1605297,"files":[621,1034,1153,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407,3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434,3435,3436,3437,3438,3439,3440,3441,3442,3443,3444,3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497,3498,3499,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3521,3522,3523,3524,3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552,3553],"optional":[],"required_bytes":1605297},"philips-videopac|o2em":{"bytes":1605297,"files":[621,1034,1153,3284,3285,3286,3287,3288,3289,3290,3291,3292,3293,3294,3295,3296,3297,3298,3299,3300,3301,3302,3303,3304,3305,3306,3307,3308,3309,3310,3311,3312,3313,3314,3315,3316,3317,3318,3319,3320,3321,3322,3323,3324,3325,3326,3327,3328,3329,3330,3331,3332,3333,3334,3335,3336,3337,3338,3339,3340,3341,3342,3343,3344,3345,3346,3347,3348,3349,3350,3351,3352,3353,3354,3355,3356,3357,3358,3359,3360,3361,3362,3363,3364,3365,3366,3367,3368,3369,3370,3371,3372,3373,3374,3375,3376,3377,3378,3379,3380,3381,3382,3383,3384,3385,3386,3387,3388,3389,3390,3391,3392,3393,3394,3395,3396,3397,3398,3399,3400,3401,3402,3403,3404,3405,3406,3407,3408,3409,3410,3411,3412,3413,3414,3415,3416,3417,3418,3419,3420,3421,3422,3423,3424,3425,3426,3427,3428,3429,3430,3431,3432,3433,3434,3435,3436,3437,3438,3439,3440,3441,3442,3443,3444,3445,3446,3447,3448,3449,3450,3451,3452,3453,3454,3455,3456,3457,3458,3459,3460,3461,3462,3463,3464,3465,3466,3467,3468,3469,3470,3471,3472,3473,3474,3475,3476,3477,3478,3479,3480,3481,3482,3483,3484,3485,3486,3487,3488,3489,3490,3491,3492,3493,3494,3495,3496,3497,3498,3499,3500,3501,3502,3503,3504,3505,3506,3507,3508,3509,3510,3511,3512,3513,3514,3515,3516,3517,3518,3519,3520,3521,3522,3523,3524,3525,3526,3527,3528,3529,3530,3531,3532,3533,3534,3535,3536,3537,3538,3539,3540,3541,3542,3543,3544,3545,3546,3547,3548,3549,3550,3551,3552,3553],"optional":[],"required_bytes":1605297},"pico8|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"pico8|fake08":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"pico8|lexaloffle":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"quake2|vitaquake2":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"quake|tyrquake":{"bytes":159899459,"files":[1115,2642,2643,2644],"optional":[2643,2644],"required_bytes":66916006},"rpgmaker|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"rpgmaker|easyrpg":{"bytes":148398498,"files":[851,3597],"optional":[851,3597],"required_bytes":0},"rpgmaker|mkxp_z":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sammy-atomiswave|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sammy-atomiswave|flycast":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sammy-atomiswave|flycast2021":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"scummvm|":{"bytes":100146431,"files":[2930,2931,2932,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,2963,2964,2965,2966,2967,2968,2969,2970,2971,2972,2973,2974,2975,2976,2977,2978,2979,2980,2981,2982,2983,2984],"optional":[],"required_bytes":100146431},"scummvm|scummvm":{"bytes":100146431,"files":[2930,2931,2932,2933,2934,2935,2936,2937,2938,2939,2940,2941,2942,2943,2944,2945,2946,2947,2948,2949,2950,2951,2952,2953,2954,2955,2956,2957,2958,2959,2960,2961,2962,2963,2964,2965,2966,2967,2968,2969,2970,2971,2972,2973,2974,2975,2976,2977,2978,2979,2980,2981,2982,2983,2984],"optional":[2931,2932,2933,2934,2938,2939,2942,2945,2946,2949,2950,2953,2965,2966,2975],"required_bytes":54440382},"scv|emuscv":{"bytes":4096,"files":[3230],"optional":[],"required_bytes":4096},"sega-32x|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-32x|picodrive":{"bytes":3328,"files":[5,6,7],"optional":[5,6,7],"required_bytes":0},"sega-dreamcast|":{"bytes":7204656,"files":[593,774,775,776,777,778,974],"optional":[],"required_bytes":7204656},"sega-dreamcast|flycast":{"bytes":4456448,"files":[774,775,776,777],"optional":[776],"required_bytes":4325376},"sega-dreamcast|flycast2021":{"bytes":4976432,"files":[774,775,776,777,778],"optional":[776,778],"required_bytes":4325376},"sega-gamegear|gearsystem":{"bytes":1024,"files":[564],"optional":[],"required_bytes":1024},"sega-gamegear|genesis_plus_gx":{"bytes":1024,"files":[564],"optional":[],"required_bytes":1024},"sega-gamegear|picodrive":{"bytes":17391,"files":[564,679],"optional":[679],"required_bytes":1024},"sega-genesis|genesis_plus_gx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-genesis|picodrive":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-mastersystem|gearsystem":{"bytes":32768,"files":[566,572,573,575],"optional":[],"required_bytes":32768},"sega-mastersystem|genesis_plus_gx":{"bytes":32768,"files":[566,572,573,575],"optional":[],"required_bytes":32768},"sega-mastersystem|picodrive":{"bytes":49135,"files":[566,572,573,575,679],"optional":[679],"required_bytes":32768},"sega-mastersystem|smsplus":{"bytes":32768,"files":[566,572,573,575],"optional":[],"required_bytes":32768},"sega-megacd|genesis_plus_gx":{"bytes":393216,"files":[569,570,571],"optional":[],"required_bytes":393216},"sega-megacd|picodrive":{"bytes":1589231,"files":[262,569,570,571,679,915,916,917,1154,1155,1156,3231,3232],"optional":[262,679,915,916,1154,1155,3231],"required_bytes":786432},"sega-megadrive|genesis_plus_gx":{"bytes":2444622,"files":[492,574,1060,2665,3022,3023],"optional":[],"required_bytes":2444622},"sega-megadrive|picodrive":{"bytes":2460989,"files":[492,574,679,1060,2665,3022,3023],"optional":[679],"required_bytes":2444622},"sega-model3|supermodel3":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-naomi|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-naomi|flycast":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-naomi|flycast2021":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-outrun|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-outrun|cannonball":{"bytes":2621440,"files":[637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676],"optional":[638,640,642,644,646,648,650,652,665],"required_bytes":2064384},"sega-pico|fake08":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-pico|picodrive":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-saturn|":{"bytes":13744217,"files":[691,1095,1202,1203,2052,2063,2064,2065,2066,2859,2861,2992,2993,2994,2995,3560],"optional":[],"required_bytes":13744217},"sega-saturn|yabasanshiro":{"bytes":12892249,"files":[1095,1202,1203,2063,2064,2065,2066,2861,2992,2993,2994,2995,3560],"optional":[],"required_bytes":12892249},"sega-sc3000|bluemsx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-sc3000|picodrive":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-sf7000|bluemsx":{"bytes":8192,"files":[162],"optional":[],"required_bytes":8192},"sega-sg1000|bluemsx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-sg1000|gearsystem":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-sg1000|genesis_plus_gx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-sg1000|picodrive":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-stv|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-stv|beetle_saturn":{"bytes":5027929,"files":[896,897,898,3109],"optional":[3109],"required_bytes":1572864},"sega-triforce|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-vmu|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sega-vmu|vemulator":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sharp-x1|":{"bytes":349184,"files":[3609,3610,3611,3612,3613],"optional":[],"required_bytes":349184},"sharp-x1|x1":{"bytes":349184,"files":[3609,3610,3611,3612,3613],"optional":[3609,3610,3611],"required_bytes":36864},"sharp-x68000|":{"bytes":1310720,"files":[1173,1174,1175,1176,1177],"optional":[],"required_bytes":1310720},"sharp-x68000|px68k":{"bytes":1310720,"files":[1173,1174,1175,1176,1177],"optional":[],"required_bytes":1310720},"sinclair-zx-spectrum|":{"bytes":946477,"files":[0,1,2,3,11,795,796,893,894,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1119,1120,2490,2491,2492,2493,2494,2495,2496,2497,2498,2499,2500,2985,2986,3046,3148,3149,3150,3151,3152,3153,3154,3155,3156,3157,3158,3159,3160,3161,3162,3163],"optional":[],"required_bytes":946477},"sinclair-zx-spectrum|fuse":{"bytes":946477,"files":[0,1,2,3,11,795,796,893,894,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1119,1120,2490,2491,2492,2493,2494,2495,2496,2497,2498,2499,2500,2985,2986,3046,3148,3149,3150,3151,3152,3153,3154,3155,3156,3157,3158,3159,3160,3161,3162,3163],"optional":[],"required_bytes":946477},"sinclair-zx81|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sinclair-zx81|81":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"snk-neogeo-cd|":{"bytes":8008490,"files":[953,2164,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176,2177],"optional":[],"required_bytes":8008490},"snk-neogeo-cd|neocd":{"bytes":6835502,"files":[952,2165,2166,2167,2168,2169,2170,2171,2172,2173,2174,2175,2176,2178],"optional":[],"required_bytes":6835502},"snk-neogeo-pocket|beetle_ngp":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"snk-ngpc|beetle_ngp":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"snk-ngp|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"snk-ngp|beetle_ngp":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"snk-ngp|race":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"solarus|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sony-playstation-2|":{"bytes":437955723,"files":[857,2346,2347,2348,2349,2350,2351,2352,2353,2354,2355,2356,2357,2358,2359,2360,2361,2362,2363,2364,2365,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,2388,2389,2390,2391,2392,2393,2394,2395,2396,2397,2398,2399,2400,2401,2402,2403,2404,2405,2406,2407,2408,2409,2410,2411,2412,2413,2414,2415,2416,2417,2418,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2437,2438,2439,2440,2441,2442,2443,2444,2445,2446,2447,2448,2449,2450,2451,2452,2453,2454,2455,2456,2457,2458,2459,2460,2461,2462,2463,2464,2465,2466,2467,2468,2469,2470,2471],"optional":[],"required_bytes":437955723},"sony-playstation-2|aethersx2":{"bytes":307921991,"files":[2364,2365,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2384,2385,2386,2387,2388,2389,2390,2391,2392,2394,2396,2397,2398,2399,2400,2401,2403,2404,2405,2406,2408,2410,2411,2412,2413,2414,2416,2417,2419,2420,2421,2422,2423,2424,2425,2426,2427,2428,2429,2430,2431,2432,2433,2434,2435,2436,2437,2440,2442,2443,2444,2445,2446,2471],"optional":[],"required_bytes":307921991},"sony-playstation-3|rpcs3":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sony-playstation-vita|vita3k":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sony-playstation|":{"bytes":344981504,"files":[847,2295,2511,2512,2513,2514,2515,2516,2517,2518,2519,2520,2521,2522,2523,2524,2525,2526,2527,2528,2529,2530,2531,2532,2533,2535,2536,2537,2538,2539,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,2550,2551,2552,2553,2554,2555,2556,2557,2558,2559,2560,2561,2562,2563,2564,2565,2566,2567,2568,2569,2570,2571,2572,2573,2574,2575,2576,2577,2578,2579,2580,2581,2582,2583,2584,2585,2586,2587,2588,2589,2590,2591,2592,2597,2894,2895,2896,2897,2898,2899,2900,2901,2902,2903,2904,2905,2906,2907,2908,2909,2910,2911,2912,2913,2914,2915,2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927],"optional":[],"required_bytes":344981504},"sony-playstation|beetle_psx":{"bytes":13107200,"files":[2295,2511,2597,2894,2895,2897,2900,2904,2908,2909,2910,2913,2914,2915,2916,2917,2918,2919,2920,2923,2924,2925,2926,2927],"optional":[2295,2920],"required_bytes":11534336},"sony-playstation|pcsx_rearmed":{"bytes":11534336,"files":[2511,2597,2894,2895,2897,2900,2904,2908,2909,2910,2913,2914,2915,2916,2917,2918,2919,2923,2924,2925,2926,2927],"optional":[],"required_bytes":11534336},"sony-psp|":{"bytes":1785762,"files":[234,235],"optional":[],"required_bytes":1785762},"sony-psp|ppsspp":{"bytes":1785762,"files":[234,235],"optional":[234],"required_bytes":666530},"spectravideo|bluemsx":{"bytes":98304,"files":[163,164,165],"optional":[],"required_bytes":98304},"sunplus-native32|native32emu":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"sunplus-spmp8000|spmp8000emu":{"bytes":130500,"files":[3198],"optional":[3198],"required_bytes":0},"super-mario-war|superbroswar":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"texas-instruments-ti-83|":{"bytes":2883584,"files":[3171,3172,3173],"optional":[],"required_bytes":2883584},"texas-instruments-ti-83|numero":{"bytes":2883584,"files":[3171,3172,3173],"optional":[],"required_bytes":2883584},"thomson-mo5|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-mo6|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to770|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to7|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to8d|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to8|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to9plus|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"thomson-to9|theodore":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"ti99|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"tic80|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"tic80|tic80":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"tomb-raider|openlara":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"uzebox|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"uzebox|uzem":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"vectrex|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"vectrex|vecx":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"videoton-tvc|ep128emu_core":{"bytes":49152,"files":[887,888,889,890],"optional":[],"required_bytes":49152},"vircon32|vircon32":{"bytes":1073060,"files":[280],"optional":[],"required_bytes":1073060},"watara-supervision|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"watara-supervision|potator":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"wolfenstein3d|ecwolf":{"bytes":178755,"files":[856],"optional":[],"required_bytes":178755},"wonderswan-color|beetle_wswan":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"wonderswan|beetle_wswan":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"xegs|atari800":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"xrick|":{"bytes":1457440,"files":[3614],"optional":[],"required_bytes":1457440},"xrick|xrick":{"bytes":1457440,"files":[3614],"optional":[],"required_bytes":1457440},"zeldaclassic|":{"bytes":0,"files":[],"optional":[],"required_bytes":0},"zmachine|mojozork":{"bytes":0,"files":[],"optional":[],"required_bytes":0}}} diff --git a/install/games/index.json b/install/games/index.json index e45e1c3d9..a95279495 100644 --- a/install/games/index.json +++ b/install/games/index.json @@ -1 +1 @@ -{"arcade":{"fbneo":{"file":"arcade/fbneo.json","gzip_size":115955,"sha256":"88961c9a6be804772baa767f6ee3a9162478c30c60fe55c8363d8fe4fbc909da","size":423362},"flycast":{"file":"arcade/flycast.json","gzip_size":1841,"sha256":"957189a6e993fda08e21c90ffc6ad94aed9ca9e6dd9ed8c7724e29db036791cb","size":5441},"mame":{"file":"arcade/mame.json","gzip_size":154527,"sha256":"b12010301293a218ecfac45706d81a26c3ac0c27eebeca7409bc8f6ce0163e9e","size":604648},"mame0258":{"file":"arcade/mame0258.json","gzip_size":141151,"sha256":"7ecff1979ed2ac123ea3ba4825dde6e2c31906415165fabefc9af93fa48a6de4","size":556059},"mame0278":{"file":"arcade/mame0278.json","gzip_size":148595,"sha256":"7881e3516f451ec83e886aaf41ebac9d60f497e1f954f49749d52890d7955cbf","size":582797},"mame2000":{"file":"arcade/mame2000.json","gzip_size":8624,"sha256":"f0d69b0872ecfc2845eeb7304543e5b17c11db82060b5514c206b6962ed08263","size":23316},"mame2003":{"file":"arcade/mame2003.json","gzip_size":17456,"sha256":"3b44e2a92c80a8f104b7781fcc1c776d025ad2cf4986638efa3ea041baa9a56d","size":48929},"mame2003_plus":{"file":"arcade/mame2003_plus.json","gzip_size":21077,"sha256":"2857283556fa49c20d8160ed113465bf0c2e643ed0b8acd2d38266a78be8e25e","size":62373},"mame2010":{"file":"arcade/mame2010.json","gzip_size":30869,"sha256":"50b1b381b4b07463f69f1f4c512dd1c98a78d4d0e9c3aeaf49b7b1b007b42152","size":96528},"mame2015":{"file":"arcade/mame2015.json","gzip_size":86990,"sha256":"afeb8c32f651421f74c6de057b0c0b837acd14c533b5160bb31f4411e0afffec","size":360117},"mame2016":{"file":"arcade/mame2016.json","gzip_size":101249,"sha256":"1f75147977d9d082a38b8f8e47a02b301f3d6e6db97c9b9282f3e7f27f26ee47","size":406190}},"containers":{"7z":{"description":"Per-file CRCs and sizes sit in the header at the end of the archive, LZMA-compressed by default (kEncodedHeader). One LZMA decode of the header, independent of the archive size, gives them. Python's lzma is an optional module.","re_read":true,"signature":{"bytes_hex":"377abcaf271c","offset":0},"source_ref":"ip7z/7zip@b88c6bc0 DOC/7zFormat.txt:171-189, DOC/7zFormat.txt:318-334, CPP/7zip/Archive/7z/7zHandlerOut.cpp:859"},"cd-sector":{"description":"User data of a CD sector. In a 2048-byte image (.iso) sector N starts at N * 2048. In a raw 2352-byte image it starts at N * 2352 plus 16 for Mode 1 and plus 24 for Mode 2 Form 1 (12 sync bytes, a 4-byte header, and for Mode 2 an 8-byte subheader).","re_read":true,"sector_size":{"iso":2048,"raw":2352},"source_ref":"stenzek/duckstation@526b4a12 src/util/iso_reader.cpp:157-171, src/util/cd_image.h:28-34","user_data_offset":{"mode1":16,"mode2":24}},"chd-v5":{"description":"MAME compressed hunks, big-endian. The header holds sizes, codecs and hashes only, never the system or the region. The overall SHA-1 is what MAME software lists record. Neither SHA-1 equals a Redump track hash: chdman hashes 2448-byte frames (subcode included, zero-filled), pads each track to 4 frames and byte-swaps audio, all tracks in one stream.","fields":{"compressors":{"encoding":"fourcc4","length":16,"offset":16},"header_length":{"encoding":"u32be","length":4,"offset":8,"value":124},"hunk_bytes":{"encoding":"u32be","length":4,"offset":56},"logical_bytes":{"encoding":"u64be","length":8,"offset":32},"map_offset":{"encoding":"u64be","length":8,"offset":40},"metadata_offset":{"encoding":"u64be","length":8,"offset":48},"overall_sha1":{"encoding":"hex","length":20,"offset":84},"parent_sha1":{"encoding":"hex","length":20,"offset":104},"raw_sha1":{"encoding":"hex","length":20,"offset":64},"unit_bytes":{"encoding":"u32be","length":4,"offset":60},"version":{"encoding":"u32be","length":4,"offset":12,"value":5}},"magic":{"bytes":"MComprHD","offset":0},"media_tags":{"CHCD":"cd","CHGD":"gd-rom","CHGT":"gd-rom","CHT2":"cd","CHTR":"cd","DVD ":"dvd","GDDD":"hard-disk"},"metadata_entry":{"description":"16-byte entry header, payload follows. Linked list from metadata_offset.","flags":{"encoding":"u8","length":1,"offset":4},"length":{"encoding":"u24be","length":3,"offset":5},"next":{"encoding":"u64be","length":8,"offset":8},"tag":{"encoding":"ascii","length":4,"offset":0}},"re_read":true,"source_ref":"mamedev/mame@f34f0250 src/lib/util/chd.h:148-162, src/lib/util/chd.cpp:2021-2061, src/lib/util/chd.cpp:2822-2831, src/lib/util/chd.h:212-235, src/lib/util/chd.cpp:1709-1749, src/tools/chdman.cpp:443-445, src/tools/chdman.cpp:2195-2203, src/lib/util/cdrom.cpp:2669-2672, src/emu/romload.cpp:1211"},"gamecube-disc":{"description":"Where disc offset 0 sits inside each container Dolphin opens.","formats":{"ciso":{"disc_header_at":32768,"magic":"CISO"},"gcz":{"disc_header_at":null,"magic_u32le":2970337281,"note":"block 0 is zlib unless bit 63 of its pointer is set"},"iso":{"disc_header_at":0,"magic":null},"rvz":{"disc_header_at":88,"magic":"RVZ\u0001","note":"first 0x80 disc bytes copied into header 2"},"wbfs":{"disc_header_at":null,"magic":"WBFS","note":"disc offset 0 at wlba[0] << wbfs_sector_shift"},"wia":{"disc_header_at":88,"magic":"WIA\u0001","note":"first 0x80 disc bytes copied into header 2"}},"re_read":true,"source_ref":"dolphin-emu/dolphin@0d93fc03 Source/Core/DiscIO/WIABlob.h:80-119, Source/Core/DiscIO/WIABlob.cpp:320-330, Source/Core/DiscIO/CISOBlob.cpp:66-69, Source/Core/DiscIO/CompressedBlob.cpp:140-150, Source/Core/DiscIO/WbfsBlob.cpp:148-155"},"iso9660":{"description":"Primary volume descriptor in sector 16 ('CD001' at offset 1), root directory record at PVD offset 156 (34 bytes). A file is found by name in the root directory, with the ';1' version suffix.","pvd_sector":16,"re_read":true,"root_record_offset":156,"source_ref":"stenzek/duckstation@526b4a12 src/util/iso_reader.cpp:68-90, src/util/iso_reader.h:60-99"},"zip":{"description":"The central directory gives each member's CRC-32 (offset 16) and uncompressed size (offset 24) without inflating. Python's zipfile reads it on open (ZipInfo.CRC, ZipInfo.file_size).","re_read":true,"source_ref":"python/cpython@fa919fdf Lib/zipfile.py:99-115, Lib/zipfile.py:1293-1347"}},"data_version":"c17b9f2dda6f9774","fallback":{"amberelec":{"file":"fallback/amberelec.json","gzip_size":12141,"sha256":"6a3c624996adc555ad45c170dc5c0402841a4ec2361a9ed11acffd666a6fa4b4","size":61223},"batocera":{"file":"fallback/batocera.json","gzip_size":42316,"sha256":"4ee3450717aa1e7cac1941bfc6e72a718973bfb2cd0a41d213ccadae58aa6724","size":309422},"bizhawk":{"file":"fallback/bizhawk.json","gzip_size":1944,"sha256":"152b14f3aff69714698a58837d6331ebcbcd3aaaa5f62939b9c743e535a319f4","size":7320},"emudeck":{"file":"fallback/emudeck.json","gzip_size":26318,"sha256":"11a818cb8a36969586b45fa50390cae1f354ce915a70a1b1d5e45d26b9c5dd84","size":110253},"emuelec":{"file":"fallback/emuelec.json","gzip_size":16695,"sha256":"1e76868f0cb723a0b44a1b403f666cc37eeefdd7b7bf420d5e2e2053f28c9464","size":82083},"knulli":{"file":"fallback/knulli.json","gzip_size":39825,"sha256":"62ec2a347783a30e6e0a61a5df3045b347013a1022c73d39945147d5908f7920","size":267594},"minui":{"file":"fallback/minui.json","gzip_size":701,"sha256":"d68b30917db60263e57331271ebc33d00520dcbc15cdcaba8ccaf2901be2c870","size":2761},"misterfpga":{"file":"fallback/misterfpga.json","gzip_size":1898,"sha256":"b8f457378063d2f9b4010c2fefc21561df71e2e2d06f4ad1a7d945f4ad0a6f55","size":9569},"myminui":{"file":"fallback/myminui.json","gzip_size":1887,"sha256":"029242a5d03083b697c3c801f5a7f86687d62432fa925e0ec1c4759c3e3c20a5","size":7993},"nextui":{"file":"fallback/nextui.json","gzip_size":3088,"sha256":"3c28a4e3d67d5e5b653303419423c4326845b7e8b047c5f4ee1fdf44da0f5faf","size":15502},"recalbox":{"file":"fallback/recalbox.json","gzip_size":13869,"sha256":"6854fff04b6e4d619f92e76b0427f45fd0bd06c1d88f9037b603c0a0dc9c9efc","size":62692},"retroarch":{"file":"fallback/retroarch.json","gzip_size":45029,"sha256":"77f3ba3c64bdbe6fa7b4d84f4df2036548e395463c1decc50366b669669952a8","size":217735},"retrobat":{"file":"fallback/retrobat.json","gzip_size":32950,"sha256":"59aae7e5e1c53931a456cfe4cf580e3c0dd3bf8bd77455baa7732670404a4786","size":139887},"retrodeck":{"file":"fallback/retrodeck.json","gzip_size":46070,"sha256":"bfd7ffd2d69a7a0d2df0fdf70072661060f6538379b46960d79e9405b6ace447","size":236872},"retropie":{"file":"fallback/retropie.json","gzip_size":37196,"sha256":"20a85de251a7e43246bbf55d6902bdcd3989b4969d1f61b771b9f4a51824463e","size":153232},"rocknix":{"file":"fallback/rocknix.json","gzip_size":9255,"sha256":"e86b0b9099692f63e4f59bc0b1cd7dfc0b1c74bd381e0f53749c5d6a85630ba0","size":38910},"romm":{"file":"fallback/romm.json","gzip_size":6111,"sha256":"e4009ba31a3a5e08d7cf0c6cfcdfaa0e704faa19460d8e1c0fc169b745a4a15e","size":27444}},"folders":{"240ptestsuite":["nintendo-fds","nintendo-nes"],"2600":["atari-2600"],"2ship":["2ship"],"32x":["sega-32x"],"3d0":["panasonic-3do"],"3do":["panasonic-3do"],"3ds":["nintendo-3ds"],"5200":["atari-5200"],"64":["nintendo-64"],"64dd":["nintendo-64","nintendo-64dd"],"7800":["atari-7800"],"800":["atari-400-800"],"a2600":["atari-2600"],"a5200":["atari-5200"],"a7800":["atari-7800"],"a800":["atari-400-800"],"acclaim-zn1":["acclaim-zn1"],"acorn-archimedes":["acorn-archimedes"],"acorn-bbc-micro":["acorn-bbc-micro"],"acpc":["amstrad-cpc"],"actionmax":["arcade-laserdisc"],"adam":["coleco-adam"],"advision":["entex-advision"],"advmame":["arcade"],"agb":["nintendo-gba"],"ags":["ags"],"amiga":["commodore-amiga"],"amiga (puae)":["commodore-amiga","commodore-amiga-cd32","commodore-cdtv"],"amiga-cd32":["commodore-amiga-cd32"],"amiga1200":["commodore-amiga"],"amiga4000":["commodore-amiga"],"amiga500":["commodore-amiga"],"amiga600":["commodore-amiga"],"amigacd32":["commodore-amiga","commodore-amiga-cd32"],"amigacdtv":["commodore-amiga"],"amstrad":["amstrad-cpc"],"amstrad cpc (cpc)":["amstrad-cpc"],"amstrad-cpc":["amstrad-cpc"],"amstradcpc":["amstrad-cpc"],"amstradgx4000":["amstrad-cpc"],"apf-m1000":["apf-m1000"],"apfm1000":["apf-m1000"],"apple":["apple2"],"apple ii":["apple-ii"],"apple-ii":["apple-ii"],"apple-iigs":["apple-iigs"],"apple-ios":["apple-ios"],"apple-macintosh":["apple-macintosh"],"apple-macintosh-ii":["apple-macintosh-ii"],"apple2":["apple2"],"apple2gs":["apple-iigs"],"applemacintosh":["apple-macintosh"],"aquaplus-piece":["aquaplus-piece"],"aquarius":["mattel-aquarius"],"arcade":["arcade","capcom-cps1","capcom-cps2","capcom-cps3"],"arcade (mame)":["arcade"],"arcade-laserdisc":["arcade-laserdisc"],"arcadeatomiswave":["sammy-atomiswave"],"arcadehbmame":["arcade"],"arcadenaomi":["sammy-atomiswave"],"arcadeneogeo":["neogeo"],"arcadeneogeocd":["snk-neogeo-cd"],"arcadesegaatomiswave":["sammy-atomiswave"],"arcadeseganaomi":["sammy-atomiswave"],"arcadesnk":["neogeo"],"arcadesnkneogeo":["neogeo"],"arcadevertical":["arcade"],"arcadia":["emerson-arcadia-2001"],"arcatomiswave":["sammy-atomiswave"],"archimedes":["acorn-archimedes"],"arcnaomi":["sammy-atomiswave"],"arcneogeo":["neogeo"],"arcneogeocd":["snk-neogeo-cd"],"arcsegaatomiswave":["sammy-atomiswave"],"arcseganaomi":["sammy-atomiswave"],"arduboy":["arduboy"],"ast":["atari-st"],"aste":["atari-st"],"astrocade":["bally-astrocade"],"astrocde":["bally-astrocade"],"atari":["atari-2600"],"atari 2600 (a2600)":["atari-2600"],"atari 5200 (a5200)":["atari-5200"],"atari 7800":["atari-7800"],"atari 7800 (a7800)":["atari-7800"],"atari jaguar":["atari-jaguar"],"atari lynx (lynx)":["atari-lynx"],"atari st":["atari-st"],"atari-2600":["atari-2600"],"atari-2600-plus":["atari-2600"],"atari-400-800":["atari-400-800"],"atari-5200":["atari-5200"],"atari-7800":["atari-7800"],"atari-jaguar":["atari-jaguar"],"atari-jaguarcd":["atari-jaguarcd"],"atari-lynx":["atari-lynx"],"atari-lynx-mkii":["atari-lynx"],"atari-st":["atari-st"],"atari-zn1":["atari-zn1"],"atari2600":["atari-2600"],"atari5200":["atari-5200"],"atari5200 (a5200)":["atari-5200"],"atari7800":["atari-7800"],"atari7800 (a7800)":["atari-7800"],"atari800":["atari-400-800"],"atari8bit":["atari-400-800"],"atarifalcon":["atari-st"],"atarijaguar":["atari-jaguar"],"atarijaguarcd":["atari-jaguar","atari-jaguarcd"],"atarilynx":["atari-lynx"],"atarist":["atari-st"],"atariste":["atari-st"],"ataritt":["atari-st"],"atarixe":["atari-400-800"],"atarixegs":["xegs"],"atlus-zn1":["atlus-zn1"],"atom":["atom"],"atomiswave":["sammy-atomiswave","sega-dreamcast-arcade"],"aw":["sammy-atomiswave"],"bally-astrocade":["bally-astrocade"],"bandai-rx78":["bandai-rx78"],"bandai-wswan":["bandai-wswan"],"bandai-wswanc":["bandai-wswanc"],"bandaiwonderswan":["wonderswan"],"bandaiwonderswancolor":["wonderswan"],"bbc":["acorn-bbc-micro"],"bbcmicro":["acorn-bbc-micro"],"bbk":["bbk-longman-4980","bbk-longman-4988"],"bbk-longman-4980":["bbk-longman-4980"],"bbk-longman-4988":["bbk-longman-4988"],"beena":["sega-beena"],"bennugd":["bennugd"],"bermuda-syndrome":["bermuda-syndrome"],"bgb":["game-boy-color"],"bk":["elektronika-bk"],"blake-stone":["blake-stone"],"blood":["blood"],"bshift":["bshift"],"bstone":["blake-stone"],"bsx":["nintendo-satellaview"],"bsyndrome":["bermuda-syndrome"],"build":["blood","duke3d","exhumed","nam","powerslave","redneck","shadow-warrior","ww2gi"],"bws":["wonderswan"],"bwsc":["wonderswan"],"c-plus-4":["commodore-plus4"],"c128":["commodore-c128"],"c16":["commodore-plus4"],"c20":["commodore-vic20"],"c64":["commodore-c64"],"caesar3":["caesar3"],"camplynx":["camplynx"],"cannonball":["sega-outrun"],"capcom-cps1":["capcom-cps1"],"capcom-cps2":["capcom-cps2"],"capcom-cps3":["capcom-cps3"],"capcom-zn1":["capcom-zn1"],"capcom-zn2":["capcom-zn2"],"capcomcps1":["capcom-cps1"],"capcomcps2":["capcom-cps2"],"capcomcps3":["capcom-cps3"],"casio-loopy":["casio-loopy"],"casio-pv1000":["casio-pv1000"],"casio-pv2000":["casio-pv2000"],"casio_pv-1000":["casio-pv1000"],"casio_pv-2000":["casio-pv2000"],"casioloopy":["casio-loopy"],"cassettevision":["epochcv"],"catacomb":["catacomb-3d","catacomb-adventure"],"catacomb-3d":["catacomb-3d"],"catacomb-adventure":["catacomb-adventure"],"cave-story":["cave-story"],"cavestory":["cave-story"],"cbm-ii":["commodore-cbm-ii"],"cbmii":["commodore-cbm-ii"],"cd-i":["philips-cdi"],"cdi":["philips-cdi"],"cdimono1":["philips-cdi"],"cdtv":["commodore-amiga","commodore-cdtv"],"cgb":["nintendo-gbc"],"cgenie":["cgenie"],"cgenius":["commander-keen"],"channel f":["fairchild-channelf"],"channelf":["fairchild-channelf"],"chex":["chex"],"chf":["fairchild-channelf"],"chihiro":["sega-chihiro"],"chip-8":["chip8"],"chip8":["chip8"],"chipeight":["chip8"],"coco":["coco"],"coco3":["coco","coco3"],"coleco":["colecovision"],"coleco vision":["colecovision"],"coleco-adam":["coleco-adam"],"colecovision":["colecovision"],"colecovision (coleco)":["colecovision"],"commander-keen":["commander-keen"],"commanderx16":["commanderx16"],"commmodore-128":["commodore-c128"],"commodore":["commodore-c64"],"commodore 128 (c128)":["commodore-c128"],"commodore 64 (c64)":["commodore-c64"],"commodore pet (pet)":["commodore-pet"],"commodore plus4 (plus4)":["commodore-plus4"],"commodore vic20 (vic)":["commodore-vic20"],"commodore-64c":["commodore-c64"],"commodore-amiga":["commodore-amiga"],"commodore-amiga-cd32":["commodore-amiga-cd32"],"commodore-c128":["commodore-c128"],"commodore-c64":["commodore-c64"],"commodore-cbm-ii":["commodore-cbm-ii"],"commodore-cdtv":["commodore-cdtv"],"commodore-pet":["commodore-pet"],"commodore-plus4":["commodore-plus4"],"commodore-vic20":["commodore-vic20"],"commodore128":["commodore-c128"],"commodore64":["commodore-c64"],"commodoreamiga":["commodore-amiga"],"commodorec128":["commodore-c128"],"commodorec64":["commodore-c64"],"commodorecbmii":["commodore-cbm-ii"],"commodorepet":["commodore-pet"],"commodoreplus4":["commodore-plus4"],"commodorevic20":["commodore-vic20"],"corsixth":["theme-hospital"],"cougarboy":["mega-duck"],"cpc":["amstrad-cpc"],"cpet":["commodore-pet"],"cplus4":["commodore-plus4"],"cps":["arcade"],"cps1":["arcade","capcom-cps1"],"cps2":["arcade","capcom-cps2"],"cps3":["arcade","capcom-cps3"],"creativision":["crvision"],"crvision":["crvision"],"cstrike":["cstrike"],"cv":["colecovision"],"czero":["czero"],"czeror":["czeror"],"daphne":["arcade-laserdisc"],"dark-forces":["dark-forces"],"dark-forces-ii":["dark-forces-ii"],"dc":["sega-dreamcast"],"descent":["descent"],"descent2":["descent2"],"devilutionx":["diablo"],"diablo":["diablo"],"dice":["discrete-arcade"],"dinothawr":["dinothawr"],"discrete-arcade":["discrete-arcade"],"disksystem":["nintendo-fds"],"dmc":["dmc"],"dmg":["game-boy","nintendo-gb"],"doom":["doom"],"doom (doom)":["doom"],"doom (prboom)":["doom","heretic"],"doom3":["doom3"],"dos":["dos"],"dosbox":["dos"],"dragon":["coco","dragon64"],"dragon32":["coco","dragon32"],"dragon64":["coco","dragon64"],"dreamcast":["sega-dreamcast"],"dreamm":["dos","fmtowns","ibm-pc","tandy-1000"],"droidworks":["droidworks"],"ds":["nintendo-ds"],"dsi":["nintendo-ds","nintendo-dsi"],"duke3d":["duke3d"],"dusklight":["dusklight"],"dxx-rebirth":["descent","descent2"],"easyrpg":["rpgmaker"],"ecwolf":["wolfenstein3d"],"eduke32":["duke3d"],"eighthundred":["atari-400-800"],"eighting-zn1":["eighting-zn1"],"electron":["electron"],"elektor-tv-games-computer":["elektor-tv-games-computer"],"elektronika":["elektronika-bk"],"elektronika-bk":["elektronika-bk"],"elektronikabk":["elektronika-bk"],"emerson-arcadia-2001":["emerson-arcadia-2001"],"enemyterritory":["enemyterritory"],"enterprise":["enterprise-128","enterprise-64-128"],"enterprise-128":["enterprise-128"],"enterprise-64-128":["enterprise-64-128"],"enterprise128":["enterprise-128"],"entex-advision":["entex-advision"],"ep128":["enterprise-128"],"ep64-128":["enterprise-64-128"],"epochcv":["epochcv"],"epochsupercassettevision":["scv"],"epsxe":["sony-playstation"],"etlegacy":["enemyterritory"],"exelvision-exl100":["exelvision-exl100"],"exhumed":["exhumed"],"exl100":["exelvision-exl100"],"fairchild":["fairchild-channelf"],"fairchild-channel-f":["fairchild-channelf"],"fairchild-channelf":["fairchild-channelf"],"fairchildchannelf":["fairchild-channelf"],"fake08":["pico8"],"falcon":["atari-st"],"fallout":["fallout"],"fallout1-ce":["fallout"],"fallout2":["fallout2"],"fallout2-ce":["fallout2"],"famicom":["famicom","nintendo-nes"],"famicom disk system (fds)":["nintendo-fds"],"famicom-disk-system":["famicom-disk-system"],"famicomdisk":["nintendo-fds"],"famicomdisksystem":["famicom-disk-system"],"famicomds":["famicom-disk-system"],"fat plumber shit":["nintendo-nes"],"fba":["arcade"],"fbneo":["arcade"],"fbnneogeo":["neogeo"],"fc":["famicom","nintendo-fds","nintendo-nes"],"fcds":["famicom-disk-system"],"fcnes":["famicom"],"fds":["famicom-disk-system","nintendo-fds"],"fiftytwohundred":["atari-5200"],"finalburnneo":["arcade"],"flash":["flash"],"flashback":["flashback"],"flycast":["sega-dreamcast"],"fm-7":["fm7"],"fm7":["fm7"],"fmtowns":["fmtowns"],"fmtownsux":["fmtowns"],"fpinball":["fpinball"],"freej2me":["j2me"],"fury":["fury"],"galaksija":["galaksija"],"galretro":["galaksija"],"gamate":["gamate"],"game boy (gb)":["nintendo-gb"],"game boy advance (gba)":["nintendo-gba"],"game boy advance (mgba)":["nintendo-gba"],"game boy color (gbc)":["nintendo-gbc"],"game gear":["sega-gamegear"],"game-boy":["game-boy"],"game-boy-adavance-sp":["nintendo-gb","nintendo-gba","nintendo-gbc","nintendo-sgb"],"game-boy-advance":["game-boy-advance"],"game-boy-color":["game-boy-color"],"game-boy-light":["nintendo-gb","nintendo-gbc"],"game-boy-micro":["nintendo-gb","nintendo-gba","nintendo-gbc","nintendo-sgb"],"game-boy-pocket":["nintendo-gb","nintendo-gbc"],"game-televisison":["nintendo-fds","nintendo-nes"],"gameandwatch":["handheld-electronic"],"gameboy":["game-boy","nintendo-gb"],"gameboyadvance":["game-boy-advance","nintendo-gba"],"gameboycolor":["game-boy-color","nintendo-gbc"],"gamecom":["tiger-game-com"],"gamecube":["nintendo-gamecube"],"gamegear":["sega-gamegear"],"gamegearh":["sega-gamegear"],"gamegearhacks":["sega-gamegear"],"gameking":["gameking"],"gamemaster":["hartung-game-master"],"gamenwatch":["handheld-electronic"],"gamepark-gp32":["gamepark-gp32"],"gamepock":["gamepock"],"gamepocketcomputer":["gamepock"],"gametank":["gametank"],"gb":["game-boy","nintendo-gb","nintendo-gbc"],"gb2players":["nintendo-gb"],"gba":["game-boy-advance","nintendo-gba"],"gba2players":["nintendo-gba"],"gbadvance":["game-boy-advance"],"gbah":["nintendo-gba"],"gbahacks":["game-boy-advance"],"gbav":["nintendo-gb","nintendo-gba","nintendo-gbc","nintendo-sgb"],"gbc":["game-boy-color","nintendo-gb","nintendo-gbc"],"gbc2players":["nintendo-gbc"],"gbch":["nintendo-gbc"],"gbchacks":["game-boy-color"],"gbcolor":["game-boy-color"],"gbdmg":["game-boy"],"gbh":["nintendo-gb"],"gbhacks":["game-boy"],"gbsp":["game-boy-advance"],"gc":["nintendo-gamecube"],"gce":["vectrex"],"gcevectrex":["vectrex"],"gearbox":["gearbox"],"gen":["sega-megadrive"],"gen32x":["sega-32x"],"gencd":["sega-megacd"],"genesis":["sega-genesis","sega-megadrive"],"genesiscd":["sega-megacd"],"genesishacks":["sega-megadrive"],"genh":["sega-megadrive"],"genmd":["sega-megadrive"],"gens":["sega-megadrive"],"gensegacd":["sega-megacd"],"gg":["sega-gamegear"],"ggsms":["sega-mastersystem"],"ghostship":["ghostship"],"gmaster":["hartung-game-master"],"gp32":["gamepark-gp32"],"gt":["gametank"],"gw":["handheld-electronic"],"gx4000":["amstrad-cpc"],"gzdoom":["chex","doom","heretic","hexen","strife"],"half-life":["half-life"],"halflife":["half-life"],"handheld-electronic":["handheld-electronic"],"handheldelectronic":["handheld-electronic"],"harcade":["arcade"],"hartung-game-master":["hartung-game-master"],"hbmame":["arcade"],"heretic":["heretic"],"hexen":["hexen"],"hikaru":["sega-hikaru"],"horizontal":["arcade"],"horizontalarcade":["arcade"],"hyper-neogeo64":["hyper-neogeo64"],"ibm-pc":["ibm-pc"],"ibm-pcjr":["ibm-pcjr"],"idquake":["quake"],"idquake2":["quake2"],"igs-pgm":["igs-pgm"],"intelli":["intellivision"],"intellivision":["intellivision"],"interact":["interact"],"interton-vc4000":["interton-vc4000"],"intv":["intellivision"],"iortcw":["return-to-castle-wolfenstein"],"ios":["apple-ios"],"iphone":["apple-ios"],"ique-player":["nintendo-64","nintendo-64dd"],"itv":["intellivision"],"j2me":["j2me"],"jag":["atari-jaguar"],"jaguar":["atari-jaguar"],"jaguarcd":["atari-jaguarcd"],"java":["j2me"],"jazz-jackrabbit":["jazz-jackrabbit"],"jazz-jackrabbit-2":["jazz-jackrabbit-2"],"jazz2":["jazz-jackrabbit-2"],"jedi-academy":["jedi-academy"],"jediknight2":["jediknight2"],"jkdf2":["dark-forces-ii","droidworks","mysteries-of-the-sith"],"jknight":["jedi-academy","jediknight2"],"kega":["sega-megadrive"],"konami-gq":["konami-gq"],"konami-gv":["konami-gv"],"laser310":["laser310"],"laseractive":["laseractive"],"laserdisc":["arcade-laserdisc"],"libgametank":["gametank"],"lindbergh":["sega-lindbergh"],"loopy":["casio-loopy"],"lowresnx":["lowresnx"],"lucasart":["scummvm"],"lucasarts":["scummvm"],"lynx":["atari-lynx"],"mac":["apple-macintosh","apple-macintosh-ii"],"macintosh":["apple-macintosh"],"magnavox":["odyssey2"],"magnavoxodyssey":["odyssey2"],"magnavoxodyssey2":["odyssey2"],"magnavoxvideopac":["odyssey2"],"mame":["arcade"],"mame-advmame":["arcade"],"mame-libretro":["arcade"],"mame-mame4all":["arcade"],"mame2000":["arcade"],"mame2003":["arcade"],"mame2003plus":["arcade"],"mame2010":["arcade"],"mark3":["sega-mastersystem"],"marty":["marty"],"master-system-girl":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"master-system-super-compact":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"mastersystem":["sega-mastersystem"],"mastersystemhacks":["sega-mastersystem"],"mattel-aquarius":["mattel-aquarius"],"mattelintellivision":["intellivision"],"mc10":["mc10"],"md":["sega-32x","sega-gamegear","sega-genesis","sega-mastersystem","sega-megadrive"],"md32x":["sega-32x"],"mdcd":["sega-megacd"],"mdgen":["sega-megadrive"],"mdmsu":["sega-megadrive"],"mdmsu1":["sega-megadrive"],"mdsegacd":["sega-megacd"],"mega-duck":["mega-duck"],"mega-pc":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"megacd":["sega-megacd"],"megacdjp":["sega-megacd"],"megachip8":["chip8"],"megadrive":["sega-genesis","sega-megadrive"],"megadrive-japan":["sega-megadrive"],"megadrive-msu":["sega-megacd"],"megadrivecd":["sega-megacd"],"megadriveh":["sega-megadrive"],"megadrivehacks":["sega-megadrive"],"megadrivejp":["sega-genesis","sega-megadrive"],"megadrivemsu":["sega-megadrive"],"megaduck":["mega-duck"],"mgba":["game-boy-advance","nintendo-gba"],"microsoft msx (msx)":["msx"],"microsoft-xbox":["microsoft-xbox"],"microsoft-xbox-360":["microsoft-xbox-360"],"microsoftdos":["dos"],"microsoftmsx":["msx"],"midp":["j2me"],"minivmac":["apple-macintosh"],"mkxp":["rpgmaker"],"mkxp-z":["rpgmaker"],"mobile":["j2me"],"model2":["sega-model2"],"model2/roms":["sega-model2"],"model3":["sega-model3"],"mohaa":["mohaa"],"moto":["olivetti-pc128","thomson-mo5","thomson-mo6","thomson-to7","thomson-to770","thomson-to8","thomson-to8d","thomson-to9","thomson-to9plus"],"ms":["sega-mastersystem"],"msdos":["dos"],"msdos (dos)":["dos"],"msu":["nintendo-snes"],"msu-md":["sega-megacd"],"msu1":["nintendo-snes"],"msumd":["sega-megacd","sega-megadrive"],"msx":["msx"],"msx1":["msx","msx1"],"msx2":["msx","msx2"],"msx2+":["msx2+"],"msx2plus":["msx2plus"],"msxturbor":["msx","msxturbor"],"multivision":["sega-32x","sega-gamegear","sega-genesis","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sc3000","sega-sg1000"],"mysteries-of-the-sith":["mysteries-of-the-sith"],"myvision":["myvision"],"mz2000":["mz2000"],"mz2500":["mz2500"],"mz700":["mz700"],"mz800":["mz800"],"mz80k":["mz80k"],"n3ds":["nintendo-3ds"],"n64":["nintendo-64"],"n64dd":["nintendo-64","nintendo-64dd"],"n64hacks":["nintendo-64"],"nam":["nam"],"namco-system11":["namco-system11"],"namco-system246":["namco-system246"],"namco-system256":["namco-system256"],"namco-system357":["namco-system357"],"namco2x6":["namco-system246"],"naomi":["sammy-atomiswave","sega-dreamcast-arcade","sega-naomi"],"naomi2":["sega-naomi2"],"naomigd":["sega-dreamcast-arcade","sega-naomigd"],"native32":["sunplus-native32"],"nds":["nintendo-ds"],"ndsi":["nintendo-dsi"],"ndsiware":["nintendo-dsi"],"nec-pc-88":["nec-pc-88"],"nec-pc-engine":["nec-pc-engine"],"nec-pc-engine-cd":["nec-pc-engine-cd"],"nec-pcfx":["nec-pcfx"],"nec-supergrafx":["nec-supergrafx"],"necpc8000":["nec-pc-88","pc80"],"necpc98":["pc-98"],"necpce":["nec-pc-engine"],"necpcecd":["nec-pc-engine-cd"],"necpcengine":["nec-pc-engine"],"necpcenginecd":["nec-pc-engine-cd"],"necpcfx":["nec-pcfx"],"necsgfx":["nec-supergrafx"],"necsupergrafx":["nec-supergrafx"],"nectg16":["nec-pc-engine"],"nectgcd":["nec-pc-engine-cd"],"necturbografx":["nec-pc-engine"],"necturbografx16":["nec-pc-engine"],"necturbografxcd":["nec-pc-engine-cd"],"neo geo pocket (ngp)":["snk-ngp"],"neo geo pocket color (ngpc)":["snk-ngpc"],"neo-geo-cd":["snk-neogeo-cd"],"neo-geo-pocket":["snk-neogeo-pocket"],"neo-geo-pocket-color":["neo-geo-pocket-color"],"neocd":["snk-neogeo-cd"],"neocdz":["snk-neogeo-cd"],"neogeo":["neogeo"],"neogeo cd (ngcd)":["snk-neogeo-cd"],"neogeo-cd":["snk-neogeo-cd"],"neogeo64":["hyper-neogeo64"],"neogeoaes":["snk-neogeo-aes"],"neogeocd":["snk-neogeo-cd"],"neogeocdjp":["snk-neogeo-cd"],"neogeomvs":["snk-neogeo-mvs"],"neogeopocket":["snk-neogeo-pocket","snk-ngp"],"neogeopocketcolor":["snk-neogeo-pocket","snk-ngpc"],"nes":["famicom","nintendo-nes"],"nescd":["famicom"],"nesds":["famicom"],"nesfc":["famicom"],"nesh":["nintendo-nes"],"neshacks":["famicom"],"new-nintendo-3ds":["nintendo-3ds"],"new-style-nes":["nintendo-fds","nintendo-nes"],"new-style-super-nes-model-sns-101":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"ng":["neogeo"],"ngage":["ngage"],"ngb":["game-boy"],"ngba":["game-boy-advance"],"ngbc":["game-boy-color"],"ngc":["nintendo-gamecube","snk-ngp"],"ngcd":["snk-neogeo-cd"],"ngp":["snk-neogeo-pocket","snk-ngp","snk-ngpc"],"ngpc":["snk-neogeo-pocket","snk-ngp","snk-ngpc"],"ngpocket":["snk-neogeo-pocket"],"ngpocketcolor":["snk-neogeo-pocket"],"ngw":["handheld-electronic"],"ninds":["nintendo-ds"],"ninetyeight":["pc-98"],"ningba":["game-boy-advance"],"ningbc":["game-boy-color"],"ninnes":["famicom"],"ninsnes":["nintendo-satellaview"],"nintendo ds (nds)":["nintendo-ds"],"nintendo entertainment system (fc)":["nintendo-nes"],"nintendo-3ds":["nintendo-3ds"],"nintendo-64":["nintendo-64"],"nintendo-64dd":["nintendo-64dd"],"nintendo-ds":["nintendo-ds"],"nintendo-ds-lite":["nintendo-ds","nintendo-dsi"],"nintendo-dsi":["nintendo-dsi"],"nintendo-dsi-xl":["nintendo-ds","nintendo-dsi"],"nintendo-fds":["nintendo-fds"],"nintendo-gamecube":["nintendo-gamecube"],"nintendo-gb":["nintendo-gb"],"nintendo-gba":["nintendo-gba"],"nintendo-gbc":["nintendo-gbc"],"nintendo-nes":["nintendo-nes"],"nintendo-pokemon-mini":["nintendo-pokemon-mini"],"nintendo-satellaview":["nintendo-satellaview"],"nintendo-sgb":["nintendo-sgb"],"nintendo-snes":["nintendo-snes"],"nintendo-sufami-turbo":["nintendo-sufami-turbo"],"nintendo-switch":["nintendo-switch"],"nintendo-virtualboy":["nintendo-virtualboy"],"nintendo-wii":["nintendo-wii"],"nintendo-wiiu":["nintendo-wiiu"],"nintendo3ds":["nintendo-3ds"],"nintendo64":["nintendo-64"],"nintendods":["nintendo-ds"],"nintendodsi":["nintendo-ds","nintendo-dsi"],"nintendoentertainmentsystem":["famicom"],"nintendofamicom":["famicom"],"nintendofamicomdisksystem":["famicom-disk-system"],"nintendogameandwatch":["handheld-electronic"],"nintendogameboy":["game-boy"],"nintendogameboyadvance":["game-boy-advance"],"nintendogameboycolor":["game-boy-color"],"nintendogb":["game-boy"],"nintendogba":["game-boy-advance"],"nintendogbc":["game-boy-color"],"nintendogw":["handheld-electronic"],"nintendon64":["nintendo-64"],"nintendones":["famicom"],"nintendonintendo64":["nintendo-64"],"nintendonintendo64dd":["nintendo-64"],"nintendonintendodsi":["nintendo-ds"],"nintendonintendoentertainmentsystem":["famicom"],"nintendopokemini":["nintendo-pokemon-mini"],"nintendopokemonmini":["nintendo-pokemon-mini"],"nintendosfc":["nintendo-satellaview"],"nintendosnes":["nintendo-satellaview"],"nintendosnesmsu":["nintendo-satellaview"],"nintendosnesmsu1":["nintendo-satellaview"],"nintendosupernintendo":["nintendo-satellaview"],"nintendosupernintendoentertainmentsystem":["nintendo-satellaview"],"nintendovb":["nintendo-virtualboy"],"nintendovitrualboy":["nintendo-virtualboy"],"nomad":["sega-megadrive"],"nsnes":["nintendo-satellaview"],"nsv":["nintendo-satellaview"],"nvb":["nintendo-virtualboy"],"nxengine":["cave-story"],"o2":["philips-videopac"],"o2em":["odyssey2"],"odyssey":["odyssey2","philips-videopac"],"odyssey-2-slash-videopac-g7000":["odyssey2"],"odyssey2":["odyssey2"],"olivetti-pc128":["olivetti-pc128"],"onscripter":["onscripter"],"openbeatsofrage":["openbor"],"openbor":["openbor"],"opengoal":["opengoal"],"openjazz":["jazz-jackrabbit"],"openlara":["tomb-raider"],"oric":["oric"],"oricatmos":["oricatmos"],"originalgameboy":["game-boy"],"outlaws":["outlaws"],"outrun":["sega-outrun"],"p2000t":["philips-p2000t"],"p8":["pico8"],"palm":["palm-os"],"palm-os":["palm-os"],"palmos":["palm-os"],"panasonic":["panasonic-3do"],"panasonic-3do":["panasonic-3do"],"pbp":["sony-playstation"],"pbps":["sony-playstation"],"pc":["dos"],"pc engine":["nec-pc-engine"],"pc-8800":["nec-pc-88"],"pc-98":["pc-98"],"pc-9800":["pc-98"],"pc-9800-series":["pc-98"],"pc-fx":["nec-pcfx"],"pc60":["pc60"],"pc80":["pc80"],"pc8000":["nec-pc-88","pc80"],"pc88":["nec-pc-88"],"pc8801":["nec-pc-88"],"pc98":["pc-98"],"pce":["nec-pc-engine","nec-supergrafx"],"pcecd":["nec-pc-engine","nec-pc-engine-cd"],"pcengine":["nec-pc-engine"],"pcenginecd":["nec-pc-engine","nec-pc-engine-cd"],"pcfx":["nec-pcfx"],"pcninetyeight":["pc-98"],"pcsx":["sony-playstation"],"pcv2":["bandai-wswan","bandai-wswanc"],"pcw":["pcw"],"pdark":["pdark"],"pegasus":["pegasus"],"pet":["commodore-pet"],"pgm":["arcade","igs-pgm"],"philips-cd-i":["philips-cdi"],"philips-cdi":["philips-cdi"],"philips-p2000t":["philips-p2000t"],"philips-vg5k":["philips-vg5k"],"philips-videopac":["philips-videopac"],"philipscdi":["philips-cdi"],"pico":["pico8","sega-pico"],"pico-8":["pico8"],"pico-8 (p8)":["pico8"],"pico-8/carts":["pico8"],"pico8":["pico8"],"piece":["aquaplus-piece"],"pkm":["nintendo-pokemon-mini"],"playstation":["sony-playstation"],"playstationchds":["sony-playstation"],"playstationpbps":["sony-playstation"],"playstationportable":["sony-psp"],"plus4":["commodore-plus4"],"pocket-challenge-v2":["pocket-challenge-v2"],"pocketchallengev2":["pocket-challenge-v2"],"pocketstation":["sony-pocketstation"],"poke":["nintendo-pokemon-mini"],"pokemini":["nintendo-pokemon-mini"],"pokemon-mini":["nintendo-pokemon-mini"],"pokemonmini":["nintendo-pokemon-mini"],"pokémon mini (pkm)":["nintendo-pokemon-mini"],"ports":["wolfenstein3d"],"ports/caesar3":["caesar3"],"ports/cave story":["cave-story"],"ports/dinothawr":["dinothawr"],"ports/doom":["chex","doom","heretic","hexen","strife"],"ports/doom 3":["doom3"],"ports/ecwolf/games":["wolfenstein3d"],"ports/flashback":["flashback"],"ports/out run":["sega-outrun"],"ports/prince of persia":["prince-of-persia"],"ports/quake":["quake"],"ports/quake 2":["quake2"],"ports/quake 3":["quake3"],"ports/rick dangerous":["xrick"],"ports/star trek voyager":["quake3"],"ports/tamagotchi":["tamagotchi-p1"],"ports/theme hospital":["theme-hospital"],"ports/tomb raider":["tomb-raider"],"ports/vvvvvv":["vvvvvv"],"ports/wolfenstein 3d":["wolfenstein3d"],"powerslave":["powerslave"],"ppsspp":["sony-psp"],"prboom":["doom","heretic"],"primehack":["nintendo-gamecube","nintendo-wii"],"prince-of-persia":["prince-of-persia"],"ps":["sony-playstation"],"ps1":["sony-playstation"],"ps2":["sony-playstation-2"],"ps3":["sony-playstation-3"],"ps4":["ps4"],"ps4/shortcuts":["ps4"],"pschd":["sony-playstation"],"pschds":["sony-playstation"],"psiso":["sony-playstation"],"psisos":["sony-playstation"],"psone":["sony-playstation"],"psp":["sony-psp"],"pspbp":["sony-playstation"],"pspbps":["sony-playstation"],"pspminis":["sony-psp"],"psvita":["sony-playstation-vita"],"psx":["sony-playstation"],"psxchd":["sony-playstation"],"psxchds":["sony-playstation"],"psxiso":["sony-playstation"],"psxisos":["sony-playstation"],"psxpbp":["sony-playstation"],"psxpbps":["sony-playstation"],"puae":["commodore-amiga","commodore-amiga-cd32","commodore-cdtv"],"pv1000":["casio-pv1000"],"pv2000":["casio-pv2000"],"ql":["sinclair-ql"],"quake":["quake"],"quake (quake)":["quake"],"quake2":["quake2"],"quake3":["quake3"],"raze":["blood","duke3d","exhumed","nam","powerslave","redneck","shadow-warrior","ww2gi"],"redneck":["redneck"],"redream":["sega-dreamcast"],"reminiscence":["flashback"],"retcom":["galaksija"],"retro8":["pico8"],"return-to-castle-wolfenstein":["return-to-castle-wolfenstein"],"ricochet":["ricochet"],"rott":["rott"],"rpgmaker":["rpgmaker"],"rtcw":["return-to-castle-wolfenstein","rott"],"rx78":["bandai-rx78"],"s32x":["sega-32x"],"sam-coupe":["sam-coupe"],"samcoupe":["sam-coupe"],"sameduck":["mega-duck"],"sammy-atomiswave":["sammy-atomiswave"],"sat":["sega-saturn"],"satella":["nintendo-satellaview"],"satellaview":["nintendo-satellaview"],"satourne":["sega-saturn"],"saturn":["sega-saturn"],"saturnjp":["sega-saturn"],"sc-3000":["sega-sc3000"],"sc3000":["sega-sc3000"],"scd":["sega-megacd"],"scumm":["scummvm"],"scummvm":["scummvm"],"scummvm/shortcuts":["scummvm"],"scv":["scv"],"sdc":["sega-dreamcast"],"sdlpop":["prince-of-persia"],"sega 32x (32x)":["sega-32x"],"sega cd (segacd)":["sega-megacd"],"sega dreamcast":["sega-dreamcast"],"sega game gear (gg)":["sega-gamegear"],"sega genesis (md)":["sega-megadrive"],"sega master system (sms)":["sms"],"sega sg-1000 (sg1000)":["sega-sg1000"],"sega-32x":["sega-32x"],"sega-ai":["sega-ai"],"sega-beena":["sega-beena"],"sega-chihiro":["sega-chihiro"],"sega-dreamcast":["sega-dreamcast"],"sega-dreamcast-arcade":["sega-dreamcast-arcade"],"sega-game-box-9":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-gamegear":["sega-gamegear"],"sega-genesis":["sega-genesis"],"sega-hikaru":["sega-hikaru"],"sega-lindbergh":["sega-lindbergh"],"sega-mark-iii":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-master-system-ii":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-mastersystem":["sega-mastersystem"],"sega-mega-drive-2-slash-genesis":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-mega-jet":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-megacd":["sega-megacd"],"sega-megadrive":["sega-megadrive"],"sega-model2":["sega-model2"],"sega-model3":["sega-model3"],"sega-naomi":["sega-naomi"],"sega-naomi2":["sega-naomi2"],"sega-naomigd":["sega-naomigd"],"sega-nomad":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-outrun":["sega-outrun"],"sega-pico":["sega-pico"],"sega-saturn":["sega-saturn"],"sega-sc3000":["sega-sc3000"],"sega-sf7000":["sega-sf7000"],"sega-sg1000":["sega-sg1000"],"sega-stv":["sega-stv"],"sega-systemsp":["sega-systemsp"],"sega-triforce":["sega-triforce"],"sega-vmu":["sega-vmu"],"sega32":["sega-32x","sega-gamegear","sega-genesis","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sc3000","sega-sg1000"],"sega32x":["sega-32x"],"sega32xjp":["sega-32x"],"sega32xna":["sega-32x"],"segaai":["sega-ai"],"segaatomiswave":["sammy-atomiswave"],"segacd":["sega-megacd"],"segadc":["sega-dreamcast"],"segadreamcast":["sega-dreamcast"],"segagamegear":["sega-gamegear"],"segagenesis":["sega-megadrive"],"segagenesismsu":["sega-megadrive"],"segagg":["sega-gamegear"],"segamastersystem":["sega-mastersystem"],"segamcd":["sega-megacd"],"segamdmsu":["sega-megadrive"],"segamegacd":["sega-megacd"],"segamegadrive":["sega-megadrive"],"segamodel3":["sega-model3"],"segams":["sega-mastersystem"],"seganaomi":["sammy-atomiswave"],"segapico":["sega-32x","sega-gamegear","sega-genesis","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sc3000","sega-sg1000"],"segasat":["sega-saturn"],"segasaturn":["sega-saturn"],"segascd":["sega-megacd"],"segasegacd":["sega-megacd"],"segasg1000":["sega-sg1000"],"segasgone":["sega-sg1000"],"segasms":["sega-mastersystem"],"segastv":["sega-stv"],"seggg":["sega-gamegear"],"segms":["sega-mastersystem"],"seventyeighthundred":["atari-7800"],"sfam":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"sfc":["nintendo-satellaview","nintendo-snes"],"sg-1000":["sega-sg1000"],"sg1000":["sega-sg1000"],"sg1k":["sega-sg1000"],"sgb":["nintendo-gb","nintendo-sgb"],"sgb-msu1":["nintendo-sgb"],"sgfx":["nec-pc-engine","nec-supergrafx"],"sgg":["sega-gamegear"],"sgonethousand":["sega-sg1000"],"sgx":["nec-pc-engine","nec-supergrafx"],"sgxcd":["nec-pc-engine"],"shadow-warrior":["shadow-warrior"],"sharp-x1":["sharp-x1"],"sharp-x68000":["sharp-x68000"],"sharpx1":["sharp-x1"],"sharpx6800":["sharp-x68000"],"sharpx68000":["sharp-x68000"],"sharpx68k":["sharp-x68000"],"sinclair-ql":["sinclair-ql"],"sinclair-spectrum":["sinclair-spectrum"],"sinclair-zx-spectrum":["sinclair-zx-spectrum"],"sinclair-zx-spectrum-next":["sinclair-zx-spectrum-next"],"sinclair-zx81":["sinclair-zx81"],"sinclairzx81":["sinclair-zx81"],"singe":["arcade-laserdisc"],"smbx":["smbx"],"sms":["sega-mastersystem","sms"],"smsgg":["sega-mastersystem"],"snes":["nintendo-satellaview","nintendo-snes"],"snes-hacks":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"snes-msu1":["nintendo-snes"],"snes9x":["nintendo-satellaview"],"snesh":["nintendo-snes"],"sneshacks":["nintendo-satellaview"],"snesmsu":["nintendo-satellaview"],"snesmsu1":["nintendo-satellaview","nintendo-snes"],"snesna":["nintendo-snes"],"sng":["neogeo"],"snk-neogeo-aes":["snk-neogeo-aes"],"snk-neogeo-cd":["snk-neogeo-cd"],"snk-neogeo-mvs":["snk-neogeo-mvs"],"snk-neogeo-pocket":["snk-neogeo-pocket"],"snk-ngp":["snk-ngp"],"snk-ngpc":["snk-ngpc"],"snkneogeo":["neogeo"],"snkneogeocd":["snk-neogeo-cd"],"snkneogeopocket":["snk-neogeo-pocket"],"snkneogeopocketcolor":["snk-neogeo-pocket"],"snkngcd":["snk-neogeo-cd"],"snkngp":["snk-neogeo-pocket"],"snkngpc":["snk-neogeo-pocket"],"socrates":["vtech-socrates"],"soh":["soh"],"solarus":["solarus"],"sonic-1-2013":["sonic-1-2013"],"sonic-2-2013":["sonic-2-2013"],"sonic-mania":["sonic-mania"],"sonic3-air":["sonic3-air"],"sonicretro":["sonic-1-2013","sonic-2-2013"],"sony playstation (ps)":["sony-playstation"],"sony-playstation":["sony-playstation"],"sony-playstation-2":["sony-playstation-2"],"sony-playstation-3":["sony-playstation-3"],"sony-playstation-vita":["sony-playstation-vita"],"sony-pocketstation":["sony-pocketstation"],"sony-psp":["sony-psp"],"sonyplaystation":["sony-playstation"],"sonyplaystationportable":["sony-psp"],"sonyps":["sony-playstation"],"sonyps1":["sony-playstation"],"sonypsp":["sony-psp"],"sonypsx":["sony-playstation"],"spec":["sinclair-zx-spectrum"],"spectravideo":["spectravideo"],"spectrum":["sinclair-spectrum","sinclair-zx-spectrum"],"spmp8000":["sunplus-spmp8000"],"ss":["sega-saturn"],"st":["atari-st"],"st-v":["sega-stv"],"star-control-2":["star-control-2"],"starship":["starship"],"ste":["atari-st"],"story":["onscripter"],"strife":["strife"],"studio-ii":["studio-ii"],"stv":["sega-stv"],"sufami":["nintendo-satellaview","nintendo-sufami-turbo"],"sufami-turbo":["nintendo-sufami-turbo"],"sufamiturbo":["nintendo-sufami-turbo"],"sunplus-native32":["sunplus-native32"],"sunplus-spmp8000":["sunplus-spmp8000"],"supa":["nintendo-snes"],"super game boy (sgb)":["nintendo-sgb"],"super nintendo entertainment system (sfc)":["nintendo-snes"],"super nintendo entertainment system (supa)":["nintendo-snes"],"super-famicom-jr-model-shvc-101":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"super-famicom-shvc-001":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"super-gb":["nintendo-sgb"],"super-mario-war":["super-mario-war"],"super-nintendo-original-european-version":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"superacan":["superacan"],"superbroswar":["super-mario-war"],"supercassettevision":["scv"],"superchip":["chip8"],"superfamicom":["nintendo-satellaview","nintendo-snes"],"supergameboy":["nintendo-sgb"],"supergrafx":["nec-supergrafx"],"supermariowar":["super-mario-war"],"supernes":["nintendo-satellaview","nintendo-snes"],"supernintendo":["nintendo-satellaview"],"supernintendoentertainmentsystem":["nintendo-satellaview"],"superpretendo":["nintendo-satellaview"],"supervision":["watara-supervision"],"supracan":["supracan"],"svi":["colecovision","msx","msx2","msx2plus","msxturbor","sega-sc3000","sega-sf7000","sega-sg1000","spectravideo"],"svicoleco":["colecovision","msx","msx2","msx2plus","msxturbor","sega-sc3000","sega-sf7000","sega-sg1000","spectravideo"],"svicolecovision":["colecovision","msx","msx2","msx2plus","msxturbor","sega-sc3000","sega-sf7000","sega-sg1000","spectravideo"],"swancrystal":["bandai-wswan","bandai-wswanc"],"switch":["nintendo-switch"],"symbian":["symbian"],"systemsp":["sega-systemsp"],"t80":["tic80"],"taito-fx1":["taito-fx1"],"tamagotchi-p1":["tamagotchi-p1"],"tandy-1000":["tandy-1000"],"tandy-vis":["tandy-vis"],"tandy1000":["tandy-1000"],"tanodragon":["dragon64"],"tecmo-tps":["tecmo-tps"],"teknoparrot":["namco-system246","namco-system256","namco-system357","sammy-atomiswave","sega-chihiro","sega-hikaru","sega-lindbergh","sega-naomi","sega-naomi2","sega-naomigd","sega-triforce"],"tera-drive":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"texas-instruments-ti-83":["texas-instruments-ti-83"],"texasinstrumentsti83":["texas-instruments-ti-83"],"tfc":["tfc"],"tg":["nec-pc-engine"],"tg-cd":["nec-pc-engine-cd"],"tg16":["nec-pc-engine"],"tg16cd":["nec-pc-engine-cd"],"tgb_dual":["nintendo-gb"],"tgcd":["nec-pc-engine-cd"],"tgfx":["nec-pc-engine"],"tgfx16-cd":["nec-pc-engine-cd"],"tgrafx":["nec-pc-engine"],"tgrafx16":["nec-pc-engine"],"theforceengine":["dark-forces","outlaws"],"theme-hospital":["theme-hospital"],"theodore":["olivetti-pc128","thomson-mo5","thomson-mo6","thomson-to7","thomson-to770","thomson-to8","thomson-to8d","thomson-to9","thomson-to9plus"],"thextech":["smbx"],"thirtytwox":["sega-32x"],"thomson":["olivetti-pc128","thomson-mo5","thomson-mo6","thomson-to7","thomson-to770","thomson-to8","thomson-to8d","thomson-to9","thomson-to9plus"],"thomson-mo5":["thomson-mo5"],"thomson-mo6":["thomson-mo6"],"thomson-to7":["thomson-to7"],"thomson-to770":["thomson-to770"],"thomson-to8":["thomson-to8"],"thomson-to8d":["thomson-to8d"],"thomson-to9":["thomson-to9"],"thomson-to9plus":["thomson-to9plus"],"thomsonmoto":["olivetti-pc128","thomson-mo5","thomson-mo6","thomson-to7","thomson-to770","thomson-to8","thomson-to8d","thomson-to9","thomson-to9plus"],"ti-99_4a":["ti99"],"ti83":["texas-instruments-ti-83"],"ti99":["ti99"],"ti994a":["ti99"],"tic":["tic80"],"tic-80":["tic80"],"tic80":["tic80"],"tiger-game-com":["tiger-game-com"],"to8":["thomson-to8"],"tomb-raider":["tomb-raider"],"tomb-raider-1":["tomb-raider-1"],"tomb-raider-2":["tomb-raider-2"],"tombraider":["tomb-raider"],"traider1":["tomb-raider-1"],"traider2":["tomb-raider-2"],"triforce":["sega-triforce"],"trs-80":["trs80"],"trs80":["trs80"],"trs80coco":["coco"],"tt":["atari-st"],"turbocd":["nec-pc-engine-cd"],"turbografx":["nec-pc-engine"],"turbografx-16 (pce)":["nec-pc-engine"],"turbografx-cd":["nec-pc-engine"],"turbografx16":["nec-pc-engine"],"turbografxcd":["nec-pc-engine-cd"],"turbographix":["nec-pc-engine"],"tutor":["tutor"],"tvc":["videoton-tvc"],"tvgames":["tvgames"],"tvgc":["elektor-tv-games-computer","emerson-arcadia-2001","interton-vc4000"],"twentysixhundred":["atari-2600"],"tyrian":["tyrian"],"tyrquake":["quake"],"uqm":["star-control-2","ur-quan-masters"],"ur-quan-masters":["ur-quan-masters"],"uzebox":["uzebox"],"varcade":["arcade"],"vb":["nintendo-virtualboy"],"vc4000":["interton-vc4000"],"vec":["vectrex"],"vecrtex":["vectrex"],"vectrex":["vectrex"],"vemulator":["sega-vmu"],"vertarcade":["arcade"],"vertical":["arcade"],"verticalarcade":["arcade"],"vg5000":["philips-vg5k"],"vg5k":["philips-vg5k"],"vgmplay":["vgmplay"],"vic":["commodore-vic20"],"vic-20":["commodore-vic20"],"vic20":["commodore-vic20"],"videobrain":["videobrain"],"videopac":["odyssey2","philips-videopac"],"videopac-g7400":["philips-videopac"],"videopacplus":["philips-videopac"],"videosystem-zn1":["videosystem-zn1"],"videoton-tvc":["videoton-tvc"],"vircon32":["vircon32"],"virtboy":["nintendo-virtualboy"],"virtuaboy":["nintendo-virtualboy"],"virtual boy (vb)":["nintendo-virtualboy"],"virtualboy":["nintendo-virtualboy"],"vis":["tandy-vis"],"visualstory":["onscripter"],"vmac":["apple-macintosh"],"vmu":["sega-vmu"],"vpinball":["vpinball"],"vsmile":["vtech-vsmile"],"vtech-socrates":["vtech-socrates"],"vtech-vsmile":["vtech-vsmile"],"vvvvvv":["vvvvvv"],"watara":["watara-supervision"],"watara-supervision":["watara-supervision"],"watarasupervision":["watara-supervision"],"wii":["nintendo-wii"],"wiiu":["nintendo-wiiu"],"wiiu/roms":["nintendo-wiiu"],"wiiware":["nintendo-wii"],"windows3x":["dos","ibm-pc","ibm-pcjr","pc-98","tandy-1000"],"windows9x":["dos","ibm-pc","ibm-pcjr","pc-98","tandy-1000"],"wolf":["wolfenstein3d"],"wolf3d":["wolfenstein3d"],"wolfenstein":["wolfenstein3d"],"wolfenstein3d":["wolfenstein3d"],"wonderswan":["bandai-wswan","wonderswan","wonderswan-color"],"wonderswan-color":["wonderswan-color"],"wonderswanc":["wonderswan-color"],"wonderswancolor":["wonderswan","wonderswan-color"],"ws":["bandai-wswan","bandai-wswanc","wonderswan","wonderswan-color"],"wsc":["wonderswan","wonderswan-color"],"wswan":["bandai-wswan"],"wswanc":["bandai-wswanc"],"ww2gi":["ww2gi"],"x1":["sharp-x1"],"x16":["commanderx16"],"x68000":["sharp-x68000"],"x68k":["sharp-x68000"],"xash3d_fwgs":["bshift","cstrike","czero","czeror","dmc","gearbox","half-life","ricochet","tfc"],"xbox":["microsoft-xbox"],"xbox360":["microsoft-xbox-360"],"xbox360/roms":["microsoft-xbox-360"],"xegs":["xegs"],"xone":["sharp-x1"],"xrick":["xrick"],"xroar":["coco"],"zc210":["zc210"],"zeldac":["zeldaclassic"],"zeldaclassic":["zeldaclassic"],"zinc":["acclaim-zn1","atari-zn1","atlus-zn1","capcom-zn1","capcom-zn2","eighting-zn1","konami-gq","konami-gv","namco-system11","taito-fx1","tecmo-tps","videosystem-zn1"],"zmachine":["zmachine"],"zsnes":["nintendo-satellaview"],"zx spectrum (zxs)":["sinclair-zx-spectrum"],"zx81":["sinclair-zx81"],"zxeightyone":["sinclair-zx81"],"zxnext":["sinclair-zx-spectrum-next"],"zxs":["sinclair-zx-spectrum"],"zxspectrum":["sinclair-zx-spectrum"]},"format_version":1,"licences":[{"mirror":{"licence":"MIT","repo":"https://github.com/hugo19941994/auto-datfile-generator","scope":"the mirror's scripts only, the DATs it republishes stay under the terms above"},"quote":"Unless otherwise stated on the website, the data made available through this website (\"Data\") may be freely used, copied, reproduced, modified, adapted, combined, published, distributed, and otherwise reused by anyone for any lawful purpose, to the extent that the website operator owns or controls the applicable rights or is authorized to grant such permission. No permission, attribution, citation, backlink, or acknowledgment of the website or its operators is required for such use.","read":"2026-11-03","terms_title":"Data Usage License","terms_updated":"2026-09-11","terms_url":"https://datomatic.no-intro.org/terms.html"},{"quote":"Dumpers only submit metadata and Redump only stores metadata. This information is considered public domain to be used however people see fit","read":"2026-11-03","terms_url":"https://redump.info/about"}],"setups":{"allium":{"file":"setups/allium.json","gzip_size":5091,"sha256":"7e1b5914e15cc2ff710052fc7385fb9457ca955f5a633313d4ce4e8496b32033","size":35139},"amberelec":{"file":"setups/amberelec.json","gzip_size":5613,"sha256":"7c25ef2b727003a6ff285cb255286264acdc726fefbcea43f6f254ed708250be","size":38051},"archr":{"file":"setups/archr.json","gzip_size":7548,"sha256":"b5fe00e263b6df7c536260bbd8b7c41fe3e031a812f40644c8dacc93e049a88f","size":57318},"arkos":{"file":"setups/arkos.json","gzip_size":6069,"sha256":"0f4cf86ae6afb1ecb1c5019f8ac7c598044118b902f11aa9d8823e90ac2ca82d","size":39966},"batocera":{"file":"setups/batocera.json","gzip_size":14457,"sha256":"af163f68ee5069620ebf6b0fcb98ebd7ee721203c0dbf21d55244a024649d5fc","size":134476},"bizhawk":{"file":"setups/bizhawk.json","gzip_size":2469,"sha256":"1bd6306d2f485700b531d3d3ac502cbf36aaa9cfeb954f751ea3bb862aeb7aa9","size":16059},"chaos":{"file":"setups/chaos.json","gzip_size":5625,"sha256":"3a56b30c0992cd78eef8e097e9b1ef8aa479a664ea550d32d7777e18cbed0bb6","size":38023},"crossmix-os":{"file":"setups/crossmix-os.json","gzip_size":4628,"sha256":"8361175b1aebab116d878cc9117f531678969758c13a83b8ece2289c5eca9f46","size":30935},"darkos":{"file":"setups/darkos.json","gzip_size":5877,"sha256":"cc13afb7b04ac99eca20df747da975f55fb0757df63ef70b7923087f75f5a9df","size":37501},"emudeck":{"file":"setups/emudeck.json","gzip_size":8178,"sha256":"0a0d0b8a9c0fa9e6251dc28f88040ed6bc931a0f763ba1df0c07c72791995838","size":59403},"emudeck-windows":{"file":"setups/emudeck-windows.json","gzip_size":8145,"sha256":"e3b15545aafdc94411ba5cea61b6de9d9ce75889dff7ee6fefe3e63d4966fc17","size":60030},"emuelec":{"file":"setups/emuelec.json","gzip_size":7916,"sha256":"3117d2dd0ffb721e11f1e70385ed599f36d54c2d19db1dc598be52b5f8b73445","size":55398},"jelos":{"file":"setups/jelos.json","gzip_size":6646,"sha256":"52d5260b6ef397e1e41f957dc51808d8943848950322107336e886ae963bc2fd","size":47161},"knulli":{"file":"setups/knulli.json","gzip_size":11986,"sha256":"73cda1ec1afde3494896c2d82ae185eb0013721b817cf46293be84a7967900af","size":97205},"kolos":{"file":"setups/kolos.json","gzip_size":6170,"sha256":"1ab8b0c0a57bf6bb16f781bd1b97fe28e3c0d961a575af86546a482e5de4d150","size":43277},"koriki":{"file":"setups/koriki.json","gzip_size":4029,"sha256":"d2f15741cd1b16ac6f1f51dc1afa09a1831e6502b5d2ead7ee507a051ba414f1","size":22608},"lakka":{"file":"setups/lakka.json","gzip_size":517,"sha256":"3adec2a8c4f9a992e271382650338d00310db3de3bffd5448109c635ec03e2fd","size":1037},"minui":{"file":"setups/minui.json","gzip_size":2055,"sha256":"0a38d3d3b6d0fc16ed59a9fa420aba91a3402dc4ae584b349dc19076ad4818cc","size":10242},"misterfpga":{"file":"setups/misterfpga.json","gzip_size":3578,"sha256":"5c6e306970b67c12e6cc25c82328691fd13ad0c554ce1309efd1f0278158ad07","size":23518},"miyoocfw":{"file":"setups/miyoocfw.json","gzip_size":959,"sha256":"cb13cdcae35830c58d6465ff2f6e36c2d0558c576fd8eb8fd053537fb007573b","size":2285},"muos":{"file":"setups/muos.json","gzip_size":7386,"sha256":"3beffb9369d734978047ec64a440202704d9682bfe25c9c05e159c3b4618ed87","size":46601},"myminui":{"file":"setups/myminui.json","gzip_size":2797,"sha256":"8cac64f671ed745b8cd713be9e88b9f83e8e83061c32ff62fca646c91ea986ea","size":14717},"nextui":{"file":"setups/nextui.json","gzip_size":2950,"sha256":"e9eb9a3d06cc796bf54b185691144c828a2c7dc767a9b83c25fb310ca3b64d1d","size":15309},"onion":{"file":"setups/onion.json","gzip_size":6337,"sha256":"35cad2ef2a7162b93035cbeafd2ac881ba17a777ae11d05e16c4c4fb071071e8","size":34615},"pan4elec":{"file":"setups/pan4elec.json","gzip_size":5717,"sha256":"2534db783b7eb7037c4457fc9ae540d885aa6fdd3a59411df7856aeb64ef68b9","size":39455},"plumos-mf":{"file":"setups/plumos-mf.json","gzip_size":6141,"sha256":"5c2ae5292af66a32a16ad6c70ead6cbabef934c5e3e5261d6d92e9942bfd403b","size":33703},"plumos-pixel2":{"file":"setups/plumos-pixel2.json","gzip_size":6180,"sha256":"4c674898610e234f9a6711db34f9cebec91eaeb76d160e13a62eabd13a702720","size":31896},"recalbox":{"file":"setups/recalbox.json","gzip_size":9153,"sha256":"965c44508d9fe798954cdf392db0726e8b3be5796b0b5dea6b3a92aaba12bb47","size":69567},"retroarch":{"file":"setups/retroarch.json","gzip_size":476,"sha256":"025188a526422c7d79c996edc19c486c9b4f322798325a18405733066483b3d6","size":786},"retrobat":{"file":"setups/retrobat.json","gzip_size":10307,"sha256":"39e0945e6d33c1312f73b3b3ff26ee9a81d70d5061cd78a415ca87c0d68ad1b6","size":70854},"retrodeck":{"file":"setups/retrodeck.json","gzip_size":7183,"sha256":"f29336cedac2da9e8b1ccb89d9b608a9a8f147564ed6abafdaa8e0b4c922fbae","size":53597},"retropie":{"file":"setups/retropie.json","gzip_size":4670,"sha256":"f80f62e4d96cf62937da5f3e434fa6754bbf9eb17738b0d24062be7de9e5c4a2","size":24007},"rocknix":{"file":"setups/rocknix.json","gzip_size":7590,"sha256":"ff85bfdbdbc852265f5a7d71327e4df6512c53515a70add8d124f4ac3281689e","size":58836},"romm":{"file":"setups/romm.json","gzip_size":3790,"sha256":"73d2f0f4d95e9146ac9f850bf41e3a85bb133e543749dcecb785e80c67648946","size":30844},"spruceos":{"file":"setups/spruceos.json","gzip_size":6419,"sha256":"ccbe920491891b66c1db61e4c09abae154d367421856a8817d4c7e22111000c2","size":28367},"unofficialos":{"file":"setups/unofficialos.json","gzip_size":7152,"sha256":"bec913e663e25217e0a84db7bb0042a6f0b38d7d2a34d52e5de0c7a3fc5de4a6","size":51670}},"systems":{"atari-5200":{"file":"systems/atari-5200.json","gzip_size":4092,"sha256":"55bf18d45a6a7d75cda37ac27088b2510c4a27894157bca7f15452d67b5b76af","size":12435},"atari-7800":{"file":"systems/atari-7800.json","gzip_size":887,"sha256":"2ff726865df34502c72be99d18948dedd0782f19a38a215297c89c813d648481","size":1668},"atari-jaguar":{"file":"systems/atari-jaguar.json","gzip_size":292,"sha256":"a0215745664dcfdbe9f454e226561e61fdb8f60c0d72ba877b52e8f1b7929934","size":413},"atari-lynx":{"file":"systems/atari-lynx.json","gzip_size":1678,"sha256":"ab7cc8614064981951ddcca1c4a9d263b49b04fc0a89f2a984de08c20392a3d0","size":3634},"colecovision":{"file":"systems/colecovision.json","gzip_size":4412,"sha256":"9eb8ecd30e9877d6a36551ef03eb70b4151152023d0133a3b05109022d56151c","size":11293},"commodore-amiga":{"file":"systems/commodore-amiga.json","gzip_size":290,"sha256":"9988cce7dd6403204ab580edbc9522e5a9080c790bf04a98e6c3d435bbee42e3","size":788},"commodore-amiga-cd32":{"file":"systems/commodore-amiga-cd32.json","gzip_size":265,"sha256":"2c4d3823a40cdd4197209b2abaf38db755218130812f92c03ddad2ee0fd4a46d","size":456},"intellivision":{"file":"systems/intellivision.json","gzip_size":4507,"sha256":"748c7d7887370f16d5992fa7e53381108a24366584239543ccadf4347ccc8f01","size":12528},"laseractive":{"file":"systems/laseractive.json","gzip_size":363,"sha256":"d96ade3209fda8314cf9010a5ced458ad95037867fa204c8e457b05c46f5d80d","size":723},"msx":{"file":"systems/msx.json","gzip_size":214,"sha256":"e73b146104ffeb5ececb7173a5a3ce3903d0d0de1fde5e301658252c5675359b","size":285},"msx2plus":{"file":"systems/msx2plus.json","gzip_size":331,"sha256":"21b724cfbe529d2d992a7a633c570674c70753a42153befabe8c86c689b66c49","size":462},"nec-pc-engine":{"file":"systems/nec-pc-engine.json","gzip_size":9241,"sha256":"1fe6db213678d40878dfa6c411d1031319ef9f0d605b5653d1b4aa01e8a04452","size":27628},"nec-pc-engine-cd":{"file":"systems/nec-pc-engine-cd.json","gzip_size":12487,"sha256":"754e02b8e7e99135454008a89e883c9d6829a1f62cbc759abba2e5991866f9e9","size":43447},"nec-supergrafx":{"file":"systems/nec-supergrafx.json","gzip_size":831,"sha256":"111bd2ee40d75db1d140f263313bb6c97e31965883dbdf16906893e043f8d52d","size":1441},"neo-geo-pocket-color":{"file":"systems/neo-geo-pocket-color.json","gzip_size":3371,"sha256":"484bdf90a16917d464f28e8de1bbdce8d369c274d20d3d8c55ba0911a7a5e9ba","size":10072},"nintendo-3ds":{"file":"systems/nintendo-3ds.json","gzip_size":485,"sha256":"5e903462cea76f28681397aee0e6e3f119cd206ea60dd18ae734cbc5c5779cf7","size":808},"nintendo-64":{"file":"systems/nintendo-64.json","gzip_size":21504,"sha256":"24acf25d8c43e5227dc674057b41deffcc5c6db39f0f09e4ab258334749acd28","size":73974},"nintendo-64dd":{"file":"systems/nintendo-64dd.json","gzip_size":2541,"sha256":"82a62ff230513d4b3b7ec6bcb1ac8efe4101ff4e301dfea4300e13dea12cbc4a","size":7705},"nintendo-ds":{"file":"systems/nintendo-ds.json","gzip_size":186345,"sha256":"9f74ade6f2fff15b51c410ce83aafccdb3cb0c1701c9cd42a593ca84d1ab4c33","size":566900},"nintendo-dsi":{"file":"systems/nintendo-dsi.json","gzip_size":240,"sha256":"a470b580ca27fdf66bcf1213d3f7d3ab3acbf2a6272dd445a9ade5fc4cd4b569","size":345},"nintendo-fds":{"file":"systems/nintendo-fds.json","gzip_size":9025,"sha256":"59f40fb23866487b95f2a0b709b216c6c66de694f4528b0c4b53aae3fc1f4e7d","size":30626},"nintendo-gamecube":{"file":"systems/nintendo-gamecube.json","gzip_size":46580,"sha256":"afd0881edb18be56407268b9c2c6a6437e2670baa76203e4e03da33fac8ed4ee","size":189501},"nintendo-gb":{"file":"systems/nintendo-gb.json","gzip_size":39786,"sha256":"8cfeadc99c49af41435728dc1e5343ca14d632bcc4681e87f286ca41e3281868","size":127687},"nintendo-gba":{"file":"systems/nintendo-gba.json","gzip_size":76891,"sha256":"c254fa7973aa84f1b9e49f256437a03360d06ecf3b80838cae36bc5bbd84b80f","size":248499},"nintendo-gbc":{"file":"systems/nintendo-gbc.json","gzip_size":44917,"sha256":"3c281676ea9778761b00d454661d9fa7c5dfb70cbe435c1bb30158ef766d418f","size":154739},"nintendo-nes":{"file":"systems/nintendo-nes.json","gzip_size":89663,"sha256":"6e0e1d1f2681c10998518abe4b46cd2ea4a9f993316432876f19f8a52167e332","size":274177},"nintendo-pokemon-mini":{"file":"systems/nintendo-pokemon-mini.json","gzip_size":1537,"sha256":"083eed4eccdfcb12daab714d7cf3a595cbe7554010a7c79171916bc97b4611dc","size":4199},"nintendo-satellaview":{"file":"systems/nintendo-satellaview.json","gzip_size":13245,"sha256":"fc91880841ba301ff3fc2e7edfe53eed876edb33f9d7534d814d39dacd0a1654","size":51819},"nintendo-sgb":{"file":"systems/nintendo-sgb.json","gzip_size":746,"sha256":"617365112f8b93207b50323f761c4073d1c5aee87d877675822fb34247bab373","size":1621},"nintendo-snes":{"file":"systems/nintendo-snes.json","gzip_size":79838,"sha256":"5a1ffe5d5c958424793b77ce016c65205967f1d8ff910ffc6e8118f00b584001","size":249778},"nintendo-sufami-turbo":{"file":"systems/nintendo-sufami-turbo.json","gzip_size":1512,"sha256":"8070d9473708fee7ada3481daecd09e5389573652f1986e4a00275821337ac09","size":3210},"nintendo-wii":{"file":"systems/nintendo-wii.json","gzip_size":563,"sha256":"bff9fd15aa2896dbe9b5f60e713b04dd2d40dcfbee5dc8699a7ccec14536a466","size":1229},"odyssey2":{"file":"systems/odyssey2.json","gzip_size":3297,"sha256":"978953171a55509460854a4747ffbb94d9a0f16f0b2304abfe1aedbc3392582d","size":7851},"panasonic-3do":{"file":"systems/panasonic-3do.json","gzip_size":17243,"sha256":"38035ce01095a974ae7d0e1818f0d0c65f54cd89d326fa315893ef1062de9c0d","size":50013},"sega-32x":{"file":"systems/sega-32x.json","gzip_size":3894,"sha256":"6b0da0c37349c2340197d7a178f5862d942c43819f494ab2552e00e6dc83d360","size":16064},"sega-dreamcast":{"file":"systems/sega-dreamcast.json","gzip_size":36655,"sha256":"0041c8525fa27290841faa607ac8047e016f98896c5ff33b502495e8b37e14ed","size":122845},"sega-gamegear":{"file":"systems/sega-gamegear.json","gzip_size":14821,"sha256":"12ddb73bef81410d643f6b09ac0da2e49adb3dca8943f273f776d9c5c67583a2","size":54189},"sega-mastersystem":{"file":"systems/sega-mastersystem.json","gzip_size":14536,"sha256":"5669393a76b922ed2e14995c66c2804ccc7a1165a2416e50722c954aba560360","size":47411},"sega-megacd":{"file":"systems/sega-megacd.json","gzip_size":15396,"sha256":"ce94f85bf4ff3c8d4e58357c68cdb39a2b12d4b8052e61e77fd3189d2a3052c9","size":46794},"sega-megadrive":{"file":"systems/sega-megadrive.json","gzip_size":53279,"sha256":"10507cfccd4ec9fc2c63e71bbc83fda1001e565819665bb0b65d09f4506054bb","size":180871},"sega-naomi":{"file":"systems/sega-naomi.json","gzip_size":276,"sha256":"7da5520e2aa6c2f0e1e4e8f5417be5776d196960e793f740c3dd05ff37ab88e9","size":486},"sega-saturn":{"file":"systems/sega-saturn.json","gzip_size":66052,"sha256":"d3a87b71ce4771f0c4a93fa2d0621f100da77005b37e75faa541aec873a0f319","size":199102},"sega-stv":{"file":"systems/sega-stv.json","gzip_size":782,"sha256":"eb73b6449be6a70bf942f39c49322c03770ddd3bbb6a40f1add7f0ab90bd0841","size":2424},"sega-triforce":{"file":"systems/sega-triforce.json","gzip_size":286,"sha256":"7c68241a76bef2b4ff0cba2ea2f312250abc8585fcc52b41ced2bcbc76175726","size":539},"snk-neogeo-cd":{"file":"systems/snk-neogeo-cd.json","gzip_size":4649,"sha256":"ccc757ea85e9398347cc4ff1db29118a1923422aed21a7437d7c54806330fa8e","size":12370},"snk-neogeo-pocket":{"file":"systems/snk-neogeo-pocket.json","gzip_size":1070,"sha256":"c88819387ac6a344a017198e7bc2560fe306ba9f80350483dab29dd48a03342b","size":2179},"sony-playstation":{"file":"systems/sony-playstation.json","gzip_size":323936,"sha256":"e27d244a888c5246e00166eba8a893032cf96a85dff08905c77d696d997bd861","size":939819},"sony-playstation-2":{"file":"systems/sony-playstation-2.json","gzip_size":361140,"sha256":"410adb750ffbce2e2389facace712c1ad784cfa128da2763b5821ba5cc0ffac7","size":1075273},"vectrex":{"file":"systems/vectrex.json","gzip_size":1615,"sha256":"908725537d457bd597c180c61705f494209c412d728951944d86e504f40387ad","size":3457},"wonderswan":{"file":"systems/wonderswan.json","gzip_size":5961,"sha256":"e0949ae3fd96c11f54db7f56d1d9bc7b9613afe54d411ac16241095eb20f42ba","size":18778},"wonderswan-color":{"file":"systems/wonderswan-color.json","gzip_size":5618,"sha256":"41931c79d3546731ac4665f711c3d6296d30a26244be08e3bd9da01cbfdfa470","size":18027}}} +{"arcade":{"fbneo":{"file":"arcade/fbneo.json","gzip_size":115955,"sha256":"88961c9a6be804772baa767f6ee3a9162478c30c60fe55c8363d8fe4fbc909da","size":423362},"flycast":{"file":"arcade/flycast.json","gzip_size":1841,"sha256":"957189a6e993fda08e21c90ffc6ad94aed9ca9e6dd9ed8c7724e29db036791cb","size":5441},"mame":{"file":"arcade/mame.json","gzip_size":154527,"sha256":"b12010301293a218ecfac45706d81a26c3ac0c27eebeca7409bc8f6ce0163e9e","size":604648},"mame0258":{"file":"arcade/mame0258.json","gzip_size":141151,"sha256":"7ecff1979ed2ac123ea3ba4825dde6e2c31906415165fabefc9af93fa48a6de4","size":556059},"mame0278":{"file":"arcade/mame0278.json","gzip_size":148595,"sha256":"7881e3516f451ec83e886aaf41ebac9d60f497e1f954f49749d52890d7955cbf","size":582797},"mame2000":{"file":"arcade/mame2000.json","gzip_size":8624,"sha256":"f0d69b0872ecfc2845eeb7304543e5b17c11db82060b5514c206b6962ed08263","size":23316},"mame2003":{"file":"arcade/mame2003.json","gzip_size":17456,"sha256":"3b44e2a92c80a8f104b7781fcc1c776d025ad2cf4986638efa3ea041baa9a56d","size":48929},"mame2003_plus":{"file":"arcade/mame2003_plus.json","gzip_size":21077,"sha256":"2857283556fa49c20d8160ed113465bf0c2e643ed0b8acd2d38266a78be8e25e","size":62373},"mame2010":{"file":"arcade/mame2010.json","gzip_size":30869,"sha256":"50b1b381b4b07463f69f1f4c512dd1c98a78d4d0e9c3aeaf49b7b1b007b42152","size":96528},"mame2015":{"file":"arcade/mame2015.json","gzip_size":86990,"sha256":"afeb8c32f651421f74c6de057b0c0b837acd14c533b5160bb31f4411e0afffec","size":360117},"mame2016":{"file":"arcade/mame2016.json","gzip_size":101249,"sha256":"1f75147977d9d082a38b8f8e47a02b301f3d6e6db97c9b9282f3e7f27f26ee47","size":406190}},"containers":{"7z":{"description":"Per-file CRCs and sizes sit in the header at the end of the archive, LZMA-compressed by default (kEncodedHeader). One LZMA decode of the header, independent of the archive size, gives them. Python's lzma is an optional module.","re_read":true,"signature":{"bytes_hex":"377abcaf271c","offset":0},"source_ref":"ip7z/7zip@b88c6bc0 DOC/7zFormat.txt:171-189, DOC/7zFormat.txt:318-334, CPP/7zip/Archive/7z/7zHandlerOut.cpp:859"},"cd-sector":{"description":"User data of a CD sector. In a 2048-byte image (.iso) sector N starts at N * 2048. In a raw 2352-byte image it starts at N * 2352 plus 16 for Mode 1 and plus 24 for Mode 2 Form 1 (12 sync bytes, a 4-byte header, and for Mode 2 an 8-byte subheader).","re_read":true,"sector_size":{"iso":2048,"raw":2352},"source_ref":"stenzek/duckstation@526b4a12 src/util/iso_reader.cpp:157-171, src/util/cd_image.h:28-34","user_data_offset":{"mode1":16,"mode2":24}},"chd-v5":{"description":"MAME compressed hunks, big-endian. The header holds sizes, codecs and hashes only, never the system or the region. The overall SHA-1 is what MAME software lists record. Neither SHA-1 equals a Redump track hash: chdman hashes 2448-byte frames (subcode included, zero-filled), pads each track to 4 frames and byte-swaps audio, all tracks in one stream.","fields":{"compressors":{"encoding":"fourcc4","length":16,"offset":16},"header_length":{"encoding":"u32be","length":4,"offset":8,"value":124},"hunk_bytes":{"encoding":"u32be","length":4,"offset":56},"logical_bytes":{"encoding":"u64be","length":8,"offset":32},"map_offset":{"encoding":"u64be","length":8,"offset":40},"metadata_offset":{"encoding":"u64be","length":8,"offset":48},"overall_sha1":{"encoding":"hex","length":20,"offset":84},"parent_sha1":{"encoding":"hex","length":20,"offset":104},"raw_sha1":{"encoding":"hex","length":20,"offset":64},"unit_bytes":{"encoding":"u32be","length":4,"offset":60},"version":{"encoding":"u32be","length":4,"offset":12,"value":5}},"magic":{"bytes":"MComprHD","offset":0},"media_tags":{"CHCD":"cd","CHGD":"gd-rom","CHGT":"gd-rom","CHT2":"cd","CHTR":"cd","DVD ":"dvd","GDDD":"hard-disk"},"metadata_entry":{"description":"16-byte entry header, payload follows. Linked list from metadata_offset.","flags":{"encoding":"u8","length":1,"offset":4},"length":{"encoding":"u24be","length":3,"offset":5},"next":{"encoding":"u64be","length":8,"offset":8},"tag":{"encoding":"ascii","length":4,"offset":0}},"re_read":true,"source_ref":"mamedev/mame@f34f0250 src/lib/util/chd.h:148-162, src/lib/util/chd.cpp:2021-2061, src/lib/util/chd.cpp:2822-2831, src/lib/util/chd.h:212-235, src/lib/util/chd.cpp:1709-1749, src/tools/chdman.cpp:443-445, src/tools/chdman.cpp:2195-2203, src/lib/util/cdrom.cpp:2669-2672, src/emu/romload.cpp:1211"},"gamecube-disc":{"description":"Where disc offset 0 sits inside each container Dolphin opens.","formats":{"ciso":{"disc_header_at":32768,"magic":"CISO"},"gcz":{"disc_header_at":null,"magic_u32le":2970337281,"note":"block 0 is zlib unless bit 63 of its pointer is set"},"iso":{"disc_header_at":0,"magic":null},"rvz":{"disc_header_at":88,"magic":"RVZ\u0001","note":"first 0x80 disc bytes copied into header 2"},"wbfs":{"disc_header_at":null,"magic":"WBFS","note":"disc offset 0 at wlba[0] << wbfs_sector_shift"},"wia":{"disc_header_at":88,"magic":"WIA\u0001","note":"first 0x80 disc bytes copied into header 2"}},"re_read":true,"source_ref":"dolphin-emu/dolphin@0d93fc03 Source/Core/DiscIO/WIABlob.h:80-119, Source/Core/DiscIO/WIABlob.cpp:320-330, Source/Core/DiscIO/CISOBlob.cpp:66-69, Source/Core/DiscIO/CompressedBlob.cpp:140-150, Source/Core/DiscIO/WbfsBlob.cpp:148-155"},"iso9660":{"description":"Primary volume descriptor in sector 16 ('CD001' at offset 1), root directory record at PVD offset 156 (34 bytes). A file is found by name in the root directory, with the ';1' version suffix.","pvd_sector":16,"re_read":true,"root_record_offset":156,"source_ref":"stenzek/duckstation@526b4a12 src/util/iso_reader.cpp:68-90, src/util/iso_reader.h:60-99"},"zip":{"description":"The central directory gives each member's CRC-32 (offset 16) and uncompressed size (offset 24) without inflating. Python's zipfile reads it on open (ZipInfo.CRC, ZipInfo.file_size).","re_read":true,"source_ref":"python/cpython@fa919fdf Lib/zipfile.py:99-115, Lib/zipfile.py:1293-1347"}},"data_version":"e116113526ed7626","fallback":{"amberelec":{"file":"fallback/amberelec.json","gzip_size":12141,"sha256":"6a3c624996adc555ad45c170dc5c0402841a4ec2361a9ed11acffd666a6fa4b4","size":61223},"batocera":{"file":"fallback/batocera.json","gzip_size":42316,"sha256":"4ee3450717aa1e7cac1941bfc6e72a718973bfb2cd0a41d213ccadae58aa6724","size":309422},"bizhawk":{"file":"fallback/bizhawk.json","gzip_size":1944,"sha256":"152b14f3aff69714698a58837d6331ebcbcd3aaaa5f62939b9c743e535a319f4","size":7320},"emudeck":{"file":"fallback/emudeck.json","gzip_size":26318,"sha256":"11a818cb8a36969586b45fa50390cae1f354ce915a70a1b1d5e45d26b9c5dd84","size":110253},"emuelec":{"file":"fallback/emuelec.json","gzip_size":16695,"sha256":"1e76868f0cb723a0b44a1b403f666cc37eeefdd7b7bf420d5e2e2053f28c9464","size":82083},"knulli":{"file":"fallback/knulli.json","gzip_size":39825,"sha256":"62ec2a347783a30e6e0a61a5df3045b347013a1022c73d39945147d5908f7920","size":267594},"minui":{"file":"fallback/minui.json","gzip_size":701,"sha256":"d68b30917db60263e57331271ebc33d00520dcbc15cdcaba8ccaf2901be2c870","size":2761},"misterfpga":{"file":"fallback/misterfpga.json","gzip_size":1898,"sha256":"b8f457378063d2f9b4010c2fefc21561df71e2e2d06f4ad1a7d945f4ad0a6f55","size":9569},"myminui":{"file":"fallback/myminui.json","gzip_size":1887,"sha256":"029242a5d03083b697c3c801f5a7f86687d62432fa925e0ec1c4759c3e3c20a5","size":7993},"nextui":{"file":"fallback/nextui.json","gzip_size":3088,"sha256":"3c28a4e3d67d5e5b653303419423c4326845b7e8b047c5f4ee1fdf44da0f5faf","size":15502},"recalbox":{"file":"fallback/recalbox.json","gzip_size":13869,"sha256":"6854fff04b6e4d619f92e76b0427f45fd0bd06c1d88f9037b603c0a0dc9c9efc","size":62692},"retroarch":{"file":"fallback/retroarch.json","gzip_size":45034,"sha256":"7645d79fb80ea7334d5c17ded28e9c60c74568d6ab3c6e138b40b3815ce82061","size":217786},"retrobat":{"file":"fallback/retrobat.json","gzip_size":32950,"sha256":"59aae7e5e1c53931a456cfe4cf580e3c0dd3bf8bd77455baa7732670404a4786","size":139887},"retrodeck":{"file":"fallback/retrodeck.json","gzip_size":46070,"sha256":"bfd7ffd2d69a7a0d2df0fdf70072661060f6538379b46960d79e9405b6ace447","size":236872},"retropie":{"file":"fallback/retropie.json","gzip_size":37196,"sha256":"20a85de251a7e43246bbf55d6902bdcd3989b4969d1f61b771b9f4a51824463e","size":153232},"rocknix":{"file":"fallback/rocknix.json","gzip_size":9255,"sha256":"e86b0b9099692f63e4f59bc0b1cd7dfc0b1c74bd381e0f53749c5d6a85630ba0","size":38910},"romm":{"file":"fallback/romm.json","gzip_size":6111,"sha256":"e4009ba31a3a5e08d7cf0c6cfcdfaa0e704faa19460d8e1c0fc169b745a4a15e","size":27444}},"folders":{"240ptestsuite":["nintendo-fds","nintendo-nes"],"2600":["atari-2600"],"2ship":["2ship"],"32x":["sega-32x"],"3d0":["panasonic-3do"],"3do":["panasonic-3do"],"3ds":["nintendo-3ds"],"5200":["atari-5200"],"64":["nintendo-64"],"64dd":["nintendo-64","nintendo-64dd"],"7800":["atari-7800"],"800":["atari-400-800"],"a2600":["atari-2600"],"a5200":["atari-5200"],"a7800":["atari-7800"],"a800":["atari-400-800"],"acclaim-zn1":["acclaim-zn1"],"acorn-archimedes":["acorn-archimedes"],"acorn-bbc-micro":["acorn-bbc-micro"],"acpc":["amstrad-cpc"],"actionmax":["arcade-laserdisc"],"adam":["coleco-adam"],"advision":["entex-advision"],"advmame":["arcade"],"agb":["nintendo-gba"],"ags":["ags"],"amiga":["commodore-amiga"],"amiga (puae)":["commodore-amiga","commodore-amiga-cd32","commodore-cdtv"],"amiga-cd32":["commodore-amiga-cd32"],"amiga1200":["commodore-amiga"],"amiga4000":["commodore-amiga"],"amiga500":["commodore-amiga"],"amiga600":["commodore-amiga"],"amigacd32":["commodore-amiga","commodore-amiga-cd32"],"amigacdtv":["commodore-amiga"],"amstrad":["amstrad-cpc"],"amstrad cpc (cpc)":["amstrad-cpc"],"amstrad-cpc":["amstrad-cpc"],"amstradcpc":["amstrad-cpc"],"amstradgx4000":["amstrad-cpc"],"apf-m1000":["apf-m1000"],"apfm1000":["apf-m1000"],"apple":["apple2"],"apple ii":["apple-ii"],"apple-ii":["apple-ii"],"apple-iigs":["apple-iigs"],"apple-ios":["apple-ios"],"apple-macintosh":["apple-macintosh"],"apple-macintosh-ii":["apple-macintosh-ii"],"apple2":["apple2"],"apple2gs":["apple-iigs"],"applemacintosh":["apple-macintosh"],"aquaplus-piece":["aquaplus-piece"],"aquarius":["mattel-aquarius"],"arcade":["arcade","capcom-cps1","capcom-cps2","capcom-cps3"],"arcade (mame)":["arcade"],"arcade-laserdisc":["arcade-laserdisc"],"arcadeatomiswave":["sammy-atomiswave"],"arcadehbmame":["arcade"],"arcadenaomi":["sammy-atomiswave"],"arcadeneogeo":["neogeo"],"arcadeneogeocd":["snk-neogeo-cd"],"arcadesegaatomiswave":["sammy-atomiswave"],"arcadeseganaomi":["sammy-atomiswave"],"arcadesnk":["neogeo"],"arcadesnkneogeo":["neogeo"],"arcadevertical":["arcade"],"arcadia":["emerson-arcadia-2001"],"arcatomiswave":["sammy-atomiswave"],"archimedes":["acorn-archimedes"],"arcnaomi":["sammy-atomiswave"],"arcneogeo":["neogeo"],"arcneogeocd":["snk-neogeo-cd"],"arcsegaatomiswave":["sammy-atomiswave"],"arcseganaomi":["sammy-atomiswave"],"arduboy":["arduboy"],"ast":["atari-st"],"aste":["atari-st"],"astrocade":["bally-astrocade"],"astrocde":["bally-astrocade"],"atari":["atari-2600"],"atari 2600 (a2600)":["atari-2600"],"atari 5200 (a5200)":["atari-5200"],"atari 7800":["atari-7800"],"atari 7800 (a7800)":["atari-7800"],"atari jaguar":["atari-jaguar"],"atari lynx (lynx)":["atari-lynx"],"atari st":["atari-st"],"atari-2600":["atari-2600"],"atari-2600-plus":["atari-2600"],"atari-400-800":["atari-400-800"],"atari-5200":["atari-5200"],"atari-7800":["atari-7800"],"atari-jaguar":["atari-jaguar"],"atari-jaguarcd":["atari-jaguarcd"],"atari-lynx":["atari-lynx"],"atari-lynx-mkii":["atari-lynx"],"atari-st":["atari-st"],"atari-zn1":["atari-zn1"],"atari2600":["atari-2600"],"atari5200":["atari-5200"],"atari5200 (a5200)":["atari-5200"],"atari7800":["atari-7800"],"atari7800 (a7800)":["atari-7800"],"atari800":["atari-400-800"],"atari8bit":["atari-400-800"],"atarifalcon":["atari-st"],"atarijaguar":["atari-jaguar"],"atarijaguarcd":["atari-jaguar","atari-jaguarcd"],"atarilynx":["atari-lynx"],"atarist":["atari-st"],"atariste":["atari-st"],"ataritt":["atari-st"],"atarixe":["atari-400-800"],"atarixegs":["xegs"],"atlus-zn1":["atlus-zn1"],"atom":["atom"],"atomiswave":["sammy-atomiswave","sega-dreamcast-arcade"],"aw":["sammy-atomiswave"],"bally-astrocade":["bally-astrocade"],"bandai-rx78":["bandai-rx78"],"bandai-wswan":["bandai-wswan"],"bandai-wswanc":["bandai-wswanc"],"bandaiwonderswan":["wonderswan"],"bandaiwonderswancolor":["wonderswan"],"bbc":["acorn-bbc-micro"],"bbcmicro":["acorn-bbc-micro"],"bbk":["bbk-longman-4980","bbk-longman-4988"],"bbk-longman-4980":["bbk-longman-4980"],"bbk-longman-4988":["bbk-longman-4988"],"beena":["sega-beena"],"bennugd":["bennugd"],"bermuda-syndrome":["bermuda-syndrome"],"bgb":["game-boy-color"],"bk":["elektronika-bk"],"blake-stone":["blake-stone"],"blood":["blood"],"bshift":["bshift"],"bstone":["blake-stone"],"bsx":["nintendo-satellaview"],"bsyndrome":["bermuda-syndrome"],"build":["blood","duke3d","exhumed","nam","powerslave","redneck","shadow-warrior","ww2gi"],"bws":["wonderswan"],"bwsc":["wonderswan"],"c-plus-4":["commodore-plus4"],"c128":["commodore-c128"],"c16":["commodore-plus4"],"c20":["commodore-vic20"],"c64":["commodore-c64"],"caesar3":["caesar3"],"camplynx":["camplynx"],"cannonball":["sega-outrun"],"capcom-cps1":["capcom-cps1"],"capcom-cps2":["capcom-cps2"],"capcom-cps3":["capcom-cps3"],"capcom-zn1":["capcom-zn1"],"capcom-zn2":["capcom-zn2"],"capcomcps1":["capcom-cps1"],"capcomcps2":["capcom-cps2"],"capcomcps3":["capcom-cps3"],"casio-loopy":["casio-loopy"],"casio-pv1000":["casio-pv1000"],"casio-pv2000":["casio-pv2000"],"casio_pv-1000":["casio-pv1000"],"casio_pv-2000":["casio-pv2000"],"casioloopy":["casio-loopy"],"cassettevision":["epochcv"],"catacomb":["catacomb-3d","catacomb-adventure"],"catacomb-3d":["catacomb-3d"],"catacomb-adventure":["catacomb-adventure"],"cave-story":["cave-story"],"cavestory":["cave-story"],"cbm-ii":["commodore-cbm-ii"],"cbmii":["commodore-cbm-ii"],"cd-i":["philips-cdi"],"cdi":["philips-cdi"],"cdimono1":["philips-cdi"],"cdtv":["commodore-amiga","commodore-cdtv"],"cgb":["nintendo-gbc"],"cgenie":["cgenie"],"cgenius":["commander-keen"],"channel f":["fairchild-channelf"],"channelf":["fairchild-channelf"],"chex":["chex"],"chf":["fairchild-channelf"],"chihiro":["sega-chihiro"],"chip-8":["chip8"],"chip8":["chip8"],"chipeight":["chip8"],"coco":["coco"],"coco3":["coco","coco3"],"coleco":["colecovision"],"coleco vision":["colecovision"],"coleco-adam":["coleco-adam"],"colecovision":["colecovision"],"colecovision (coleco)":["colecovision"],"commander-keen":["commander-keen"],"commanderx16":["commanderx16"],"commmodore-128":["commodore-c128"],"commodore":["commodore-c64"],"commodore 128 (c128)":["commodore-c128"],"commodore 64 (c64)":["commodore-c64"],"commodore pet (pet)":["commodore-pet"],"commodore plus4 (plus4)":["commodore-plus4"],"commodore vic20 (vic)":["commodore-vic20"],"commodore-64c":["commodore-c64"],"commodore-amiga":["commodore-amiga"],"commodore-amiga-cd32":["commodore-amiga-cd32"],"commodore-c128":["commodore-c128"],"commodore-c64":["commodore-c64"],"commodore-cbm-ii":["commodore-cbm-ii"],"commodore-cdtv":["commodore-cdtv"],"commodore-pet":["commodore-pet"],"commodore-plus4":["commodore-plus4"],"commodore-vic20":["commodore-vic20"],"commodore128":["commodore-c128"],"commodore64":["commodore-c64"],"commodoreamiga":["commodore-amiga"],"commodorec128":["commodore-c128"],"commodorec64":["commodore-c64"],"commodorecbmii":["commodore-cbm-ii"],"commodorepet":["commodore-pet"],"commodoreplus4":["commodore-plus4"],"commodorevic20":["commodore-vic20"],"corsixth":["theme-hospital"],"cougarboy":["mega-duck"],"cpc":["amstrad-cpc"],"cpet":["commodore-pet"],"cplus4":["commodore-plus4"],"cps":["arcade"],"cps1":["arcade","capcom-cps1"],"cps2":["arcade","capcom-cps2"],"cps3":["arcade","capcom-cps3"],"creativision":["crvision"],"crvision":["crvision"],"cstrike":["cstrike"],"cv":["colecovision"],"czero":["czero"],"czeror":["czeror"],"daphne":["arcade-laserdisc"],"dark-forces":["dark-forces"],"dark-forces-ii":["dark-forces-ii"],"dc":["sega-dreamcast"],"descent":["descent"],"descent2":["descent2"],"devilutionx":["diablo"],"diablo":["diablo"],"dice":["discrete-arcade"],"dinothawr":["dinothawr"],"discrete-arcade":["discrete-arcade"],"disksystem":["nintendo-fds"],"dmc":["dmc"],"dmg":["game-boy","nintendo-gb"],"doom":["doom"],"doom (doom)":["doom"],"doom (prboom)":["doom","heretic"],"doom3":["doom3"],"dos":["dos"],"dosbox":["dos"],"dragon":["coco","dragon64"],"dragon32":["coco","dragon32"],"dragon64":["coco","dragon64"],"dreamcast":["sega-dreamcast"],"dreamm":["dos","fmtowns","ibm-pc","tandy-1000"],"droidworks":["droidworks"],"ds":["nintendo-ds"],"dsi":["nintendo-ds","nintendo-dsi"],"duke3d":["duke3d"],"dusklight":["dusklight"],"dxx-rebirth":["descent","descent2"],"easyrpg":["rpgmaker"],"ecwolf":["wolfenstein3d"],"eduke32":["duke3d"],"eighthundred":["atari-400-800"],"eighting-zn1":["eighting-zn1"],"electron":["electron"],"elektor-tv-games-computer":["elektor-tv-games-computer"],"elektronika":["elektronika-bk"],"elektronika-bk":["elektronika-bk"],"elektronikabk":["elektronika-bk"],"emerson-arcadia-2001":["emerson-arcadia-2001"],"enemyterritory":["enemyterritory"],"enterprise":["enterprise-128","enterprise-64-128"],"enterprise-128":["enterprise-128"],"enterprise-64-128":["enterprise-64-128"],"enterprise128":["enterprise-128"],"entex-advision":["entex-advision"],"ep128":["enterprise-128"],"ep64-128":["enterprise-64-128"],"epochcv":["epochcv"],"epochsupercassettevision":["scv"],"epsxe":["sony-playstation"],"etlegacy":["enemyterritory"],"exelvision-exl100":["exelvision-exl100"],"exhumed":["exhumed"],"exl100":["exelvision-exl100"],"fairchild":["fairchild-channelf"],"fairchild-channel-f":["fairchild-channelf"],"fairchild-channelf":["fairchild-channelf"],"fairchildchannelf":["fairchild-channelf"],"fake08":["pico8"],"falcon":["atari-st"],"fallout":["fallout"],"fallout1-ce":["fallout"],"fallout2":["fallout2"],"fallout2-ce":["fallout2"],"famicom":["famicom","nintendo-nes"],"famicom disk system (fds)":["nintendo-fds"],"famicom-disk-system":["famicom-disk-system"],"famicomdisk":["nintendo-fds"],"famicomdisksystem":["famicom-disk-system"],"famicomds":["famicom-disk-system"],"fat plumber shit":["nintendo-nes"],"fba":["arcade"],"fbneo":["arcade"],"fbnneogeo":["neogeo"],"fc":["famicom","nintendo-fds","nintendo-nes"],"fcds":["famicom-disk-system"],"fcnes":["famicom"],"fds":["famicom-disk-system","nintendo-fds"],"fiftytwohundred":["atari-5200"],"finalburnneo":["arcade"],"flash":["flash"],"flashback":["flashback"],"flycast":["sega-dreamcast"],"fm-7":["fm7"],"fm7":["fm7"],"fmtowns":["fmtowns"],"fmtownsux":["fmtowns"],"fpinball":["fpinball"],"freej2me":["j2me"],"fury":["fury"],"galaksija":["galaksija"],"galretro":["galaksija"],"gamate":["gamate"],"game boy (gb)":["nintendo-gb"],"game boy advance (gba)":["nintendo-gba"],"game boy advance (mgba)":["nintendo-gba"],"game boy color (gbc)":["nintendo-gbc"],"game gear":["sega-gamegear"],"game-boy":["game-boy"],"game-boy-adavance-sp":["nintendo-gb","nintendo-gba","nintendo-gbc","nintendo-sgb"],"game-boy-advance":["game-boy-advance"],"game-boy-color":["game-boy-color"],"game-boy-light":["nintendo-gb","nintendo-gbc"],"game-boy-micro":["nintendo-gb","nintendo-gba","nintendo-gbc","nintendo-sgb"],"game-boy-pocket":["nintendo-gb","nintendo-gbc"],"game-televisison":["nintendo-fds","nintendo-nes"],"gameandwatch":["handheld-electronic"],"gameboy":["game-boy","nintendo-gb"],"gameboyadvance":["game-boy-advance","nintendo-gba"],"gameboycolor":["game-boy-color","nintendo-gbc"],"gamecom":["tiger-game-com"],"gamecube":["nintendo-gamecube"],"gamegear":["sega-gamegear"],"gamegearh":["sega-gamegear"],"gamegearhacks":["sega-gamegear"],"gameking":["gameking"],"gamemaster":["hartung-game-master"],"gamenwatch":["handheld-electronic"],"gamepark-gp32":["gamepark-gp32"],"gamepock":["gamepock"],"gamepocketcomputer":["gamepock"],"gametank":["gametank"],"gb":["game-boy","nintendo-gb","nintendo-gbc"],"gb2players":["nintendo-gb"],"gba":["game-boy-advance","nintendo-gba"],"gba2players":["nintendo-gba"],"gbadvance":["game-boy-advance"],"gbah":["nintendo-gba"],"gbahacks":["game-boy-advance"],"gbav":["nintendo-gb","nintendo-gba","nintendo-gbc","nintendo-sgb"],"gbc":["game-boy-color","nintendo-gb","nintendo-gbc"],"gbc2players":["nintendo-gbc"],"gbch":["nintendo-gbc"],"gbchacks":["game-boy-color"],"gbcolor":["game-boy-color"],"gbdmg":["game-boy"],"gbh":["nintendo-gb"],"gbhacks":["game-boy"],"gbsp":["game-boy-advance"],"gc":["nintendo-gamecube"],"gce":["vectrex"],"gcevectrex":["vectrex"],"gearbox":["gearbox"],"gen":["sega-megadrive"],"gen32x":["sega-32x"],"gencd":["sega-megacd"],"genesis":["sega-genesis","sega-megadrive"],"genesiscd":["sega-megacd"],"genesishacks":["sega-megadrive"],"genh":["sega-megadrive"],"genmd":["sega-megadrive"],"gens":["sega-megadrive"],"gensegacd":["sega-megacd"],"gg":["sega-gamegear"],"ggsms":["sega-mastersystem"],"ghostship":["ghostship"],"gmaster":["hartung-game-master"],"gp32":["gamepark-gp32"],"gt":["gametank"],"gw":["handheld-electronic"],"gx4000":["amstrad-cpc"],"gzdoom":["chex","doom","heretic","hexen","strife"],"half-life":["half-life"],"halflife":["half-life"],"handheld-electronic":["handheld-electronic"],"handheldelectronic":["handheld-electronic"],"harcade":["arcade"],"hartung-game-master":["hartung-game-master"],"hbmame":["arcade"],"heretic":["heretic"],"hexen":["hexen"],"hikaru":["sega-hikaru"],"horizontal":["arcade"],"horizontalarcade":["arcade"],"hyper-neogeo64":["hyper-neogeo64"],"ibm-pc":["ibm-pc"],"ibm-pcjr":["ibm-pcjr"],"idquake":["quake"],"idquake2":["quake2"],"igs-pgm":["igs-pgm"],"intelli":["intellivision"],"intellivision":["intellivision"],"interact":["interact"],"interton-vc4000":["interton-vc4000"],"intv":["intellivision"],"iortcw":["return-to-castle-wolfenstein"],"ios":["apple-ios"],"iphone":["apple-ios"],"ique-player":["nintendo-64","nintendo-64dd"],"itv":["intellivision"],"j2me":["j2me"],"jag":["atari-jaguar"],"jaguar":["atari-jaguar"],"jaguarcd":["atari-jaguarcd"],"java":["j2me"],"jazz-jackrabbit":["jazz-jackrabbit"],"jazz-jackrabbit-2":["jazz-jackrabbit-2"],"jazz2":["jazz-jackrabbit-2"],"jedi-academy":["jedi-academy"],"jediknight2":["jediknight2"],"jkdf2":["dark-forces-ii","droidworks","mysteries-of-the-sith"],"jknight":["jedi-academy","jediknight2"],"kega":["sega-megadrive"],"konami-gq":["konami-gq"],"konami-gv":["konami-gv"],"laser310":["laser310"],"laseractive":["laseractive"],"laserdisc":["arcade-laserdisc"],"libgametank":["gametank"],"lindbergh":["sega-lindbergh"],"loopy":["casio-loopy"],"lowresnx":["lowresnx"],"lucasart":["scummvm"],"lucasarts":["scummvm"],"lynx":["atari-lynx"],"mac":["apple-macintosh","apple-macintosh-ii"],"macintosh":["apple-macintosh"],"magnavox":["odyssey2"],"magnavoxodyssey":["odyssey2"],"magnavoxodyssey2":["odyssey2"],"magnavoxvideopac":["odyssey2"],"mame":["arcade"],"mame-advmame":["arcade"],"mame-libretro":["arcade"],"mame-mame4all":["arcade"],"mame2000":["arcade"],"mame2003":["arcade"],"mame2003plus":["arcade"],"mame2010":["arcade"],"mark3":["sega-mastersystem"],"marty":["marty"],"master-system-girl":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"master-system-super-compact":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"mastersystem":["sega-mastersystem"],"mastersystemhacks":["sega-mastersystem"],"mattel-aquarius":["mattel-aquarius"],"mattelintellivision":["intellivision"],"mc10":["mc10"],"md":["sega-32x","sega-gamegear","sega-genesis","sega-mastersystem","sega-megadrive"],"md32x":["sega-32x"],"mdcd":["sega-megacd"],"mdgen":["sega-megadrive"],"mdmsu":["sega-megadrive"],"mdmsu1":["sega-megadrive"],"mdsegacd":["sega-megacd"],"mega-duck":["mega-duck"],"mega-pc":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"megacd":["sega-megacd"],"megacdjp":["sega-megacd"],"megachip8":["chip8"],"megadrive":["sega-genesis","sega-megadrive"],"megadrive-japan":["sega-megadrive"],"megadrive-msu":["sega-megacd"],"megadrivecd":["sega-megacd"],"megadriveh":["sega-megadrive"],"megadrivehacks":["sega-megadrive"],"megadrivejp":["sega-genesis","sega-megadrive"],"megadrivemsu":["sega-megadrive"],"megaduck":["mega-duck"],"mgba":["game-boy-advance","nintendo-gba"],"microsoft msx (msx)":["msx"],"microsoft-xbox":["microsoft-xbox"],"microsoft-xbox-360":["microsoft-xbox-360"],"microsoftdos":["dos"],"microsoftmsx":["msx"],"midp":["j2me"],"minivmac":["apple-macintosh"],"mkxp":["rpgmaker"],"mkxp-z":["rpgmaker"],"mobile":["j2me"],"model2":["sega-model2"],"model2/roms":["sega-model2"],"model3":["sega-model3"],"mohaa":["mohaa"],"moto":["olivetti-pc128","thomson-mo5","thomson-mo6","thomson-to7","thomson-to770","thomson-to8","thomson-to8d","thomson-to9","thomson-to9plus"],"ms":["sega-mastersystem"],"msdos":["dos"],"msdos (dos)":["dos"],"msu":["nintendo-snes"],"msu-md":["sega-megacd"],"msu1":["nintendo-snes"],"msumd":["sega-megacd","sega-megadrive"],"msx":["msx"],"msx1":["msx","msx1"],"msx2":["msx","msx2"],"msx2+":["msx2+"],"msx2plus":["msx2plus"],"msxturbor":["msx","msxturbor"],"multivision":["sega-32x","sega-gamegear","sega-genesis","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sc3000","sega-sg1000"],"mysteries-of-the-sith":["mysteries-of-the-sith"],"myvision":["myvision"],"mz2000":["mz2000"],"mz2500":["mz2500"],"mz700":["mz700"],"mz800":["mz800"],"mz80k":["mz80k"],"n3ds":["nintendo-3ds"],"n64":["nintendo-64"],"n64dd":["nintendo-64","nintendo-64dd"],"n64hacks":["nintendo-64"],"nam":["nam"],"namco-system11":["namco-system11"],"namco-system246":["namco-system246"],"namco-system256":["namco-system256"],"namco-system357":["namco-system357"],"namco2x6":["namco-system246"],"naomi":["sammy-atomiswave","sega-dreamcast-arcade","sega-naomi"],"naomi2":["sega-naomi2"],"naomigd":["sega-dreamcast-arcade","sega-naomigd"],"native32":["sunplus-native32"],"nds":["nintendo-ds"],"ndsi":["nintendo-dsi"],"ndsiware":["nintendo-dsi"],"nec-pc-88":["nec-pc-88"],"nec-pc-engine":["nec-pc-engine"],"nec-pc-engine-cd":["nec-pc-engine-cd"],"nec-pcfx":["nec-pcfx"],"nec-supergrafx":["nec-supergrafx"],"necpc8000":["nec-pc-88","pc80"],"necpc98":["pc-98"],"necpce":["nec-pc-engine"],"necpcecd":["nec-pc-engine-cd"],"necpcengine":["nec-pc-engine"],"necpcenginecd":["nec-pc-engine-cd"],"necpcfx":["nec-pcfx"],"necsgfx":["nec-supergrafx"],"necsupergrafx":["nec-supergrafx"],"nectg16":["nec-pc-engine"],"nectgcd":["nec-pc-engine-cd"],"necturbografx":["nec-pc-engine"],"necturbografx16":["nec-pc-engine"],"necturbografxcd":["nec-pc-engine-cd"],"neo geo pocket (ngp)":["snk-ngp"],"neo geo pocket color (ngpc)":["snk-ngpc"],"neo-geo-cd":["snk-neogeo-cd"],"neo-geo-pocket":["snk-neogeo-pocket"],"neo-geo-pocket-color":["neo-geo-pocket-color"],"neocd":["snk-neogeo-cd"],"neocdz":["snk-neogeo-cd"],"neogeo":["neogeo"],"neogeo cd (ngcd)":["snk-neogeo-cd"],"neogeo-cd":["snk-neogeo-cd"],"neogeo64":["hyper-neogeo64"],"neogeoaes":["snk-neogeo-aes"],"neogeocd":["snk-neogeo-cd"],"neogeocdjp":["snk-neogeo-cd"],"neogeomvs":["snk-neogeo-mvs"],"neogeopocket":["snk-neogeo-pocket","snk-ngp"],"neogeopocketcolor":["snk-neogeo-pocket","snk-ngpc"],"nes":["famicom","nintendo-nes"],"nescd":["famicom"],"nesds":["famicom"],"nesfc":["famicom"],"nesh":["nintendo-nes"],"neshacks":["famicom"],"new-nintendo-3ds":["nintendo-3ds"],"new-style-nes":["nintendo-fds","nintendo-nes"],"new-style-super-nes-model-sns-101":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"ng":["neogeo"],"ngage":["ngage"],"ngb":["game-boy"],"ngba":["game-boy-advance"],"ngbc":["game-boy-color"],"ngc":["nintendo-gamecube","snk-ngp"],"ngcd":["snk-neogeo-cd"],"ngp":["snk-neogeo-pocket","snk-ngp","snk-ngpc"],"ngpc":["snk-neogeo-pocket","snk-ngp","snk-ngpc"],"ngpocket":["snk-neogeo-pocket"],"ngpocketcolor":["snk-neogeo-pocket"],"ngw":["handheld-electronic"],"ninds":["nintendo-ds"],"ninetyeight":["pc-98"],"ningba":["game-boy-advance"],"ningbc":["game-boy-color"],"ninnes":["famicom"],"ninsnes":["nintendo-satellaview"],"nintendo ds (nds)":["nintendo-ds"],"nintendo entertainment system (fc)":["nintendo-nes"],"nintendo-3ds":["nintendo-3ds"],"nintendo-64":["nintendo-64"],"nintendo-64dd":["nintendo-64dd"],"nintendo-ds":["nintendo-ds"],"nintendo-ds-lite":["nintendo-ds","nintendo-dsi"],"nintendo-dsi":["nintendo-dsi"],"nintendo-dsi-xl":["nintendo-ds","nintendo-dsi"],"nintendo-fds":["nintendo-fds"],"nintendo-gamecube":["nintendo-gamecube"],"nintendo-gb":["nintendo-gb"],"nintendo-gba":["nintendo-gba"],"nintendo-gbc":["nintendo-gbc"],"nintendo-nes":["nintendo-nes"],"nintendo-pokemon-mini":["nintendo-pokemon-mini"],"nintendo-satellaview":["nintendo-satellaview"],"nintendo-sgb":["nintendo-sgb"],"nintendo-snes":["nintendo-snes"],"nintendo-sufami-turbo":["nintendo-sufami-turbo"],"nintendo-switch":["nintendo-switch"],"nintendo-virtualboy":["nintendo-virtualboy"],"nintendo-wii":["nintendo-wii"],"nintendo-wiiu":["nintendo-wiiu"],"nintendo3ds":["nintendo-3ds"],"nintendo64":["nintendo-64"],"nintendods":["nintendo-ds"],"nintendodsi":["nintendo-ds","nintendo-dsi"],"nintendoentertainmentsystem":["famicom"],"nintendofamicom":["famicom"],"nintendofamicomdisksystem":["famicom-disk-system"],"nintendogameandwatch":["handheld-electronic"],"nintendogameboy":["game-boy"],"nintendogameboyadvance":["game-boy-advance"],"nintendogameboycolor":["game-boy-color"],"nintendogb":["game-boy"],"nintendogba":["game-boy-advance"],"nintendogbc":["game-boy-color"],"nintendogw":["handheld-electronic"],"nintendon64":["nintendo-64"],"nintendones":["famicom"],"nintendonintendo64":["nintendo-64"],"nintendonintendo64dd":["nintendo-64"],"nintendonintendodsi":["nintendo-ds"],"nintendonintendoentertainmentsystem":["famicom"],"nintendopokemini":["nintendo-pokemon-mini"],"nintendopokemonmini":["nintendo-pokemon-mini"],"nintendosfc":["nintendo-satellaview"],"nintendosnes":["nintendo-satellaview"],"nintendosnesmsu":["nintendo-satellaview"],"nintendosnesmsu1":["nintendo-satellaview"],"nintendosupernintendo":["nintendo-satellaview"],"nintendosupernintendoentertainmentsystem":["nintendo-satellaview"],"nintendovb":["nintendo-virtualboy"],"nintendovitrualboy":["nintendo-virtualboy"],"nomad":["sega-megadrive"],"nsnes":["nintendo-satellaview"],"nsv":["nintendo-satellaview"],"nvb":["nintendo-virtualboy"],"nxengine":["cave-story"],"o2":["philips-videopac"],"o2em":["odyssey2"],"odyssey":["odyssey2","philips-videopac"],"odyssey-2-slash-videopac-g7000":["odyssey2"],"odyssey2":["odyssey2"],"olivetti-pc128":["olivetti-pc128"],"onscripter":["onscripter"],"openbeatsofrage":["openbor"],"openbor":["openbor"],"opengoal":["opengoal"],"openjazz":["jazz-jackrabbit"],"openlara":["tomb-raider"],"oric":["oric"],"oricatmos":["oricatmos"],"originalgameboy":["game-boy"],"outlaws":["outlaws"],"outrun":["sega-outrun"],"p2000t":["philips-p2000t"],"p8":["pico8"],"palm":["palm-os"],"palm-os":["palm-os"],"palmos":["palm-os"],"panasonic":["panasonic-3do"],"panasonic-3do":["panasonic-3do"],"pbp":["sony-playstation"],"pbps":["sony-playstation"],"pc":["dos"],"pc engine":["nec-pc-engine"],"pc-8800":["nec-pc-88"],"pc-98":["pc-98"],"pc-9800":["pc-98"],"pc-9800-series":["pc-98"],"pc-fx":["nec-pcfx"],"pc60":["pc60"],"pc80":["pc80"],"pc8000":["nec-pc-88","pc80"],"pc88":["nec-pc-88"],"pc8801":["nec-pc-88"],"pc98":["pc-98"],"pce":["nec-pc-engine","nec-supergrafx"],"pcecd":["nec-pc-engine","nec-pc-engine-cd"],"pcengine":["nec-pc-engine"],"pcenginecd":["nec-pc-engine","nec-pc-engine-cd"],"pcfx":["nec-pcfx"],"pcninetyeight":["pc-98"],"pcsx":["sony-playstation"],"pcv2":["bandai-wswan","bandai-wswanc"],"pcw":["pcw"],"pdark":["pdark"],"pegasus":["pegasus"],"pet":["commodore-pet"],"pgm":["arcade","igs-pgm"],"philips-cd-i":["philips-cdi"],"philips-cdi":["philips-cdi"],"philips-p2000t":["philips-p2000t"],"philips-vg5k":["philips-vg5k"],"philips-videopac":["philips-videopac"],"philipscdi":["philips-cdi"],"pico":["pico8","sega-pico"],"pico-8":["pico8"],"pico-8 (p8)":["pico8"],"pico-8/carts":["pico8"],"pico8":["pico8"],"piece":["aquaplus-piece"],"pkm":["nintendo-pokemon-mini"],"playstation":["sony-playstation"],"playstationchds":["sony-playstation"],"playstationpbps":["sony-playstation"],"playstationportable":["sony-psp"],"plus4":["commodore-plus4"],"pocket-challenge-v2":["pocket-challenge-v2"],"pocketchallengev2":["pocket-challenge-v2"],"pocketstation":["sony-pocketstation"],"poke":["nintendo-pokemon-mini"],"pokemini":["nintendo-pokemon-mini"],"pokemon-mini":["nintendo-pokemon-mini"],"pokemonmini":["nintendo-pokemon-mini"],"pokémon mini (pkm)":["nintendo-pokemon-mini"],"ports":["wolfenstein3d"],"ports/caesar3":["caesar3"],"ports/cave story":["cave-story"],"ports/dinothawr":["dinothawr"],"ports/doom":["chex","doom","heretic","hexen","strife"],"ports/doom 3":["doom3"],"ports/ecwolf/games":["wolfenstein3d"],"ports/flashback":["flashback"],"ports/out run":["sega-outrun"],"ports/prince of persia":["prince-of-persia"],"ports/quake":["quake"],"ports/quake 2":["quake2"],"ports/quake 3":["quake3"],"ports/rick dangerous":["xrick"],"ports/star trek voyager":["quake3"],"ports/tamagotchi":["tamagotchi-p1"],"ports/theme hospital":["theme-hospital"],"ports/tomb raider":["tomb-raider"],"ports/vvvvvv":["vvvvvv"],"ports/wolfenstein 3d":["wolfenstein3d"],"powerslave":["powerslave"],"ppsspp":["sony-psp"],"prboom":["doom","heretic"],"primehack":["nintendo-gamecube","nintendo-wii"],"prince-of-persia":["prince-of-persia"],"ps":["sony-playstation"],"ps1":["sony-playstation"],"ps2":["sony-playstation-2"],"ps3":["sony-playstation-3"],"ps4":["ps4"],"ps4/shortcuts":["ps4"],"pschd":["sony-playstation"],"pschds":["sony-playstation"],"psiso":["sony-playstation"],"psisos":["sony-playstation"],"psone":["sony-playstation"],"psp":["sony-psp"],"pspbp":["sony-playstation"],"pspbps":["sony-playstation"],"pspminis":["sony-psp"],"psvita":["sony-playstation-vita"],"psx":["sony-playstation"],"psxchd":["sony-playstation"],"psxchds":["sony-playstation"],"psxiso":["sony-playstation"],"psxisos":["sony-playstation"],"psxpbp":["sony-playstation"],"psxpbps":["sony-playstation"],"puae":["commodore-amiga","commodore-amiga-cd32","commodore-cdtv"],"pv1000":["casio-pv1000"],"pv2000":["casio-pv2000"],"ql":["sinclair-ql"],"quake":["quake"],"quake (quake)":["quake"],"quake2":["quake2"],"quake3":["quake3"],"raze":["blood","duke3d","exhumed","nam","powerslave","redneck","shadow-warrior","ww2gi"],"redneck":["redneck"],"redream":["sega-dreamcast"],"reminiscence":["flashback"],"retcom":["galaksija"],"retro8":["pico8"],"return-to-castle-wolfenstein":["return-to-castle-wolfenstein"],"ricochet":["ricochet"],"rott":["rott"],"rpgmaker":["rpgmaker"],"rtcw":["return-to-castle-wolfenstein","rott"],"rx78":["bandai-rx78"],"s32x":["sega-32x"],"sam-coupe":["sam-coupe"],"samcoupe":["sam-coupe"],"sameduck":["mega-duck"],"sammy-atomiswave":["sammy-atomiswave"],"sat":["sega-saturn"],"satella":["nintendo-satellaview"],"satellaview":["nintendo-satellaview"],"satourne":["sega-saturn"],"saturn":["sega-saturn"],"saturnjp":["sega-saturn"],"sc-3000":["sega-sc3000"],"sc3000":["sega-sc3000"],"scd":["sega-megacd"],"scumm":["scummvm"],"scummvm":["scummvm"],"scummvm/shortcuts":["scummvm"],"scv":["scv"],"sdc":["sega-dreamcast"],"sdlpop":["prince-of-persia"],"sega 32x (32x)":["sega-32x"],"sega cd (segacd)":["sega-megacd"],"sega dreamcast":["sega-dreamcast"],"sega game gear (gg)":["sega-gamegear"],"sega genesis (md)":["sega-megadrive"],"sega master system (sms)":["sms"],"sega sg-1000 (sg1000)":["sega-sg1000"],"sega-32x":["sega-32x"],"sega-ai":["sega-ai"],"sega-beena":["sega-beena"],"sega-chihiro":["sega-chihiro"],"sega-dreamcast":["sega-dreamcast"],"sega-dreamcast-arcade":["sega-dreamcast-arcade"],"sega-game-box-9":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-gamegear":["sega-gamegear"],"sega-genesis":["sega-genesis"],"sega-hikaru":["sega-hikaru"],"sega-lindbergh":["sega-lindbergh"],"sega-mark-iii":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-master-system-ii":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-mastersystem":["sega-mastersystem"],"sega-mega-drive-2-slash-genesis":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-mega-jet":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-megacd":["sega-megacd"],"sega-megadrive":["sega-megadrive"],"sega-model2":["sega-model2"],"sega-model3":["sega-model3"],"sega-naomi":["sega-naomi"],"sega-naomi2":["sega-naomi2"],"sega-naomigd":["sega-naomigd"],"sega-nomad":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"sega-outrun":["sega-outrun"],"sega-pico":["sega-pico"],"sega-saturn":["sega-saturn"],"sega-sc3000":["sega-sc3000"],"sega-sf7000":["sega-sf7000"],"sega-sg1000":["sega-sg1000"],"sega-stv":["sega-stv"],"sega-systemsp":["sega-systemsp"],"sega-triforce":["sega-triforce"],"sega-vmu":["sega-vmu"],"sega32":["sega-32x","sega-gamegear","sega-genesis","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sc3000","sega-sg1000"],"sega32x":["sega-32x"],"sega32xjp":["sega-32x"],"sega32xna":["sega-32x"],"segaai":["sega-ai"],"segaatomiswave":["sammy-atomiswave"],"segacd":["sega-megacd"],"segadc":["sega-dreamcast"],"segadreamcast":["sega-dreamcast"],"segagamegear":["sega-gamegear"],"segagenesis":["sega-megadrive"],"segagenesismsu":["sega-megadrive"],"segagg":["sega-gamegear"],"segamastersystem":["sega-mastersystem"],"segamcd":["sega-megacd"],"segamdmsu":["sega-megadrive"],"segamegacd":["sega-megacd"],"segamegadrive":["sega-megadrive"],"segamodel3":["sega-model3"],"segams":["sega-mastersystem"],"seganaomi":["sammy-atomiswave"],"segapico":["sega-32x","sega-gamegear","sega-genesis","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sc3000","sega-sg1000"],"segasat":["sega-saturn"],"segasaturn":["sega-saturn"],"segascd":["sega-megacd"],"segasegacd":["sega-megacd"],"segasg1000":["sega-sg1000"],"segasgone":["sega-sg1000"],"segasms":["sega-mastersystem"],"segastv":["sega-stv"],"seggg":["sega-gamegear"],"segms":["sega-mastersystem"],"seventyeighthundred":["atari-7800"],"sfam":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"sfc":["nintendo-satellaview","nintendo-snes"],"sg-1000":["sega-sg1000"],"sg1000":["sega-sg1000"],"sg1k":["sega-sg1000"],"sgb":["nintendo-gb","nintendo-sgb"],"sgb-msu1":["nintendo-sgb"],"sgfx":["nec-pc-engine","nec-supergrafx"],"sgg":["sega-gamegear"],"sgonethousand":["sega-sg1000"],"sgx":["nec-pc-engine","nec-supergrafx"],"sgxcd":["nec-pc-engine"],"shadow-warrior":["shadow-warrior"],"sharp-x1":["sharp-x1"],"sharp-x68000":["sharp-x68000"],"sharpx1":["sharp-x1"],"sharpx6800":["sharp-x68000"],"sharpx68000":["sharp-x68000"],"sharpx68k":["sharp-x68000"],"sinclair-ql":["sinclair-ql"],"sinclair-spectrum":["sinclair-spectrum"],"sinclair-zx-spectrum":["sinclair-zx-spectrum"],"sinclair-zx-spectrum-next":["sinclair-zx-spectrum-next"],"sinclair-zx81":["sinclair-zx81"],"sinclairzx81":["sinclair-zx81"],"singe":["arcade-laserdisc"],"smbx":["smbx"],"sms":["sega-mastersystem","sms"],"smsgg":["sega-mastersystem"],"snes":["nintendo-satellaview","nintendo-snes"],"snes-hacks":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"snes-msu1":["nintendo-snes"],"snes9x":["nintendo-satellaview"],"snesh":["nintendo-snes"],"sneshacks":["nintendo-satellaview"],"snesmsu":["nintendo-satellaview"],"snesmsu1":["nintendo-satellaview","nintendo-snes"],"snesna":["nintendo-snes"],"sng":["neogeo"],"snk-neogeo-aes":["snk-neogeo-aes"],"snk-neogeo-cd":["snk-neogeo-cd"],"snk-neogeo-mvs":["snk-neogeo-mvs"],"snk-neogeo-pocket":["snk-neogeo-pocket"],"snk-ngp":["snk-ngp"],"snk-ngpc":["snk-ngpc"],"snkneogeo":["neogeo"],"snkneogeocd":["snk-neogeo-cd"],"snkneogeopocket":["snk-neogeo-pocket"],"snkneogeopocketcolor":["snk-neogeo-pocket"],"snkngcd":["snk-neogeo-cd"],"snkngp":["snk-neogeo-pocket"],"snkngpc":["snk-neogeo-pocket"],"socrates":["vtech-socrates"],"soh":["soh"],"solarus":["solarus"],"sonic-1-2013":["sonic-1-2013"],"sonic-2-2013":["sonic-2-2013"],"sonic-mania":["sonic-mania"],"sonic3-air":["sonic3-air"],"sonicretro":["sonic-1-2013","sonic-2-2013"],"sony playstation (ps)":["sony-playstation"],"sony-playstation":["sony-playstation"],"sony-playstation-2":["sony-playstation-2"],"sony-playstation-3":["sony-playstation-3"],"sony-playstation-vita":["sony-playstation-vita"],"sony-pocketstation":["sony-pocketstation"],"sony-psp":["sony-psp"],"sonyplaystation":["sony-playstation"],"sonyplaystationportable":["sony-psp"],"sonyps":["sony-playstation"],"sonyps1":["sony-playstation"],"sonypsp":["sony-psp"],"sonypsx":["sony-playstation"],"spec":["sinclair-zx-spectrum"],"spectravideo":["spectravideo"],"spectrum":["sinclair-spectrum","sinclair-zx-spectrum"],"spmp8000":["sunplus-spmp8000"],"ss":["sega-saturn"],"st":["atari-st"],"st-v":["sega-stv"],"star-control-2":["star-control-2"],"starship":["starship"],"ste":["atari-st"],"story":["onscripter"],"strife":["strife"],"studio-ii":["studio-ii"],"stv":["sega-stv"],"sufami":["nintendo-satellaview","nintendo-sufami-turbo"],"sufami-turbo":["nintendo-sufami-turbo"],"sufamiturbo":["nintendo-sufami-turbo"],"sunplus-native32":["sunplus-native32"],"sunplus-spmp8000":["sunplus-spmp8000"],"supa":["nintendo-snes"],"super game boy (sgb)":["nintendo-sgb"],"super nintendo entertainment system (sfc)":["nintendo-snes"],"super nintendo entertainment system (supa)":["nintendo-snes"],"super-famicom-jr-model-shvc-101":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"super-famicom-shvc-001":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"super-gb":["nintendo-sgb"],"super-mario-war":["super-mario-war"],"super-nintendo-original-european-version":["nintendo-satellaview","nintendo-snes","nintendo-sufami-turbo"],"superacan":["superacan"],"superbroswar":["super-mario-war"],"supercassettevision":["scv"],"superchip":["chip8"],"superfamicom":["nintendo-satellaview","nintendo-snes"],"supergameboy":["nintendo-sgb"],"supergrafx":["nec-supergrafx"],"supermariowar":["super-mario-war"],"supernes":["nintendo-satellaview","nintendo-snes"],"supernintendo":["nintendo-satellaview"],"supernintendoentertainmentsystem":["nintendo-satellaview"],"superpretendo":["nintendo-satellaview"],"supervision":["watara-supervision"],"supracan":["supracan"],"svi":["colecovision","msx","msx2","msx2plus","msxturbor","sega-sc3000","sega-sf7000","sega-sg1000","spectravideo"],"svicoleco":["colecovision","msx","msx2","msx2plus","msxturbor","sega-sc3000","sega-sf7000","sega-sg1000","spectravideo"],"svicolecovision":["colecovision","msx","msx2","msx2plus","msxturbor","sega-sc3000","sega-sf7000","sega-sg1000","spectravideo"],"swancrystal":["bandai-wswan","bandai-wswanc"],"switch":["nintendo-switch"],"symbian":["symbian"],"systemsp":["sega-systemsp"],"t80":["tic80"],"taito-fx1":["taito-fx1"],"tamagotchi-p1":["tamagotchi-p1"],"tandy-1000":["tandy-1000"],"tandy-vis":["tandy-vis"],"tandy1000":["tandy-1000"],"tanodragon":["dragon64"],"tecmo-tps":["tecmo-tps"],"teknoparrot":["namco-system246","namco-system256","namco-system357","sammy-atomiswave","sega-chihiro","sega-hikaru","sega-lindbergh","sega-naomi","sega-naomi2","sega-naomigd","sega-triforce"],"tera-drive":["sega-gamegear","sega-mastersystem","sega-megacd","sega-megadrive","sega-pico","sega-sg1000"],"texas-instruments-ti-83":["texas-instruments-ti-83"],"texasinstrumentsti83":["texas-instruments-ti-83"],"tfc":["tfc"],"tg":["nec-pc-engine"],"tg-cd":["nec-pc-engine-cd"],"tg16":["nec-pc-engine"],"tg16cd":["nec-pc-engine-cd"],"tgb_dual":["nintendo-gb"],"tgcd":["nec-pc-engine-cd"],"tgfx":["nec-pc-engine"],"tgfx16-cd":["nec-pc-engine-cd"],"tgrafx":["nec-pc-engine"],"tgrafx16":["nec-pc-engine"],"theforceengine":["dark-forces","outlaws"],"theme-hospital":["theme-hospital"],"theodore":["olivetti-pc128","thomson-mo5","thomson-mo6","thomson-to7","thomson-to770","thomson-to8","thomson-to8d","thomson-to9","thomson-to9plus"],"thextech":["smbx"],"thirtytwox":["sega-32x"],"thomson":["olivetti-pc128","thomson-mo5","thomson-mo6","thomson-to7","thomson-to770","thomson-to8","thomson-to8d","thomson-to9","thomson-to9plus"],"thomson-mo5":["thomson-mo5"],"thomson-mo6":["thomson-mo6"],"thomson-to7":["thomson-to7"],"thomson-to770":["thomson-to770"],"thomson-to8":["thomson-to8"],"thomson-to8d":["thomson-to8d"],"thomson-to9":["thomson-to9"],"thomson-to9plus":["thomson-to9plus"],"thomsonmoto":["olivetti-pc128","thomson-mo5","thomson-mo6","thomson-to7","thomson-to770","thomson-to8","thomson-to8d","thomson-to9","thomson-to9plus"],"ti-99_4a":["ti99"],"ti83":["texas-instruments-ti-83"],"ti99":["ti99"],"ti994a":["ti99"],"tic":["tic80"],"tic-80":["tic80"],"tic80":["tic80"],"tiger-game-com":["tiger-game-com"],"to8":["thomson-to8"],"tomb-raider":["tomb-raider"],"tomb-raider-1":["tomb-raider-1"],"tomb-raider-2":["tomb-raider-2"],"tombraider":["tomb-raider"],"traider1":["tomb-raider-1"],"traider2":["tomb-raider-2"],"triforce":["sega-triforce"],"trs-80":["trs80"],"trs80":["trs80"],"trs80coco":["coco"],"tt":["atari-st"],"turbocd":["nec-pc-engine-cd"],"turbografx":["nec-pc-engine"],"turbografx-16 (pce)":["nec-pc-engine"],"turbografx-cd":["nec-pc-engine"],"turbografx16":["nec-pc-engine"],"turbografxcd":["nec-pc-engine-cd"],"turbographix":["nec-pc-engine"],"tutor":["tutor"],"tvc":["videoton-tvc"],"tvgames":["tvgames"],"tvgc":["elektor-tv-games-computer","emerson-arcadia-2001","interton-vc4000"],"twentysixhundred":["atari-2600"],"tyrian":["tyrian"],"tyrquake":["quake"],"uqm":["star-control-2","ur-quan-masters"],"ur-quan-masters":["ur-quan-masters"],"uzebox":["uzebox"],"varcade":["arcade"],"vb":["nintendo-virtualboy"],"vc4000":["interton-vc4000"],"vec":["vectrex"],"vecrtex":["vectrex"],"vectrex":["vectrex"],"vemulator":["sega-vmu"],"vertarcade":["arcade"],"vertical":["arcade"],"verticalarcade":["arcade"],"vg5000":["philips-vg5k"],"vg5k":["philips-vg5k"],"vgmplay":["vgmplay"],"vic":["commodore-vic20"],"vic-20":["commodore-vic20"],"vic20":["commodore-vic20"],"videobrain":["videobrain"],"videopac":["odyssey2","philips-videopac"],"videopac-g7400":["philips-videopac"],"videopacplus":["philips-videopac"],"videosystem-zn1":["videosystem-zn1"],"videoton-tvc":["videoton-tvc"],"vircon32":["vircon32"],"virtboy":["nintendo-virtualboy"],"virtuaboy":["nintendo-virtualboy"],"virtual boy (vb)":["nintendo-virtualboy"],"virtualboy":["nintendo-virtualboy"],"vis":["tandy-vis"],"visualstory":["onscripter"],"vmac":["apple-macintosh"],"vmu":["sega-vmu"],"vpinball":["vpinball"],"vsmile":["vtech-vsmile"],"vtech-socrates":["vtech-socrates"],"vtech-vsmile":["vtech-vsmile"],"vvvvvv":["vvvvvv"],"watara":["watara-supervision"],"watara-supervision":["watara-supervision"],"watarasupervision":["watara-supervision"],"wii":["nintendo-wii"],"wiiu":["nintendo-wiiu"],"wiiu/roms":["nintendo-wiiu"],"wiiware":["nintendo-wii"],"windows3x":["dos","ibm-pc","ibm-pcjr","pc-98","tandy-1000"],"windows9x":["dos","ibm-pc","ibm-pcjr","pc-98","tandy-1000"],"wolf":["wolfenstein3d"],"wolf3d":["wolfenstein3d"],"wolfenstein":["wolfenstein3d"],"wolfenstein3d":["wolfenstein3d"],"wonderswan":["bandai-wswan","wonderswan","wonderswan-color"],"wonderswan-color":["wonderswan-color"],"wonderswanc":["wonderswan-color"],"wonderswancolor":["wonderswan","wonderswan-color"],"ws":["bandai-wswan","bandai-wswanc","wonderswan","wonderswan-color"],"wsc":["wonderswan","wonderswan-color"],"wswan":["bandai-wswan"],"wswanc":["bandai-wswanc"],"ww2gi":["ww2gi"],"x1":["sharp-x1"],"x16":["commanderx16"],"x68000":["sharp-x68000"],"x68k":["sharp-x68000"],"xash3d_fwgs":["bshift","cstrike","czero","czeror","dmc","gearbox","half-life","ricochet","tfc"],"xbox":["microsoft-xbox"],"xbox360":["microsoft-xbox-360"],"xbox360/roms":["microsoft-xbox-360"],"xegs":["xegs"],"xone":["sharp-x1"],"xrick":["xrick"],"xroar":["coco"],"zc210":["zc210"],"zeldac":["zeldaclassic"],"zeldaclassic":["zeldaclassic"],"zinc":["acclaim-zn1","atari-zn1","atlus-zn1","capcom-zn1","capcom-zn2","eighting-zn1","konami-gq","konami-gv","namco-system11","taito-fx1","tecmo-tps","videosystem-zn1"],"zmachine":["zmachine"],"zsnes":["nintendo-satellaview"],"zx spectrum (zxs)":["sinclair-zx-spectrum"],"zx81":["sinclair-zx81"],"zxeightyone":["sinclair-zx81"],"zxnext":["sinclair-zx-spectrum-next"],"zxs":["sinclair-zx-spectrum"],"zxspectrum":["sinclair-zx-spectrum"]},"format_version":1,"licences":[{"mirror":{"licence":"MIT","repo":"https://github.com/hugo19941994/auto-datfile-generator","scope":"the mirror's scripts only, the DATs it republishes stay under the terms above"},"quote":"Unless otherwise stated on the website, the data made available through this website (\"Data\") may be freely used, copied, reproduced, modified, adapted, combined, published, distributed, and otherwise reused by anyone for any lawful purpose, to the extent that the website operator owns or controls the applicable rights or is authorized to grant such permission. No permission, attribution, citation, backlink, or acknowledgment of the website or its operators is required for such use.","read":"2026-11-03","terms_title":"Data Usage License","terms_updated":"2026-09-11","terms_url":"https://datomatic.no-intro.org/terms.html"},{"quote":"Dumpers only submit metadata and Redump only stores metadata. This information is considered public domain to be used however people see fit","read":"2026-11-03","terms_url":"https://redump.info/about"}],"setups":{"allium":{"file":"setups/allium.json","gzip_size":5091,"sha256":"7e1b5914e15cc2ff710052fc7385fb9457ca955f5a633313d4ce4e8496b32033","size":35139},"amberelec":{"file":"setups/amberelec.json","gzip_size":5613,"sha256":"7c25ef2b727003a6ff285cb255286264acdc726fefbcea43f6f254ed708250be","size":38051},"archr":{"file":"setups/archr.json","gzip_size":7548,"sha256":"b5fe00e263b6df7c536260bbd8b7c41fe3e031a812f40644c8dacc93e049a88f","size":57318},"arkos":{"file":"setups/arkos.json","gzip_size":6069,"sha256":"0f4cf86ae6afb1ecb1c5019f8ac7c598044118b902f11aa9d8823e90ac2ca82d","size":39966},"batocera":{"file":"setups/batocera.json","gzip_size":14457,"sha256":"af163f68ee5069620ebf6b0fcb98ebd7ee721203c0dbf21d55244a024649d5fc","size":134476},"bizhawk":{"file":"setups/bizhawk.json","gzip_size":2469,"sha256":"1bd6306d2f485700b531d3d3ac502cbf36aaa9cfeb954f751ea3bb862aeb7aa9","size":16059},"chaos":{"file":"setups/chaos.json","gzip_size":5625,"sha256":"3a56b30c0992cd78eef8e097e9b1ef8aa479a664ea550d32d7777e18cbed0bb6","size":38023},"crossmix-os":{"file":"setups/crossmix-os.json","gzip_size":4628,"sha256":"8361175b1aebab116d878cc9117f531678969758c13a83b8ece2289c5eca9f46","size":30935},"darkos":{"file":"setups/darkos.json","gzip_size":5877,"sha256":"cc13afb7b04ac99eca20df747da975f55fb0757df63ef70b7923087f75f5a9df","size":37501},"emudeck":{"file":"setups/emudeck.json","gzip_size":8178,"sha256":"0a0d0b8a9c0fa9e6251dc28f88040ed6bc931a0f763ba1df0c07c72791995838","size":59403},"emudeck-windows":{"file":"setups/emudeck-windows.json","gzip_size":8145,"sha256":"e3b15545aafdc94411ba5cea61b6de9d9ce75889dff7ee6fefe3e63d4966fc17","size":60030},"emuelec":{"file":"setups/emuelec.json","gzip_size":7916,"sha256":"3117d2dd0ffb721e11f1e70385ed599f36d54c2d19db1dc598be52b5f8b73445","size":55398},"jelos":{"file":"setups/jelos.json","gzip_size":6646,"sha256":"52d5260b6ef397e1e41f957dc51808d8943848950322107336e886ae963bc2fd","size":47161},"knulli":{"file":"setups/knulli.json","gzip_size":11986,"sha256":"73cda1ec1afde3494896c2d82ae185eb0013721b817cf46293be84a7967900af","size":97205},"kolos":{"file":"setups/kolos.json","gzip_size":6170,"sha256":"1ab8b0c0a57bf6bb16f781bd1b97fe28e3c0d961a575af86546a482e5de4d150","size":43277},"koriki":{"file":"setups/koriki.json","gzip_size":4029,"sha256":"d2f15741cd1b16ac6f1f51dc1afa09a1831e6502b5d2ead7ee507a051ba414f1","size":22608},"lakka":{"file":"setups/lakka.json","gzip_size":517,"sha256":"3adec2a8c4f9a992e271382650338d00310db3de3bffd5448109c635ec03e2fd","size":1037},"minui":{"file":"setups/minui.json","gzip_size":2055,"sha256":"0a38d3d3b6d0fc16ed59a9fa420aba91a3402dc4ae584b349dc19076ad4818cc","size":10242},"misterfpga":{"file":"setups/misterfpga.json","gzip_size":3578,"sha256":"5c6e306970b67c12e6cc25c82328691fd13ad0c554ce1309efd1f0278158ad07","size":23518},"miyoocfw":{"file":"setups/miyoocfw.json","gzip_size":959,"sha256":"cb13cdcae35830c58d6465ff2f6e36c2d0558c576fd8eb8fd053537fb007573b","size":2285},"muos":{"file":"setups/muos.json","gzip_size":7386,"sha256":"3beffb9369d734978047ec64a440202704d9682bfe25c9c05e159c3b4618ed87","size":46601},"myminui":{"file":"setups/myminui.json","gzip_size":2797,"sha256":"8cac64f671ed745b8cd713be9e88b9f83e8e83061c32ff62fca646c91ea986ea","size":14717},"nextui":{"file":"setups/nextui.json","gzip_size":2950,"sha256":"e9eb9a3d06cc796bf54b185691144c828a2c7dc767a9b83c25fb310ca3b64d1d","size":15309},"onion":{"file":"setups/onion.json","gzip_size":6337,"sha256":"35cad2ef2a7162b93035cbeafd2ac881ba17a777ae11d05e16c4c4fb071071e8","size":34615},"pan4elec":{"file":"setups/pan4elec.json","gzip_size":5717,"sha256":"2534db783b7eb7037c4457fc9ae540d885aa6fdd3a59411df7856aeb64ef68b9","size":39455},"plumos-mf":{"file":"setups/plumos-mf.json","gzip_size":6141,"sha256":"5c2ae5292af66a32a16ad6c70ead6cbabef934c5e3e5261d6d92e9942bfd403b","size":33703},"plumos-pixel2":{"file":"setups/plumos-pixel2.json","gzip_size":6180,"sha256":"4c674898610e234f9a6711db34f9cebec91eaeb76d160e13a62eabd13a702720","size":31896},"recalbox":{"file":"setups/recalbox.json","gzip_size":9153,"sha256":"965c44508d9fe798954cdf392db0726e8b3be5796b0b5dea6b3a92aaba12bb47","size":69567},"retroarch":{"file":"setups/retroarch.json","gzip_size":476,"sha256":"025188a526422c7d79c996edc19c486c9b4f322798325a18405733066483b3d6","size":786},"retrobat":{"file":"setups/retrobat.json","gzip_size":10307,"sha256":"39e0945e6d33c1312f73b3b3ff26ee9a81d70d5061cd78a415ca87c0d68ad1b6","size":70854},"retrodeck":{"file":"setups/retrodeck.json","gzip_size":7183,"sha256":"f29336cedac2da9e8b1ccb89d9b608a9a8f147564ed6abafdaa8e0b4c922fbae","size":53597},"retropie":{"file":"setups/retropie.json","gzip_size":4670,"sha256":"f80f62e4d96cf62937da5f3e434fa6754bbf9eb17738b0d24062be7de9e5c4a2","size":24007},"rocknix":{"file":"setups/rocknix.json","gzip_size":7590,"sha256":"ff85bfdbdbc852265f5a7d71327e4df6512c53515a70add8d124f4ac3281689e","size":58836},"romm":{"file":"setups/romm.json","gzip_size":3790,"sha256":"73d2f0f4d95e9146ac9f850bf41e3a85bb133e543749dcecb785e80c67648946","size":30844},"spruceos":{"file":"setups/spruceos.json","gzip_size":6419,"sha256":"ccbe920491891b66c1db61e4c09abae154d367421856a8817d4c7e22111000c2","size":28367},"unofficialos":{"file":"setups/unofficialos.json","gzip_size":7152,"sha256":"bec913e663e25217e0a84db7bb0042a6f0b38d7d2a34d52e5de0c7a3fc5de4a6","size":51670}},"systems":{"atari-5200":{"file":"systems/atari-5200.json","gzip_size":4092,"sha256":"55bf18d45a6a7d75cda37ac27088b2510c4a27894157bca7f15452d67b5b76af","size":12435},"atari-7800":{"file":"systems/atari-7800.json","gzip_size":887,"sha256":"2ff726865df34502c72be99d18948dedd0782f19a38a215297c89c813d648481","size":1668},"atari-jaguar":{"file":"systems/atari-jaguar.json","gzip_size":292,"sha256":"a0215745664dcfdbe9f454e226561e61fdb8f60c0d72ba877b52e8f1b7929934","size":413},"atari-lynx":{"file":"systems/atari-lynx.json","gzip_size":1678,"sha256":"ab7cc8614064981951ddcca1c4a9d263b49b04fc0a89f2a984de08c20392a3d0","size":3634},"colecovision":{"file":"systems/colecovision.json","gzip_size":4412,"sha256":"9eb8ecd30e9877d6a36551ef03eb70b4151152023d0133a3b05109022d56151c","size":11293},"commodore-amiga":{"file":"systems/commodore-amiga.json","gzip_size":290,"sha256":"9988cce7dd6403204ab580edbc9522e5a9080c790bf04a98e6c3d435bbee42e3","size":788},"commodore-amiga-cd32":{"file":"systems/commodore-amiga-cd32.json","gzip_size":265,"sha256":"2c4d3823a40cdd4197209b2abaf38db755218130812f92c03ddad2ee0fd4a46d","size":456},"intellivision":{"file":"systems/intellivision.json","gzip_size":4507,"sha256":"748c7d7887370f16d5992fa7e53381108a24366584239543ccadf4347ccc8f01","size":12528},"laseractive":{"file":"systems/laseractive.json","gzip_size":363,"sha256":"d96ade3209fda8314cf9010a5ced458ad95037867fa204c8e457b05c46f5d80d","size":723},"msx":{"file":"systems/msx.json","gzip_size":214,"sha256":"e73b146104ffeb5ececb7173a5a3ce3903d0d0de1fde5e301658252c5675359b","size":285},"msx2plus":{"file":"systems/msx2plus.json","gzip_size":331,"sha256":"21b724cfbe529d2d992a7a633c570674c70753a42153befabe8c86c689b66c49","size":462},"nec-pc-engine":{"file":"systems/nec-pc-engine.json","gzip_size":9241,"sha256":"1fe6db213678d40878dfa6c411d1031319ef9f0d605b5653d1b4aa01e8a04452","size":27628},"nec-pc-engine-cd":{"file":"systems/nec-pc-engine-cd.json","gzip_size":12487,"sha256":"754e02b8e7e99135454008a89e883c9d6829a1f62cbc759abba2e5991866f9e9","size":43447},"nec-supergrafx":{"file":"systems/nec-supergrafx.json","gzip_size":831,"sha256":"111bd2ee40d75db1d140f263313bb6c97e31965883dbdf16906893e043f8d52d","size":1441},"neo-geo-pocket-color":{"file":"systems/neo-geo-pocket-color.json","gzip_size":3371,"sha256":"484bdf90a16917d464f28e8de1bbdce8d369c274d20d3d8c55ba0911a7a5e9ba","size":10072},"nintendo-3ds":{"file":"systems/nintendo-3ds.json","gzip_size":485,"sha256":"5e903462cea76f28681397aee0e6e3f119cd206ea60dd18ae734cbc5c5779cf7","size":808},"nintendo-64":{"file":"systems/nintendo-64.json","gzip_size":21504,"sha256":"24acf25d8c43e5227dc674057b41deffcc5c6db39f0f09e4ab258334749acd28","size":73974},"nintendo-64dd":{"file":"systems/nintendo-64dd.json","gzip_size":2541,"sha256":"82a62ff230513d4b3b7ec6bcb1ac8efe4101ff4e301dfea4300e13dea12cbc4a","size":7705},"nintendo-ds":{"file":"systems/nintendo-ds.json","gzip_size":186345,"sha256":"9f74ade6f2fff15b51c410ce83aafccdb3cb0c1701c9cd42a593ca84d1ab4c33","size":566900},"nintendo-dsi":{"file":"systems/nintendo-dsi.json","gzip_size":240,"sha256":"a470b580ca27fdf66bcf1213d3f7d3ab3acbf2a6272dd445a9ade5fc4cd4b569","size":345},"nintendo-fds":{"file":"systems/nintendo-fds.json","gzip_size":9025,"sha256":"59f40fb23866487b95f2a0b709b216c6c66de694f4528b0c4b53aae3fc1f4e7d","size":30626},"nintendo-gamecube":{"file":"systems/nintendo-gamecube.json","gzip_size":46580,"sha256":"afd0881edb18be56407268b9c2c6a6437e2670baa76203e4e03da33fac8ed4ee","size":189501},"nintendo-gb":{"file":"systems/nintendo-gb.json","gzip_size":39786,"sha256":"8cfeadc99c49af41435728dc1e5343ca14d632bcc4681e87f286ca41e3281868","size":127687},"nintendo-gba":{"file":"systems/nintendo-gba.json","gzip_size":76891,"sha256":"c254fa7973aa84f1b9e49f256437a03360d06ecf3b80838cae36bc5bbd84b80f","size":248499},"nintendo-gbc":{"file":"systems/nintendo-gbc.json","gzip_size":44917,"sha256":"3c281676ea9778761b00d454661d9fa7c5dfb70cbe435c1bb30158ef766d418f","size":154739},"nintendo-nes":{"file":"systems/nintendo-nes.json","gzip_size":89663,"sha256":"6e0e1d1f2681c10998518abe4b46cd2ea4a9f993316432876f19f8a52167e332","size":274177},"nintendo-pokemon-mini":{"file":"systems/nintendo-pokemon-mini.json","gzip_size":1537,"sha256":"083eed4eccdfcb12daab714d7cf3a595cbe7554010a7c79171916bc97b4611dc","size":4199},"nintendo-satellaview":{"file":"systems/nintendo-satellaview.json","gzip_size":13245,"sha256":"fc91880841ba301ff3fc2e7edfe53eed876edb33f9d7534d814d39dacd0a1654","size":51819},"nintendo-sgb":{"file":"systems/nintendo-sgb.json","gzip_size":746,"sha256":"617365112f8b93207b50323f761c4073d1c5aee87d877675822fb34247bab373","size":1621},"nintendo-snes":{"file":"systems/nintendo-snes.json","gzip_size":79838,"sha256":"5a1ffe5d5c958424793b77ce016c65205967f1d8ff910ffc6e8118f00b584001","size":249778},"nintendo-sufami-turbo":{"file":"systems/nintendo-sufami-turbo.json","gzip_size":1512,"sha256":"8070d9473708fee7ada3481daecd09e5389573652f1986e4a00275821337ac09","size":3210},"nintendo-wii":{"file":"systems/nintendo-wii.json","gzip_size":563,"sha256":"bff9fd15aa2896dbe9b5f60e713b04dd2d40dcfbee5dc8699a7ccec14536a466","size":1229},"odyssey2":{"file":"systems/odyssey2.json","gzip_size":3297,"sha256":"978953171a55509460854a4747ffbb94d9a0f16f0b2304abfe1aedbc3392582d","size":7851},"panasonic-3do":{"file":"systems/panasonic-3do.json","gzip_size":17243,"sha256":"38035ce01095a974ae7d0e1818f0d0c65f54cd89d326fa315893ef1062de9c0d","size":50013},"sega-32x":{"file":"systems/sega-32x.json","gzip_size":3894,"sha256":"6b0da0c37349c2340197d7a178f5862d942c43819f494ab2552e00e6dc83d360","size":16064},"sega-dreamcast":{"file":"systems/sega-dreamcast.json","gzip_size":36655,"sha256":"0041c8525fa27290841faa607ac8047e016f98896c5ff33b502495e8b37e14ed","size":122845},"sega-gamegear":{"file":"systems/sega-gamegear.json","gzip_size":14821,"sha256":"12ddb73bef81410d643f6b09ac0da2e49adb3dca8943f273f776d9c5c67583a2","size":54189},"sega-mastersystem":{"file":"systems/sega-mastersystem.json","gzip_size":14536,"sha256":"5669393a76b922ed2e14995c66c2804ccc7a1165a2416e50722c954aba560360","size":47411},"sega-megacd":{"file":"systems/sega-megacd.json","gzip_size":15396,"sha256":"ce94f85bf4ff3c8d4e58357c68cdb39a2b12d4b8052e61e77fd3189d2a3052c9","size":46794},"sega-megadrive":{"file":"systems/sega-megadrive.json","gzip_size":53279,"sha256":"10507cfccd4ec9fc2c63e71bbc83fda1001e565819665bb0b65d09f4506054bb","size":180871},"sega-naomi":{"file":"systems/sega-naomi.json","gzip_size":276,"sha256":"7da5520e2aa6c2f0e1e4e8f5417be5776d196960e793f740c3dd05ff37ab88e9","size":486},"sega-saturn":{"file":"systems/sega-saturn.json","gzip_size":66052,"sha256":"d3a87b71ce4771f0c4a93fa2d0621f100da77005b37e75faa541aec873a0f319","size":199102},"sega-stv":{"file":"systems/sega-stv.json","gzip_size":782,"sha256":"eb73b6449be6a70bf942f39c49322c03770ddd3bbb6a40f1add7f0ab90bd0841","size":2424},"sega-triforce":{"file":"systems/sega-triforce.json","gzip_size":286,"sha256":"7c68241a76bef2b4ff0cba2ea2f312250abc8585fcc52b41ced2bcbc76175726","size":539},"snk-neogeo-cd":{"file":"systems/snk-neogeo-cd.json","gzip_size":4649,"sha256":"ccc757ea85e9398347cc4ff1db29118a1923422aed21a7437d7c54806330fa8e","size":12370},"snk-neogeo-pocket":{"file":"systems/snk-neogeo-pocket.json","gzip_size":1070,"sha256":"c88819387ac6a344a017198e7bc2560fe306ba9f80350483dab29dd48a03342b","size":2179},"sony-playstation":{"file":"systems/sony-playstation.json","gzip_size":323936,"sha256":"e27d244a888c5246e00166eba8a893032cf96a85dff08905c77d696d997bd861","size":939819},"sony-playstation-2":{"file":"systems/sony-playstation-2.json","gzip_size":361140,"sha256":"410adb750ffbce2e2389facace712c1ad784cfa128da2763b5821ba5cc0ffac7","size":1075273},"vectrex":{"file":"systems/vectrex.json","gzip_size":1615,"sha256":"908725537d457bd597c180c61705f494209c412d728951944d86e504f40387ad","size":3457},"wonderswan":{"file":"systems/wonderswan.json","gzip_size":5961,"sha256":"e0949ae3fd96c11f54db7f56d1d9bc7b9613afe54d411ac16241095eb20f42ba","size":18778},"wonderswan-color":{"file":"systems/wonderswan-color.json","gzip_size":5618,"sha256":"41931c79d3546731ac4665f711c3d6296d30a26244be08e3bd9da01cbfdfa470","size":18027}}} diff --git a/scripts/generate_games_index.py b/scripts/generate_games_index.py index 693178b59..de991a60a 100644 --- a/scripts/generate_games_index.py +++ b/scripts/generate_games_index.py @@ -610,16 +610,60 @@ def print_coverage(coverage: dict, files: dict[Path, str]) -> None: print(f"{len(files)} files, {raw:,} bytes, {packed:,} bytes gzip") +def _sample(items: list[str], limit: int = 3) -> str: + shown = ", ".join(items[:limit]) + return f"{shown}, +{len(items) - limit} more" if len(items) > limit else shown + + +def describe_change(old: str | None, new: str) -> list[str]: + """What differs between a published document and the one render() makes. + + The documents are single-line JSON of up to 550 KB: STALE alone left a + diff by hand to find that a manifest gained one file.""" + if old is None: + return ["not written yet"] + try: + before, after = json.loads(old), json.loads(new) + except ValueError: + return ["the published file is not valid JSON"] + if not (isinstance(before, dict) and isinstance(after, dict)): + return ["document changed"] + parts = [] + for key in sorted(set(before) | set(after)): + a, b = before.get(key), after.get(key) + if a == b: + continue + if isinstance(a, list) and isinstance(b, list): + olds = {json.dumps(x, sort_keys=True) for x in a} + news = {json.dumps(x, sort_keys=True) for x in b} + added = sorted(news - olds) + removed = sorted(olds - news) + change = [] + if added: + change.append(f"{len(added)} added ({_sample(added)})") + if removed: + change.append(f"{len(removed)} removed ({_sample(removed)})") + parts.append(f"{key}: {', '.join(change) or 'reordered'}") + elif isinstance(a, dict) and isinstance(b, dict): + changed = sorted(k for k in set(a) | set(b) if a.get(k) != b.get(k)) + parts.append(f"{key}: {len(changed)} changed ({_sample(changed)})") + else: + parts.append(f"{key} changed" if key in before and key in after + else f"{key} {'added' if key in after else 'removed'}") + return parts or ["formatting changed"] + + def main() -> int: parser = argparse.ArgumentParser(allow_abbrev=False, description=__doc__.splitlines()[0]) parser.add_argument("--output-dir", type=Path, default=OUTPUT, help=f"where the index is written (default {OUTPUT})") - parser.add_argument("--check", action="store_true", help="exit 1 when a file would change") + parser.add_argument("--check", action="store_true", + help="exit 1 when a file would change, naming what differs (implies --quiet)") parser.add_argument("--quiet", action="store_true", help="print only failures") args = parser.parse_args() files, coverage = render(args.output_dir) - if not args.quiet: + if not (args.quiet or args.check): print_coverage(coverage, files) failures = floor_failures(coverage) for failure in failures: @@ -629,8 +673,16 @@ def main() -> int: ) if args.output_dir.is_dir() else [] changed = [p for p, t in files.items() if not p.exists() or p.read_text(encoding="utf-8") != t] if args.check: - for path in changed + stale: + for path in changed: print(f"STALE {path}", file=sys.stderr) + current = path.read_text(encoding="utf-8") if path.exists() else None + for line in describe_change(current, files[path]): + print(f" {line}", file=sys.stderr) + for path in stale: + print(f"STALE {path}", file=sys.stderr) + print(" no longer generated", file=sys.stderr) + if changed or stale: + print("Run python scripts/generate_games_index.py to write them.", file=sys.stderr) return 1 if changed or stale or failures else 0 for path in stale: path.unlink() diff --git a/tests/test_games_index.py b/tests/test_games_index.py index f47522132..b7894b42f 100644 --- a/tests/test_games_index.py +++ b/tests/test_games_index.py @@ -176,6 +176,47 @@ class GamesIndexFixture(unittest.TestCase): self.assertTrue(any("catalog" in f for f in failures)) +class CheckSaysWhatDiffers(unittest.TestCase): + """--check printed STALE and a path after 120 lines of coverage: the + reader had to diff single-line JSON of 550 KB by hand to find that a + manifest had gained one file.""" + + def test_an_added_file_is_named(self) -> None: + old = json.dumps({"files": [["a.bin", 1, "bios"]], "version": 1}) + new = json.dumps({"files": [["a.bin", 1, "bios"], ["ide12.rom", 16384, "bios"]], + "version": 1}) + lines = gi.describe_change(old, new) + self.assertEqual(len(lines), 1) + self.assertIn("1 added", lines[0]) + self.assertIn("ide12.rom", lines[0]) + + def test_new_and_unreadable_documents(self) -> None: + self.assertEqual(gi.describe_change(None, "{}"), ["not written yet"]) + self.assertIn("not valid JSON", gi.describe_change("{", "{}")[0]) + + def test_check_names_the_command_and_skips_coverage(self) -> None: + import contextlib + import io + from unittest import mock + + with tempfile.TemporaryDirectory() as tmp: + out = Path(tmp) + target = out / "index.json" + target.write_text(json.dumps({"files": []}), encoding="utf-8") + files = {target: json.dumps({"files": [["x.rom", 2, "bios"]]})} + coverage = {"setups": {}, "systems": {}, "arcade": []} + stdout, stderr = io.StringIO(), io.StringIO() + argv = ["generate_games_index.py", "--check", "--output-dir", tmp] + with mock.patch.object(gi, "render", return_value=(files, coverage)), \ + mock.patch.object(sys, "argv", argv), \ + contextlib.redirect_stdout(stdout), contextlib.redirect_stderr(stderr): + code = gi.main() + self.assertEqual(code, 1) + self.assertEqual(stdout.getvalue(), "") + self.assertIn("files: 1 added", stderr.getvalue()) + self.assertIn("python scripts/generate_games_index.py", stderr.getvalue()) + + class CommittedData(unittest.TestCase): """The data the repository publishes.""" From 232cebb513da3546e7fcab559608514d774fffd9 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:17:34 +0100 Subject: [PATCH 06/24] chore: ignore the metadata pip install writes --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index f7774f60d..9aaaff995 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,9 @@ site/ !bios/**/*.tmp *.log node_modules/ +# pip install -e . writes its metadata beside pyproject.toml. +*.egg-info/ +/build/ # Pages of the MkDocs build the site had before Astro Starlight: a clone may # still hold them. The Starlight project ignores its own generated folders. From 9ae3919d3432aecb965959d8a59994d34598557c Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:19:04 +0100 Subject: [PATCH 07/24] fix: spell cited commands so a paste runs them Messages in check_freshness, generate_pack, common, profile_sync and fileless_audit named commands as export_native.py --platform x, which fails from the repository root. They now read python scripts/.py like the rest of the report. --- scripts/check_freshness.py | 12 +++++------ scripts/common.py | 2 +- scripts/fileless_audit.py | 2 +- scripts/generate_pack.py | 3 ++- scripts/profile_sync.py | 4 ++-- tests/test_tool_messages.py | 41 +++++++++++++++++++++++++++++++++++++ 6 files changed, 53 insertions(+), 11 deletions(-) diff --git a/scripts/check_freshness.py b/scripts/check_freshness.py index ec799b866..c90ec334c 100644 --- a/scripts/check_freshness.py +++ b/scripts/check_freshness.py @@ -524,7 +524,7 @@ def check_native( ) if reason: reason += ( - f", export_native.py --platform {name} --refresh-cache" + f", python scripts/export_native.py --platform {name} --refresh-cache" " fetches it, then the export is written again" ) else: @@ -532,7 +532,7 @@ def check_native( name, exporter_class, truth_dir, platforms_dir, cache_dir, published ) if reason: - reason += f", export_native.py --platform {name} writes it again" + reason += f", python scripts/export_native.py --platform {name} writes it again" findings.append( Finding( "native", @@ -974,7 +974,7 @@ def check_coreinfo( if recorded is None: findings.append(Finding( "coreinfo", "reviewed .info", UNKNOWN, - detail=f"no {record_path.name}: run check_freshness.py --record-coreinfo", + detail=f"no {record_path.name}: run python scripts/check_freshness.py --record-coreinfo", )) return findings findings.extend( @@ -982,7 +982,7 @@ def check_coreinfo( "coreinfo", name, STALE, local=(recorded.get(name) or "not recorded")[:12], remote=blobs[name][:12], detail=(".info changed since reviewed: read its firmware, then " - f"check_freshness.py --record-coreinfo {name}"), + f"python scripts/check_freshness.py --record-coreinfo {name}"), ) for name in coreinfo_drift(blobs, recorded, profiles) ) @@ -1456,7 +1456,7 @@ def check_source_paths(profiles: dict) -> Finding: "source-paths.json", STALE if problems else OK, local=f"{len(recorded)} trees", - detail=(", ".join(problems) + ": run scripts/sitesources.py --fetch") if problems + detail=(", ".join(problems) + ": run python scripts/sitesources.py --fetch") if problems else "every pinned tree is recorded, and only those", ) @@ -1468,7 +1468,7 @@ def check_profiles(run: bool, offline: bool) -> list[Finding]: "profiles", "profile_sync", SKIPPED, - detail="pass --profiles, or run profile_sync.py --all --triage", + detail="pass --profiles, or run python scripts/profile_sync.py --all --triage", ) ] cmd = [ diff --git a/scripts/common.py b/scripts/common.py index d3e445fec..9309e5d99 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -691,7 +691,7 @@ def load_target_config( # --target but have no --list-targets of their own. + suggest_names( [target], sorted(alias_index), - f"verify.py --platform {platform_name} --list-targets", len(targets), + f"python scripts/verify.py --platform {platform_name} --list-targets", len(targets), ) ) diff --git a/scripts/fileless_audit.py b/scripts/fileless_audit.py index 5baf27206..deea6b65b 100644 --- a/scripts/fileless_audit.py +++ b/scripts/fileless_audit.py @@ -128,7 +128,7 @@ def main() -> None: if unknown: raise SystemExit( "ERROR: unknown profile " + ", ".join(unknown) + ". " - + suggest_names(unknown, known, "verify.py --list-emulators") + + suggest_names(unknown, known, "python scripts/verify.py --list-emulators") ) names = args.emulators if args.all: diff --git a/scripts/generate_pack.py b/scripts/generate_pack.py index 2a69cda7a..6cfaddd6d 100644 --- a/scripts/generate_pack.py +++ b/scripts/generate_pack.py @@ -2725,7 +2725,8 @@ def _run_verify_packs(args: argparse.Namespace) -> None: if args.platform: print( f" {platform_name}: FAIL (no pack in {args.output_dir}; build it with " - f"generate_pack.py --platform {platform_name} --output-dir {args.output_dir})" + f"python scripts/generate_pack.py --platform {platform_name} " + f"--output-dir {args.output_dir})" ) all_ok = False failing.append(f"{platform_name} (no pack)") diff --git a/scripts/profile_sync.py b/scripts/profile_sync.py index 3245ab3b0..4a911a71d 100644 --- a/scripts/profile_sync.py +++ b/scripts/profile_sync.py @@ -4414,7 +4414,7 @@ def select_profiles(profiles: dict, args: argparse.Namespace) -> dict: ) raise SystemExit( f"ERROR: unknown profile {', '.join(unknown)}. " - + suggest_names(unknown, listed, "verify.py --list-emulators") + + suggest_names(unknown, listed, "python scripts/verify.py --list-emulators") ) return {name: profiles[name] for name in dict.fromkeys(names)} @@ -4451,7 +4451,7 @@ def select_profiles(profiles: dict, args: argparse.Namespace) -> dict: if args.system: # Suggested from the spellings the named listing prints. systems = sorted(spelling for spelling, _ in system_index(profiles).values()) - hint = " " + suggest_names([args.system], systems, "verify.py --list-systems") + hint = " " + suggest_names([args.system], systems, "python scripts/verify.py --list-systems") elif args.type_: kinds = sorted({str(p.get("type")) for p in profiles.values() if p.get("type")}) hint = f" Types: {', '.join(kinds)}." diff --git a/tests/test_tool_messages.py b/tests/test_tool_messages.py index 872d1302d..c478f997a 100644 --- a/tests/test_tool_messages.py +++ b/tests/test_tool_messages.py @@ -5,6 +5,7 @@ from __future__ import annotations import contextlib import io import os +import re import subprocess import sys import tempfile @@ -635,5 +636,45 @@ class TheGitHubTokenComesFromGh(unittest.TestCase): run.assert_not_called() +class CitedCommandsRunWhenPasted(unittest.TestCase): + """check_freshness wrote "run python scripts/generate_truth.py" on one + line and "export_native.py --platform bizhawk writes it again" two lines + below: pasted from the repository root, the second is command not found. + A message that hands the reader a command spells the whole command.""" + + CITED = re.compile(r"(?:^|run |with |then |, )([a-z_]+\.py) --[a-z]") + + def test_no_message_cites_a_bare_script(self): + import ast # noqa: PLC0415 + + offenders = [] + for path in sorted((REPO_ROOT / "scripts").rglob("*.py")): + tree = ast.parse(path.read_text(encoding="utf-8")) + docs = { + id(node.body[0].value) + for node in ast.walk(tree) + if isinstance(node, (ast.Module, ast.ClassDef, ast.FunctionDef, + ast.AsyncFunctionDef)) + and node.body and isinstance(node.body[0], ast.Expr) + } + offenders += [ + f"{path.relative_to(REPO_ROOT)}:{node.lineno} {node.value.strip()[:60]}" + for node in ast.walk(tree) + if isinstance(node, ast.Constant) and isinstance(node.value, str) + and id(node) not in docs and self.CITED.search(node.value) + ] + self.assertEqual(offenders, []) + + def test_the_target_hint_is_a_whole_command(self): + with tempfile.TemporaryDirectory(dir=REPO_ROOT / "tmp") as tmp: + targets = Path(tmp) / "targets" + targets.mkdir() + (targets / "p.yml").write_text("targets:\n switch:\n cores: [a]\n") + with self.assertRaises(ValueError) as caught: + common.load_target_config("p", "swich", tmp) + self.assertIn("python scripts/verify.py --platform p --list-targets", + str(caught.exception)) + + if __name__ == "__main__": unittest.main() From 4b54b829668c21c07ff3756f6359347c7b9bad88 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:21:23 +0100 Subject: [PATCH 08/24] fix: suggest the target when no platform has it verify --all --target swich ended on 'no platform has it' after seventeen INFO lines, two of which held the suggestion. The refusal now names the closest targets across every platform with the platforms that have them, and the per-platform lines print only when some platform keeps the target. --- scripts/common.py | 35 ++++++++++++++++++++++++++++++++--- tests/test_tool_messages.py | 16 ++++++++++++++++ 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/scripts/common.py b/scripts/common.py index 9309e5d99..7bf60f02e 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -3250,26 +3250,55 @@ def build_target_cores_cache( """ cache: dict[str, set[str] | None] = {} skip: list[str] = [] + notes: list[str] = [] for p in platforms: try: cache[p] = load_target_config(p, target, platforms_dir) except FileNotFoundError: if not is_all: raise - print(f"INFO: Skipping {p}: no hardware targets") + notes.append(f"INFO: Skipping {p}: no hardware targets") skip.append(p) except ValueError as e: if is_all: - print(f"INFO: Skipping {p}: {e}") + notes.append(f"INFO: Skipping {p}: {e}") skip.append(p) else: raise kept = [p for p in platforms if p not in skip] if is_all and platforms and not kept: - raise ValueError(f"unknown target '{target}': no platform has it") + # The seventeen per-platform lines buried the one suggestion that + # mattered: the refusal names the closest target across them all. + raise ValueError(_unknown_target_message(target, platforms, platforms_dir)) + for note in notes: + print(note) return cache, kept +def _unknown_target_message(target: str, platforms: list[str], platforms_dir: str) -> str: + """A target no platform has, with the closest names any of them knows.""" + import difflib # noqa: PLC0415 + + targets_dir = os.path.join(platforms_dir, "targets") + owners: dict[str, list[str]] = {} + for platform in platforms: + target_file = os.path.join(targets_dir, f"{platform}.yml") + if not os.path.exists(target_file): + continue + with open(target_file) as f: + targets = (yaml_load(f) or {}).get("targets", {}) + overrides = _target_overrides(platform, targets_dir) + for name in _target_alias_index(targets, overrides): + owners.setdefault(name, []).append(platform) + message = f"unknown target '{target}': no platform has it." + close = difflib.get_close_matches(target, sorted(owners), n=3, cutoff=0.6) + if close: + named = ", ".join(f"{n} ({', '.join(sorted(owners[n]))})" for n in close) + return f"{message} Did you mean: {named}?" + return (f"{message} python scripts/verify.py --platform --list-targets " + "lists the targets of one platform.") + + # Re-exported so the existing call sites keep working while the # modules above become the place to import from. from safeparse import ( # noqa: E402,F401 diff --git a/tests/test_tool_messages.py b/tests/test_tool_messages.py index c478f997a..7f043a22b 100644 --- a/tests/test_tool_messages.py +++ b/tests/test_tool_messages.py @@ -85,6 +85,22 @@ class AMistypedTargetGetsTheClosestName(unittest.TestCase): +class AMistypedTargetAcrossAllPlatforms(unittest.TestCase): + """`verify --all --target swich` ended on "no platform has it" after 17 + INFO lines, two of which held the suggestion.""" + + def test_the_refusal_suggests_and_names_the_platforms(self): + platforms = common.list_registered_platforms(str(REPO_ROOT / "platforms")) + out = io.StringIO() + with contextlib.redirect_stdout(out), self.assertRaises(ValueError) as caught: + common.build_target_cores_cache( + platforms, "swich", str(REPO_ROOT / "platforms"), is_all=True + ) + self.assertIn("Did you mean: switch (", str(caught.exception)) + self.assertIn("retroarch", str(caught.exception)) + self.assertEqual(out.getvalue(), "") + + class AMistypedDataKeyGetsTheClosestName(unittest.TestCase): """`--key dolphin-sis` printed all 27 keys on one line.""" From 640331b159c1644ca3661c78e4785abd4af2a0d0 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:23:54 +0100 Subject: [PATCH 09/24] docs: regenerate the installer output samples The RetroArch manifest gained ep128emu/roms/ide12.rom in c624a820f and the page still quoted the earlier counts, which failed test_doc_pages. --- wiki/installer.md | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/wiki/installer.md b/wiki/installer.md index 149779ba2..35bd85390 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -403,13 +403,13 @@ A RetroArch dry run into an empty folder, with the list of 2026-11-05, printed t ``` Fetching file index for retroarch... 106 files read from RetroArch's save directory go to a folder per core under /home/me/.config/retroarch/saves - 11000 files (6.7 GB) - 3270 BIOS files (4.1 GB), 5089 game data files (2.5 GB) and 2641 data files (40.2 MB). + 11001 files (6.7 GB) + 3271 BIOS files (4.1 GB), 5089 game data files (2.5 GB) and 2641 data files (40.2 MB). Game data: files a game or a game engine reads, of no use to the other cores. Data files: the files an emulator reads from a data folder of its own, such as Dolphin's Sys and PPSSPP's assets. - Not installable: 38 files are not in the collection, 2 of them required. + Not installable: 37 files are not in the collection, 2 of them required. Checking existing files... - 0 in place, 11000 missing, 0 wrong copies + 0 in place, 11001 missing, 0 wrong copies ``` @@ -468,13 +468,13 @@ few minutes on a memory card, because every file is hashed: ``` Fetching file index for batocera... 23 files read from Batocera's save directory go to a folder per system under /userdata/saves - 14723 files (9.2 GB) - 3179 BIOS files (4.4 GB) and 11544 game data files (4.8 GB). + 14724 files (9.2 GB) + 3180 BIOS files (4.4 GB) and 11544 game data files (4.8 GB). Game data: files a game or a game engine reads, of no use to the other cores. - Not installable: 427 files are not in the collection, 80 of them required. + Not installable: 426 files are not in the collection, 80 of them required. Checking existing files... - 0 in place, 14723 missing, 0 wrong copies + 0 in place, 14724 missing, 0 wrong copies ``` @@ -489,10 +489,10 @@ as the log of the run below: ``` -Downloading 14723 files (9.2 GB)... +Downloading 14724 files (9.2 GB)... Press Ctrl+C to stop. Running the same command again carries on from here. - [1/14723] panafz1.bin ok - [2/14723] panafz10.bin ok + [1/14724] panafz1.bin ok + [2/14724] panafz10.bin ok ``` @@ -504,10 +504,10 @@ command again picks up where it stopped. ``` -Done. 14723 files installed. - Installed: 3179 BIOS files and 11544 game data files. +Done. 14724 files installed. + Installed: 3180 BIOS files and 11544 game data files. BIOS folder: /userdata/bios -427 files were not installed: the collection does not hold them, or its copy fails their check. +426 files were not installed: the collection does not hold them, or its copy fails their check. Needed to start an emulator (1 file): capcom-cps3 (fbneo): sfiii2a.zip https://abdess.github.io/retrobios/emulators/fbneo/ @@ -559,7 +559,7 @@ The same command with `--check` reads the folder and writes nothing: ``` Checking existing files... - 14723 in place, 0 missing, 0 wrong copies + 14724 in place, 0 missing, 0 wrong copies Everything is in place. ``` @@ -750,8 +750,8 @@ by `scripts/generate_installer_doc.py`): ``` -RetroArch: 11000 files, 6.7 GB. - 3270 BIOS files (4.1 GB), 5089 game data files (2.5 GB) and 2641 data files (40.2 MB). +RetroArch: 11001 files, 6.7 GB. + 3271 BIOS files (4.1 GB), 5089 game data files (2.5 GB) and 2641 data files (40.2 MB). Game data: files a game or a game engine reads, of no use to the other cores. Data files: the files an emulator reads from a data folder of its own, such as Dolphin's Sys and PPSSPP's assets. BIOS folder: /home/me/.config/retroarch/system Not available here, and needed to start its emulator: sfiii2a.zip (Capcom Cps3). Your own copy goes in the BIOS folder. @@ -765,8 +765,8 @@ RetroArch: 11000 files, 6.7 GB. Counted again for your choices. Nothing is written before Enter. -RetroArch: 5911 files, 4.2 GB. - 3270 BIOS files (4.1 GB) and 2641 data files (40.2 MB). 5089 game data files left out. +RetroArch: 5912 files, 4.2 GB. + 3271 BIOS files (4.1 GB) and 2641 data files (40.2 MB). 5089 game data files left out. Game data: files a game or a game engine reads, of no use to the other cores. Data files: the files an emulator reads from a data folder of its own, such as Dolphin's Sys and PPSSPP's assets. BIOS folder: /home/me/.config/retroarch/system Not available here, and needed to start its emulator: sfiii2a.zip (Capcom Cps3). Your own copy goes in the BIOS folder. From fb9b5592a58cbff1c20d3c54fe505b4c966b3026 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:26:36 +0100 Subject: [PATCH 10/24] feat: let --emulator take an alias name --emulator mednafen_psx refused with 'use --emulator beetle_psx' although the profile names its target. The alias now selects that profile and says so on stderr, in verify, generate_pack and cross_reference alike. Launchers are still refused, and pipeline step 5 skips aliases since they compare under the profile they name. --- scripts/common.py | 26 +++++++++++++-------- scripts/pipeline.py | 2 ++ tests/test_audit_regressions.py | 41 +++++++++++++++++++++++++-------- tests/test_e2e.py | 13 +++++++---- tests/test_native_mode.py | 12 ++++++---- 5 files changed, 66 insertions(+), 28 deletions(-) diff --git a/scripts/common.py b/scripts/common.py index 7bf60f02e..64b28fe08 100644 --- a/scripts/common.py +++ b/scripts/common.py @@ -1870,12 +1870,12 @@ def select_emulator_profiles( all_profiles: dict, standalone: bool = False, ) -> list[tuple[str, dict]]: - """Resolve named profiles, refusing the ones that answer for others. + """Resolve named profiles, refusing the ones that answer for no core. - An alias is the same binary under another name and a launcher only - starts an emulator, so neither has requirements of its own: naming one - is a question about the wrong profile, and the error says which one to - ask instead. Raising rather than exiting lets the verifier stop and the + An alias is the same binary under another name, so naming one selects + the profile it is an alias of, said on stderr. A launcher only starts an + emulator and has no requirements of its own: naming one is a question + about the wrong profile, and the error says so. Raising rather than exiting lets the verifier stop and the builder return empty-handed from one rule. """ selected: list[tuple[str, dict]] = [] @@ -1916,11 +1916,17 @@ def select_emulator_profiles( ), None, ) - raise ProfileSelectionError( - f"{name} is an alias of {target}: use --emulator {target}" - if target - else f"{name} is an alias with no profile of its own to name" - ) + if not target or target not in all_profiles: + raise ProfileSelectionError( + f"{name} is an alias with no profile of its own to name" + ) + # The name a user reads in RetroArch or on the buildbot: the tool + # knows the profile, so it says which and carries on. + print(f"{name} is {target}: using its profile", file=sys.stderr) + name, profile = target, all_profiles[target] + kind = profile.get("type", "libretro") + if any(key == name for key, _ in selected): + continue if kind == "launcher": raise ProfileSelectionError( f"{name} is a launcher: use the emulator it launches" diff --git a/scripts/pipeline.py b/scripts/pipeline.py index 11d8c3f24..93d6e5210 100644 --- a/scripts/pipeline.py +++ b/scripts/pipeline.py @@ -541,6 +541,8 @@ def check_emulator_packs( all_ok = True compared = 0 for name in sorted(profiles): + if profiles[name].get("type") == "alias": + continue # selects the profile it names, compared under that name for standalone in (False, True): try: select_emulator_profiles([name], profiles, standalone) diff --git a/tests/test_audit_regressions.py b/tests/test_audit_regressions.py index 3b2bfa674..3cc9cd6cf 100644 --- a/tests/test_audit_regressions.py +++ b/tests/test_audit_regressions.py @@ -5610,12 +5610,17 @@ class ANamedPackThatIsAbsentFails(unittest.TestCase): -class AnAliasNamesItsProfile(unittest.TestCase): - """"flycast_gles2 is an alias of flycast -use --emulator flycast": the - dash read as an option, and an alias without alias_of advised - "--emulator ?".""" +class AnAliasSelectsItsProfile(unittest.TestCase): + """`--emulator mednafen_psx` refused with "use --emulator beetle_psx", + a step the tool could take itself: the name a user reads in RetroArch + now selects the profile it is an alias of, and says so on stderr. An + alias without alias_of is found through the profile whose cores: names + it.""" + + def test_the_alias_selects_its_profile(self): + import contextlib as _contextlib + import io as _io - def test_the_message(self): from scripts.common import ProfileSelectionError, select_emulator_profiles profiles = { @@ -5623,12 +5628,28 @@ class AnAliasNamesItsProfile(unittest.TestCase): "flycast_gles2": {"type": "alias", "alias_of": "flycast"}, "orphan": {"type": "alias"}, "core": {"type": "libretro", "cores": ["orphan"]}, + "lost": {"type": "alias"}, } - for name, expected in (("flycast_gles2", "alias of flycast: use --emulator flycast"), - ("orphan", "alias of core: use --emulator core")): - with self.subTest(name=name), self.assertRaises(ProfileSelectionError) as caught: - select_emulator_profiles([name], profiles) - self.assertIn(expected, str(caught.exception)) + for name, expected in (("flycast_gles2", "flycast"), ("orphan", "core")): + err = _io.StringIO() + with self.subTest(name=name), _contextlib.redirect_stderr(err): + selected = select_emulator_profiles([name], profiles) + self.assertEqual([key for key, _ in selected], [expected]) + self.assertIn(f"{name} is {expected}", err.getvalue()) + with _contextlib.redirect_stderr(_io.StringIO()): + both = select_emulator_profiles(["flycast", "flycast_gles2"], profiles) + self.assertEqual([key for key, _ in both], ["flycast"]) + with self.assertRaises(ProfileSelectionError): + select_emulator_profiles(["lost"], profiles) + + def test_verify_runs_the_alias(self): + result = subprocess.run( + [sys.executable, "scripts/verify.py", "--emulator", "mednafen_psx"], + cwd=ROOT, capture_output=True, text=True, timeout=300, check=False, + ) + self.assertEqual(result.returncode, 0, result.stderr) + self.assertIn("beetle_psx", result.stdout) + self.assertIn("mednafen_psx is beetle_psx", result.stderr) diff --git a/tests/test_e2e.py b/tests/test_e2e.py index 4d0b203cd..b715cbb7f 100644 --- a/tests/test_e2e.py +++ b/tests/test_e2e.py @@ -17,7 +17,9 @@ Covers: from __future__ import annotations +import contextlib import hashlib +import io import os import shutil import sys @@ -1444,10 +1446,13 @@ class TestE2E(unittest.TestCase): with self.assertRaises(SystemExit): verify_emulator(["test_game"], self.emulators_dir, self.db, standalone=True) - def test_93_verify_emulator_alias_rejected(self): - """Alias profile produces error with redirect message.""" - with self.assertRaises(SystemExit): - verify_emulator(["test_alias"], self.emulators_dir, self.db) + def test_93_verify_emulator_alias_selects_its_profile(self): + """An alias verifies the profile it is an alias of.""" + with contextlib.redirect_stderr(io.StringIO()): + via_alias = verify_emulator(["test_alias"], self.emulators_dir, self.db) + direct = verify_emulator(["test_emu"], self.emulators_dir, self.db) + self.assertEqual(via_alias["emulators"], direct["emulators"]) + self.assertEqual(via_alias["details"], direct["details"]) def test_94_verify_emulator_launcher_rejected(self): """Launcher profile produces error.""" diff --git a/tests/test_native_mode.py b/tests/test_native_mode.py index e913bb930..100412e98 100644 --- a/tests/test_native_mode.py +++ b/tests/test_native_mode.py @@ -10,6 +10,8 @@ it, and these tests make the agreement checkable instead of reviewable. from __future__ import annotations +import contextlib +import io import json import sys import unittest @@ -446,10 +448,12 @@ class OneProfileSelector(unittest.TestCase): self.assertIsNone(error) self.assertEqual([n for n, _p in selected], ["real"]) - def test_an_alias_names_the_profile_to_ask_instead(self): - _selected, error = self._select(["ghost"]) - self.assertIn("alias of real", error) - self.assertIn("--emulator real", error) + def test_an_alias_selects_the_profile_it_names(self): + with contextlib.redirect_stderr(io.StringIO()) as err: + selected, error = self._select(["ghost"]) + self.assertIsNone(error) + self.assertEqual([n for n, _p in selected], ["real"]) + self.assertIn("ghost is real", err.getvalue()) def test_a_launcher_is_refused(self): _selected, error = self._select(["starter"]) From a3c853316a859525a5a5e29fb267fd44e2f03ec4 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:27:12 +0100 Subject: [PATCH 11/24] fix: name the dirty profiles profile_sync refuses The refusal said the directory carried uncommitted changes without naming the profile, among about 375. It now lists the files git status reports, and says that --force writes over them. --- scripts/profile_sync.py | 20 +++++++++++++++----- tests/test_profile_sync.py | 18 ++++++++++++++++++ 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/scripts/profile_sync.py b/scripts/profile_sync.py index 4a911a71d..1d2b81f38 100644 --- a/scripts/profile_sync.py +++ b/scripts/profile_sync.py @@ -4154,16 +4154,22 @@ def _refuse_dirty_tree(emulators_dir: str, names: list[str]) -> None: print(f"{e}. Pass --force to write anyway.", file=sys.stderr) raise SystemExit(1) from e if dirty: + # Another session may own the change, so the refusal names the files: + # --force writes over them. + one = len(dirty) == 1 print( - f"{emulators_dir} carries uncommitted changes to the selected " - "profiles. Commit them first or pass --force.", + f"{', '.join(dirty)} {'has' if one else 'have'} uncommitted changes: " + f"commit {'it' if one else 'them'} or pass --force, which writes over " + f"{'it' if one else 'them'}.", file=sys.stderr, ) raise SystemExit(1) -def emulators_dir_is_dirty(emulators_dir: str, names: list[str] | None = None) -> bool: - """True when the profile directory carries uncommitted changes. +def emulators_dir_is_dirty(emulators_dir: str, names: list[str] | None = None) -> list[str]: + """The files of the profile directory that carry uncommitted changes. + + Paths read as the status prints them, from the repository root. ``names`` narrows the question to those profiles. Git is asked from inside the directory, so a profile tree that lives in another @@ -4181,7 +4187,11 @@ def emulators_dir_is_dirty(emulators_dir: str, names: list[str] | None = None) - raise RuntimeError( f"cannot read the git status of {emulators_dir}: {result.stderr.strip()}" ) - return bool(result.stdout.strip()) + return sorted( + line[3:].split(" -> ")[-1].strip('"') + for line in result.stdout.splitlines() + if line.strip() + ) def build_parser() -> argparse.ArgumentParser: diff --git a/tests/test_profile_sync.py b/tests/test_profile_sync.py index 0fef264af..a9d71c062 100644 --- a/tests/test_profile_sync.py +++ b/tests/test_profile_sync.py @@ -5303,6 +5303,24 @@ class TestEmulatorsDirStatus(unittest.TestCase): self.assertTrue(profile_sync.emulators_dir_is_dirty(root, ["a"])) self.assertFalse(profile_sync.emulators_dir_is_dirty(root, ["b"])) + def test_the_refusal_names_the_changed_profile(self): + """One profile changed by another session among ~375 refused the + whole run without saying which.""" + with tempfile.TemporaryDirectory() as root: + self._git("init", "-q", cwd=root) + for name in "abc": + Path(root, f"{name}.yml").write_text(f"emulator: {name}\n") + self._git("add", "a.yml", "b.yml", "c.yml", cwd=root) + self._git("-c", "user.name=t", "-c", "user.email=t@t", "commit", "-qm", "p", cwd=root) + Path(root, "b.yml").write_text("emulator: b2\n") + self.assertEqual(profile_sync.emulators_dir_is_dirty(root, ["a", "b", "c"]), + ["b.yml"]) + err = io.StringIO() + with contextlib.redirect_stderr(err), self.assertRaises(SystemExit): + profile_sync._refuse_dirty_tree(root, ["a", "b", "c"]) + self.assertIn("b.yml has uncommitted changes", err.getvalue()) + self.assertNotIn("a.yml", err.getvalue()) + def test_a_tree_outside_any_repository_is_not_clean(self): with tempfile.TemporaryDirectory() as root, mock.patch.dict( os.environ, {"GIT_CEILING_DIRECTORIES": str(Path(root).parent)} From 651cabf412cf7cd53e76fe27f2d32c1ed0b7556c Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:27:36 +0100 Subject: [PATCH 12/24] fix: rank orphaned and moved pins first in triage drift_score ignored orphaned pins and moved repositories although triage_state says they are fixed before any ref is read: pcem ranked last at 0 with an upstream_commit on no branch. Each now weighs more than a GONE ref. --- scripts/profile_sync.py | 5 +++++ tests/test_profile_sync.py | 12 ++++++++++++ 2 files changed, 17 insertions(+) diff --git a/scripts/profile_sync.py b/scripts/profile_sync.py index 1d2b81f38..e46a0e44b 100644 --- a/scripts/profile_sync.py +++ b/scripts/profile_sync.py @@ -2627,6 +2627,7 @@ def tree_diff(result: CompareResult, ref_dirs: set[str]) -> list[str]: DRIFT_WEIGHTS = {"GONE": 40, "CHANGED": 30, "AMBIGUOUS": 15, "SHIFTED": 1} +PIN_WEIGHT = 50 def drift_score( @@ -2644,6 +2645,10 @@ def drift_score( if version is not None and not version.tag_matches_declared: if version.latest_release and version.latest_release != version.declared: score += 10 + # A pin off its branch or a repository answering under another name is + # set again before any ref can be read, so each outranks a GONE ref: + # pcem ranked last at 0 with an orphaned upstream_commit. + score += PIN_WEIGHT * (len(report.orphaned) + len(report.moved_repos)) score += min(commits, 20) // 4 return score diff --git a/tests/test_profile_sync.py b/tests/test_profile_sync.py index a9d71c062..147670577 100644 --- a/tests/test_profile_sync.py +++ b/tests/test_profile_sync.py @@ -3812,6 +3812,18 @@ class TestDriftScore(unittest.TestCase): report = ProfileReport(name="a", entries=[], counts={"ANCHORED": 5}) self.assertEqual(drift_score(report, None, 0), 0) + def test_a_pin_to_set_again_outranks_a_gone_ref(self): + """pcem ranked last at 0 with "1 to review, 1 orphaned pin": its + upstream_commit had left every branch of a force-pushed repository.""" + gone = ProfileReport(name="a", entries=[], counts={"GONE": 1}) + orphaned = ProfileReport(name="pcem", entries=[], counts={}, + orphaned=["upstream_commit 25b54e3f"]) + moved = ProfileReport(name="m", entries=[], counts={}, + moved_repos=["a/b answers as c/b"]) + for report in (orphaned, moved): + with self.subTest(name=report.name): + self.assertGreater(drift_score(report, None, 0), drift_score(gone, None, 0)) + class TestCollectCitations(unittest.TestCase): def test_files_refs_in_document_order(self): From f8dce8f8c3c08acffd99ed3ae49ae8486c3bc8b2 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:29:23 +0100 Subject: [PATCH 13/24] fix: keep upstream HEAD for a pin past the fork _follow_fork_base swapped the fork merge base in as upstream HEAD even when upstream_commit was newer than that base, as for melonds and easyrpg whose upstream is the standalone build they document. melonds read its Qt refs 825 commits back and reported 4 to review. A pin that descends from the base now keeps the HEAD, melonds shows 0 to review. --- scripts/profile_sync.py | 8 ++++++++ tests/test_profile_sync.py | 17 +++++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/scripts/profile_sync.py b/scripts/profile_sync.py index e46a0e44b..8e2f54e29 100644 --- a/scripts/profile_sync.py +++ b/scripts/profile_sync.py @@ -1257,6 +1257,14 @@ def _follow_fork_base( base = upstream.fork_base( view.repo, view.head, source.repo, source.head, cache_dir, offline ) + if base and base != view.pin: + # A pin newer than the merge base names code the port does not + # carry: the upstream is a build of its own, the Qt melonDS or the + # EasyRPG Player a standalone + libretro profile documents, and + # its HEAD stays the reference. melonds read 825 commits back. + moved = upstream.ancestry(view.repo, base, view.pin, cache_dir, offline) + if moved and moved[0] > 0 and moved[1] == 0: + base = None followed.append( replace(view, head=base, origin=f"{view.origin}, fork base of {source.repo.slug}") if base else view diff --git a/tests/test_profile_sync.py b/tests/test_profile_sync.py index 147670577..d28137fb1 100644 --- a/tests/test_profile_sync.py +++ b/tests/test_profile_sync.py @@ -5465,7 +5465,7 @@ class UpstreamForkedByThePort(unittest.TestCase): upstream with the fork. Compared to upstream's own HEAD, a bump moved it past anything the port carries.""" - def _views(self, base): + def _views(self, base, ancestry=None): from unittest import mock # noqa: PLC0415 fork = profile_sync.upstream.make_repo("github.com", "f", "port") @@ -5477,7 +5477,9 @@ class UpstreamForkedByThePort(unittest.TestCase): ] with mock.patch.object( profile_sync.upstream, "fork_base", return_value=base - ) as asked: + ) as asked, mock.patch.object( + profile_sync.upstream, "ancestry", return_value=ancestry + ): followed = profile_sync._follow_fork_base(views, "cache", True) return followed, asked @@ -5492,6 +5494,17 @@ class UpstreamForkedByThePort(unittest.TestCase): views, _ = self._views(None) self.assertEqual(views[1].head, "up-tip") + def test_a_pin_newer_than_the_base_keeps_the_tip(self): + """melonds documents the Qt standalone from melonDS-emu/melonDS: its + upstream_commit is 825 commits past the merge base with the libretro + fork, and reading its refs at the 2021 base reported them CHANGED.""" + views, _ = self._views("old-merge", ancestry=(825, 0)) + self.assertEqual(views[1].head, "up-tip") + + def test_a_pin_behind_the_base_follows_it(self): + views, _ = self._views("new-base", ancestry=(0, 12)) + self.assertEqual(views[1].head, "new-base") + class ACachedTipOlderThanThePin(TestBuildReport): """scummvm-standalone was pinned on 6f7b060d while the cached tip was From f9a786896ed71db7f026ff3ef2f2bbde3868844d Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:30:04 +0100 Subject: [PATCH 14/24] fix: restore the profile when the prose read fails _apply_writes promoted the bumped profile, then read its prose under the new pin. A NotCachedError, RateLimitError or UpstreamError from that read left the profile written with a pin the guard would refuse. The original bytes are now put back before the error goes on. --- scripts/profile_sync.py | 10 ++++++++-- tests/test_profile_sync.py | 13 +++++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/scripts/profile_sync.py b/scripts/profile_sync.py index 8e2f54e29..7fde29014 100644 --- a/scripts/profile_sync.py +++ b/scripts/profile_sync.py @@ -4627,8 +4627,14 @@ def _apply_writes( # The guard above read the prose under the pins the profile held. # A bump that moves upstream_commit can leave prose the report # judged in the fork under the new upstream pin (dolphin-mmjr2, - # hatari, xenios): read it again on what was written. - left = realign_prose(path, args.cache_dir, args.offline, dry_run=True) + # hatari, xenios): read it again on what was written. It reads + # the profile's own history, so it runs on the real path, and a + # read that fails (offline, rate limit) puts the profile back. + try: + left = realign_prose(path, args.cache_dir, args.offline, dry_run=True) + except BaseException: + path.write_bytes(original) + raise if moved and left: path.write_bytes(original) print( diff --git a/tests/test_profile_sync.py b/tests/test_profile_sync.py index d28137fb1..92b51c817 100644 --- a/tests/test_profile_sync.py +++ b/tests/test_profile_sync.py @@ -2670,6 +2670,19 @@ class TestWriteDryRun(unittest.TestCase): counts={"SHIFTED": 1}, ) + def test_a_prose_read_that_fails_leaves_the_profile_as_it_was(self): + """The bumped profile was promoted before the prose under its new pin + was read. Offline, an uncached cited file raised NotCachedError past + the restore and the profile kept a pin the guard would refuse.""" + from unittest import mock # noqa: PLC0415 + + before = self.path.read_bytes() + cold = profile_sync.upstream.NotCachedError("x.c not cached") + with mock.patch.object(profile_sync, "realign_prose", side_effect=[[], cold]), \ + self.assertRaises(profile_sync.upstream.NotCachedError): + self._run(self._args(rebase_refs=True, dry_run=False), self._shifted()) + self.assertEqual(self.path.read_bytes(), before) + def test_rebase_states_the_move_and_leaves_the_file(self): before = self.path.read_text() output = self._run(self._args(rebase_refs=True), self._shifted()) From a05b1da9a0557653a9404bef754f39470958e702 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:30:29 +0100 Subject: [PATCH 15/24] fix: leave bundled files out of auto_fetch targets find_missing kept undeclared files reached only by bundled entries, so auto_fetch searched for and offered files the emulator installs itself, and a placed copy would fail bundled_only.py --strict. RetroPie drops from 55 to 14 missing files. --- scripts/auto_fetch.py | 5 ++++- tests/test_audit_regressions.py | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/auto_fetch.py b/scripts/auto_fetch.py index 609160a6c..8db87d9ac 100644 --- a/scripts/auto_fetch.py +++ b/scripts/auto_fetch.py @@ -107,7 +107,10 @@ def find_missing(config: dict, db: dict) -> list[dict]: "destination": file_entry.get("destination", name), }) for u in result["undeclared_files"]: - if u.get("in_repo") or not u.get("required"): + # A file installed with its emulator is not an acquisition target: + # verify leaves it out of the missing count, and bundled_only.py + # --strict refuses a copy that only bundled entries reach. + if u.get("in_repo") or not u.get("required") or u.get("bundled"): continue missing.append({ "name": u["name"], diff --git a/tests/test_audit_regressions.py b/tests/test_audit_regressions.py index 3cc9cd6cf..fbb7afeff 100644 --- a/tests/test_audit_regressions.py +++ b/tests/test_audit_regressions.py @@ -4224,6 +4224,10 @@ class AutoFetchAsksVerifyWhatIsMissing(unittest.TestCase): "system": "diablo", "emulator": "DevilutionX"}, {"name": "held.bin", "in_repo": True, "required": True}, {"name": "extra.bin", "in_repo": False, "required": False}, + # zesarux installs 128s.rom with the emulator: not a target, + # and a copy placed in bios/ fails pipeline step 4d. + {"name": "128s.rom", "in_repo": False, "required": True, + "bundled": True, "emulator": "ZEsarUX"}, ], } with mock.patch.object(verify_mod, "verify_platform", lambda c, d: result): From 137f971dae5a0375e470f4710a5500382e6c26ca Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:30:57 +0100 Subject: [PATCH 16/24] fix: drop bundled files from provenance needs profile_needs read every profile entry, so --missing named 43 files the emulator installs itself among 50 needs and buried the six xm7 ROMs. A bundled entry is skipped unless a platform package leaves it out (not_bundled_on). The report now lists 7 needs. --- scripts/provenance_report.py | 7 ++++++- tests/test_provenance.py | 15 +++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/scripts/provenance_report.py b/scripts/provenance_report.py index 44c7ca5ba..77d217143 100644 --- a/scripts/provenance_report.py +++ b/scripts/provenance_report.py @@ -66,7 +66,8 @@ def profile_needs(profiles: dict, db: dict) -> dict: Keyed by every hash a profile accepts, and, for an entry that declares a size and no hash, by its names casefolded. An entry with neither - cannot be told apart from any same-named dump and is left out. + cannot be told apart from any same-named dump and is left out, as is a + file the emulator installs itself (`bundled:`) on every platform. """ files = db.get("files", {}) indexes = db.get("indexes", {}) @@ -92,6 +93,10 @@ def profile_needs(profiles: dict, db: dict) -> dict: name = str(entry.get("name", "")) if not name or name.endswith("/"): continue + # Installed with the emulator, so not an acquisition target, + # unless a platform package leaves it out. + if entry.get("bundled") and not entry.get("not_bundled_on"): + continue need = {"emulator": emulator, "name": name, "required": bool(entry.get("required"))} hashes = {(field, v) for field in HASH_FIELDS for v in _values(entry, field)} diff --git a/tests/test_provenance.py b/tests/test_provenance.py index 9f3eebea4..a1ed98574 100644 --- a/tests/test_provenance.py +++ b/tests/test_provenance.py @@ -623,6 +623,21 @@ class AMissingDumpNamesTheProfileItFills(unittest.TestCase): needs = provenance_report.profile_needs(self.PROFILES, db) self.assertNotIn("dicrom.rom", needs["by_name"]) + def test_a_file_installed_with_the_emulator_is_not_a_need(self): + """43 of 50 needs were bundled entries (samcoupe.rom, zesarux's + tk90x.rom), burying the six xm7 ROMs a maintainer has to find.""" + from scripts import provenance_report # noqa: PLC0415 + + profiles = { + "samcoupe": {"files": [{"name": "samcoupe.rom", "required": True, + "bundled": True, "sha1": "f" * 40}]}, + "hcl": {"files": [{"name": "kanji.rom", "required": True, "bundled": True, + "not_bundled_on": ["batocera"], "sha1": "9" * 40}]}, + } + needs = provenance_report.profile_needs(profiles, {"files": {}}) + self.assertNotIn(("sha1", "f" * 40), needs["by_hash"]) + self.assertIn(("sha1", "9" * 40), needs["by_hash"]) + class TheWantedPageAsksOnlyForWhatCannotBeMade(unittest.TestCase): """The site's Wanted page asked the public for 79 dumps the collection From d8cfd283b4ef1d02b46e785ebdec6b8546949cb6 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:32:05 +0100 Subject: [PATCH 17/24] fix: show packed core files with an empty gap list verify --platform recalbox --system nec-pc-engine printed no Core files line while the pack held six syscard copies for geargrafx: the section returned on an empty gap report before reading packed_extras. It now prints the pack's counts whenever they are not zero. --- scripts/verify.py | 9 ++++++--- tests/test_verify_listing.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 3 deletions(-) diff --git a/scripts/verify.py b/scripts/verify.py index 67aef9f42..1d9d78d71 100644 --- a/scripts/verify.py +++ b/scripts/verify.py @@ -1827,7 +1827,11 @@ def _omission_reasons(entries: list[dict]) -> str: def _print_undeclared_section(result: dict, verbose: bool) -> None: """Print cross-reference section for undeclared files used by cores.""" undeclared = result.get("undeclared_files", []) - if not undeclared: + # The pack's core copies can come from no gap entry: recalbox + # --system nec-pc-engine packs six root syscard copies for geargrafx + # with an empty gap report, and returning here hid them. + packed = result.get("packed_extras") + if not undeclared and not (packed and any(packed.values())): return game_data, bios_files, unplaced = _split_undeclared(undeclared) @@ -1850,7 +1854,6 @@ def _print_undeclared_section(result: dict, verbose: bool) -> None: # The builder's count, one file per pack path, when the platform pass # replayed it. Counting entries said 1130 for RetroArch, 48 more than the # pack holds: rom.key alone was claimed by three Amiga cores. - packed = result.get("packed_extras") core_in_pack = ( packed["bios"] if packed is not None else len(req_in_repo) + len(opt_in_repo) ) @@ -1880,7 +1883,7 @@ def _print_undeclared_section(result: dict, verbose: bool) -> None: print(f" Core files held but not packed: {len(unplaced)} " f"({_omission_reasons(unplaced)})") - if game_data: + if game_data or (packed and packed.get("game_data")): gd_missing = [u for u in game_data if not u["in_repo"]] gd_packed = ( packed["game_data"] if packed is not None diff --git a/tests/test_verify_listing.py b/tests/test_verify_listing.py index 82b25229b..c825b52a5 100644 --- a/tests/test_verify_listing.py +++ b/tests/test_verify_listing.py @@ -200,5 +200,35 @@ class EveryGapCountedIsNamed(unittest.TestCase): self.assertIn("MISSING (game data): engine needs level.dat", verbose.getvalue()) +class CoreCopiesWithoutAGapEntryAreCounted(unittest.TestCase): + """verify --platform recalbox --system nec-pc-engine printed no Core + files line while the pack held six geargrafx syscard copies: the gap + report was empty, and the section returned before reading the pack's + count.""" + + def test_the_packed_count_is_printed(self): + import contextlib # noqa: PLC0415 + import io # noqa: PLC0415 + + sys.path.insert(0, str(REPO_ROOT / "scripts")) + import verify # noqa: PLC0415 + + for packed, expected in (({"bios": 6, "game_data": 0}, "Core files: 6 in pack"), + ({"bios": 0, "game_data": 3}, "Game data: 3 in pack")): + out = io.StringIO() + with contextlib.redirect_stdout(out): + verify._print_undeclared_section( + {"undeclared_files": [], "packed_extras": packed}, verbose=False + ) + with self.subTest(packed=packed): + self.assertIn(expected, out.getvalue()) + out = io.StringIO() + with contextlib.redirect_stdout(out): + verify._print_undeclared_section( + {"undeclared_files": [], "packed_extras": {"bios": 0, "game_data": 0}}, False + ) + self.assertEqual(out.getvalue(), "") + + if __name__ == "__main__": unittest.main() From 4af0d70e4e5374d6b1d475b9fa33d3e881e3d6bb Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:36:02 +0100 Subject: [PATCH 18/24] fix: report md5 lists Recalbox and RetroDECK grow Both formats write every accepted md5 when the truth extends the platform's list without contradicting it, but only Batocera answered written_list, so landed_changes reported nothing for a diff the maintainer would find. Both now name the list they write when it holds several values. --- scripts/exporter/recalbox_exporter.py | 7 +++++ scripts/exporter/retrodeck_exporter.py | 7 +++++ tests/test_export_counts.py | 36 ++++++++++++++++++++++++++ 3 files changed, 50 insertions(+) diff --git a/scripts/exporter/recalbox_exporter.py b/scripts/exporter/recalbox_exporter.py index 71704304a..bad223329 100644 --- a/scripts/exporter/recalbox_exporter.py +++ b/scripts/exporter/recalbox_exporter.py @@ -245,6 +245,13 @@ class Exporter(BaseExporter): return f" " + def written_list(self, fe: NativeFile, field_name: str) -> list[str] | None: + """md5 is the comma list Bios.cpp splits and compares one by one, so + a list the truth extended is a change the report names.""" + if field_name == "md5" and len(fe.hashes("md5")) > 1: + return fe.hashes("md5") + return None + def states(self, fe: NativeFile, field_name: str) -> bool: """An element it cannot rewrite is written back as Recalbox wrote it. diff --git a/scripts/exporter/retrodeck_exporter.py b/scripts/exporter/retrodeck_exporter.py index 346c50521..b742b796c 100644 --- a/scripts/exporter/retrodeck_exporter.py +++ b/scripts/exporter/retrodeck_exporter.py @@ -96,6 +96,13 @@ class Exporter(BaseExporter): return fe.hash(field_name) return super().written(fe, field_name) + def written_list(self, fe: NativeFile, field_name: str) -> list[str] | None: + """Several md5 values are a JSON array in the manifest, as _entry + writes them: a list the truth extended is a change the report names.""" + if field_name == "md5" and len(fe.hashes("md5")) > 1: + return fe.hashes("md5") + return None + def states(self, fe: NativeFile, field_name: str) -> bool: if id(fe) in getattr(self, "_appended", ()): return False diff --git a/tests/test_export_counts.py b/tests/test_export_counts.py index ac46526b8..f0abfc261 100644 --- a/tests/test_export_counts.py +++ b/tests/test_export_counts.py @@ -1060,5 +1060,41 @@ class ARemovedSizeIsReported(unittest.TestCase): self.assertEqual(changes.unsized, ["SNK - NeoGeo CD/neocdz.zip"]) +class AnExtendedListIsReported(unittest.TestCase): + """The truth adds an accepted md5 the platform lacks without + contradicting it: RetroDECK wrote [A, B] where the manifest had A and + Recalbox md5="A,B" where es_bios.xml had A, and the report listed + nothing. Only Batocera named the list it writes.""" + + def _records(self, exporter): + from export_native import landed_changes # noqa: PLC0415 + + platform = {"name": "f.bin", "md5": A, "core": "libretro/mesen"} + fe = NativeFile("f.bin", "f.bin", "s", platform=platform, + truth={"md5": [A, B], "validation": ["md5"]}) + return landed_changes(exporter, {"s": NativeSystem("s", files=[fe])}).records, fe + + def test_both_formats_report_the_list_they_write(self): + for exporter in (RetroDeck(), Recalbox()): + with self.subTest(exporter=exporter.platform_name()): + records, fe = self._records(exporter) + self.assertEqual(fe.hashes("md5"), [A, B]) + self.assertEqual( + [(r["kind"], r["field"], r["old"], r["new"]) for r in records], + [("hash_corrected", "md5", A, [A, B])], + ) + + def test_an_unchanged_value_reports_nothing(self): + from export_native import landed_changes # noqa: PLC0415 + + for exporter in (RetroDeck(), Recalbox()): + fe = NativeFile("f.bin", "f.bin", "s", + platform={"name": "f.bin", "md5": A, "core": "libretro/mesen"}, + truth={"md5": A}) + with self.subTest(exporter=exporter.platform_name()): + changes = landed_changes(exporter, {"s": NativeSystem("s", files=[fe])}) + self.assertEqual(changes.records, []) + + if __name__ == "__main__": unittest.main() From 3d0ee19bcba7df541b7dc435274168353d718eaf Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:37:27 +0100 Subject: [PATCH 19/24] refactor: index profile entries by name and hash _matching walked the reader's whole profile for each platform entry, 2,135 scans of MAME in one verify --all. Each profile is now indexed once per kind by name and by accepted hash. Over every registered platform, 10,524 lookups give the same answers as the scan, in 0.13 s instead of 2.42 s. --- scripts/exporter/candidates.py | 54 ++++++++++++++++++++++++++-------- tests/test_entry_categories.py | 44 +++++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 13 deletions(-) diff --git a/scripts/exporter/candidates.py b/scripts/exporter/candidates.py index 5ceb69f2d..d2e259928 100644 --- a/scripts/exporter/candidates.py +++ b/scripts/exporter/candidates.py @@ -375,6 +375,7 @@ class EntryCategories: # entry with a proof walks its reader's whole profile, and a MAME # profile's archive members were hashed again for each. self._accepted: dict[int, set[str]] = {} + self._entry_index: dict[tuple[str, str], tuple[dict, dict]] = {} # One index per core and per kind, so a proof names its reader. self._readers: list[tuple[str, str, ReadEvidence]] = [] for key in sorted(examined): @@ -418,6 +419,24 @@ class EntryCategories: accepted = self._accepted[id(profile_entry)] = _entry_hashes(profile_entry) return accepted + def _index_of(self, key: str, kind: str) -> tuple[dict, dict]: + """A profile's entries of one kind by casefolded name and by accepted + hash, each list in file order. Built once per profile and kind: a + scan per platform entry cost 2 s of verify --all on MAME alone.""" + index = self._entry_index.get((key, kind)) + if index is None: + by_name: dict[str, list[tuple[int, dict]]] = {} + by_hash: dict[str, list[tuple[int, dict]]] = {} + for position, f in enumerate(self._profiles[key].get("files") or []): + if not isinstance(f, dict) or (f.get("category") == GAME_DATA) != (kind == GAME_DATA): + continue + for n in {str(n).casefold() for n in (f.get("name"), *(f.get("aliases") or [])) if n}: + by_name.setdefault(n, []).append((position, f)) + for value in self._accepted_by(f): + by_hash.setdefault(value, []).append((position, f)) + index = self._entry_index[(key, kind)] = (by_name, by_hash) + return index + def _matching(self, key: str, kind: str, entry: dict) -> list[dict]: """The profile entries of `key` that read the platform entry. @@ -434,19 +453,28 @@ class EntryCategories: if n } declared = _declared_hashes(entry) - by_hash: list[dict] = [] - by_name: list[dict] = [] - for f in self._profiles[key].get("files") or []: - if not isinstance(f, dict) or (f.get("category") == GAME_DATA) != (kind == GAME_DATA): - continue - cited = {k: f[k] for k in ("name", "source_ref") if f.get(k)} - if declared and _accepts(self._accepted_by(f), declared): - by_hash.append(cited) - continue - own = {str(n).casefold() for n in (f.get("name"), *(f.get("aliases") or [])) if n} - if own & names and not (declared and _contradicts(f, declared)): - by_name.append({**cited, "by": "name"}) - return by_hash or by_name + by_name_index, by_hash_index = self._index_of(key, kind) + + def cited(f: dict) -> dict: + return {k: f[k] for k in ("name", "source_ref") if f.get(k)} + + found: dict[int, dict] = {} + for values in declared.values(): + for value in values: + for position, f in by_hash_index.get(value, ()): + found[position] = f + if _CUT_MD5 <= len(value) < _FULL_MD5: + for accepted, hits in by_hash_index.items(): + if accepted.startswith(value): + found.update(hits) + if found: + return [cited(found[p]) for p in sorted(found)] + named = {position: f for n in names for position, f in by_name_index.get(n, ())} + return [ + {**cited(named[p]), "by": "name"} + for p in sorted(named) + if not (declared and _contradicts(named[p], declared)) + ] def explain(self, entry: dict, destination: str, system: str) -> dict: """The category of an entry and what establishes it.""" diff --git a/tests/test_entry_categories.py b/tests/test_entry_categories.py index d3c68861c..0f971c5d9 100644 --- a/tests/test_entry_categories.py +++ b/tests/test_entry_categories.py @@ -220,5 +220,49 @@ class IndexedProof(unittest.TestCase): self.assertEqual(index.proofs(entry, destination), expected) +class AProfileIsIndexedOncePerKind(unittest.TestCase): + """_matching walked the reader's whole profile for each platform entry: + 2,135 scans of the MAME profile took 2 s of verify --all.""" + + FILES = [ + {"name": "zero.bin", "md5": "0" * 32, "source_ref": "a.c:1"}, + {"name": "one.bin", "md5": "1" * 32, "source_ref": "a.c:2"}, + {"name": "one.bin", "md5": "2" * 32, "source_ref": "a.c:3"}, + {"name": "two.bin", "aliases": ["TWO.ROM"], "source_ref": "a.c:4"}, + {"name": "data.pak", "category": "game_data", "source_ref": "a.c:5"}, + ] + + def setUp(self): + profiles = {"core": {"emulator": "Core", "type": "libretro", "cores": ["core"], + "systems": ["s"], "files": self.FILES}} + self.cats = EntryCategories(_config(["core"], []), profiles) + + def test_the_index_answers_as_the_scan_did(self): + cases = [ + ({"name": "one.bin", "md5": "2" * 32}, BIOS, [{"name": "one.bin", "source_ref": "a.c:3"}]), + # A cut md5 (Batocera's 29 characters) matches by prefix. + ({"name": "x", "md5": "1" * 29}, BIOS, [{"name": "one.bin", "source_ref": "a.c:2"}]), + ({"name": "one.bin"}, BIOS, [ + {"name": "one.bin", "source_ref": "a.c:2", "by": "name"}, + {"name": "one.bin", "source_ref": "a.c:3", "by": "name"}, + ]), + ({"name": "one.bin", "md5": "9" * 32}, BIOS, []), + ({"name": "two.rom"}, BIOS, [{"name": "two.bin", "source_ref": "a.c:4", "by": "name"}]), + ({"name": "data.pak"}, BIOS, []), + ({"name": "data.pak"}, GAME_DATA, [{"name": "data.pak", "source_ref": "a.c:5", "by": "name"}]), + ] + for entry, kind, expected in cases: + with self.subTest(entry=entry, kind=kind): + self.assertEqual(self.cats._matching("core", kind, entry), expected) + + def test_the_profile_is_walked_once_per_kind(self): + from unittest import mock + + with mock.patch.object(self.cats, "_accepted_by", wraps=self.cats._accepted_by) as hashed: + for _ in range(50): + self.cats._matching("core", BIOS, {"name": "zero.bin", "md5": "0" * 32}) + self.assertEqual(hashed.call_count, 4) + + if __name__ == "__main__": unittest.main() From 0d215661839d6f2e7d31aa022a15a7882b14f7f6 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:37:33 +0100 Subject: [PATCH 20/24] fix: take an unchecked version as a match in packs Raze lists three sized BLOOD.RFF versions and a fourth it takes without a check, the shareware RFF the collection holds. The Batocera pack printed two DISCREPANCY lines for it that verify never showed. A slot with an unchecked sibling now accepts any copy for that core, in the validation rules and in _matches_an_alternative. When every version refuses a copy, the message names all accepted values instead of the first. --- scripts/generate_pack.py | 5 ++++ scripts/validation.py | 30 +++++++++++++++++++- tests/test_validated_choice.py | 50 ++++++++++++++++++++++++++++++++++ 3 files changed, 84 insertions(+), 1 deletion(-) diff --git a/scripts/generate_pack.py b/scripts/generate_pack.py index 6cfaddd6d..64c026d85 100644 --- a/scripts/generate_pack.py +++ b/scripts/generate_pack.py @@ -98,6 +98,7 @@ from validation import ( validated_choice, agnostic_substitute, _build_validation_index, + _parse_validation, deliverable, with_archive_members, extra_alternatives, @@ -623,6 +624,10 @@ def _matches_an_alternative(fe: dict, local_path: str, profiles: dict) -> bool: siblings = extra_alternatives(fe, profiles) if len(siblings) < 2: return False + # A sibling the code takes without a check (Raze's "BLOOD: Unknown + # Version") accepts whatever copy fills the slot. + if any(not _parse_validation(entry.get("validation")) for entry in siblings): + return True actual = compute_hashes(local_path, frozenset({"sha1", "md5", "crc32"})) for entry in siblings: for algorithm in ("sha1", "md5", "crc32"): diff --git a/scripts/validation.py b/scripts/validation.py index 300e36d05..544451f90 100644 --- a/scripts/validation.py +++ b/scripts/validation.py @@ -8,6 +8,7 @@ truth data for reporting. from __future__ import annotations import os +import re import zipfile from collections.abc import Callable, Iterator, Mapping, Sequence @@ -161,6 +162,11 @@ def _build_validation_index(profiles: dict) -> dict[str, dict]: Raises ValueError if two profiles declare conflicting values. """ index: dict[str, dict] = {} + # A slot where one version is taken without any check (Raze's "BLOOD: + # Unknown Version", which holds the shareware RFF) accepts every copy for + # that core: its validated siblings are alternatives, not requirements. + unchecked: set[tuple[str, str, str]] = set() + checked: set[tuple[str, str, str]] = set() for emu_name, profile in profiles.items(): if profile.get("type") in ("launcher", "alias"): continue @@ -169,8 +175,11 @@ def _build_validation_index(profiles: dict) -> dict[str, dict]: if not fname: continue checks = _parse_validation(f.get("validation")) + slot = (fname, emu_name, f.get("path") or fname) if not checks: + unchecked.add(slot) continue + checked.add(slot) if fname not in index: index[fname] = { "checks": set(), @@ -276,6 +285,8 @@ def _build_validation_index(profiles: dict) -> dict[str, dict]: existing["source_ref"] = pe_entry["source_ref"] else: pe[emu_name] = pe_entry + for fname, emu_name, _path in sorted(checked & unchecked): + index[fname]["rules"].append(_entry_rule(emu_name, {}, set())) # Convert sets to sorted tuples/lists for determinism for v in index.values(): v["checks"] = sorted(v["checks"]) @@ -324,6 +335,23 @@ def _emulators_for_check( return sorted(result) +_REASON = re.compile(r"^(\w+ mismatch): got (\S+), accepted \[(.*)\]$") + + +def _merged_reason(reasons: list[str]) -> str: + """One reason for every entry of a core that turned the copy away. + + Raze lists three BLOOD.RFF sizes and the message named the first one + alone. Reasons of one kind are merged into a single accepted list. + """ + parsed = [_REASON.match(reason) for reason in reasons] + if all(parsed) and len({(m.group(1), m.group(2)) for m in parsed}) == 1: + accepted = sorted({v for m in parsed for v in m.group(3).split(",") if v}, + key=lambda v: (len(v), v)) + return f"{parsed[0].group(1)}: got {parsed[0].group(2)}, accepted [{','.join(accepted)}]" + return reasons[0] + + def check_file_validation( local_path: str, filename: str, @@ -363,7 +391,7 @@ def check_file_validation( for rule in rules ] if all(reasons): - failures[emu] = reasons[0] + failures[emu] = _merged_reason(reasons) if not failures: return None first = sorted(failures)[0] diff --git a/tests/test_validated_choice.py b/tests/test_validated_choice.py index ca7198b3c..f9aba6707 100644 --- a/tests/test_validated_choice.py +++ b/tests/test_validated_choice.py @@ -325,5 +325,55 @@ class AlternativesAreLookedUpBySlot(unittest.TestCase): self.assertEqual(built.call_count, 2) +class AVersionTakenWithoutACheck(unittest.TestCase): + """The Batocera pack printed two DISCREPANCY lines for BLOOD.RFF that + verify never showed: Raze lists three sized versions and a fourth, + "Unknown Version", it takes without a check (the shareware RFF), and + the message named one accepted size of the three.""" + + RAZE = {"files": [ + {"name": "BLOOD.RFF", "path": "BLOOD.RFF", "size": 8200353, + "crc32": "b291418f", "validation": ["size", "crc32"]}, + {"name": "BLOOD.RFF", "path": "BLOOD.RFF", "size": 9570681, + "crc32": "a8fdda84", "validation": ["size", "crc32"]}, + {"name": "BLOOD.RFF", "path": "BLOOD.RFF"}, + ]} + + def _file(self, tmp: str) -> str: + path = Path(tmp) / "BLOOD.RFF" + path.write_bytes(b"shareware") + return str(path) + + def test_the_unchecked_version_accepts_the_copy(self): + from validation import check_file_validation # noqa: PLC0415 + + index = _build_validation_index({"raze": self.RAZE}) + with tempfile.TemporaryDirectory(dir=REPO_ROOT / "tmp") as tmp: + self.assertIsNone(check_file_validation( + self._file(tmp), "BLOOD.RFF", index, emulators={"raze"} + )) + + def test_the_pack_reads_it_as_an_alternative(self): + import generate_pack # noqa: PLC0415 + + fe = {"name": "BLOOD.RFF", "source_profile": "raze", "source_path": "BLOOD.RFF"} + with tempfile.TemporaryDirectory(dir=REPO_ROOT / "tmp") as tmp: + self.assertTrue(generate_pack._matches_an_alternative( + fe, self._file(tmp), {"raze": self.RAZE} + )) + + def test_a_refusal_names_every_accepted_size(self): + from validation import check_file_validation # noqa: PLC0415 + + checked = {"files": self.RAZE["files"][:2]} + index = _build_validation_index({"raze": checked}) + with tempfile.TemporaryDirectory(dir=REPO_ROOT / "tmp") as tmp: + reason, emulators = check_file_validation( + self._file(tmp), "BLOOD.RFF", index, emulators={"raze"} + ) + self.assertEqual(emulators, ["raze"]) + self.assertEqual(reason, "size mismatch: got 9, accepted [8200353,9570681]") + + if __name__ == "__main__": unittest.main() From b20d65d12930be4f339efbe5cfdba00a35e6d971 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:38:21 +0100 Subject: [PATCH 21/24] fix: verify only pack archives in the output dir verify_and_finalize_packs took every ZIP of the directory, so the launcher archives build_port.py writes to the same dist/ were judged as packs, failed, and were rewritten with a manifest after build_port had printed their hashes. Every name the builder gives ends in _BIOS_Pack.zip, and only those are taken. --- scripts/generate_pack.py | 6 +++++- tests/test_split_pack.py | 16 ++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/scripts/generate_pack.py b/scripts/generate_pack.py index 64c026d85..b4b8fd31c 100644 --- a/scripts/generate_pack.py +++ b/scripts/generate_pack.py @@ -5083,11 +5083,15 @@ def _pack_archives(output_dir: str) -> list[str]: A part of a split pack holds a share of a platform by design and was checked against the whole when it was cut: judged as a pack it would fail conformance, and injecting a manifest would change published bytes. + Every name the builder gives ends in the pack suffix: build_port.py + writes its launcher archives (RetroBIOS.zip) to the same dist/, and + taking every ZIP rewrote them with a manifest after build_port had + printed their hashes. """ return sorted( name for name in os.listdir(output_dir) - if name.endswith(".zip") and not split_pack.is_part(name) + if name.endswith(split_pack.PACK_SUFFIX) and not split_pack.is_part(name) ) diff --git a/tests/test_split_pack.py b/tests/test_split_pack.py index 497380d2b..99d54b4fb 100644 --- a/tests/test_split_pack.py +++ b/tests/test_split_pack.py @@ -14,6 +14,8 @@ parts extracted into one folder are the pack. from __future__ import annotations +import contextlib +import io import os import stat import subprocess @@ -230,6 +232,20 @@ class PartsAreNotTakenForPacks(SplitFixture): [p.name for p in parts], ) + def test_launcher_archives_are_not_packs(self): + """build_port.py writes RetroBIOS.zip, RetroBIOS-tools.zip and + RetroBIOS-batocera.zip to dist/: verify_and_finalize_packs judged + them as packs, failed them and injected a manifest into each.""" + for name in ("RetroBIOS.zip", "RetroBIOS-tools.zip", "RetroBIOS-batocera.zip"): + self._build(self.dist / name, {"RetroBIOS.sh": b"#!/bin/sh\n"}) + before = {p.name: p.read_bytes() for p in self.dist.glob("RetroBIOS*.zip")} + self.assertEqual(builder._pack_archives(str(self.dist)), [self.pack.name]) + with contextlib.redirect_stdout(io.StringIO()): + builder.verify_and_finalize_packs(str(self.dist), {"files": {}, "indexes": {}}, + skip_conformance=True) + self.assertEqual({p.name: p.read_bytes() for p in self.dist.glob("RetroBIOS*.zip")}, + before) + def test_the_directory_form_splits_only_what_is_too_large(self): small = self.dist / "Small_BIOS_Pack.zip" self._build(small, {"one.bin": b"1"}) From c1f0e8c2cabd572804a19c2aedb2e78a22bd2dde Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:45:39 +0100 Subject: [PATCH 22/24] fix: compare system packs in pipeline step 5 Step 5 built emulator packs one profile at a time, where two profiles never share a path. It now also builds each system pack that gathers several profiles and compares it with verify. The first run found five standalone MSX and ColecoVision packs where verify skipped the data tree of a profile the system filter left without files, and credited msx-emu's copies the pack never wrote. verify now places those trees too: 541 system packs, all equal. --- scripts/pipeline.py | 46 +++++++++++++++++++++++-- scripts/verify.py | 44 ++++++++++++++---------- tests/test_pack_destinations.py | 3 ++ tests/test_system_selection.py | 61 +++++++++++++++++++++++++++++++++ wiki/tools.md | 7 ++-- 5 files changed, 137 insertions(+), 24 deletions(-) diff --git a/scripts/pipeline.py b/scripts/pipeline.py index 93d6e5210..e4300b034 100644 --- a/scripts/pipeline.py +++ b/scripts/pipeline.py @@ -22,7 +22,7 @@ Steps, numbered as the run prints them: 4c --manifest-targets per-target core lists 4d bundled_only.py --strict copies only an emulator install provides 4e generate_games_index.py install/games/: what the games-on-card mode reads - 5 consistency check verify == pack: counts, paths, every emulator pack + 5 consistency check verify == pack: counts, paths, emulator and system packs 6 --verify-packs pack integrity, extraction and hashes 7 generate_readme.py README.md and CONTRIBUTING.md generate_installer_doc.py run samples and tables of wiki/installer.md @@ -518,7 +518,7 @@ def check_emulator_packs( emulators_dir: str = "emulators", platforms_dir: str = "platforms", db_path: str = "database.json", ) -> bool: - """Build every emulator pack in memory and compare it with verify --emulator. + """Build every emulator and system pack in memory and compare it with verify. Each profile in each build it has (libretro, standalone): the paths the pack fills with the profile's files against the ones verify credits. No @@ -528,9 +528,11 @@ def check_emulator_packs( import verify # noqa: PLC0415 from common import ( # noqa: PLC0415 ProfileSelectionError, + _norm_system_id, build_zip_contents_index, load_database, load_emulator_profiles, + profiles_for_systems, select_emulator_profiles, ) @@ -566,7 +568,45 @@ def check_emulator_packs( print("\n".join(lines)) all_ok = False print(f" {compared} emulator packs compared, {'all equal' if all_ok else 'differences above'}") - return all_ok + # A system pack builds every profile of the system together: a placement + # rule that only goes wrong when two profiles share a path (the bluemsx + # tree beside msx-emu's files) never meets in a one-profile pack. + systems = sorted({ + _norm_system_id(str(sid)) + for profile in profiles.values() + if profile.get("type") not in ("launcher", "alias", "test") + for sid in profile.get("systems") or [] + }) + systems_ok = True + compared = 0 + for sid in systems: + for standalone in (False, True): + matching = profiles_for_systems(profiles, [sid], standalone) + if len(matching) < 2: + continue + record = generate_pack.PackRecord() + with contextlib.redirect_stdout(io.StringIO()), \ + contextlib.redirect_stderr(io.StringIO()): + generate_pack.generate_emulator_pack( + matching, emulators_dir, db, "bios", "", standalone, zip_contents, + offline=True, platforms_dir=platforms_dir, record=record, + system_ids=[sid], + ) + report = verify.verify_emulator( + matching, emulators_dir, db, standalone, platforms_dir=platforms_dir, + system_ids=[sid], + ) + compared += 1 + label = f"--system {sid}{' --standalone' if standalone else ''}" + lines = _set_difference_lines( + label, set(report["pack_destinations"]), set(record.files) + ) + if lines: + print("\n".join(lines)) + systems_ok = False + print(f" {compared} system packs compared, " + f"{'all equal' if systems_ok else 'differences above'}") + return all_ok and systems_ok class _Skipped: diff --git a/scripts/verify.py b/scripts/verify.py index 1d9d78d71..f9e47d8c6 100644 --- a/scripts/verify.py +++ b/scripts/verify.py @@ -2116,6 +2116,30 @@ def verify_emulator( return placed[dest.lower()] = (path, owner, dest) _register_path(dest, placed_files, placed_parents) + + def occupy_trees(emu_name: str, profile: dict) -> None: + """The profile's data trees follow its files in the pack, which + writes them even when the system filter leaves it no file: + bluemsx's Machines/ tree holds msx-emu's coleco.rom path in a + --system colecovision pack.""" + for dd in deliverable(profile.get("data_directories", []), standalone): + cache = (data_registry or {}).get(dd.get("ref", ""), {}).get("local_cache", "") + if not cache or not os.path.isdir(cache): + continue + dd_dest = dd.get("destination", "") + structure = profile.get("pack_structure") + prefix = ( + structure.get("standalone" if standalone else "libretro", "") + if structure else "" + ) + if prefix: + dd_dest = f"{prefix}/{dd_dest}" if dd_dest else prefix + for root, _dirs, names in os.walk(cache): + for fname in names: + src = os.path.join(root, fname) + rel = os.path.relpath(src, cache).replace(os.sep, "/") + occupy(f"{dd_dest}/{rel}" if dd_dest else rel, src, emu_name) + for emu_name, profile in sorted(selected): files = expand_agnostic_entries( expand_directory_entries( @@ -2162,6 +2186,7 @@ def verify_emulator( "ground_truth": [], } ) + occupy_trees(emu_name, profile) continue # Verify archives as units (e.g., neogeo.zip, aes.zip) @@ -2424,24 +2449,7 @@ def verify_emulator( ) > _SEVERITY_ORDER.get(prev_sev, 0): file_severity[dest] = sev - # The profile's data trees follow its files in the pack. - for dd in deliverable(profile.get("data_directories", []), standalone): - cache = (data_registry or {}).get(dd.get("ref", ""), {}).get("local_cache", "") - if not cache or not os.path.isdir(cache): - continue - dd_dest = dd.get("destination", "") - structure = profile.get("pack_structure") - prefix = ( - structure.get("standalone" if standalone else "libretro", "") - if structure else "" - ) - if prefix: - dd_dest = f"{prefix}/{dd_dest}" if dd_dest else prefix - for root, _dirs, names in os.walk(cache): - for fname in names: - src = os.path.join(root, fname) - rel = os.path.relpath(src, cache).replace(os.sep, "/") - occupy(f"{dd_dest}/{rel}" if dd_dest else rel, src, emu_name) + occupy_trees(emu_name, profile) counts = { Severity.OK: 0, diff --git a/tests/test_pack_destinations.py b/tests/test_pack_destinations.py index d5bbd80bd..0cbfb8adb 100644 --- a/tests/test_pack_destinations.py +++ b/tests/test_pack_destinations.py @@ -189,6 +189,9 @@ class EveryEmulatorPackMatchesItsReport(unittest.TestCase): finally: os.chdir(previous) self.assertTrue(ok, out.getvalue()) + # Packs of several profiles too: a placement rule that only goes + # wrong when two profiles share a path never meets in one profile. + self.assertIn("system packs compared, all equal", out.getvalue()) if __name__ == "__main__": diff --git a/tests/test_system_selection.py b/tests/test_system_selection.py index 8623c9c08..8ab0fe7cd 100644 --- a/tests/test_system_selection.py +++ b/tests/test_system_selection.py @@ -424,6 +424,67 @@ class ASystemPackHoldsThatSystem(unittest.TestCase): self.assertEqual(report["total_files"], 2) +class ATreeHoldsAPathForAnotherProfile(unittest.TestCase): + """--system colecovision --standalone: bluemsx keeps no file of the + system but its Machines/ tree is packed, and holds msx-emu's coleco.rom + path. verify skipped the tree of a profile left without files and + credited msx-emu's copy the pack never wrote.""" + + def test_report_and_pack_agree(self): + import hashlib + import io + import shutil + from contextlib import redirect_stdout + + import yaml + from verify import verify_emulator + + common._emulator_profiles_cache.clear() + (REPO_ROOT / "tmp").mkdir(exist_ok=True) + root = Path(tempfile.mkdtemp(dir=REPO_ROOT / "tmp")) + self.addCleanup(shutil.rmtree, root, True) + previous = os.getcwd() + os.chdir(root) + self.addCleanup(os.chdir, previous) + data = b"coleco" * 4 + sha1 = hashlib.sha1(data).hexdigest() + rel = "bios/Coleco/ColecoVision/coleco.rom" + Path(rel).parent.mkdir(parents=True) + Path(rel).write_bytes(data) + tree = Path("data/tree/Machines/COL") + tree.mkdir(parents=True) + (tree / "coleco.rom").write_bytes(data) + db = {"files": {sha1: {"path": rel, "name": "coleco.rom", "size": len(data), + "md5": hashlib.md5(data).hexdigest(), "crc32": ""}}, + "indexes": {"by_md5": {}, "by_name": {"coleco.rom": [sha1]}, + "by_crc32": {}, "by_path_suffix": {}}} + Path("platforms").mkdir() + Path("platforms/_data_dirs.yml").write_text(yaml.safe_dump( + {"data_directories": {"tree": {"local_cache": "data/tree"}}})) + Path("emulators").mkdir() + Path("emulators/atree.yml").write_text(yaml.safe_dump({ + "emulator": "ATree", "type": "libretro", "cores": ["atree"], + "systems": ["colecovision", "msx"], + "data_directories": [{"ref": "tree"}], + "files": [{"name": "msx.rom", "system": "msx"}], + })) + Path("emulators/msxemu.yml").write_text(yaml.safe_dump({ + "emulator": "MsxEmu", "type": "libretro", "cores": ["msxemu"], + "systems": ["colecovision"], + "files": [{"name": "coleco.rom", "path": "Machines/COL/coleco.rom"}], + })) + names = ["atree", "msxemu"] + report = verify_emulator(names, "emulators", db, platforms_dir="platforms", + system_ids=["colecovision"]) + record = builder.PackRecord() + with redirect_stdout(io.StringIO()): + builder.generate_emulator_pack( + names, "emulators", db, "bios", "", offline=True, + platforms_dir="platforms", record=record, system_ids=["colecovision"], + ) + self.assertEqual(sorted(report["pack_destinations"]), sorted(record.files)) + + class ListingsKeepTheirColumns(unittest.TestCase): """--list-systems and --list-emulators started their last column at a position that moved with the file count and the profile type.""" diff --git a/wiki/tools.md b/wiki/tools.md index 6cce3c211..f3af3ee55 100644 --- a/wiki/tools.md +++ b/wiki/tools.md @@ -52,7 +52,7 @@ Pipeline steps: | 4c | Generate target manifests | `--skip-packs` | | 4d | Collected copies only an emulator install provides (`bundled_only.py --strict`, gates the run) | - | | 4e | Games index: what the installer reads for the games on a card (`generate_games_index.py`, fails under its coverage floor) | - (reads the committed install lists) | -| 5 | Consistency check: counts, paths per archive, every emulator pack | `--skip-packs`, or no full pack built (`--source platform` or `truth`) | +| 5 | Consistency check: counts, paths per archive, every emulator and system pack | `--skip-packs`, or no full pack built (`--source platform` or `truth`) | | 6 | Pack integrity (extract + hash) | `--skip-packs`, or no full pack built | | 7 | Generate README and CONTRIBUTING, then the installer page's tables and run samples (`generate_installer_doc.py`) | `--skip-docs` | | 8 | Generate site | `--skip-docs` | @@ -91,8 +91,9 @@ alone, run `python scripts/check_buildbot_system.py`. - **verify.py and generate_pack.py read the same functions.** A count or a path that differs between the report and the pack is a defect, which is what step 5 checks: the counts, the paths each archive holds against the - ones verify credits (`--destinations`), and every emulator pack, each - profile in each build, built in memory against `verify --emulator`. + ones verify credits (`--destinations`), every emulator pack, each + profile in each build, built in memory against `verify --emulator`, and + every system pack that gathers several profiles against `verify --system`. Equal counts once hid four RetroArch paths credited and never written. - **Generators write through `write_if_changed()`.** A new timestamp alone rewrites nothing, so a diff on a generated file always means content. From 3011ee498e459d95ad410cbc0676dd88d51912fe Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:54:48 +0100 Subject: [PATCH 23/24] feat: record the build file behind a held pin pin_frozen was prose, and no tool read the build file it cites, so a platform building another revision left the profile holding one nobody ships. pin_build records the platform, its repository, the revision read, the file, the variable and its value. check_freshness reads the file again where the platform's YAML now stands and reports STALE when the value moved. 36 of the 46 held profiles carry it, each value read from the build file at the platform's scraped revision. The other ten name no build file and are counted on one row: six RetroBat binary packages and four holds not tied to a platform build. --- emulators/advanced_drastic.yml | 7 ++ emulators/advmame-1.4.yml | 7 ++ emulators/alephone.yml | 7 ++ emulators/azahar-sdl.yml | 7 ++ emulators/bennugd-monolithic.yml | 7 ++ emulators/bermuda.yml | 7 ++ emulators/ccleste.yml | 7 ++ emulators/chocolate-doom.yml | 7 ++ emulators/daedalusx64.yml | 7 ++ emulators/dsperate.yml | 7 ++ emulators/duckstation-legacy.yml | 7 ++ emulators/eightyone.yml | 7 ++ emulators/exel-hence.yml | 7 ++ emulators/fbalpha2019.yml | 7 ++ emulators/fheroes2.yml | 7 ++ emulators/flycast2021.yml | 7 ++ emulators/flycast2021le.yml | 7 ++ emulators/gsplus-legacy.yml | 7 ++ emulators/hode.yml | 7 ++ emulators/love-0.10.2.yml | 7 ++ emulators/lzdoom.yml | 13 +++ emulators/mame0258.yml | 7 ++ emulators/mame0278.yml | 7 ++ emulators/nanoboyadvance.yml | 7 ++ emulators/piemu.yml | 7 ++ emulators/ppsspp-1.5.4.yml | 7 ++ emulators/rb5000.yml | 7 ++ emulators/reicast.yml | 7 ++ emulators/rigelengine.yml | 7 ++ emulators/supermariowar.yml | 7 ++ emulators/supermodel-legacy.yml | 7 ++ emulators/supersnes9x.yml | 7 ++ emulators/supertux.yml | 7 ++ emulators/supertuxkart.yml | 7 ++ emulators/touchhle.yml | 7 ++ emulators/vice-standalone.yml | 7 ++ schemas/emulator.schema.json | 50 +++++++++++ scripts/check_freshness.py | 112 +++++++++++++++++++++++++ tests/test_doc_pages.py | 2 +- tests/test_pin_build.py | 138 +++++++++++++++++++++++++++++++ wiki/profiling.md | 3 +- wiki/testing-guide.md | 2 +- wiki/tools.md | 10 ++- 43 files changed, 571 insertions(+), 4 deletions(-) create mode 100644 tests/test_pin_build.py diff --git a/emulators/advanced_drastic.yml b/emulators/advanced_drastic.yml index 620b41e0a..019aa9ffa 100644 --- a/emulators/advanced_drastic.yml +++ b/emulators/advanced_drastic.yml @@ -7,6 +7,13 @@ author: "trngaje (hooks), Exophase (DraStic)" profiled_date: "2026-10-22" source_commit: "eaf41ab9bc8adcc15c010bf9517bc94c38e7bffd" pin_frozen: "KNULLI, the only platform that ships it, builds this revision (KNULLI package/emulators/advanced_drastic/advanced_drastic.mk:7 at tag 20260511). Later commits are not part of that build." +pin_build: + - platform: knulli + repo: "https://github.com/knulli-cfw/knulli-linux" + revision: "20260511" + path: "package/emulators/advanced_drastic/advanced_drastic.mk" + variable: ADVANCED_DRASTIC_VERSION + value: "eaf41ab9bc8adcc15c010bf9517bc94c38e7bffd" core_version: "r2.5.2.0" version_basis: kind: file diff --git a/emulators/advmame-1.4.yml b/emulators/advmame-1.4.yml index 490b994d7..db2d0f0d5 100644 --- a/emulators/advmame-1.4.yml +++ b/emulators/advmame-1.4.yml @@ -6,6 +6,13 @@ upstream: "https://www.mamedev.org" profiled_date: "2026-10-20" source_commit: "237ca5c898e51e1b7a70ce52bccf008aa722e924" pin_frozen: "RetroPie builds the advancemame-1.4 release tarball, whose src/ tree is this tag. Later commits are not part of that build." +pin_build: + - platform: retropie + repo: "https://github.com/RetroPie/RetroPie-Setup" + revision: "46128cd252cdecae852a4d0bafa2aaf9d03ab563" + path: "scriptmodules/emulators/advmame-1.4.sh" + variable: rp_module_repo + value: "file $__archive_url/advancemame-1.4.tar.gz" core_version: "advancemame-1.4" version_basis: kind: tag diff --git a/emulators/alephone.yml b/emulators/alephone.yml index d0dfaf1a6..6607f45e9 100644 --- a/emulators/alephone.yml +++ b/emulators/alephone.yml @@ -6,6 +6,13 @@ upstream: "https://github.com/Aleph-One-Marathon/alephone" profiled_date: "2026-10-20" source_commit: "07a9c36aff403d143a0608815f725631a01e382c" pin_frozen: "RetroPie, the only platform that ships it, builds the release-20250829 tag at this commit (scriptmodules/ports/alephone.sh, _get_branch_alephone). Debian 10 and older get release-20250302." +pin_build: + - platform: retropie + repo: "https://github.com/RetroPie/RetroPie-Setup" + revision: "46128cd252cdecae852a4d0bafa2aaf9d03ab563" + path: "scriptmodules/ports/alephone.sh" + variable: version + value: "20250829" core_version: "release-20250829" version_basis: kind: tag diff --git a/emulators/azahar-sdl.yml b/emulators/azahar-sdl.yml index 126f775b3..0673125c2 100644 --- a/emulators/azahar-sdl.yml +++ b/emulators/azahar-sdl.yml @@ -5,6 +5,13 @@ source: "https://github.com/johndoe6345789/azahar_libretro" profiled_date: "2026-10-22" source_commit: "c8d39853c1ebacc5657e51d601713a09404ca8a7" pin_frozen: "KNULLI, the only platform that ships it, builds this revision (KNULLI package/emulators/azahar/azahar.mk:7 at tag 20260511). Later commits are not part of that build." +pin_build: + - platform: knulli + repo: "https://github.com/knulli-cfw/knulli-linux" + revision: "20260511" + path: "package/emulators/azahar/azahar.mk" + variable: AZAHAR_VERSION + value: "c8d39853c1ebacc5657e51d601713a09404ca8a7" core_version: "2122-rc1-178-gc8d3985" version_basis: kind: tag diff --git a/emulators/bennugd-monolithic.yml b/emulators/bennugd-monolithic.yml index 6f4e2a688..a3c6f490b 100644 --- a/emulators/bennugd-monolithic.yml +++ b/emulators/bennugd-monolithic.yml @@ -5,6 +5,13 @@ source: "https://github.com/christianhaitian/bennugd-monolithic" profiled_date: "2026-10-22" source_commit: "60ee3389efcf9b402d66035e87f33d17d70cbd83" pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/bennugd-monolithic/package.mk:5 at v4.8). Later commits are not part of that build." +pin_build: + - platform: emuelec + repo: "https://github.com/EmuELEC/EmuELEC" + revision: "v4.8" + path: "packages/sx05re/emuelec-ports/bennugd-monolithic/package.mk" + variable: PKG_VERSION + value: "60ee3389efcf9b402d66035e87f33d17d70cbd83" core_version: "1.0.0" version_basis: kind: file diff --git a/emulators/bermuda.yml b/emulators/bermuda.yml index 130dc2538..b2354f468 100644 --- a/emulators/bermuda.yml +++ b/emulators/bermuda.yml @@ -5,6 +5,13 @@ source: "https://github.com/cyxx/bermuda" profiled_date: "2026-10-22" source_commit: "cf6bdb68d53a1618967da565a44c931b15daf791" pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/bermuda/package.mk:5 at v4.8). Later commits are not part of that build." +pin_build: + - platform: emuelec + repo: "https://github.com/EmuELEC/EmuELEC" + revision: "v4.8" + path: "packages/sx05re/emuelec-ports/bermuda/package.mk" + variable: PKG_VERSION + value: "cf6bdb68d53a1618967da565a44c931b15daf791" core_version: "0.1.7" version_basis: kind: file diff --git a/emulators/ccleste.yml b/emulators/ccleste.yml index d2848132d..351257b8f 100644 --- a/emulators/ccleste.yml +++ b/emulators/ccleste.yml @@ -5,6 +5,13 @@ source: "https://github.com/lemon32767/ccleste" profiled_date: "2026-10-22" source_commit: "261d96f15af430b8111abc7a5250229246654f52" pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/ccleste/package.mk:5 at v4.8). Later commits are not part of that build." +pin_build: + - platform: emuelec + repo: "https://github.com/EmuELEC/EmuELEC" + revision: "v4.8" + path: "packages/sx05re/emuelec-ports/ccleste/package.mk" + variable: PKG_VERSION + value: "261d96f15af430b8111abc7a5250229246654f52" core_version: "v1.4.0" version_basis: kind: tag diff --git a/emulators/chocolate-doom.yml b/emulators/chocolate-doom.yml index b3f416c2e..5fffc5fad 100644 --- a/emulators/chocolate-doom.yml +++ b/emulators/chocolate-doom.yml @@ -5,6 +5,13 @@ source: "https://github.com/chocolate-doom/chocolate-doom" profiled_date: "2026-10-22" source_commit: "72d9e9318c4ccc61dab29bb9cc30bc8a9a93266d" pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/chocolate-doom/package.mk:5). Later commits are not part of that build." +pin_build: + - platform: emuelec + repo: "https://github.com/EmuELEC/EmuELEC" + revision: "v4.8" + path: "packages/sx05re/emuelec-ports/chocolate-doom/package.mk" + variable: PKG_VERSION + value: "72d9e9318c4ccc61dab29bb9cc30bc8a9a93266d" core_version: "3.0.0" version_basis: kind: file diff --git a/emulators/daedalusx64.yml b/emulators/daedalusx64.yml index 526976ff1..9fa26a8ae 100644 --- a/emulators/daedalusx64.yml +++ b/emulators/daedalusx64.yml @@ -5,6 +5,13 @@ source: "https://github.com/DaedalusX64/daedalus" profiled_date: "2026-10-17" source_commit: "f17e9ed86f3806fadeb69abd29c9526ab2d4bd1b" pin_frozen: "ROCKNIX 20261001 builds this revision. Later upstream commits are not part of that build." +pin_build: + - platform: rocknix + repo: "https://github.com/ROCKNIX/distribution" + revision: "20261001" + path: "projects/ROCKNIX/packages/emulators/standalone/daedalusx64-sa/package.mk" + variable: PKG_VERSION + value: "f17e9ed86f3806fadeb69abd29c9526ab2d4bd1b" core_version: "1.1.8-837-gf17e9ed" version_basis: kind: tag diff --git a/emulators/dsperate.yml b/emulators/dsperate.yml index 9058a2dfa..f83d6f795 100644 --- a/emulators/dsperate.yml +++ b/emulators/dsperate.yml @@ -5,6 +5,13 @@ source: "https://github.com/beebono/DSperate" profiled_date: "2026-10-17" source_commit: "81b73832c2e68e2b10cb5850f0a6d393ffc6fbb7" pin_frozen: "ROCKNIX 20261001 ships the v2.0.1 release binaries, built by CI from the v2.0.1 tag at this commit." +pin_build: + - platform: rocknix + repo: "https://github.com/ROCKNIX/distribution" + revision: "20261001" + path: "projects/ROCKNIX/packages/emulators/standalone/dsperate-sa/package.mk" + variable: PKG_VERSION + value: "2.0.1" core_version: "v2.0.1" version_basis: kind: tag diff --git a/emulators/duckstation-legacy.yml b/emulators/duckstation-legacy.yml index 35e5bf244..6c346f7f4 100644 --- a/emulators/duckstation-legacy.yml +++ b/emulators/duckstation-legacy.yml @@ -5,6 +5,13 @@ source: "https://github.com/stenzek/duckstation" profiled_date: "2026-10-22" source_commit: "56ac3d6c324ec4520dac433b071ecab6227fb459" pin_frozen: "Batocera builds this revision of 4 August 2023 as duckstation-legacy, its package marked not to be bumped, and KNULLI ships the same package." +pin_build: + - platform: batocera + repo: "https://github.com/batocera-linux/batocera.linux" + revision: "batocera-43.1" + path: "package/batocera/emulators/duckstation-legacy/duckstation-legacy.mk" + variable: DUCKSTATION_LEGACY_VERSION + value: "56ac3d6c324ec4520dac433b071ecab6227fb459" core_version: "0.1-5612-g56ac3d6" version_basis: kind: tag diff --git a/emulators/eightyone.yml b/emulators/eightyone.yml index bd2c20de4..33b94a5e9 100644 --- a/emulators/eightyone.yml +++ b/emulators/eightyone.yml @@ -11,6 +11,13 @@ version_basis: tag: "v1.2" distance: 0 pin_frozen: "Recalbox, the only platform that ships this core, builds its tag v1.2 (Recalbox package/libretro-eightyone/libretro-eightyone.mk:8 at tag 10.1.1)." +pin_build: + - platform: recalbox + repo: "https://gitlab.com/recalbox/recalbox" + revision: "10.1.1" + path: "package/libretro-eightyone/libretro-eightyone.mk" + variable: LIBRETRO_EIGHTYONE_VERSION + value: "v1.2" display_name: "Sinclair - ZX81 / ZX Spectrum (EightyOne, Recalbox)" cores: ["eightyone"] built_by: [recalbox] diff --git a/emulators/exel-hence.yml b/emulators/exel-hence.yml index 84da03588..0539428f6 100644 --- a/emulators/exel-hence.yml +++ b/emulators/exel-hence.yml @@ -11,6 +11,13 @@ version_basis: tag: "v0.9" distance: 0 pin_frozen: "Recalbox, the only platform that ships this core, builds its tag v0.9 (Recalbox package/libretro-exel-hence/libretro-exel-hence.mk:9 at tag 10.1.1)." +pin_build: + - platform: recalbox + repo: "https://gitlab.com/recalbox/recalbox" + revision: "10.1.1" + path: "package/libretro-exel-hence/libretro-exel-hence.mk" + variable: LIBRETRO_EXEL_HENCE_VERSION + value: "v0.9" display_name: "Exelvision - EXL 100 (Exel-Hence)" cores: - "exel-hence" diff --git a/emulators/fbalpha2019.yml b/emulators/fbalpha2019.yml index dc2100223..51d16bf37 100644 --- a/emulators/fbalpha2019.yml +++ b/emulators/fbalpha2019.yml @@ -7,6 +7,13 @@ profiled_date: "2026-10-17" source_commit: "0581797db6fdffd826086b053ced4b6b29bb6678" upstream_commit: "416948158d88ba17f87813419ddc3c1209ef68c0" pin_frozen: "ROCKNIX 20261001 builds this revision as fbalpha2019. Later commits on libretro/fbalpha are not part of that build." +pin_build: + - platform: rocknix + repo: "https://github.com/ROCKNIX/distribution" + revision: "20261001" + path: "projects/ROCKNIX/packages/emulators/libretro/fbalpha2019-lr/package.mk" + variable: PKG_VERSION + value: "0581797db6fdffd826086b053ced4b6b29bb6678" core_version: "v0.2.97.44" version_basis: kind: file diff --git a/emulators/fheroes2.yml b/emulators/fheroes2.yml index 75f787a71..da3a3ff72 100644 --- a/emulators/fheroes2.yml +++ b/emulators/fheroes2.yml @@ -5,6 +5,13 @@ source: "https://github.com/ihhub/fheroes2" profiled_date: "2026-10-22" source_commit: "35ca4c915be00098547d5050412a325dd55cfd7f" pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/fheroes2/package.mk:5). Later commits are not part of that build." +pin_build: + - platform: emuelec + repo: "https://github.com/EmuELEC/EmuELEC" + revision: "v4.8" + path: "packages/sx05re/emuelec-ports/fheroes2/package.mk" + variable: PKG_VERSION + value: "35ca4c915be00098547d5050412a325dd55cfd7f" core_version: "1.0.11" version_basis: kind: file diff --git a/emulators/flycast2021.yml b/emulators/flycast2021.yml index 7f6257b87..33b357aad 100644 --- a/emulators/flycast2021.yml +++ b/emulators/flycast2021.yml @@ -7,6 +7,13 @@ profiled_date: "2026-10-17" source_commit: "603814c9f73b773c455d9a497f389d2f93a257fd" upstream_commit: "4c293f306bc16a265c2d768af5d0cea138426054" pin_frozen: "ROCKNIX 20261001 builds this revision. No branch of metallic77/flycast holds it any more: master was put back on the libretro merge base 4c293f30, so HEAD is the code before the fork's own commits." +pin_build: + - platform: rocknix + repo: "https://github.com/ROCKNIX/distribution" + revision: "20261001" + path: "projects/ROCKNIX/packages/emulators/libretro/flycast2021-lr/package.mk" + variable: PKG_VERSION + value: "603814c9f73b773c455d9a497f389d2f93a257fd" core_version: "0.1" version_basis: kind: file diff --git a/emulators/flycast2021le.yml b/emulators/flycast2021le.yml index e66242c0f..2ced2bd01 100644 --- a/emulators/flycast2021le.yml +++ b/emulators/flycast2021le.yml @@ -7,6 +7,13 @@ profiled_date: "2026-10-22" source_commit: "bf93aece5db7050667075a1107ab380856b44a23" upstream_commit: "4c293f306bc16a265c2d768af5d0cea138426054" pin_frozen: "AmberELEC, the only platform that ships it, builds this revision (AmberELEC packages/games/libretro/flycast2021le/package.mk:5). Later commits are not part of that build." +pin_build: + - platform: amberelec + repo: "https://github.com/AmberELEC/AmberELEC" + revision: "a21975bfb1a3af68f66e07a931b994b523e1e6e2" + path: "packages/games/libretro/flycast2021le/package.mk" + variable: PKG_VERSION + value: "bf93aece5db7050667075a1107ab380856b44a23" core_version: "0.1" version_basis: kind: file diff --git a/emulators/gsplus-legacy.yml b/emulators/gsplus-legacy.yml index f63659cd7..dc3c8a6cd 100644 --- a/emulators/gsplus-legacy.yml +++ b/emulators/gsplus-legacy.yml @@ -7,6 +7,13 @@ source: "https://github.com/digarok/gsplus-legacy-archive" profiled_date: "2026-10-20" source_commit: "480572054518112647c8fae5d7ea7046a6d6ecfb" pin_frozen: "Recalbox builds this commit (Recalbox package/gsplus/gsplus.mk:8-9 at tag 10.1.1). Batocera builds the applemu fork and RetroBat its release build, as the notes say." +pin_build: + - platform: recalbox + repo: "https://gitlab.com/recalbox/recalbox" + revision: "10.1.1" + path: "package/gsplus/gsplus.mk" + variable: GSPLUS_VERSION + value: "480572054518112647c8fae5d7ea7046a6d6ecfb" core_version: "0.14" version_basis: kind: file diff --git a/emulators/hode.yml b/emulators/hode.yml index 88c659e9e..a8d1ec333 100644 --- a/emulators/hode.yml +++ b/emulators/hode.yml @@ -5,6 +5,13 @@ source: "https://github.com/usineur/hode" profiled_date: "2026-10-22" source_commit: "59f3c466923c6b8d49e29176ff697a91165e7efc" pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/hodesdl/package.mk:6 at v4.8). Later commits are not part of that build." +pin_build: + - platform: emuelec + repo: "https://github.com/EmuELEC/EmuELEC" + revision: "v4.8" + path: "packages/sx05re/emuelec-ports/hodesdl/package.mk" + variable: PKG_VERSION + value: "59f3c466923c6b8d49e29176ff697a91165e7efc" core_version: "0.2.9f" version_basis: kind: file diff --git a/emulators/love-0.10.2.yml b/emulators/love-0.10.2.yml index ca41ff412..9fc298b50 100644 --- a/emulators/love-0.10.2.yml +++ b/emulators/love-0.10.2.yml @@ -6,6 +6,13 @@ upstream: "https://github.com/love2d/love" profiled_date: "2026-10-20" source_commit: "9e139779956ddba89333eece8104bd7b1b4ff2e7" pin_frozen: "RetroPie, the only platform that ships it, builds the 0.10.2 tag at this commit (RetroPie scriptmodules/ports/love-0.10.2.sh:16). Later releases are packaged separately as love." +pin_build: + - platform: retropie + repo: "https://github.com/RetroPie/RetroPie-Setup" + revision: "46128cd252cdecae852a4d0bafa2aaf9d03ab563" + path: "scriptmodules/ports/love-0.10.2.sh" + variable: rp_module_repo + value: "git https://github.com/love2d/love 0.10.2" core_version: "0.10.2" version_basis: kind: tag diff --git a/emulators/lzdoom.yml b/emulators/lzdoom.yml index 8ca3a0e57..0aa911f89 100644 --- a/emulators/lzdoom.yml +++ b/emulators/lzdoom.yml @@ -5,6 +5,19 @@ source: "https://github.com/drfrag666/lzdoom" profiled_date: "2026-10-20" source_commit: "4ce19a12164ebd6802b7fb2f94d700a6e736d0fb" pin_frozen: "The platforms that ship it run the 3.88 line: RetroPie builds tag 3.88b (RetroPie scriptmodules/ports/lzdoom.sh:15) and AmberELEC a fork of the g3.3mgw branch that still reports 3.88b (AmberELEC packages/games/emulators/lzdoom/package.mk:5). The l4.x releases are a GZDoom 4 based line that no platform ships." +pin_build: + - platform: retropie + repo: "https://github.com/RetroPie/RetroPie-Setup" + revision: "46128cd252cdecae852a4d0bafa2aaf9d03ab563" + path: "scriptmodules/ports/lzdoom.sh" + variable: rp_module_repo + value: "git https://github.com/drfrag666/gzdoom 3.88b" + - platform: amberelec + repo: "https://github.com/AmberELEC/AmberELEC" + revision: "a21975bfb1a3af68f66e07a931b994b523e1e6e2" + path: "packages/games/emulators/lzdoom/package.mk" + variable: PKG_VERSION + value: "8e12e62164ea1ba52625c63bc0f1c9e0076bff4c" core_version: "3.88b" version_basis: kind: tag diff --git a/emulators/mame0258.yml b/emulators/mame0258.yml index 76bc45c4f..3df4ed857 100644 --- a/emulators/mame0258.yml +++ b/emulators/mame0258.yml @@ -7,6 +7,13 @@ profiled_date: '2026-10-22' source_commit: dc1a96537089d6d4ecd01d9886b21061471c70c0 upstream_commit: 2e0aa823508663c4a27164be43467d1ef740cdcd pin_frozen: 'Recalbox, the only platform that ships it, builds this revision (Recalbox package/libretro-mame0258/libretro-mame0258.mk:8 at tag 10.1.1). Later commits are not part of that build.' +pin_build: + - platform: recalbox + repo: "https://gitlab.com/recalbox/recalbox" + revision: "10.1.1" + path: "package/libretro-mame0258/libretro-mame0258.mk" + variable: LIBRETRO_MAME0258_VERSION + value: "dc1a96537089d6d4ecd01d9886b21061471c70c0" core_version: "0.258" version_basis: kind: file diff --git a/emulators/mame0278.yml b/emulators/mame0278.yml index 8ba5f4673..f37e94c1f 100644 --- a/emulators/mame0278.yml +++ b/emulators/mame0278.yml @@ -7,6 +7,13 @@ profiled_date: '2026-10-22' source_commit: fba50741006fa3e27e1897f589d2048a505b8fd6 upstream_commit: eb05584a2b8d98d5af5587244c9cb7dcccf660fd pin_frozen: 'Recalbox, the only platform that ships it, builds this revision (Recalbox package/libretro-mame0278/libretro-mame0278.mk:8 at tag 10.1.1). Later commits are not part of that build.' +pin_build: + - platform: recalbox + repo: "https://gitlab.com/recalbox/recalbox" + revision: "10.1.1" + path: "package/libretro-mame0278/libretro-mame0278.mk" + variable: LIBRETRO_MAME0278_VERSION + value: "fba50741006fa3e27e1897f589d2048a505b8fd6" core_version: "0.278" version_basis: kind: file diff --git a/emulators/nanoboyadvance.yml b/emulators/nanoboyadvance.yml index bbd61b392..0e113e0f4 100644 --- a/emulators/nanoboyadvance.yml +++ b/emulators/nanoboyadvance.yml @@ -5,6 +5,13 @@ source: "https://github.com/nba-emu/NanoBoyAdvance" profiled_date: "2026-10-17" source_commit: "3bb6f478f977dbfd3106508536e5fbce90d1898b" pin_frozen: "ROCKNIX 20261001 builds this revision of the SDL2 frontend (v1.6 plus four commits). Later upstream work is not part of that build." +pin_build: + - platform: rocknix + repo: "https://github.com/ROCKNIX/distribution" + revision: "20261001" + path: "projects/ROCKNIX/packages/emulators/standalone/nanoboyadvance-sa/package.mk" + variable: PKG_VERSION + value: "3bb6f478f977dbfd3106508536e5fbce90d1898b" core_version: "v1.6-4-g3bb6f47" version_basis: kind: tag diff --git a/emulators/piemu.yml b/emulators/piemu.yml index f0b5bdef3..12e1ec8b4 100644 --- a/emulators/piemu.yml +++ b/emulators/piemu.yml @@ -7,6 +7,13 @@ profiled_date: "2026-10-22" source_commit: "0785214f13746bdfd709b1909f007e213b470ba1" upstream_commit: "23208626e16e53b73fd21a2fbd0c429338625dc4" pin_frozen: "AmberELEC, the only platform that ships it, builds this revision (AmberELEC packages/games/emulators/piemu/package.mk:5). Later commits are not part of that build." +pin_build: + - platform: amberelec + repo: "https://github.com/AmberELEC/AmberELEC" + revision: "a21975bfb1a3af68f66e07a931b994b523e1e6e2" + path: "packages/games/emulators/piemu/package.mk" + variable: PKG_VERSION + value: "0785214f13746bdfd709b1909f007e213b470ba1" core_version: "20030430" version_basis: kind: file diff --git a/emulators/ppsspp-1.5.4.yml b/emulators/ppsspp-1.5.4.yml index 1ba7ad930..d5f8a3d16 100644 --- a/emulators/ppsspp-1.5.4.yml +++ b/emulators/ppsspp-1.5.4.yml @@ -5,6 +5,13 @@ source: "https://github.com/hrydgard/ppsspp" profiled_date: "2026-10-20" source_commit: "a1e74d0d4f89ba3fa2d4fe64bac7a0fa16fc146f" pin_frozen: "RetroPie, the only platform that ships it, builds the v1.5.4 tag at this commit (RetroPie scriptmodules/emulators/ppsspp-1.5.4.sh:16). Later releases are packaged separately as ppsspp." +pin_build: + - platform: retropie + repo: "https://github.com/RetroPie/RetroPie-Setup" + revision: "46128cd252cdecae852a4d0bafa2aaf9d03ab563" + path: "scriptmodules/emulators/ppsspp-1.5.4.sh" + variable: rp_module_repo + value: "git https://github.com/hrydgard/ppsspp.git v1.5.4" core_version: "v1.5.4" version_basis: kind: tag diff --git a/emulators/rb5000.yml b/emulators/rb5000.yml index 01d9064db..637766890 100644 --- a/emulators/rb5000.yml +++ b/emulators/rb5000.yml @@ -10,6 +10,13 @@ source_commit: standalone: "8c75a4b48a5222b0332d0508600f8ddc7ac1191c" libretro: "7464996aa0cb1be77abf495dc901117e1af36e02" pin_frozen: "Recalbox, the only platform that ships the standalone build, builds its tag v1.1 at this standalone revision (Recalbox package/rb5000/rb5000.mk:7). Later commits are not part of that build. The libretro pin is the HEAD of libretro-rb5000." +pin_build: + - platform: recalbox + repo: "https://gitlab.com/recalbox/recalbox" + revision: "10.1.1" + path: "package/rb5000/rb5000.mk" + variable: RB5000_VERSION + value: "v1.1" core_version: standalone: "v1.1" libretro: "v0.9" diff --git a/emulators/reicast.yml b/emulators/reicast.yml index 975bcfa4c..eb7784e7e 100644 --- a/emulators/reicast.yml +++ b/emulators/reicast.yml @@ -6,6 +6,13 @@ upstream: "https://github.com/skmp/reicast-emulator" profiled_date: "2026-10-17" source_commit: "ad61f95dd6b4c6218846a25de6194550311a5d28" pin_frozen: "Recalbox 10.1.1 builds this revision (package/reicast/reicast.mk REICAST_VERSION). Later commits on reicast-emulator are not part of that build." +pin_build: + - platform: recalbox + repo: "https://gitlab.com/recalbox/recalbox" + revision: "10.1.1" + path: "package/reicast/reicast.mk" + variable: REICAST_VERSION + value: "ad61f95dd6b4c6218846a25de6194550311a5d28" core_version: "r8.1-243-gad61f95" version_basis: kind: tag diff --git a/emulators/rigelengine.yml b/emulators/rigelengine.yml index 002d4996e..1e6996c25 100644 --- a/emulators/rigelengine.yml +++ b/emulators/rigelengine.yml @@ -6,6 +6,13 @@ upstream: "https://github.com/lethal-guitar/RigelEngine" profiled_date: "2026-10-22" source_commit: "f05996f9b3ad3b3ea5bb818e49e7977636746343" pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/rigelengine/package.mk:5 at v4.8). Later commits are not part of that build." +pin_build: + - platform: emuelec + repo: "https://github.com/EmuELEC/EmuELEC" + revision: "v4.8" + path: "packages/sx05re/emuelec-ports/rigelengine/package.mk" + variable: PKG_VERSION + value: "f05996f9b3ad3b3ea5bb818e49e7977636746343" core_version: "0.9.1" version_basis: kind: file diff --git a/emulators/supermariowar.yml b/emulators/supermariowar.yml index d2ce65c99..6f3d87b05 100644 --- a/emulators/supermariowar.yml +++ b/emulators/supermariowar.yml @@ -5,6 +5,13 @@ source: "https://github.com/mmatyas/supermariowar" profiled_date: "2026-10-22" source_commit: "ed60ed45e296ff88a8883cbc51f5bf5aed880636" pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/supermariowar/package.mk:5). Later commits are not part of that build." +pin_build: + - platform: emuelec + repo: "https://github.com/EmuELEC/EmuELEC" + revision: "v4.8" + path: "packages/sx05re/emuelec-ports/supermariowar/package.mk" + variable: PKG_VERSION + value: "ed60ed45e296ff88a8883cbc51f5bf5aed880636" core_version: "2.0.0" version_basis: kind: file diff --git a/emulators/supermodel-legacy.yml b/emulators/supermodel-legacy.yml index a501a3883..ea183429c 100644 --- a/emulators/supermodel-legacy.yml +++ b/emulators/supermodel-legacy.yml @@ -6,6 +6,13 @@ upstream: "https://github.com/trzy/Supermodel" profiled_date: "2026-10-17" source_commit: "0eef09ba2b74e48fd5cfd388ee69a3743fd5f618" pin_frozen: "Batocera's supermodel-legacy package builds this revision, held before the renderer moved to OpenGL 4.1. Recaling would repoint these refs at code this build never had." +pin_build: + - platform: batocera + repo: "https://github.com/batocera-linux/batocera.linux" + revision: "batocera-43.1" + path: "package/batocera/emulators/supermodel-legacy/supermodel-legacy.mk" + variable: SUPERMODEL_LEGACY_VERSION + value: "0eef09ba2b74e48fd5cfd388ee69a3743fd5f618" core_version: "0.3a-WIP" version_basis: kind: file diff --git a/emulators/supersnes9x.yml b/emulators/supersnes9x.yml index bb8966d61..d6f387124 100644 --- a/emulators/supersnes9x.yml +++ b/emulators/supersnes9x.yml @@ -6,6 +6,13 @@ upstream: "https://github.com/snes9xgit/snes9x" profiled_date: "2026-10-17" source_commit: "691e47b40fb38fa522a5471462344a2f0206b7a8" pin_frozen: "ROCKNIX 20261001 builds this revision. Later commits on shanytc/snes9x rework the Super Famicom Box loader and are not part of that build." +pin_build: + - platform: rocknix + repo: "https://github.com/ROCKNIX/distribution" + revision: "20261001" + path: "projects/ROCKNIX/packages/emulators/libretro/supersnes9x-lr/package.mk" + variable: PKG_VERSION + value: "691e47b40fb38fa522a5471462344a2f0206b7a8" core_version: "1.63.29" version_basis: kind: file diff --git a/emulators/supertux.yml b/emulators/supertux.yml index c05f1b9d6..5b086f101 100644 --- a/emulators/supertux.yml +++ b/emulators/supertux.yml @@ -5,6 +5,13 @@ source: "https://github.com/SuperTux/supertux" profiled_date: "2026-10-22" source_commit: "37cddf24a4abfdec7931a84afd9e87fb8ea18767" pin_frozen: "EmuELEC, the only platform that ships it, builds this revision, v0.6.3 (EmuELEC packages/sx05re/emuelec-ports/supertux/package.mk:5). Later commits are not part of that build." +pin_build: + - platform: emuelec + repo: "https://github.com/EmuELEC/EmuELEC" + revision: "v4.8" + path: "packages/sx05re/emuelec-ports/supertux/package.mk" + variable: PKG_VERSION + value: "37cddf24a4abfdec7931a84afd9e87fb8ea18767" core_version: "v0.6.3-1020-g37cddf2" version_basis: kind: tag diff --git a/emulators/supertuxkart.yml b/emulators/supertuxkart.yml index 9fe306c0f..f2d9f99b5 100644 --- a/emulators/supertuxkart.yml +++ b/emulators/supertuxkart.yml @@ -5,6 +5,13 @@ source: "https://github.com/supertuxkart/stk-code" profiled_date: "2026-10-22" source_commit: "fab79150111944c9e33396db68eb5de84f2efeaa" pin_frozen: "EmuELEC, the only platform that ships it, builds this revision (EmuELEC packages/sx05re/emuelec-ports/supertuxkart/package.mk:5). Later commits are not part of that build." +pin_build: + - platform: emuelec + repo: "https://github.com/EmuELEC/EmuELEC" + revision: "v4.8" + path: "packages/sx05re/emuelec-ports/supertuxkart/package.mk" + variable: PKG_VERSION + value: "fab79150111944c9e33396db68eb5de84f2efeaa" core_version: "preview-582-gfab7915" version_basis: kind: tag diff --git a/emulators/touchhle.yml b/emulators/touchhle.yml index d588e5190..442667f59 100644 --- a/emulators/touchhle.yml +++ b/emulators/touchhle.yml @@ -5,6 +5,13 @@ source: "https://github.com/touchHLE/touchHLE" profiled_date: "2026-10-17" source_commit: "3c5850585ba55615b17a58c58331b6d6f52d4a9d" pin_frozen: "ROCKNIX 20261001 builds this revision. Later upstream commits are not part of that build." +pin_build: + - platform: rocknix + repo: "https://github.com/ROCKNIX/distribution" + revision: "20261001" + path: "projects/ROCKNIX/packages/emulators/standalone/touchhle-sa/package.mk" + variable: PKG_VERSION + value: "3c5850585ba55615b17a58c58331b6d6f52d4a9d" core_version: "0.2.3" version_basis: kind: file diff --git a/emulators/vice-standalone.yml b/emulators/vice-standalone.yml index 612ac8f1f..c4a61a000 100644 --- a/emulators/vice-standalone.yml +++ b/emulators/vice-standalone.yml @@ -7,6 +7,13 @@ logo: "https://raw.githubusercontent.com/VICE-Team/svn-mirror/main/vice/data/com profiled_date: "2026-10-24" source_commit: "81546e60c222fe4aef750b890b0dbe3a5ac280d8" pin_frozen: "ROCKNIX, the only platform that ships it, builds this revision (ROCKNIX projects/ROCKNIX/packages/emulators/standalone/vice-sa/package.mk:5). Later commits are not part of that build." +pin_build: + - platform: rocknix + repo: "https://github.com/ROCKNIX/distribution" + revision: "20261001" + path: "projects/ROCKNIX/packages/emulators/standalone/vice-sa/package.mk" + variable: PKG_VERSION + value: "3.8" core_version: "3.8" version_basis: kind: file diff --git a/schemas/emulator.schema.json b/schemas/emulator.schema.json index 661ec316b..9ca4a8418 100644 --- a/schemas/emulator.schema.json +++ b/schemas/emulator.schema.json @@ -10,6 +10,19 @@ "type" ], "allOf": [ + { + "comment": "A build reference documents why a pin is held: it never stands without the pin_frozen that says so.", + "if": { + "required": [ + "pin_build" + ] + }, + "then": { + "required": [ + "pin_frozen" + ] + } + }, { "comment": "An alias profile points at another profile and carries no files of its own.", "if": { @@ -991,6 +1004,43 @@ "type": "string", "description": "Why source_commit is held on purpose rather than followed. The profile is then judged against its own revision, like one pinned to a superseded tag: comparing it to HEAD says nothing and recaling would repoint its refs at code the build it documents never had." }, + "pin_build": { + "type": "array", + "minItems": 1, + "description": "The build file each platform that ships a pin_frozen build reads its revision from, so check_freshness can read it again where the platform's YAML now stands and say when the platform builds another revision.", + "items": { + "type": "object", + "additionalProperties": false, + "required": ["platform", "repo", "revision", "path", "variable", "value"], + "properties": { + "platform": { + "type": "string", + "description": "Registry slug of the platform (platforms/.yml)." + }, + "repo": { + "type": "string", + "format": "uri", + "description": "The platform's own repository, the one its YAML is scraped from." + }, + "revision": { + "type": "string", + "description": "Tag or commit of that repository the build file was read at." + }, + "path": { + "type": "string", + "description": "The build file, from the repository root (package.mk, a Buildroot .mk, a RetroPie scriptmodule)." + }, + "variable": { + "type": "string", + "description": "The variable the file sets to the revision it builds (PKG_VERSION, _VERSION, rp_module_repo)." + }, + "value": { + "type": "string", + "description": "What the variable held at revision, quotes and trailing comment removed." + } + } + } + }, "pin_follows": { "type": "string", "description": "Why source_commit follows the branch tip although a single platform ships the profile: that platform builds the tip, cited by its build file. Without it or pin_frozen, a bump refuses a profile one platform ships." diff --git a/scripts/check_freshness.py b/scripts/check_freshness.py index c90ec334c..fac97bc71 100644 --- a/scripts/check_freshness.py +++ b/scripts/check_freshness.py @@ -1461,6 +1461,117 @@ def check_source_paths(profiles: dict) -> Finding: ) +def build_variable(lines: list[str], variable: str) -> str | None: + """The value the first assignment to ``variable`` gives in a build file. + + Read as a Buildroot .mk (`X_VERSION = sha`), a LibreELEC package.mk + (`PKG_VERSION="sha"`) or a RetroPie scriptmodule (`rp_module_repo="git + URL tag"`, `local version="20250829"`): quotes and a trailing comment go, + the rest is compared as written. + """ + assignment = re.compile( + rf"^\s*(?:local\s+|export\s+)?{re.escape(variable)}\s*[:?+]?=\s*(.*)$" + ) + for line in lines: + match = assignment.match(line) + if not match: + continue + value = match.group(1).strip() + if value[:1] in "\"'": + end = value.find(value[0], 1) + return value[1:end] if end > 0 else value[1:] + return value.split(" #", 1)[0].strip() + return None + + +def pin_build_revision(reference: dict, platforms_dir: Path) -> str: + """The revision of the platform repository its YAML was last scraped at, + '' when the platform is not registered or reads another repository.""" + path = platforms_dir / f"{reference.get('platform', '')}.yml" + repo = upstream.parse_repo(str(reference.get("repo") or "")) + if repo is None or not path.is_file(): + return "" + with path.open(encoding="utf-8") as fh: + source = str((yaml_load(fh) or {}).get("source") or "") + if f"/{repo.slug.lower()}/" not in source.lower() + "/": + return "" + return export_native.source_revision(source) + + +def check_pin_builds( + profiles: dict, platforms_dir: Path, cache_dir: str, offline: bool, +) -> list[Finding]: + """Each `pin_build:` read again where the platform now stands. + + A pin_frozen pin is held because one platform builds that revision, and + nothing read the build file again: Recalbox moving mame0278 to another + commit left the profile describing a build no platform ships. The file + is read at the revision the platform's own YAML was scraped at, or at + the repository's branch head for a platform this repository does not + scrape, and its variable compared with the value the profile recorded. + """ + findings: list[Finding] = [] + unreferenced = sorted( + name for name, profile in profiles.items() + if profile.get("pin_frozen") and not profile.get("pin_build") + ) + if unreferenced: + findings.append(Finding( + "profiles", "pin_frozen without pin_build", SKIPPED, + local=f"{len(unreferenced)} profiles", + detail="no platform build file names their revision: " + + ", ".join(unreferenced[:SHOWN_NAMES]) + + (", ..." if len(unreferenced) > SHOWN_NAMES else ""), + items=unreferenced, + )) + for name, profile in sorted(profiles.items()): + for reference in profile.get("pin_build") or []: + subject = f"{name} ({reference['platform']})" + recorded = str(reference["value"]) + revision = pin_build_revision(reference, platforms_dir) + if revision == str(reference["revision"]): + findings.append(Finding( + "profiles", subject, OK, local=recorded[:12], + detail=f"read where platforms/{reference['platform']}.yml is", + )) + continue + repo = upstream.parse_repo(str(reference["repo"])) + try: + at = revision or upstream.resolve_head(repo, cache_dir, offline) + lines = upstream.fetch_file(repo, at, reference["path"], cache_dir, offline) \ + if at else None + except upstream.NotCachedError: + findings.append(Finding("profiles", subject, SKIPPED, local=recorded[:12], + detail="offline, the build file is not cached")) + continue + except upstream.UpstreamError as exc: + findings.append(Finding("profiles", subject, UNKNOWN, local=recorded[:12], + detail=str(exc))) + continue + if not at: + findings.append(Finding("profiles", subject, UNKNOWN, local=recorded[:12], + detail=f"{repo.slug} answered no branch head")) + continue + current = None if lines is None else build_variable(lines, reference["variable"]) + if current == recorded: + findings.append(Finding( + "profiles", subject, OK, local=recorded[:12], remote=at[:12], + detail=f"{reference['path']} still builds it", + )) + continue + findings.append(Finding( + "profiles", subject, STALE, local=recorded[:12], + remote=(current or "gone")[:12], + detail=( + f"{reference['path']} is gone at {at[:12]}" if lines is None + else f"{reference['variable']} is no longer set there" if current is None + else f"{reference['platform']} now builds {current} " + f"({reference['path']} at {at[:12]}): the pin follows the build" + ), + )) + return findings + + def check_profiles(run: bool, offline: bool) -> list[Finding]: if not run: return [ @@ -1708,6 +1819,7 @@ def main() -> int: findings.extend(check_ci(args.cache_dir, args.offline)) if "profiles" in areas: findings.append(check_source_paths(profiles)) + findings.extend(check_pin_builds(profiles, platforms_dir, args.cache_dir, args.offline)) findings.extend(check_profiles(args.profiles, args.offline)) if args.json: diff --git a/tests/test_doc_pages.py b/tests/test_doc_pages.py index 409e80248..8b42cafaa 100644 --- a/tests/test_doc_pages.py +++ b/tests/test_doc_pages.py @@ -538,7 +538,7 @@ class ProfileFieldsRequired(unittest.TestCase): section = _section(_page("profiling.md"), "Profile fields") marked = { row[0].strip("`") for row in _table_rows(section) - if row[1].startswith(("yes", "for `type")) + if row[1].startswith(("yes", "for `type", "with `")) } self.assertEqual(marked, required) diff --git a/tests/test_pin_build.py b/tests/test_pin_build.py new file mode 100644 index 000000000..c4f7a4568 --- /dev/null +++ b/tests/test_pin_build.py @@ -0,0 +1,138 @@ +"""Held pins name the build file that holds them. + +pin_frozen was free prose and no tool read the build file it cites: a +platform moving mame0278 to another commit would have left the profile +holding a revision no platform builds, in silence. `pin_build` records the +file, and check_freshness reads it again where the platform now stands. +""" + +from __future__ import annotations + +import sys +import tempfile +import unittest +from pathlib import Path +from unittest import mock + +REPO_ROOT = Path(__file__).resolve().parents[1] +sys.path.insert(0, str(REPO_ROOT / "scripts")) + +import check_freshness as cf # noqa: E402 + +RECALBOX = "https://gitlab.com/recalbox/recalbox" + + +class HeldPinsReadTheirBuildFileAgain(unittest.TestCase): + REF = {"platform": "recalbox", "repo": RECALBOX, + "revision": "10.1.1", "path": "package/libretro-mame0278/libretro-mame0278.mk", + "variable": "LIBRETRO_MAME0278_VERSION", "value": "a" * 40} + + def setUp(self): + self._tmp = tempfile.TemporaryDirectory() + self.addCleanup(self._tmp.cleanup) + self.platforms = Path(self._tmp.name) + + def _platform(self, revision: str) -> None: + (self.platforms / "recalbox.yml").write_text( + f'source: "{RECALBOX}/-/raw/{revision}/board/es_bios.xml"\n' + ) + + def _check(self, lines=None, offline=False): + profiles = {"mame0278": {"pin_frozen": "Recalbox builds it.", "pin_build": [self.REF]}, + "raine": {"pin_frozen": "RetroBat installs this release."}} + with mock.patch.object(cf.upstream, "fetch_file", return_value=lines) as fetched: + findings = cf.check_pin_builds(profiles, self.platforms, "cache", offline) + return {f.subject: f for f in findings}, fetched + + def test_the_variable_forms_the_platforms_write(self): + cases = [ + (["LIBRETRO_MAME0278_VERSION = fba5074"], "LIBRETRO_MAME0278_VERSION", "fba5074"), + (['PKG_VERSION="37cddf2" #v0.6.3'], "PKG_VERSION", "37cddf2"), + (['rp_module_repo="file $__archive_url/advancemame-1.4.tar.gz"'], "rp_module_repo", + "file $__archive_url/advancemame-1.4.tar.gz"), + (["function f() {", ' local version="20250829"', ' version="20250302"'], + "version", "20250829"), + (["OTHER_VERSION = 1"], "PKG_VERSION", None), + ] + for lines, variable, expected in cases: + with self.subTest(variable=variable): + self.assertEqual(cf.build_variable(lines, variable), expected) + + def test_the_platform_read_at_the_same_revision_needs_no_network(self): + self._platform("10.1.1") + found, fetched = self._check() + fetched.assert_not_called() + self.assertEqual(found["mame0278 (recalbox)"].status, cf.OK) + + def test_a_new_revision_building_another_commit_is_stale(self): + self._platform("10.2") + found, fetched = self._check([f"LIBRETRO_MAME0278_VERSION = {'b' * 40}"]) + self.assertEqual(fetched.call_args.args[1:3], + ("10.2", "package/libretro-mame0278/libretro-mame0278.mk")) + row = found["mame0278 (recalbox)"] + self.assertEqual(row.status, cf.STALE) + self.assertIn("now builds " + "b" * 40, row.detail) + + def test_a_new_revision_building_the_same_commit_is_ok(self): + self._platform("10.2") + found, _ = self._check([f"LIBRETRO_MAME0278_VERSION = {'a' * 40}"]) + self.assertEqual(found["mame0278 (recalbox)"].status, cf.OK) + + def test_a_build_file_gone_is_stale(self): + self._platform("10.2") + found, _ = self._check(None) + self.assertEqual(found["mame0278 (recalbox)"].status, cf.STALE) + self.assertIn("is gone", found["mame0278 (recalbox)"].detail) + + def test_offline_and_uncached_is_skipped(self): + self._platform("10.2") + profiles = {"mame0278": {"pin_frozen": "x", "pin_build": [self.REF]}} + cold = cf.upstream.NotCachedError("not cached") + with mock.patch.object(cf.upstream, "fetch_file", side_effect=cold): + (row,) = cf.check_pin_builds(profiles, self.platforms, "cache", True) + self.assertEqual(row.status, cf.SKIPPED) + + def test_a_hold_with_no_build_file_is_counted(self): + self._platform("10.1.1") + found, _ = self._check() + row = found["pin_frozen without pin_build"] + self.assertEqual(row.status, cf.SKIPPED) + self.assertEqual(row.items, ["raine"]) + + +class EveryBuildReferenceNamesThePin(unittest.TestCase): + """Reads the repository: a pin_build value is what the platform builds, + so it is the profile's source_commit or names its core_version, and the + platform's own YAML was scraped from that repository.""" + + def test_the_values_agree(self): + from common import load_emulator_profiles + + disagree = [] + for name, profile in load_emulator_profiles(str(REPO_ROOT / "emulators")).items(): + references = profile.get("pin_build") or [] + if not references: + continue + pins = profile.get("source_commit") + pins = set(pins.values()) if isinstance(pins, dict) else {pins} + versions = profile.get("core_version") + versions = ( + {str(v) for v in versions.values()} if isinstance(versions, dict) + else {str(versions)} if versions else set() + ) + + def names_it(value: str) -> bool: + token = value.split()[-1].rsplit("/", 1)[-1].removesuffix(".tar.gz") + return value in pins or any(token in v or v in value for v in versions) + + if not any(names_it(str(r["value"])) for r in references): + disagree.append(name) + for reference in references: + if not cf.pin_build_revision(reference, REPO_ROOT / "platforms"): + disagree.append(f"{name}: {reference['platform']} is not read from " + f"{reference['repo']}") + self.assertEqual(disagree, []) + + +if __name__ == "__main__": + unittest.main() diff --git a/wiki/profiling.md b/wiki/profiling.md index 7a8ccc108..bd63cb157 100644 --- a/wiki/profiling.md +++ b/wiki/profiling.md @@ -522,7 +522,8 @@ reports the profile as uncheckable, and the CI job that runs | `version_basis` | every profile (`tests/test_version_basis.py`) | where `core_version` is read, by `kind`: `file` (`path`, `pattern`, optional `format`, and `url` with its `commit` for a file outside the profile's repositories, such as the package file of a build a platform ships), `tag` (the nearest `tag` in the pin's history and its `distance`, `core_version` in git describe's form, `match` the glob a tag must fit), `alias` (`of`), `package` (`artifact`, the APK or binary read, `url` where it was obtained), `none` (the code states no version: `core_version` null) or `unverified` (no reading could be made: `core_version` stays as written and is reported unconfirmed, `why` says why: `no_pin`, `host_unsupported`, `host_gone`, `host_unreachable`, `pin_off_branch`, `no_artifact`, `no_source`). `repo` names `upstream` or `source_mirror` when the version is that tree's. `profile_sync --verify-version` reads it again, and a pin advance rewrites `core_version` from it | | `source_commit` | see above | commit SHA of `source` the code was read at. Anchors every `source_ref` line number | | `upstream_commit` | no | same, for `upstream` | -| `pin_frozen` | no | why `source_commit` is held on purpose rather than followed. The profile is then judged against its own revision, like one pinned to a superseded tag | +| `pin_frozen` | with `pin_build` | why `source_commit` is held on purpose rather than followed. The profile is then judged against its own revision, like one pinned to a superseded tag | +| `pin_build` | no | the build file each platform shipping a `pin_frozen` build reads its revision from: a list of `platform` (registry slug), `repo` (the platform's own repository), `revision` (the tag or commit the file was read at), `path`, `variable` (`PKG_VERSION`, `_VERSION`, `rp_module_repo`) and `value` (what it held there). `check_freshness.py` reads the file again where the platform's YAML now stands and reports the profile `STALE` when the platform builds another revision. A hold that no build file names (a release binary, an abandoned repository) carries `pin_frozen` alone | | `pin_follows` | no | why `source_commit` follows the branch tip when a single platform ships the profile: that platform builds the tip, cited by its build file. A bump refuses a profile one platform ships until it carries `pin_frozen` or `pin_follows` | | `data_root` | no | per operating system (`android`, `ios`, `windows`, `macos`, `linux`), the folder the app reads its user data from, under which `standalone_path` destinations sit: `path` as the user finds it (`Android/data//files`, `%APPDATA%/...`), with the `source_ref` that builds it. Only the systems the app runs on are keyed | | `upstream_frozen` | no | why `upstream_commit` is held: the port vendors that upstream tree, synced to that release, or merged that commit. The upstream view is read at its own pin and a bump leaves it. Without it, a port that is a GitHub fork of its upstream follows the merge base of the two | diff --git a/wiki/testing-guide.md b/wiki/testing-guide.md index 43640fc57..ceaa396d0 100644 --- a/wiki/testing-guide.md +++ b/wiki/testing-guide.md @@ -65,7 +65,7 @@ Every module in `tests/`, by the area it guards. | Pack probe | the cores a platform runs for a system, staging grown to a fixed point, runs mapped to pack and manifest entries, the line and its schema, the probe lock per run, that no page shows its lines. One class builds a real pack narrowed to PlayStation and lays it out both ways, from the archive and with `install.py --dest`, and skips without the collection | `test_pack_probe` | | Automation runner, disk cleanup, asset sync and bit-flip repair | fake jobs, git repositories with a bare origin and session worktrees, a committed file with one bit flipped, canned CI runs in place of `gh` | `test_autorun` | | Truth and native export | synthetic + cached originals | `test_export_counts`, `test_export_native_layer`, `test_export_report`, `test_exporters`, `test_truth_data_dir_readers`, `test_truth_diff`, `test_truth_layout` | -| Scrapers, upstream and provenance | inline sources, synthetic | `test_batocera_md5_list`, `test_check_freshness`, `test_contributing_text`, `test_coverage_cache`, `test_data_dir_refs`, `test_dataclass_defaults`, `test_dedup`, `test_doc_pages`, `test_doc_surfaces`, `test_elec_scrapers`, `test_fbneo_parser`, `test_find_pinned_revision`, `test_hash_merge`, `test_launchers`, `test_launchers_emudeck`, `test_launchers_recalbox`, `test_launchers_retrobat`, `test_launchers_retrodeck`, `test_launchers_retropie`, `test_launchers_rocknix`, `test_mame_devices`, `test_mame_parser`, `test_mame_ref_audit`, `test_optional_dependencies`, `test_profile_sync`, `test_prose_style`, `test_provenance`, `test_refresh_data_dirs`, `test_refresh_failures`, `test_refresh_stale`, `test_retrodeck_scraper_errors`, `test_romset_recipes`, `test_schema_semantic_gate`, `test_scraper_contract`, `test_site_arcade_boards`, `test_site_availability`, `test_site_bootstrap`, `test_site_built_gate`, `test_site_components`, `test_site_console_folders`, `test_site_content_data`, `test_site_copy`, `test_site_cores`, `test_site_css`, `test_site_density_cards`, `test_site_emulator_page`, `test_site_emulators`, `test_site_entry`, `test_site_entry_tables`, `test_site_exports`, `test_site_funnel`, `test_site_images`, `test_site_integration`, `test_site_nav`, `test_site_picker`, `test_site_platform_density`, `test_site_platform_hashes`, `test_site_reference`, `test_site_render`, `test_site_search`, `test_site_system_links`, `test_site_system_names`, `test_site_system_sections`, `test_site_systems`, `test_site_validation`, `test_site_weight`, `test_site_wiki`, `test_site_write`, `test_source_ref_targets`, `test_upstream`, `test_upstream_index`, `test_validate_pr`, `test_validate_pr_flow`, `test_validate_pr_hashes`, `test_version_basis`, `test_workflow_paths` | +| Scrapers, upstream and provenance | inline sources, synthetic | `test_batocera_md5_list`, `test_check_freshness`, `test_contributing_text`, `test_coverage_cache`, `test_data_dir_refs`, `test_dataclass_defaults`, `test_dedup`, `test_doc_pages`, `test_doc_surfaces`, `test_elec_scrapers`, `test_fbneo_parser`, `test_find_pinned_revision`, `test_hash_merge`, `test_launchers`, `test_launchers_emudeck`, `test_launchers_recalbox`, `test_launchers_retrobat`, `test_launchers_retrodeck`, `test_launchers_retropie`, `test_launchers_rocknix`, `test_mame_devices`, `test_mame_parser`, `test_mame_ref_audit`, `test_optional_dependencies`, `test_pin_build`, `test_profile_sync`, `test_prose_style`, `test_provenance`, `test_refresh_data_dirs`, `test_refresh_failures`, `test_refresh_stale`, `test_retrodeck_scraper_errors`, `test_romset_recipes`, `test_schema_semantic_gate`, `test_scraper_contract`, `test_site_arcade_boards`, `test_site_availability`, `test_site_bootstrap`, `test_site_built_gate`, `test_site_components`, `test_site_console_folders`, `test_site_content_data`, `test_site_copy`, `test_site_cores`, `test_site_css`, `test_site_density_cards`, `test_site_emulator_page`, `test_site_emulators`, `test_site_entry`, `test_site_entry_tables`, `test_site_exports`, `test_site_funnel`, `test_site_images`, `test_site_integration`, `test_site_nav`, `test_site_picker`, `test_site_platform_density`, `test_site_platform_hashes`, `test_site_reference`, `test_site_render`, `test_site_search`, `test_site_system_links`, `test_site_system_names`, `test_site_system_sections`, `test_site_systems`, `test_site_validation`, `test_site_weight`, `test_site_wiki`, `test_site_write`, `test_source_ref_targets`, `test_upstream`, `test_upstream_index`, `test_validate_pr`, `test_validate_pr_flow`, `test_validate_pr_hashes`, `test_version_basis`, `test_workflow_paths` | | Games on the card | small DATs, listxml and setup sources, a fake fetcher, fixture install lists, and the committed data against its schemas | `test_arcade_parents`, `test_game_catalogs`, `test_game_headers`, `test_game_regions`, `test_games_index`, `test_romfolders_card`, `test_romfolders_es` | ## Test architecture diff --git a/wiki/tools.md b/wiki/tools.md index f3af3ee55..5e4359e12 100644 --- a/wiki/tools.md +++ b/wiki/tools.md @@ -695,7 +695,15 @@ NAME` reads the folders again. The `profiles` area always checks `website/src/data/source-paths.json` against the profiles, offline: a recorded tree that no profile pins any more -is `STALE` until `sitesources.py --fetch` runs again. +is `STALE` until `sitesources.py --fetch` runs again. It also reads each +`pin_build` reference of a held pin: where the platform YAML was scraped at +the reference's own revision the row is `OK` without network, otherwise the +build file is fetched at the platform's new revision (or at the branch head +of a platform this repository does not scrape) and its variable compared +with the recorded value. A different value is `STALE`: the platform now +builds another revision, and the pin, the refs and `pin_build` move with it. +Profiles with `pin_frozen` and no `pin_build` are counted on one `SKIPPED` +row, since no build file names their revision. ```bash python scripts/check_freshness.py From 5749c66e3239faff0bd6a3957702eafd40b31747 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 20:29:53 +0100 Subject: [PATCH 24/24] fix: keep --system packs among the verified packs The pack suffix test of b20d65d12 missed the platform --system packs, which carry their system after it (_BIOS_Pack_Playstation.zip): their manifest was no longer injected and install.py refused them. A pack name holds _BIOS_Pack, then an optional tag, then .zip. --- scripts/generate_pack.py | 8 ++++++-- tests/test_split_pack.py | 6 ++++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/scripts/generate_pack.py b/scripts/generate_pack.py index b4b8fd31c..b41606dba 100644 --- a/scripts/generate_pack.py +++ b/scripts/generate_pack.py @@ -5083,7 +5083,8 @@ def _pack_archives(output_dir: str) -> list[str]: A part of a split pack holds a share of a platform by design and was checked against the whole when it was cut: judged as a pack it would fail conformance, and injecting a manifest would change published bytes. - Every name the builder gives ends in the pack suffix: build_port.py + Every name the builder gives holds `_BIOS_Pack`, then the system tag of + a --system platform pack (`_BIOS_Pack_Playstation.zip`): build_port.py writes its launcher archives (RetroBIOS.zip) to the same dist/, and taking every ZIP rewrote them with a manifest after build_port had printed their hashes. @@ -5091,10 +5092,13 @@ def _pack_archives(output_dir: str) -> list[str]: return sorted( name for name in os.listdir(output_dir) - if name.endswith(split_pack.PACK_SUFFIX) and not split_pack.is_part(name) + if _PACK_NAME.search(name) and not split_pack.is_part(name) ) +_PACK_NAME = re.compile(r"_BIOS_Pack(?:_[^/]+)?\.zip$") + + def verify_and_finalize_packs( output_dir: str, db: dict, diff --git a/tests/test_split_pack.py b/tests/test_split_pack.py index 99d54b4fb..2ae04dcde 100644 --- a/tests/test_split_pack.py +++ b/tests/test_split_pack.py @@ -240,6 +240,12 @@ class PartsAreNotTakenForPacks(SplitFixture): self._build(self.dist / name, {"RetroBIOS.sh": b"#!/bin/sh\n"}) before = {p.name: p.read_bytes() for p in self.dist.glob("RetroBIOS*.zip")} self.assertEqual(builder._pack_archives(str(self.dist)), [self.pack.name]) + # A --system platform pack carries its system after the suffix. + system = self.dist / "Demo_1.0_BIOS_Pack_Playstation.zip" + self._build(system, {"one.bin": b"1"}) + self.assertEqual(builder._pack_archives(str(self.dist)), + sorted([self.pack.name, system.name])) + system.unlink() with contextlib.redirect_stdout(io.StringIO()): builder.verify_and_finalize_packs(str(self.dist), {"files": {}, "indexes": {}}, skip_conformance=True)