From cf7b2ad9c1b4e0b6f661014616d8994abcbba274 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:06:54 +0100 Subject: [PATCH 01/34] fix: install site sections before the page plan plan_emulator_pages names systems, and siterender then fell back to the repository's database.json and emulators/ whatever --db and --emulators-dir gave. --- scripts/generate_site.py | 5 +++-- tests/test_site_system_names.py | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index 5e3fb96a9..b5e1856d2 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -12142,15 +12142,16 @@ def _generate(args: argparse.Namespace) -> None: # The test each emulator page builds for itself: the parts a page is # cut into weigh the status its rows show. file_held = _availability_check(db, suppl_names) + # The plan names systems: the sections must be this run's data first. + manufacturers = _group_by_manufacturer(db) + set_console_sections(manufacturers, program_names(profiles)) plan_emulator_pages(profiles, file_held) # Build system_id -> manufacturer page map (needed by all generators) print("Building system cross-reference map...") - manufacturers = _group_by_manufacturer(db) set_system_page_map( _system_pages_from_data(manufacturers, coverages, db, profiles) ) print(f" {len(_system_page_map)} system IDs mapped to pages") - set_console_sections(manufacturers, program_names(profiles)) from siterender import link_coverage, system_ids # noqa: PLC0415 print("Generating system pages...") diff --git a/tests/test_site_system_names.py b/tests/test_site_system_names.py index da1103b97..b24fc3de8 100644 --- a/tests/test_site_system_names.py +++ b/tests/test_site_system_names.py @@ -118,3 +118,22 @@ class SystemNames(unittest.TestCase): if __name__ == "__main__": unittest.main() + + +class SectionsComeBeforeThePlan(unittest.TestCase): + """plan_emulator_pages names systems. Run before set_console_sections, + it made siterender read ./database.json and ./emulators whatever --db + and --emulators-dir gave, so the parts were cut on another collection.""" + + def test_generate_installs_the_sections_before_planning(self): + import ast + import inspect + + import generate_site + + tree = ast.parse(inspect.getsource(generate_site._generate)) + lines = {} + for node in ast.walk(tree): + if isinstance(node, ast.Call) and isinstance(node.func, ast.Name): + lines.setdefault(node.func.id, node.lineno) + self.assertLess(lines["set_console_sections"], lines["plan_emulator_pages"]) From b6b7856e972e238337e9d49569aaa0081b900358 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:11:09 +0100 Subject: [PATCH 02/34] fix: read bundled on the site as verify does comes_with_app kept an entry narrowed by mode as required and missing, while verify and the pack read it as installed with that build (validation.installed_with_emulator). The four other site checks of bundled now go through the same function. --- scripts/generate_site.py | 36 ++++++++++++++++-------------------- tests/test_site_emulators.py | 9 +++++++-- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index b5e1856d2..4dde50897 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -6662,7 +6662,7 @@ def _start_groups( for f in primaries: sha1 = str(f.get("sha1", "")) for emulator, entry in _reading_pairs(sha1, consumers): - if entry.get("bundled"): + if comes_with_app(entry): continue system = None systems = _entry_systems(emulator, entry) @@ -6677,7 +6677,7 @@ def _start_groups( for sha1, emulator, entry, system in _entries_by_section(consumers).get(here, []): record = known.get(sha1) parts = str((record or {}).get("path", "")).split("/") - if (sha1 in held or not record or entry.get("bundled") or ".variants" in parts + if (sha1 in held or not record or comes_with_app(entry) or ".variants" in parts or len(parts) < 3 or parts[1] != "Arcade"): continue if sha1 not in kept: @@ -7819,12 +7819,15 @@ def generate_emulators_index(profiles: dict) -> str: def comes_with_app(f: dict) -> bool: - """The emulator installs the file in every build the profile documents. + """The emulator installs the file in the build the entry describes. - ``bundled`` narrowed by ``mode`` is installed by one build only, and the - other build still reads it from the user's folder. + The rule verify and the pack read (``installed_with_emulator``). An entry + narrowed by ``mode`` is that build's alone: the other build reads its + own entry, or nothing. """ - return f.get("bundled") is True and not f.get("mode") + from validation import installed_with_emulator # noqa: PLC0415 + + return installed_with_emulator(f) def _file_badges(f: dict, in_repo: bool, for_system: str = "") -> list[str]: @@ -7841,7 +7844,6 @@ def _file_badges(f: dict, in_repo: bool, for_system: str = "") -> list[str]: category = f.get("category", "") region = f.get("region", "") storage = f.get("storage", "") - bundled = f.get("bundled", False) embedded = f.get("embedded", False) has_builtin = f.get("has_builtin", False) archive = f.get("archive", "") @@ -7851,9 +7853,10 @@ def _file_badges(f: dict, in_repo: bool, for_system: str = "") -> list[str]: if shipped: # NetherSX2's three interface fonts sat beside the BIOS as # "required" and "missing": the app ships them, nobody fetches them. - badges.append( - 'comes with the app' - ) + # Narrowed to one build, the build is named. + build = f.get("mode") if f.get("mode") in ("standalone", "libretro") else "" + label = f"installed with the {build} emulator" if build else "comes with the app" + badges.append(f'{label}') elif required: needed = f"required for {html.escape(for_system)}" if for_system else "required" badges.append( @@ -7879,7 +7882,7 @@ def _file_badges(f: dict, in_repo: bool, for_system: str = "") -> list[str]: badges.append( 'HLE fallback' ) - if mode: + if mode and not (shipped and mode in ("standalone", "libretro")): badges.append( f'{mode}' ) @@ -7896,13 +7899,6 @@ def _file_badges(f: dict, in_repo: bool, for_system: str = "") -> list[str]: badges.append( f'{storage}' ) - if bundled and not shipped: - # Said in words: the pack leaves the file out because the emulator, - # in the build the entry names, already installs it. - build = f" {f['mode']}" if f.get("mode") in ("standalone", "libretro") else "" - badges.append( - f'installed with the{build} emulator' - ) if embedded: badges.append( 'embedded' @@ -8860,7 +8856,7 @@ def standalone_place(name: str, profile: dict, entry: dict, key: str = "") -> st if not isinstance(entry, dict) or not profile.get("data_root"): return "" mode = entry.get("mode") - if mode == "libretro" or (entry.get("bundled") is True and mode in (None, "standalone")): + if mode == "libretro" or comes_with_app(entry): return "" excluded = _folder_only(name, entry) if "*" in excluded or (key in excluded if key else excluded): @@ -8898,7 +8894,7 @@ def _data_root_folder(name: str, profile: dict, key: str, entries: list[dict]) - folders = set() for f in entries: mode = f.get("mode") - if mode == "libretro" or (f.get("bundled") is True and mode in (None, "standalone")): + if mode == "libretro" or comes_with_app(f): continue place = standalone_place(name, profile, f, key) if not place: diff --git a/tests/test_site_emulators.py b/tests/test_site_emulators.py index 70d1d9782..97eaa32b3 100644 --- a/tests/test_site_emulators.py +++ b/tests/test_site_emulators.py @@ -254,11 +254,16 @@ class WhatTheAppShipsIsNoFileToGet(unittest.TestCase): self.assertIn(">comes with the app", badges) self.assertNotIn(">required", badges) self.assertNotIn(">missing", badges) - # Installed by one build only: the other still reads it from the folder. + # Narrowed to one build, the entry is that build's alone, as verify + # and the pack read it: EightyOne installs its ROMs, and the libretro + # core, which embeds them, reads no entry. Nothing to fetch. dual = " ".join(gs._file_badges({"name": "a", "bundled": True, "mode": "standalone", "required": True}, False)) - self.assertIn(">required", dual) + self.assertNotIn(">required", dual) + self.assertNotIn(">missing", dual) self.assertIn("installed with the standalone emulator", dual) + rom = next(f for f in _profile("81")["files"] if f["name"] == "jupiterace.rom") + self.assertTrue(gs.comes_with_app(rom)) def test_counts_leave_them_out(self): shipped = sum(1 for f in self.profile["files"] if gs.comes_with_app(f)) From 17538bcddf50ab4e2eee268c3b98c0293992a364 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:13:23 +0100 Subject: [PATCH 03/34] refactor: keep one region word table on the site _REGION_WORDS was bound twice in generate_site. The second table won at import, so the first, read by _region_word, was never used. The region lines now read the one table through _region_words. --- scripts/generate_site.py | 9 +-------- tests/test_site_render.py | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index 4dde50897..c5206c4f0 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -6443,13 +6443,6 @@ def _region_order() -> dict[str, int]: return {region: index for index, region in enumerate(ordered)} -_REGION_WORDS = {"uk": "UK", "asia-ntsc": "Asia (NTSC)", "asia-pal": "Asia (PAL)"} - - -def _region_word(region: str) -> str: - return _REGION_WORDS.get(region) or region.replace("-", " ").title() - - def _reading_pairs(sha1: str, consumers: FileConsumers) -> list[tuple[str, dict]]: """The profile entries that read a file, each with its emulator.""" files_of = getattr(consumers, "emulator_files", {}) @@ -7031,7 +7024,7 @@ def _group_start(group: _StartGroup, first_below: bool) -> list[tuple[str, str]] else: regional[(*same, region)] = regional.pop(same) - out = [(", ".join(_region_word(r) for r in regions), regional[regions]) + out = [(", ".join(_region_words(r) for r in regions), regional[regions]) for regions in sorted(regional, key=lambda rs: (order.get(rs[0], len(order)), rs))] # A name a region line gives already is no "also", and one only # emulators no region line answers reads is an "instead": armsx1 reads diff --git a/tests/test_site_render.py b/tests/test_site_render.py index 2ad8e6788..0236dc2bd 100644 --- a/tests/test_site_render.py +++ b/tests/test_site_render.py @@ -429,3 +429,28 @@ class TheSearchSkipsLinkLists(unittest.TestCase): if __name__ == "__main__": unittest.main() + + +class OneDefinitionPerName(unittest.TestCase): + """generate_site defined _REGION_WORDS twice: the second table replaced + the first at import, and _region_word, written beside the first, never + read it.""" + + def test_no_module_name_is_bound_twice(self): + import ast + + for path in sorted((REPO_ROOT / "scripts").glob("*site*.py")): + seen: dict[str, int] = {} + for node in ast.parse(path.read_text(encoding="utf-8")).body: + if isinstance(node, (ast.FunctionDef, ast.ClassDef)): + names = [node.name] + elif isinstance(node, ast.Assign): + names = [t.id for t in node.targets if isinstance(t, ast.Name)] + elif isinstance(node, ast.AnnAssign) and isinstance(node.target, ast.Name): + names = [node.target.id] + else: + continue + for name in names: + self.assertNotIn(name, seen, f"{path.name}:{node.lineno} binds {name} " + f"again, first at line {seen.get(name)}") + seen[name] = node.lineno From ed100a5c082a30fe8bf92555ef5d1da76b2f8887 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:13:51 +0100 Subject: [PATCH 04/34] fix: skip the wide table check without a build A missing page was a continue, so with no website/dist the test ran no assertion and reported ok. --- tests/test_site_components.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/tests/test_site_components.py b/tests/test_site_components.py index 4bd277d60..20e06fd29 100644 --- a/tests/test_site_components.py +++ b/tests/test_site_components.py @@ -353,15 +353,24 @@ class WideTablesStackAndFiltersAreBuilt(unittest.TestCase): def test_every_wide_table_stacks(self): for page in ("emulators/duckstation", "gaps", "gaps-files-to-source", "emulators", "data", "wiki/verification-modes"): - html = (DIST / page / "index.html") - if not html.is_file(): - continue - for table in _tables(_read(html)): + for table in _tables(_built(page)): if len(_headers(table)) < 4: continue with self.subTest(page=page, header=_headers(table)): self.assertIn('data-rb-stack="true"', table.split(">", 1)[0]) + def test_no_build_is_a_skip_not_a_pass(self): + """Every missing page was a `continue`: with no build the test ran no + assertion and still reported ok.""" + from unittest import mock + + module = sys.modules[__name__] + case = WideTablesStackAndFiltersAreBuilt("test_every_wide_table_stacks") + result = unittest.TestResult() + with mock.patch.object(module, "DIST", REPO_ROOT / "tmp" / "no-such-dist"): + case.run(result) + self.assertEqual(len(result.skipped), 1) + def test_long_tables_get_their_labels_at_runtime(self): """Labels on every cell of a long stacked table were 122 KB of emulators/mame and took it over the 600,000-byte page budget.""" From 9d51052c25d91e3378750a7aa90a0142fd117152 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:15:24 +0100 Subject: [PATCH 05/34] docs: rerun the installer samples on the new lists c624a820f rewrote install/*.json when ide12.rom was collected and left the run samples one file behind, which failed four tests in 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 6ae9e461bd81780cad7f972b9f5465019eee159b Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:16:32 +0100 Subject: [PATCH 06/34] docs: name the steps the pipeline skip flags skip --skip-packs said --skip-docs would stop after verify while 4d and 4e still run, and the tools.md flag table left 8b out of --skip-docs. The help, the usage and the flag table now name the steps the step table marks. --- scripts/pipeline.py | 14 +++++++------- tests/test_doc_pages.py | 31 +++++++++++++++++++++++++++++++ wiki/tools.md | 6 +++--- 3 files changed, 41 insertions(+), 10 deletions(-) diff --git a/scripts/pipeline.py b/scripts/pipeline.py index 11d8c3f24..244eeb307 100644 --- a/scripts/pipeline.py +++ b/scripts/pipeline.py @@ -35,8 +35,8 @@ come from .cache/large/ only. Usage: python scripts/pipeline.py # active platforms python scripts/pipeline.py --include-archived # all platforms - python scripts/pipeline.py --skip-packs # steps 0 to 3b, 4d, 7 and 8 - python scripts/pipeline.py --skip-docs # skip steps 7 and 8 + python scripts/pipeline.py --skip-packs # skip steps 4, 4b, 4c, 5 and 6 + python scripts/pipeline.py --skip-docs # skip steps 7, 8 and 8b python scripts/pipeline.py --offline # no network, see above """ @@ -698,13 +698,13 @@ def main() -> None: parser.add_argument( "--skip-packs", action="store_true", - help="Skip steps 4 to 6 except 4d: packs, manifests and their checks. " - "Steps 7 and 8 still rewrite README.md and the site pages in website/, " - "add --skip-docs to " - "stop after verify", + help="Skip steps 4, 4b, 4c, 5 and 6: packs, manifests and their checks. " + "Step 4d still gates the run, step 4e still rewrites install/games/, and " + "steps 7 to 8b rewrite README.md and the site unless --skip-docs is given", ) parser.add_argument( - "--skip-docs", action="store_true", help="Skip README and site generation" + "--skip-docs", action="store_true", + help="Skip steps 7, 8 and 8b: README, installer page and site" ) parser.add_argument( "--offline", action="store_true", diff --git a/tests/test_doc_pages.py b/tests/test_doc_pages.py index 409e80248..4a3ef5d69 100644 --- a/tests/test_doc_pages.py +++ b/tests/test_doc_pages.py @@ -1794,5 +1794,36 @@ class ReportExcerptIsTheRun(unittest.TestCase): self.assertIn(line, printed) +class SkipFlagsNameTheSteps(unittest.TestCase): + """--skip-packs said "add --skip-docs to stop after verify" while 4d and + 4e still ran, and the flag table left 8b out of --skip-docs.""" + + STEP = r"\b\d[a-z]?\d?\b" + + def test_the_flag_row_the_help_and_the_usage_agree_with_the_step_table(self): + page = (ROOT / "wiki" / "tools.md").read_text(encoding="utf-8") + table = page.split("Pipeline steps:", 1)[1].split("Pipeline flags:", 1)[0] + source = (ROOT / "scripts" / "pipeline.py").read_text(encoding="utf-8") + helps = {} + for node in ast.walk(ast.parse(source)): + if (isinstance(node, ast.Call) and getattr(node.func, "attr", "") == "add_argument" + and node.args and isinstance(node.args[0], ast.Constant)): + helps.update({node.args[0].value: ast.literal_eval(kw.value) + for kw in node.keywords if kw.arg == "help"}) + for flag in ("--skip-packs", "--skip-docs"): + steps = set() + for row in table.splitlines(): + cells = [c.strip() for c in row.split("|")] + if len(cells) > 3 and cells[3].startswith(f"`{flag}`"): + steps.add(cells[1]) + self.assertTrue(steps) + row = re.search(rf"^\| `{flag}` \| skip steps ([^.|]*)", page, re.M).group(1) + usage = re.search(rf"pipeline\.py {flag} +# skip steps (.*)$", source, re.M).group(1) + said = helps[flag].split(":", 1)[0] + for text in (row, usage, said): + with self.subTest(flag=flag, text=text): + self.assertEqual(set(re.findall(self.STEP, text)), steps) + + if __name__ == "__main__": unittest.main() diff --git a/wiki/tools.md b/wiki/tools.md index 6cce3c211..d691b8917 100644 --- a/wiki/tools.md +++ b/wiki/tools.md @@ -15,7 +15,7 @@ Run everything in sequence: ```bash python scripts/pipeline.py --offline # DB + verify + packs + manifests + integrity + readme + site -python scripts/pipeline.py --offline --skip-packs # DB + verify + readme + site +python scripts/pipeline.py --offline --skip-packs # no packs or manifests python scripts/pipeline.py --offline --skip-docs # skip readme + site generation python scripts/pipeline.py --offline --target switch # filter by hardware target python scripts/pipeline.py --offline --with-truth # include truth generation + diff @@ -63,8 +63,8 @@ Pipeline flags: | Flag | Effect | |------|--------| | `--offline` | skip every step that needs the network (2, 2a, 2a2, 2b, 2b2), and pack only the release assets already in `.cache/large/` | -| `--skip-packs` | skip steps 4, 4b, 4c, 6 and the consistency check. README and site are still rewritten unless `--skip-docs` is given too | -| `--skip-docs` | skip steps 7 and 8 | +| `--skip-packs` | skip steps 4, 4b, 4c, 5 and 6. Steps 4d and 4e still run, and README and site are still rewritten unless `--skip-docs` is given too | +| `--skip-docs` | skip steps 7, 8 and 8b | | `--include-archived` | include archived platforms in verify, packs, truth and export | | `--target TARGET` | filter verify, packs and truth by hardware target | | `--source {platform,truth,full}` | pack file source, passed through to `generate_pack.py`. Refused with `--skip-packs` | From 46a6ac267517b16786c2649c17f07561246ffef9 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:17:52 +0100 Subject: [PATCH 07/34] docs: list the site build among the PR checks CONTRIBUTING named the checks CI runs on a pull request and left out the npm build, validate_site.py, vermin and the pip packages the test job installs. A wiki-only change passed every listed check and failed CI. --- CONTRIBUTING.md | 5 ++++- scripts/generate_readme.py | 5 ++++- tests/test_contributing_text.py | 19 +++++++++++++++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 165b3e672..0383856fe 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -64,13 +64,16 @@ validation above is its check. For code, profiles or platform files, these are the checks CI runs on a pull request (Python 3.12 or newer): ```bash -pip install pyyaml "jsonschema[format-nongpl]" markdown +pip install pyyaml "jsonschema[format-nongpl]" markdown pyte hypothesis vermin python scripts/validate_pr.py --changed # the BIOS files the branch adds python scripts/validate_schemas.py --source-only # profiles and platform files python scripts/profile_sync.py --added --base upstream/main --strict # each profile the branch adds python scripts/refresh_data_dirs.py # data directories the pack-building tests read python scripts/generate_site.py # the pages the site tests read +npm ci --prefix website && npm run build --prefix website # the built site, Node 24 python -m unittest discover -s tests -t . +python scripts/validate_site.py --site-dir website/dist # links and page budgets +vermin --no-tips -t=3.8- --violations install.py # install.py stays on Python 3.8 ``` `upstream` is this repository as a remote of your fork diff --git a/scripts/generate_readme.py b/scripts/generate_readme.py index fb6bfa462..596f62d68 100644 --- a/scripts/generate_readme.py +++ b/scripts/generate_readme.py @@ -969,13 +969,16 @@ validation above is its check. For code, profiles or platform files, these are the checks CI runs on a pull request (Python 3.12 or newer): ```bash -pip install pyyaml "jsonschema[format-nongpl]" markdown +pip install pyyaml "jsonschema[format-nongpl]" markdown pyte hypothesis vermin python scripts/validate_pr.py --changed # the BIOS files the branch adds python scripts/validate_schemas.py --source-only # profiles and platform files python scripts/profile_sync.py --added --base upstream/main --strict # each profile the branch adds python scripts/refresh_data_dirs.py # data directories the pack-building tests read python scripts/generate_site.py # the pages the site tests read +npm ci --prefix website && npm run build --prefix website # the built site, Node 24 python -m unittest discover -s tests -t . +python scripts/validate_site.py --site-dir website/dist # links and page budgets +vermin --no-tips -t=3.8- --violations install.py # install.py stays on Python 3.8 ``` `upstream` is this repository as a remote of your fork diff --git a/tests/test_contributing_text.py b/tests/test_contributing_text.py index 09392caea..bf00749aa 100644 --- a/tests/test_contributing_text.py +++ b/tests/test_contributing_text.py @@ -78,6 +78,25 @@ class BeforeOpeningAPullRequest(unittest.TestCase): self.assertIn("profile_sync.py --added --base upstream/main --strict", block) self.assertNotIn("--changed --strict", block) + def test_it_names_the_site_build_and_the_packages_ci_runs(self): + """A wiki-only change passed every listed check and failed CI on + validate_site.py, which the list did not name.""" + text = generate_readme.generate_contributing() + section = text.split("## Before opening a PR", 1)[1].split("\n## ", 1)[0] + workflow = (REPO_ROOT / ".github" / "workflows" / "validate.yml").read_text(encoding="utf-8") + for command in ("npm ci --prefix website", "npm run build --prefix website", + "validate_site.py --site-dir website/dist", + "vermin --no-tips -t=3.8- --violations install.py"): + with self.subTest(command=command): + self.assertIn(command, workflow) + self.assertIn(command, section) + installed = re.search(r'^\s*run: pip install (pyyaml "jsonschema.*markdown.*)$', + workflow, re.M).group(1) + pip_line = next(line for line in section.splitlines() if line.startswith("pip install")) + for package in (re.split(r"[\[=]", token.strip('"'))[0] for token in installed.split()): + with self.subTest(package=package): + self.assertRegex(pip_line, rf"\b{package}\b") + def test_it_installs_what_the_checks_need_and_no_site_package(self): """The site is built by Node from website/package-lock.json: a pip line naming the old theme installed packages nothing reads.""" From 9e04bf887d7e8c94893ab1fae56dd5a05c452063 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:18:38 +0100 Subject: [PATCH 08/34] docs: give files over 100 MB their route CONTRIBUTING sent any file over the browser's 25 MB through a clone, which GitHub refuses past 100 MB, and named a release only a maintainer can write to. It now gives the route validate_pr.py prints: an issue with the hashes. --- CONTRIBUTING.md | 5 ++++- scripts/generate_readme.py | 6 +++++- tests/test_contributing_text.py | 11 +++++++++++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0383856fe..924244569 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -25,7 +25,10 @@ the most useful contribution. From a clone, the file goes to `bios/Manufacturer/Console/filename`, and `python scripts/validate_pr.py path/to/file` names that folder for a file still outside `bios/`. Given a folder, such as an old card's BIOS folder, it checks -every file under it. A file over the browser's 25 MB limit goes in that way. +every file under it. A file over the browser's 25 MB limit goes in that way, +up to the 100 MB GitHub accepts in a push. A larger file stays out of the pull +request: [open an issue](https://github.com/Abdess/retrobios/issues/new?template=missing-bios.yml) with the hashes +`validate_pr.py` prints, and a maintainer adds it to the `large-files` release. ## Add a platform diff --git a/scripts/generate_readme.py b/scripts/generate_readme.py index 596f62d68..01e3ac47d 100644 --- a/scripts/generate_readme.py +++ b/scripts/generate_readme.py @@ -37,6 +37,7 @@ from common import ( from nativemode import check_label import release_record from siteguides import install_command +from validate_pr import LARGE_FILE_ISSUE_URL from verify import verify_platform @@ -930,7 +931,10 @@ the most useful contribution. From a clone, the file goes to `bios/Manufacturer/Console/filename`, and `python scripts/validate_pr.py path/to/file` names that folder for a file still outside `bios/`. Given a folder, such as an old card's BIOS folder, it checks -every file under it. A file over the browser's 25 MB limit goes in that way. +every file under it. A file over the browser's 25 MB limit goes in that way, +up to the 100 MB GitHub accepts in a push. A larger file stays out of the pull +request: [open an issue]({LARGE_FILE_ISSUE_URL}) with the hashes +`validate_pr.py` prints, and a maintainer adds it to the `large-files` release. ## Add a platform diff --git a/tests/test_contributing_text.py b/tests/test_contributing_text.py index bf00749aa..66ced6b53 100644 --- a/tests/test_contributing_text.py +++ b/tests/test_contributing_text.py @@ -97,6 +97,17 @@ class BeforeOpeningAPullRequest(unittest.TestCase): with self.subTest(package=package): self.assertRegex(pip_line, rf"\b{package}\b") + def test_a_file_too_large_for_git_has_a_route(self): + """The guide sent any file over 25 MB through a clone, which GitHub + refuses past 100 MB, and only a maintainer can write to the release.""" + import validate_pr + + text = generate_readme.generate_contributing() + section = text.split("## What happens next", 1)[1].split("\n## ", 1)[0] + self.assertEqual(validate_pr.MAX_FILE_SIZE, 100 * 1024 * 1024) + self.assertIn("100 MB", section) + self.assertIn(f"]({validate_pr.LARGE_FILE_ISSUE_URL})", section) + def test_it_installs_what_the_checks_need_and_no_site_package(self): """The site is built by Node from website/package-lock.json: a pip line naming the old theme installed packages nothing reads.""" From a06f5ad2ba865ea1502d4814e224532cd0a32629 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:20:50 +0100 Subject: [PATCH 09/34] fix: fetch the project main an upstream lacks A remote named upstream added as CONTRIBUTING said and never fetched made validate_pr --changed compare with the fork's main and exit 0 on nothing. It now fetches the project's main when the remote does not hold it. profile_sync names the fetch when --base is absent, and CONTRIBUTING adds git fetch upstream. --- CONTRIBUTING.md | 5 +++-- scripts/generate_readme.py | 5 +++-- scripts/profile_sync.py | 4 ++++ scripts/validate_pr.py | 21 ++++++++++------- tests/test_profile_sync.py | 7 ++++++ tests/test_validate_pr_flow.py | 41 ++++++++++++++++++++++++++++++++++ 6 files changed, 71 insertions(+), 12 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 924244569..8c1253272 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -80,8 +80,9 @@ vermin --no-tips -t=3.8- --violations install.py # install.py stays on P ``` `upstream` is this repository as a remote of your fork -(`git remote add upstream https://github.com/Abdess/retrobios`). A profile you -only edit is not held to `--strict`: its older refs are reviewed by hand. +(`git remote add upstream https://github.com/Abdess/retrobios`, then +`git fetch upstream`). A profile you only edit is not held to `--strict`: its +older refs are reviewed by hand. The full pipeline is not needed for a contribution: it rebuilds every pack in `dist/`, which is why maintainers run it before a release. diff --git a/scripts/generate_readme.py b/scripts/generate_readme.py index 01e3ac47d..6e1a30e62 100644 --- a/scripts/generate_readme.py +++ b/scripts/generate_readme.py @@ -986,8 +986,9 @@ vermin --no-tips -t=3.8- --violations install.py # install.py stays on P ``` `upstream` is this repository as a remote of your fork -(`git remote add upstream https://github.com/Abdess/retrobios`). A profile you -only edit is not held to `--strict`: its older refs are reviewed by hand. +(`git remote add upstream https://github.com/Abdess/retrobios`, then +`git fetch upstream`). A profile you only edit is not held to `--strict`: its +older refs are reviewed by hand. The full pipeline is not needed for a contribution: it rebuilds every pack in `dist/`, which is why maintainers run it before a release. diff --git a/scripts/profile_sync.py b/scripts/profile_sync.py index 3245ab3b0..ddde60eb1 100644 --- a/scripts/profile_sync.py +++ b/scripts/profile_sync.py @@ -4355,6 +4355,10 @@ def branch_profiles(emulators_dir: str, base: str, added_only: bool) -> list[str branch point are not counted, and ends at the working tree, so a profile not yet committed is checked too. A rename reads as an addition. """ + if subprocess.run(["git", "rev-parse", "--verify", "--quiet", base], + capture_output=True, check=False).returncode: + remote = base.split("/", 1)[0] if "/" in base else "upstream" + raise SystemExit(f"ERROR: {base} is not in this clone: run git fetch {remote} first") merge_base = _git_lines(["merge-base", base, "HEAD"])[0] paths = _git_lines([ "diff", "--name-only", "--no-renames", diff --git a/scripts/validate_pr.py b/scripts/validate_pr.py index 9d99637df..a7f3a0fc0 100644 --- a/scripts/validate_pr.py +++ b/scripts/validate_pr.py @@ -558,30 +558,35 @@ def _repo_key(url: str) -> str: def _project_main_line() -> str | None: - """The project's main line, fetched when no remote of this clone names it. + """The project's main line, fetched when this clone does not hold it. A fork's clone has origin alone. Once the commit is pushed to the fork's main, origin/main is HEAD and the diff against it was empty, so --changed - found nothing and exited 0. None leaves the upstream/ and origin/ lines - in charge: a remote of that name names the project, or the clone has no - remote at all and only its uncommitted files can be read. + found nothing and exited 0. A remote added as CONTRIBUTING says and never + fetched did the same: upstream/main did not exist and origin/main won. + None leaves the upstream/ and origin/ lines in charge when the clone has + no remote at all and only its uncommitted files can be read. """ remotes = _git_lines("remote") or [] if not remotes: return None project = {_repo_key(url) for url in PROJECT_URLS} + source = PROJECT_URLS[0] for remote in remotes: urls = _git_lines("remote", "get-url", "--all", remote) or [] if any(_repo_key(url) in project for url in urls): - return None if remote in ("upstream", "origin") else f"{remote}/main" + if _git_lines("rev-parse", "--verify", "--quiet", f"{remote}/main"): + return f"{remote}/main" + source = remote + break fetched = subprocess.run( - ["git", "fetch", "--quiet", "--no-tags", PROJECT_URLS[0], "main"], + ["git", "fetch", "--quiet", "--no-tags", source, "main"], capture_output=True, text=True, check=False, ) if fetched.returncode != 0: raise RuntimeError( - f"no remote of this clone is {PROJECT_URLS[0]}, and fetching its " - f"main failed: {fetched.stderr.strip()}" + f"this clone does not hold the main of {PROJECT_URLS[0]}, and " + f"fetching it from {source} failed: {fetched.stderr.strip()}" ) return "FETCH_HEAD" diff --git a/tests/test_profile_sync.py b/tests/test_profile_sync.py index 0fef264af..b8998e541 100644 --- a/tests/test_profile_sync.py +++ b/tests/test_profile_sync.py @@ -5918,6 +5918,13 @@ class TestBranchProfiles(unittest.TestCase): ["draft", "new"], ) + def test_an_unfetched_base_says_to_fetch(self): + """`--base upstream/main` with upstream added and never fetched + stopped on git's "Not a valid object name" and no next step.""" + with self.assertRaises(SystemExit) as raised: + profile_sync.branch_profiles("emulators", "upstream/main", added_only=True) + self.assertIn("git fetch upstream", str(raised.exception)) + def test_the_flag_selects_those_profiles(self): args = profile_sync.build_parser().parse_args(["--changed", "--base", "main"]) profiles = {"kept": {}, "edited": {}, "new": {}, "draft": {}} diff --git a/tests/test_validate_pr_flow.py b/tests/test_validate_pr_flow.py index e5930f573..0cb7a8667 100644 --- a/tests/test_validate_pr_flow.py +++ b/tests/test_validate_pr_flow.py @@ -13,6 +13,7 @@ import subprocess import sys import tempfile import unittest +from unittest import mock from pathlib import Path import yaml @@ -146,5 +147,45 @@ class RunFromAnyDirectory(unittest.TestCase): self.assertIn("Already in the database at this path", messages) +class AnUnfetchedUpstreamIsFetched(unittest.TestCase): + """CONTRIBUTING has the project added as `upstream` with no fetch. The + remote named the project, so nothing was fetched, upstream/main did not + exist, origin/main was the pushed branch, and --changed found nothing.""" + + def _git(self, cwd: Path, *args: str) -> None: + subprocess.run(["git", *args], cwd=cwd, check=True, capture_output=True, text=True) + + def test_the_branch_file_is_found(self): + with tempfile.TemporaryDirectory(dir=REPO_ROOT / "tmp") as tmp: + root = Path(tmp) + project = root / "Abdess" / "retrobios.git" + fork = root / "fork.git" + clone = root / "clone" + for bare in (project, fork): + bare.mkdir(parents=True) + self._git(bare, "init", "-q", "--bare", "-b", "main") + clone.mkdir() + self._git(clone, "init", "-q", "-b", "main") + self._git(clone, "-c", "user.name=t", "-c", "user.email=t@t", "commit", "-q", + "--allow-empty", "-m", "base") + self._git(clone, "push", "-q", str(project), "main") + (clone / "bios").mkdir() + (clone / "bios" / "new.bin").write_bytes(b"x") + self._git(clone, "add", "bios/new.bin") + self._git(clone, "-c", "user.name=t", "-c", "user.email=t@t", "commit", "-q", + "-m", "add") + self._git(clone, "remote", "add", "origin", str(fork)) + self._git(clone, "push", "-q", "origin", "main") + self._git(clone, "fetch", "-q", "origin") + self._git(clone, "remote", "add", "upstream", str(project)) + cwd = os.getcwd() + os.chdir(clone) + try: + with mock.patch.object(validate_pr, "PROJECT_URLS", (str(project),)): + self.assertEqual(validate_pr.get_changed_files(), ["bios/new.bin"]) + finally: + os.chdir(cwd) + + if __name__ == "__main__": unittest.main() From eaa7effa745390295d64cd1ed6feacadf01895e3 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:22:55 +0100 Subject: [PATCH 10/34] fix: mark held and unknown PR files for review validate_pr said all checks passed for random bytes and for a copy of a held file, and sent the copy to the folder that already holds it. Each now reads REVIEW with its next step, the status line counts them, and a held copy gets no placement hint. A copy inside a tree kept out of dedup is still accepted. --- scripts/validate_pr.py | 40 +++++++++++++++++++++++----- tests/test_validate_pr.py | 55 +++++++++++++++++++++++++++++++++------ 2 files changed, 81 insertions(+), 14 deletions(-) diff --git a/scripts/validate_pr.py b/scripts/validate_pr.py index a7f3a0fc0..c1a702816 100644 --- a/scripts/validate_pr.py +++ b/scripts/validate_pr.py @@ -36,6 +36,7 @@ from common import ( ) from hashing import parse_hash_list from nativemode import digest_algorithm +from dedup import _in_nodedup_dir from validation import frontend_digest_matches, inner_rom_check try: @@ -79,6 +80,10 @@ class ValidationResult: self.md5 = "" self.crc32 = "" self.size = 0 + # "held" (a copy of a file the collection has) or "unknown" (no list + # or profile declares it): no check fails, and neither is a file + # the pull request adds to the collection. + self.outcome = "" def add_check(self, passed: bool, message: str) -> None: self.checks.append(("PASS" if passed else "FAIL", message)) @@ -93,8 +98,12 @@ class ValidationResult: def passed(self) -> bool: return all(s != "FAIL" for s, _ in self.checks) + @property + def status(self) -> str: + return "FAIL" if not self.passed else "REVIEW" if self.outcome else "PASS" + def to_markdown(self) -> str: - status = "PASS" if self.passed else "FAIL" + status = self.status lines = [f"### {status} `{self.filename}`"] lines.append("") lines.append(f"- **Path**: `{self.filepath}`") @@ -374,9 +383,15 @@ def validate_file( # PR that regenerated database.json was told each new file # duplicated itself. result.add_check(True, "Already in the database at this path") + elif _in_nodedup_dir(relative): + result.add_info( + f"Identical to `{existing['path']}`, kept: this tree is read by path" + ) else: + result.outcome = "held" result.add_warning( - f"Duplicate: identical file already exists at `{existing['path']}`" + f"Already held at `{existing['path']}`: nothing to add, " + "leave this copy out of the pull request" ) else: result.add_check(True, "Not a duplicate in database") @@ -421,8 +436,11 @@ def validate_file( "Filename matches a known requirement but hash differs - may be a variant" ) else: + result.outcome = "unknown" result.add_warning( - "File not referenced in any platform config - needs manual review" + "Not recognised: no platform list or emulator profile declares this " + "file. Say in the pull request which emulator reads it, for which " + "system, and where the dump comes from" ) normalized = os.path.normpath(relative) @@ -452,6 +470,8 @@ def validate_file( result.add_check(True, f"Correct placement: bios/{parts[1]}/{parts[2]}/") else: result.add_warning("File should be in bios/Manufacturer/Console/ structure") + elif result.outcome == "held": + pass elif expected_folders: # The contributor asks before forking: say where it goes. result.add_warning( @@ -750,6 +770,7 @@ def main() -> None: { "file": r.filepath, "passed": r.passed, + "outcome": r.outcome or "new", "sha1": r.sha1, "md5": r.md5, "size": r.size, @@ -759,7 +780,15 @@ def main() -> None: print(json.dumps(output, indent=2)) elif args.markdown: lines = ["## BIOS Validation Report", ""] - status = "all checks passed" if all_passed else "some checks failed" + held = sum(r.outcome == "held" for r in results) + unknown = sum(r.outcome == "unknown" for r in results) + review = ", ".join(part for part in ( + f"{held} already held" if held else "", + f"{unknown} not recognised" if unknown else "", + ) if part) + status = ("some checks failed" if not all_passed + else f"no check failed, to review: {review}" if review + else "all checks passed") lines.append(f"**Status**: {status}") lines.append("") @@ -770,8 +799,7 @@ def main() -> None: print("\n".join(lines)) else: for r in results: - status = "PASS" if r.passed else "FAIL" - print(f"\n[{status}] {r.filepath}") + print(f"\n[{r.status}] {r.filepath}") if r.sha1: print(f" SHA1: {r.sha1}") print(f" MD5: {r.md5}") diff --git a/tests/test_validate_pr.py b/tests/test_validate_pr.py index 93575737d..04b7a78fa 100644 --- a/tests/test_validate_pr.py +++ b/tests/test_validate_pr.py @@ -243,20 +243,38 @@ class HashRecognition(_Fixture): self.assertIn(".variants/known.bin.", markdown) def test_an_unreferenced_file_asks_for_review(self): + """Random bytes read "PASS" and "all checks passed", and the warning + named the platform configs alone though the profiles were searched.""" rel = self._bios_file("bios/Sony/PS/mystery.bin") - markdown = validate_pr.validate_file(rel, None, EMPTY_HASHES).to_markdown() - self.assertIn("needs manual review", markdown) + result = validate_pr.validate_file(rel, None, EMPTY_HASHES) + markdown = result.to_markdown() + self.assertEqual(result.outcome, "unknown") + self.assertIn("### REVIEW", markdown) + self.assertIn("no platform list or emulator profile declares this file", markdown) + self.assertIn("which emulator reads it", markdown) def test_a_duplicate_of_a_known_file_is_reported(self): - rel = self._bios_file("bios/Sony/PS/dupe.bin") + """A copy of a held file passed, and was sent to the folder that + already holds it.""" + rel = self._bios_file("elsewhere/dupe.bin") probe = validate_pr.validate_file(rel, None, EMPTY_HASHES) db = {"files": {probe.sha1: {"path": "bios/Sony/PS/original.bin"}}} - markdown = validate_pr.validate_file(rel, db, EMPTY_HASHES).to_markdown() - self.assertIn("Duplicate", markdown) - self.assertIn("original.bin", markdown) + known = {**EMPTY_HASHES, "sha1": {probe.sha1}, + "folders": {probe.sha1: {"bios/Sony/PS/"}}} + result = validate_pr.validate_file(rel, db, known) + markdown = result.to_markdown() + self.assertEqual(result.outcome, "held") + self.assertIn("### REVIEW", markdown) + self.assertIn("Already held at `bios/Sony/PS/original.bin`: nothing to add", markdown) + self.assertNotIn("not under bios/", markdown) # A duplicate is worth saying out loud but must not block the PR. - self.assertTrue(validate_pr.validate_file(rel, db, EMPTY_HASHES).passed) + self.assertTrue(result.passed) + def test_a_copy_in_a_tree_read_by_path_is_kept(self): + rel = self._bios_file("bios/ScummVM/a/dupe.bin") + probe = validate_pr.validate_file(rel, None, EMPTY_HASHES) + db = {"files": {probe.sha1: {"path": "bios/ScummVM/b/dupe.bin"}}} + self.assertNotEqual(validate_pr.validate_file(rel, db, EMPTY_HASHES).outcome, "held") def test_the_file_the_database_holds_is_not_its_own_duplicate(self): """The documented example on a tracked file warned "Duplicate: @@ -334,7 +352,8 @@ class Placement(_Fixture): class Reporting(_Fixture): def test_markdown_carries_every_digest_and_the_verdict(self): rel = self._bios_file("bios/Sega/Saturn/sega.bin") - result = validate_pr.validate_file(rel, None, EMPTY_HASHES) + probe = validate_pr.validate_file(rel, None, EMPTY_HASHES) + result = validate_pr.validate_file(rel, None, {**EMPTY_HASHES, "sha1": {probe.sha1}}) markdown = result.to_markdown() for value in (result.sha1, result.md5, result.crc32): self.assertIn(value, markdown) @@ -344,6 +363,26 @@ class Reporting(_Fixture): rel = self._bios_file("bios/Sega/Saturn/bad.exe") self.assertIn("### FAIL", validate_pr.validate_file(rel, None, EMPTY_HASHES).to_markdown()) + @unittest.skipUnless((REPO_ROOT / "database.json").is_file(), "database.json is not built") + def test_the_status_line_names_what_is_left_to_review(self): + import shutil + import subprocess + + held = REPO_ROOT / "bios" / "Sony" / "PlayStation Portable" / "ppge_atlas.zim" + if not held.is_file(): + self.skipTest(f"{held} is not here") + shutil.copy(held, self.tmp / "ppge_atlas.zim") + (self.tmp / "mystery.bin").write_bytes(os.urandom(4096)) + proc = subprocess.run( + [sys.executable, str(REPO_ROOT / "scripts" / "validate_pr.py"), "--markdown", + str(self.tmp / "mystery.bin"), str(self.tmp / "ppge_atlas.zim")], + capture_output=True, text=True, timeout=300, check=False, + ) + self.assertEqual(proc.returncode, 0, proc.stderr) + self.assertIn("**Status**: no check failed, to review: 1 already held, " + "1 not recognised", proc.stdout) + self.assertNotIn("all checks passed", proc.stdout) + class PlatformHashLoading(_Fixture): def test_missing_directory_yields_empty_sets(self): From f24b34c1ef2ba8bfa9ed5c2ad7c867d1ef4debca Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:25:47 +0100 Subject: [PATCH 11/34] feat: place recognised files with validate_pr The report named the folder of each file and left the copy to the contributor, one file and one .variants/ name at a time. --place copies each recognised file from outside bios/ to its folder under the name the lists declare, or to the .variants/ slot of a name already held, never over a file. A hash with two names or two folders is not placed. --- CONTRIBUTING.md | 11 ++++--- scripts/generate_readme.py | 11 ++++--- scripts/validate_pr.py | 63 ++++++++++++++++++++++++++++++++++++-- tests/test_validate_pr.py | 21 +++++++++++-- wiki/tools.md | 2 +- 5 files changed, 92 insertions(+), 16 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8c1253272..ae2c25459 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -24,11 +24,12 @@ the most useful contribution. From a clone, the file goes to `bios/Manufacturer/Console/filename`, and `python scripts/validate_pr.py path/to/file` names that folder for a file still -outside `bios/`. Given a folder, such as an old card's BIOS folder, it checks -every file under it. A file over the browser's 25 MB limit goes in that way, -up to the 100 MB GitHub accepts in a push. A larger file stays out of the pull -request: [open an issue](https://github.com/Abdess/retrobios/issues/new?template=missing-bios.yml) with the hashes -`validate_pr.py` prints, and a maintainer adds it to the `large-files` release. +outside `bios/`, and `--place` copies it there under its declared name. Given a +folder, such as an old card's BIOS folder, it checks every file under it. A +file over the browser's 25 MB limit goes in that way, up to the 100 MB GitHub +accepts in a push. A larger file stays out of the pull request: [open an +issue](https://github.com/Abdess/retrobios/issues/new?template=missing-bios.yml) with the hashes `validate_pr.py` prints, and a +maintainer adds it to the `large-files` release. ## Add a platform diff --git a/scripts/generate_readme.py b/scripts/generate_readme.py index 6e1a30e62..006aab519 100644 --- a/scripts/generate_readme.py +++ b/scripts/generate_readme.py @@ -930,11 +930,12 @@ the most useful contribution. From a clone, the file goes to `bios/Manufacturer/Console/filename`, and `python scripts/validate_pr.py path/to/file` names that folder for a file still -outside `bios/`. Given a folder, such as an old card's BIOS folder, it checks -every file under it. A file over the browser's 25 MB limit goes in that way, -up to the 100 MB GitHub accepts in a push. A larger file stays out of the pull -request: [open an issue]({LARGE_FILE_ISSUE_URL}) with the hashes -`validate_pr.py` prints, and a maintainer adds it to the `large-files` release. +outside `bios/`, and `--place` copies it there under its declared name. Given a +folder, such as an old card's BIOS folder, it checks every file under it. A +file over the browser's 25 MB limit goes in that way, up to the 100 MB GitHub +accepts in a push. A larger file stays out of the pull request: [open an +issue]({LARGE_FILE_ISSUE_URL}) with the hashes `validate_pr.py` prints, and a +maintainer adds it to the `large-files` release. ## Add a platform diff --git a/scripts/validate_pr.py b/scripts/validate_pr.py index c1a702816..f44aff8b4 100644 --- a/scripts/validate_pr.py +++ b/scripts/validate_pr.py @@ -21,6 +21,7 @@ import argparse import json import os import re +import shutil import subprocess import sys from pathlib import Path @@ -84,6 +85,9 @@ class ValidationResult: # or profile declares it): no check fails, and neither is a file # the pull request adds to the collection. self.outcome = "" + # Where --place copies the file: one folder and one declared name, or + # the .variants/ slot of a name the collection already holds. + self.destination = "" def add_check(self, passed: bool, message: str) -> None: self.checks.append(("PASS" if passed else "FAIL", message)) @@ -156,7 +160,7 @@ def load_platform_hashes(platforms_dir: str, db: dict | None = None) -> dict: under, read from the other files of that system it holds. """ known = {"sha1": set(), "md5": set(), "sha256": set(), "crc32": set(), - "names": set(), "folders": {}, "sizes": {}, "entries": {}} + "names": set(), "folders": {}, "sizes": {}, "entries": {}, "named": {}} systems_of: dict[str, set[str]] = {} folders_of: dict[str, dict[str, int]] = {} files = (db or {}).get("files", {}) @@ -203,6 +207,9 @@ def load_platform_hashes(platforms_dir: str, db: dict | None = None) -> dict: ) for value in (*sha1s, *md5s): systems_of.setdefault(value, set()).add(system_id) + for value in (*sha1s, *md5s, *sha256s): + if "name" in file_entry: + known["named"].setdefault(value, set()).add(file_entry["name"]) _note_folder(folders_of, system_id, files, by_md5, sha1s, md5s) known["folders"] = _system_homes(systems_of, folders_of) @@ -260,6 +267,7 @@ def load_profile_hashes( """ known: dict[str, dict] = { "sha1": {}, "sha256": {}, "md5": {}, "crc32": {}, "sizes": {}, "folders": {}, + "named": {}, } systems_of: dict[str, set[str]] = {} folders_of: dict[str, dict[str, int]] = {} @@ -283,6 +291,8 @@ def load_profile_hashes( for algo, values in hashes.items(): for value in values: known[algo].setdefault(value, set()).add(emulator) + if isinstance(entry.get("name"), str): + known["named"].setdefault(value, set()).add(entry["name"]) # The entry's own system, or the profile's when it emulates one. system = entry.get("system") or ( declared_systems[0] if len(declared_systems) == 1 else None @@ -474,9 +484,23 @@ def validate_file( pass elif expected_folders: # The contributor asks before forking: say where it goes. + names = { + name + for table in (platform_hashes, profile_hashes) + for value in (result.sha1, result.md5, hashes.get("sha256", "")) + for name in table.get("named", {}).get(value, ()) + } + name = next(iter(names)) if len(names) == 1 else "" + if len(expected_folders) == 1 and name and "/" not in name: + folder = expected_folders[0] + result.destination = ( + f"{folder}.variants/{name}.{result.sha1[:8]}" + if os.path.exists(folder + name) else folder + name + ) result.add_warning( "File is not under bios/ yet. Its system's files are in " + " or ".join(f"`{f}`" for f in expected_folders) + + (f". --place copies it to `{result.destination}`" if result.destination else "") ) elif _variant_home(db, result.filename, result.sha1): result.add_warning( @@ -505,9 +529,11 @@ def validate_file( if (name_known and not (sha1_known or md5_known or other_known or accepted_by) and not by_profile and size_fits): home = _variant_home(db, result.filename) + slot = f"{home}.variants/{result.filename}.{result.sha1[:8]}" + if home and not normalized.startswith("bios" + os.sep): + result.destination = slot result.add_info( - "This may be a valid variant. If accepted, it will be placed in " - f"`{home}.variants/{result.filename}.{result.sha1[:8]}`" + f"This may be a valid variant. If accepted, it will be placed in `{slot}`" ) return result @@ -700,6 +726,28 @@ def _files_to_validate( return files +def place(results: list[ValidationResult]) -> list[str]: + """Copy each placeable file to its destination, never over a file. + + The report named the folder of each file and left 40 copies from a card + to be made by hand, each .variants/ name retyped. The source is copied, + not moved: it is often a card or another tree the contributor keeps. + """ + placed = [] + for r in results: + if not (r.passed and r.destination and not r.outcome): + continue + target = Path(r.destination) + if target.exists(): + print(f"not placed: {target} exists", file=sys.stderr) + continue + target.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(r.filepath, target) + placed.append(r.destination) + print(f"placed {r.filepath} at {r.destination}", file=sys.stderr) + return placed + + def _load_database_if_any(path: str) -> dict | None: """The database, optional only where the default is meant. @@ -734,6 +782,11 @@ def main() -> None: "--markdown", action="store_true", help="Output as markdown (for PR comments)" ) output.add_argument("--json", action="store_true", help="Output as JSON") + parser.add_argument( + "--place", action="store_true", + help="copy each recognised file from outside bios/ to the folder and name " + "the report gives, or to .variants/ beside the name it varies", + ) args = parser.parse_args() # The database, platforms and profiles are read from the repository @@ -771,6 +824,7 @@ def main() -> None: "file": r.filepath, "passed": r.passed, "outcome": r.outcome or "new", + "destination": r.destination, "sha1": r.sha1, "md5": r.md5, "size": r.size, @@ -816,6 +870,9 @@ def main() -> None: ) print(f" [{marker}] {m}") + if args.place: + place(results) + if not all_passed: sys.exit(1) diff --git a/tests/test_validate_pr.py b/tests/test_validate_pr.py index 04b7a78fa..642420795 100644 --- a/tests/test_validate_pr.py +++ b/tests/test_validate_pr.py @@ -139,9 +139,25 @@ class AFileOnlyACoreReadsIsKnown(_Fixture): ) self.assertIn( ("WARN", "File is not under bios/ yet. Its system's files are in " - "`bios/Maker/Console/`"), + "`bios/Maker/Console/`. --place copies it to `bios/Maker/Console/b.bin`"), result.checks, ) + self.assertEqual(result.destination, "bios/Maker/Console/b.bin") + # A file of that name already there: the copy is a variant. + self._bios_file("bios/Maker/Console/b.bin", b"another") + self.assertEqual( + validate_pr.validate_file("Downloads/b.bin", db, EMPTY_HASHES, known).destination, + f"bios/Maker/Console/.variants/b.bin.{result.sha1[:8]}", + ) + # Copied under the declared name, never over a file, and only once. + card = self._bios_file("card/B.BIN", missing) + named = validate_pr.validate_file(card, db, EMPTY_HASHES, known) + self.assertEqual(validate_pr.place([named]), [named.destination]) + self.assertEqual((self.tmp / named.destination).read_bytes(), missing) + self.assertTrue((self.tmp / card).is_file()) + self.assertEqual(validate_pr.place([named]), []) + unknown = validate_pr.validate_file(self._bios_file("card/x.bin"), db, EMPTY_HASHES, known) + self.assertEqual((unknown.outcome, unknown.destination), ("unknown", "")) placed = validate_pr.validate_file( self._bios_file("bios/Other/Place/b.bin", missing), db, EMPTY_HASHES, known, ) @@ -388,7 +404,8 @@ class PlatformHashLoading(_Fixture): def test_missing_directory_yields_empty_sets(self): known = validate_pr.load_platform_hashes(str(self.tmp / "absent")) self.assertEqual(known, {"sha1": set(), "md5": set(), "sha256": set(), "crc32": set(), - "names": set(), "folders": {}, "sizes": {}, "entries": {}}) + "names": set(), "folders": {}, "sizes": {}, "entries": {}, + "named": {}}) def test_declared_hashes_and_names_are_collected(self): platforms = self.tmp / "platforms" diff --git a/wiki/tools.md b/wiki/tools.md index d691b8917..16173cd99 100644 --- a/wiki/tools.md +++ b/wiki/tools.md @@ -1364,7 +1364,7 @@ Further options, by script: | `romset_recipes.py` | `--dat-recipes PATH`, a snapshot or a directory of them (default `recipes/`) | | `split_pack.py` | `--max-size 1900M`, the ceiling per part (K, M, G, default 2G) | | `torrentzip.py` | `--check ZIP` reports conformance, `--rebuild ZIP -o OUT` normalizes an archive | -| `validate_pr.py` | `--changed` takes the BIOS files the branch changes, a folder named checks every file under it, `--markdown`, `--json` | +| `validate_pr.py` | `--changed` takes the BIOS files the branch changes, a folder named checks every file under it, `--place` copies each recognised file from outside `bios/` to its folder and declared name (or its `.variants/` slot), `--markdown`, `--json` | | `validate_site.py` | `--site-dir` (rendered site, default `website/dist`), `--base` (path the site is served under), `--max-errors N` | | `scraper/coreinfo_scraper.py` | `--compare-db database.json` lists the `.info` firmware the database lacks | | `scraper/mame_hash_scraper.py` | `--release mameNNNN --profile FILE --source-commit SHA --core NAME --built-by PLATFORM` writes the profile of a MAME build a platform compiles. `--devices --listxml FILE` documents in `mame.yml` every device set with dumped ROMs that the release's `-listxml` names (`isdevice="yes"`), with `--dry-run` to preview | From 1b388e3cdc3cccab27eecc56d3a27269b0230c1d Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:29:02 +0100 Subject: [PATCH 12/34] fix: credit a core the archive it reads members in FBNeo reads sm1.sm1 inside neogeo.zip. The site resolved each member entry by its crc32, credited loose copies FBNeo never opens, and no neogeo.zip card named FBNeo. A member entry now resolves through archive_entry as the pack does, and its card names the archive. --- scripts/cross_reference.py | 22 ++++++++++++++++------ scripts/generate_site.py | 7 +++++-- tests/test_site_render.py | 30 ++++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 8 deletions(-) diff --git a/scripts/cross_reference.py b/scripts/cross_reference.py index 09b889989..19405123f 100644 --- a/scripts/cross_reference.py +++ b/scripts/cross_reference.py @@ -27,6 +27,7 @@ from common import ( platform_arg, ProfileSelectionError, _norm_system_id, + archive_entry, directory_members, expand_directory_entries, get_mame_clone_map, @@ -545,6 +546,20 @@ class FileConsumers: if member is not entry } + @staticmethod + def entry_target(entry: dict, files: list[dict]) -> tuple[dict, str]: + """The entry a profile entry resolves through, and its destination. + + A ROM read inside an archive is the archive: FBNeo opens sm1.sm1 in + neogeo.zip, and resolved by its crc32 it credited a loose copy FBNeo + never opens, while no neogeo.zip card named FBNeo. The archive + members the profile reads decide between same-named copies, as in + the emulator pack and verify. + """ + if entry.get("archive"): + return archive_entry(entry["archive"], files), "" + return with_archive_members(entry, files), entry.get("path") or "" + def add_emulators(self, profiles: dict[str, dict]) -> None: """Each file a profile entry resolves to, a directory's members included. @@ -573,12 +588,7 @@ class FileConsumers: for dest, sha1 in members.items() ] else: - # The archive members the profile reads decide between - # same-named copies, as in the emulator pack and verify. - found = [self.sha1_of( - with_archive_members(entry, files), entry.get("path") or "", - owner=name, - )] + found = [self.sha1_of(*self.entry_target(entry, files), owner=name)] for sha1 in found: if sha1: self.emulators.setdefault(sha1, set()).add(name) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index c5206c4f0..f2a47ed66 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -8182,10 +8182,13 @@ def _render_emulator_file( if consumers and f.get("type") == "directory": details.extend(_directory_copies(f, consumers)) if consumers: - sha1 = consumers.sha1_of(f, f.get("path") or "", owner=owner) + sha1 = consumers.sha1_of( + *consumers.entry_target(f, profile.get("files") or []), owner=owner) held = consumers.path_of(sha1) if sha1 and in_repo else "" parts = held.split("/") - if len(parts) >= 3 and parts[0] == "bios": + if len(parts) >= 3 and parts[0] == "bios" and f.get("archive"): + details.append(_held_copy_line((held, f["name"]), consumers)) + elif len(parts) >= 3 and parts[0] == "bios": # Which copy answers this entry, linked to its collection card # (provenance, every hash, download): an entry declaring no hash # said "in repo" without naming the file. diff --git a/tests/test_site_render.py b/tests/test_site_render.py index 0236dc2bd..e943dffde 100644 --- a/tests/test_site_render.py +++ b/tests/test_site_render.py @@ -454,3 +454,33 @@ class OneDefinitionPerName(unittest.TestCase): self.assertNotIn(name, seen, f"{path.name}:{node.lineno} binds {name} " f"again, first at line {seen.get(name)}") seen[name] = node.lineno + + +@unittest.skipUnless((REPO_ROOT / "database.json").is_file(), "database.json is not built") +class AMemberIsReadInItsArchive(unittest.TestCase): + """FBNeo reads sm1.sm1 inside neogeo.zip. Resolved by its crc32, the + entry credited a loose sm1.sm1 FBNeo never opens, and no neogeo.zip card + named FBNeo, while the pack ships it one.""" + + def test_the_archive_is_credited_and_named_on_the_card(self): + import json + + import generate_site as gs + from common import archive_entry, resolve_local_file + from cross_reference import FileConsumers + + db = json.loads((REPO_ROOT / "database.json").read_text(encoding="utf-8")) + profile = yaml.safe_load((REPO_ROOT / "emulators" / "fbneo.yml").read_text(encoding="utf-8")) + files = profile["files"] + consumers = FileConsumers(db) + consumers.add_emulators({"fbneo": profile}) + credited = {consumers.path_of(sha1) for sha1 in consumers.emulators} + shipped, _status = resolve_local_file( + {**archive_entry("neogeo.zip", files), "source_profile": "fbneo"}, db) + self.assertIn(shipped, credited) + self.assertFalse([p for p in credited if p.endswith("/sm1.sm1")]) + sm1 = next(f for f in files if f["name"] == "sm1.sm1") + rows = "\n".join(gs._render_emulator_file(sm1, profile, consumers, files, + lambda _f: True, owner="fbneo")) + self.assertIn("Collection copy: member `sm1.sm1` of", rows) + self.assertIn(shipped, rows) From 4bc9074dfe34fdf7e72ef6ec9c4f4ccb0a03705b Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:29:22 +0100 Subject: [PATCH 13/34] feat: say why an upstream revision is held The emulator page showed the reason for pin_frozen and never the one for upstream_frozen, which 11 profiles record: mupen64plus read as left behind HEAD. --- scripts/generate_site.py | 12 ++++++++---- tests/test_site_emulator_page.py | 11 +++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index f2a47ed66..3c7a3d6f4 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -7984,10 +7984,14 @@ def _build_rows(profile: dict) -> list[str]: found = _found_by_text(profile.get("found_by")) if found: rows.append(f"| Files found by | {found} |") - frozen = profile.get("pin_frozen") - if frozen: - held = _escape_tags(' '.join(str(frozen).split())).replace('|', r'\|') - rows.append(f"| Revision held | {held} |") + # Each pin says why it is held: a bare upstream revision read as a + # profile left behind HEAD (mupen64plus, aps3e). + for field, label in (("pin_frozen", "Revision held"), + ("upstream_frozen", "Upstream revision held")): + frozen = profile.get(field) + if frozen: + held = _escape_tags(' '.join(str(frozen).split())).replace('|', r'\|') + rows.append(f"| {label} | {held} |") announced = profile.get("version_source") if isinstance(announced, dict) and announced.get("url"): url = str(announced["url"]) diff --git a/tests/test_site_emulator_page.py b/tests/test_site_emulator_page.py index ba592d3e3..382ec4d9f 100644 --- a/tests/test_site_emulator_page.py +++ b/tests/test_site_emulator_page.py @@ -68,6 +68,17 @@ class WhoShipsTheBuildAndWhy(unittest.TestCase): "(https://example.org/news) (version 13.0 announced there, " "found only as rebuilt copies) |", page) + def test_the_upstream_pin_says_why_it_is_held(self): + """mupen64plus showed its core revision and not that AmberELEC + builds that one: read as a profile behind HEAD.""" + page = _page("mupen64plus", { + "type": "libretro", + "upstream_frozen": "AmberELEC builds the core at this revision.", + "files": [], + }) + self.assertIn("| Upstream revision held | AmberELEC builds the core at this " + "revision. |", page) + class ACardKeepsItsAddress(unittest.TestCase): """emulators/raze/#file-duke3d-grp stopped pointing at its card once a From e0f11ed1752f34eb990b7dd263168c0ec9542250 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:32:08 +0100 Subject: [PATCH 14/34] fix: deploy the site when validate_pr changes CONTRIBUTING now reads the large file issue URL from validate_pr, which imports dedup: a change to either rewrites the contributing page. --- .github/workflows/deploy-site.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/deploy-site.yml b/.github/workflows/deploy-site.yml index 5353269cd..23c2a59a7 100644 --- a/.github/workflows/deploy-site.yml +++ b/.github/workflows/deploy-site.yml @@ -17,6 +17,7 @@ on: - "scripts/cross_reference.py" - "scripts/crypto_verify.py" - "scripts/derivations.py" + - "scripts/dedup.py" - "scripts/deterministic_zip.py" - "scripts/dumpcatalog.py" - "scripts/exporter/baseline.py" @@ -61,6 +62,7 @@ on: - "scripts/split_pack.py" - "scripts/truth.py" - "scripts/upstream.py" + - "scripts/validate_pr.py" - "scripts/validate_schemas.py" - "scripts/validate_site.py" - "scripts/validation.py" From 525c06419badbe45ec0ce83f4d68db212ac9f2b3 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:32:08 +0100 Subject: [PATCH 15/34] feat: link the version to the file or tag The Version cell printed the file a version is read from, or its tag, as bare text beside a pinned Revision link. The file now links at the pin where the recorded tree holds it, and the tag links to its tree. cited_paths records the version files so the record can confirm them. --- scripts/generate_site.py | 19 +- scripts/sitesources.py | 35 +- tests/test_site_emulator_page.py | 21 ++ website/src/data/source-paths.json | 509 +++++++++++++++++++++++++---- 4 files changed, 510 insertions(+), 74 deletions(-) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index 3c7a3d6f4..f595f438b 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -8469,8 +8469,9 @@ def emulator_romset(profile: dict) -> str: return "" -def _version_said(value: object, basis: dict) -> str: - """One build's version and where the profile reads it.""" +def _version_said(value: object, basis: dict, profile: dict, mode: str = "") -> str: + """One build's version and where the profile reads it, linked to the + file or the tag where the source allows.""" kind = basis.get("kind") if kind == "none": return "none stated in the source" @@ -8479,13 +8480,18 @@ def _version_said(value: object, basis: dict) -> str: return f"unknown: {_UNVERIFIED.get(str(basis.get('why')), 'unread')}" return "none published" value = str(value) + url = version_basis_url(profile, basis, mode) if kind in ("file", "tag") else "" + + def shown(text: object) -> str: + return f"[{_code(str(text))}]({url})" if url else _code(str(text)) + if kind == "file": - return f"{value}, stated in `{basis.get('path')}`" + return f"{value}, stated in {shown(basis.get('path'))}" if kind == "tag": distance = int(basis.get("distance") or 0) if not distance: return f"{value}, the tag at this revision" - return f"{value}, {distance} commit{'s' if distance != 1 else ''} after tag `{basis.get('tag')}`" + return f"{value}, {distance} commit{'s' if distance != 1 else ''} after tag {shown(basis.get('tag'))}" if kind == "package": return f"{value}, read from {basis.get('artifact')}" if kind == "unverified": @@ -8520,10 +8526,10 @@ def version_markdown(profile: dict) -> str: values = value if isinstance(value, dict) else {} modes = list(dict.fromkeys([*values, *basis])) return ", ".join( - f"{_version_said(values.get(mode), basis.get(mode) or {})} ({mode})" + f"{_version_said(values.get(mode), basis.get(mode) or {}, profile, mode)} ({mode})" for mode in modes ) - return _version_said(value, basis) + return _version_said(value, basis, profile) ROMSET_FAQ_PAGE = Path(WIKI_SRC_DIR) / "technical-faq.md" @@ -12463,6 +12469,7 @@ from sitesources import ( # noqa: E402,F401 _forge_sources, _source_permalink, _source_ref_markdown, + version_basis_url, ) from siterender import ( # noqa: E402,F401 _by_mode, diff --git a/scripts/sitesources.py b/scripts/sitesources.py index 20844939b..faf307241 100644 --- a/scripts/sitesources.py +++ b/scripts/sitesources.py @@ -240,8 +240,15 @@ def _walk(value: object) -> Iterator[tuple[str, object]]: def cited_paths(profile: dict) -> set[str]: """Every path a page of the profile could link: the parts of each - source_ref and the file:line citations of its prose.""" - paths: set[str] = set() + source_ref, the file:line citations of its prose and the file its + version is read from.""" + basis = profile.get("version_basis") + bases = ([basis] if isinstance(basis, dict) and "kind" in basis + else list(basis.values()) if isinstance(basis, dict) else []) + paths: set[str] = { + str(b["path"]) for b in bases + if isinstance(b, dict) and b.get("kind") == "file" and b.get("path") + } for key, value in _walk(profile): if key == "source_ref" and isinstance(value, (str, dict)): for _label, refs in source_ref_values(value): @@ -355,6 +362,30 @@ def _commit_url(repo: upstream.Repo, pin: str) -> str: return f"{base}/commit/{pin}" +def version_basis_url(profile: dict, basis: dict, mode: str = "") -> str: + """Where a reader checks a version: the file stating it at the pin, or + the tag it counts from. "" when neither can be linked. + + The Version cell printed `libretro/handy.h` as bare text beside a + pinned Revision link, so the #define it reads was one search away. + """ + field = "upstream" if basis.get("repo") == "upstream" else "source" + declared = next(iter(_repo_pins(profile, field, mode)), None) + repo = _browse_repo(declared[0]) if declared else None + if repo is None: + return "" + kind, path, tag = basis.get("kind"), str(basis.get("path") or ""), str(basis.get("tag") or "") + if kind == "file" and path: + pin = next((p for r, p in _forge_sources(profile, mode) + if (r.host, r.slug) == (repo.host, repo.slug)), "") + return _source_permalink(repo, pin, path, None, None) if pin and tree_holds( + repo, pin, path) else "" + if kind == "tag" and tag and repo.family in ("github", "gitlab"): + tree = "/-/tree/" if repo.family == "gitlab" else "/tree/" + return f"https://{repo.host}/{repo.owner}/{repo.name}{tree}{urllib.parse.quote(tag)}" + return "" + + def revision_markdown(profile: dict) -> str: """Each repository the profile reads, linked at the commit it was read at. diff --git a/tests/test_site_emulator_page.py b/tests/test_site_emulator_page.py index 382ec4d9f..be1165ee1 100644 --- a/tests/test_site_emulator_page.py +++ b/tests/test_site_emulator_page.py @@ -68,6 +68,27 @@ class WhoShipsTheBuildAndWhy(unittest.TestCase): "(https://example.org/news) (version 13.0 announced there, " "found only as rebuilt copies) |", page) + def test_the_version_links_its_proof(self): + """`0.97, stated in libretro/handy.h` was bare text beside a pinned + Revision link: the #define it reads was one search away.""" + import generate_site as gs + import sitesources + import yaml + + handy = yaml.safe_load((REPO_ROOT / "emulators" / "handy.yml").read_text(encoding="utf-8")) + path = handy["version_basis"]["path"] + self.assertIn(path, sitesources.cited_paths(handy)) + self.assertIn(f"stated in [`{path}`](https://github.com/libretro/libretro-handy/blob/" + f"{handy['source_commit']}/{path})", gs.version_markdown(handy)) + tagged = {"source": "https://github.com/owner/emu", "source_commit": "a" * 40, + "core_version": "1.2-3-gaaaaaaa", + "version_basis": {"kind": "tag", "tag": "1.2", "distance": 3}} + self.assertEqual(gs.version_markdown(tagged), "1.2-3-gaaaaaaa, 3 commits after tag " + "[`1.2`](https://github.com/owner/emu/tree/1.2)") + # A file no recorded tree confirms stays plain: no link beats a 404. + unread = {**tagged, "version_basis": {"kind": "file", "path": "src/none.h"}} + self.assertEqual(gs.version_markdown(unread), "1.2-3-gaaaaaaa, stated in `src/none.h`") + def test_the_upstream_pin_says_why_it_is_held(self): """mupen64plus showed its core revision and not that AmberELEC builds that one: read as a profile behind HEAD.""" diff --git a/website/src/data/source-paths.json b/website/src/data/source-paths.json index e676d24a1..a80a3531c 100644 --- a/website/src/data/source-paths.json +++ b/website/src/data/source-paths.json @@ -1,10 +1,16 @@ { "archive.softwareheritage.org/softwareheritage/revision@dc20a615275f66bee20a4fd851ef0231daca4f14": [], "bitbucket.org/linuxwolf6/splitwolf@f6c00044cdef00a31c66307d8b7cb1fb4ddf8c67": [], + "codeberg.org/iyzsong/anarch-libretro@187050344ef440c4eaf3135304a020093564fa3f": [ + "texts.h" + ], "codeberg.org/iyzsong/eternal-libretro@13adf143aea822ebc1ee23722a80e93a7979e4c9": [ "libretro.c" ], "codeberg.org/iyzsong/gam4980@32c531d3e7159081afd8dee72e8266153821095d": [], + "codeberg.org/iyzsong/uxn-libretro@2037b34ee0bf5f3914c38e0aafd145ece170b0f6": [ + "build.zig.zon" + ], "codeberg.org/schelling/dosbox-pure-unleashed@4a11412248ca4c862751a7d9e6818023795031e9": [ "Makefile", "main.cpp" @@ -22,6 +28,9 @@ "src/gui/midi_sc55.h", "src/gui/mt32emu.h" ], + "codeberg.org/virtualxt/virtualxt@a400adb0abf242c2fecbe926618338a00dc557c5": [ + "virtualxt_libretro.info" + ], "git.eden-emu.dev/eden-emu/eden@26a03d2473787abf3223b2d0e65b291eee00c1e1": [ "src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/DirectoryInitialization.kt", "src/common/fs/path_util.cpp", @@ -52,7 +61,8 @@ "Src/OSD/libretro/LibretroWrapper.cpp", "Src/OSD/libretro/libretro.cpp", "Src/OSD/libretro/libretroCrosshair.cpp", - "Src/Sound/MPEG/MpegAudio.cpp" + "Src/Sound/MPEG/MpegAudio.cpp", + "Src/Version.h" ], "git.libretro.com/libretro/cemu-libretro@14f56b569b3668db01a4972225993abd3e8f2096": [ ".gitlab-ci.yml", @@ -89,6 +99,7 @@ "libretro-radio.c" ], "git.libretro.com/libretro/rust-dos@152d9bca7820f0d9a5d1ca820a2d20855698a211": [ + "Cargo.toml", "crates/gus/build.rs", "crates/gus/src/builtin.rs", "crates/mt32/src/lib.rs", @@ -105,6 +116,7 @@ "src/verite/mod.rs" ], "git.libretro.com/libretro/wqxemu@caf0998989446e3d6659f67c1b8aabd708a0379d": [ + "Cargo.toml", "crates/wqxemu-core/src/machine.rs", "crates/wqxemu-core/src/machines/cc800.rs", "crates/wqxemu-core/src/machines/mod.rs", @@ -138,7 +150,8 @@ "src/xenia/ui/audio_helper.cc", "src/xenia/ui/d3d12/d3d12_provider.cc", "src/xenia/ui/imgui_drawer.cc", - "src/xenia/ui/vulkan/vulkan_instance.cc" + "src/xenia/ui/vulkan/vulkan_instance.cc", + "upstream.version" ], "git.ngram.ca/mirrors/Ryujinx@7d158acc3b5826a08941d6e8d50d3a3897021bcd": [ "src/Ryujinx.Common/Configuration/AppDataManager.cs", @@ -190,6 +203,7 @@ ], "github.com/7800-devtools/a7800@7a2afdc1ea08fc331b16b750d8c1f02d4ef62fc8": [ "hash/a7800.xml", + "makefile", "src/devices/bus/a7800/hiscore.cpp", "src/devices/bus/a7800/xm.cpp", "src/emu/crsshair.cpp", @@ -281,6 +295,7 @@ "font/fontdata.c", "io/pcidev.c", "keystat.c", + "np2ver.h", "pccore.c", "sdl/libretro/libretro.c", "sound/fmgen/fmgen_opna.cpp", @@ -321,6 +336,7 @@ "src/util.cpp" ], "github.com/AloysHF/BBKEmu@6641863f6ec59a74635753766e3f9d34adf92b05": [ + "Cargo.toml", "crates/bbkemu-core/src/emulator.rs", "crates/bbkemu-core/src/memory.rs", "crates/bbkemu-core/src/model.rs", @@ -365,6 +381,7 @@ "crates/dingooemu/src/main.rs" ], "github.com/AloysHF/Native32Emu@059fa33c658caa4dbbad140ebf2af1197f9dd778": [ + "Cargo.toml", "crates/native32emu-core/src/archive_loader.rs", "crates/native32emu-core/src/content_loader.rs", "crates/native32emu-core/src/emulator.rs", @@ -376,10 +393,12 @@ "crates/native32emu-libretro/src/libretro/constants.rs" ], "github.com/AloysHF/PlaydiaEmu@b1b990e7f28d6baa58d5fcde9faa155990ee8f3f": [ + "Cargo.toml", "crates/playdiaemu-core/src/content.rs", "crates/playdiaemu-libretro/playdiaemu_libretro.info" ], "github.com/AloysHF/SPMP8000Emu@65a93528ee33767bb9cf8faef516c8d1ad43fd13": [ + "Cargo.toml", "crates/spmp8000emu-core/assets/README.md", "crates/spmp8000emu-core/src/api/emu_fs.rs", "crates/spmp8000emu-core/src/api/mod.rs", @@ -390,6 +409,7 @@ "crates/spmp8000emu-libretro/src/libretro/constants.rs" ], "github.com/AloysHF/WQXEmu@caf0998989446e3d6659f67c1b8aabd708a0379d": [ + "Cargo.toml", "crates/wqxemu-core/src/machine.rs", "crates/wqxemu-core/src/machines/cc800.rs", "crates/wqxemu-core/src/machines/mod.rs", @@ -412,7 +432,9 @@ "plastic_tui/src/ui.rs", "plastic_ui/src/main.rs" ], - "github.com/AppleWin/AppleWin@1f3cadb88d1158c139d2e3a7b864d91836856948": [], + "github.com/AppleWin/AppleWin@1f3cadb88d1158c139d2e3a7b864d91836856948": [ + "resource/version.h" + ], "github.com/AppleWin/AppleWin@3e8054b4627624398e4589f7f27b3d40a6b9718e": [ "resource/resource.h", "source/CardManager.cpp", @@ -480,6 +502,7 @@ "libretro/libretro.c" ], "github.com/BlitterStudio/amiberry@49dbd1f027ef2afc12862b30c0c31ac8efa66221": [ + "CMakeLists.txt", "android/app/build.gradle", "libretro/libretro.cpp", "src/a2091.cpp", @@ -520,7 +543,9 @@ "source/bus-main-m68k.c", "source/bus-sub-m68k.c" ], - "github.com/Clownacy/clownmdemu-libretro@d43c2708b0a31c285ce16724b6c4a2e92af07346": [], + "github.com/Clownacy/clownmdemu-libretro@d43c2708b0a31c285ce16724b6c4a2e92af07346": [ + "source/libretro-interface.c" + ], "github.com/ColinPitrat/caprice32@8c778bf072a06fb7c23b9cccd179041db7f79a52": [ "cap32.cfg", "rom/MF2.rom", @@ -587,7 +612,8 @@ "engine/source/gamelib/packfile.c", "engine/source/gamelib/packfile.h", "engine/source/gamelib/translation.c", - "engine/source/utils.c" + "engine/source/utils.c", + "engine/version.sh" ], "github.com/DaedalusX64/daedalus@f17e9ed86f3806fadeb69abd29c9526ab2d4bd1b": [ "Source/CMakeLists.txt", @@ -656,6 +682,7 @@ "Src/Version.h" ], "github.com/DrGlaucous/doukutsu-rs-nm@51e64c2e9615bcd476034c69b58927877fe73494": [ + "Cargo.toml", "drsretroarch/src/core.rs", "src/data/vanilla.rs", "src/game/shared_game_state.rs" @@ -668,6 +695,7 @@ "src/emu/CMakeLists.txt", "src/emu/android/app/src/main/cpp/src/native-lib.cpp", "src/emu/android/app/src/main/java/com/github/eka2l1/emu/Emulator.java", + "src/emu/common/include/common/configure.h.in", "src/emu/common/src/path.cpp", "src/emu/common/src/types.cpp", "src/emu/config/include/config/options.inl", @@ -728,6 +756,7 @@ "src/emu/CMakeLists.txt", "src/emu/android/app/src/main/cpp/src/native-lib.cpp", "src/emu/android/app/src/main/java/com/github/eka2l1/emu/Emulator.java", + "src/emu/common/include/common/configure.h.in", "src/emu/common/src/path.cpp", "src/emu/common/src/types.cpp", "src/emu/config/include/config/options.inl", @@ -782,6 +811,7 @@ "src/scripts/pottery_startup_fix.lua" ], "github.com/EasyRPG/Player@096c004def987f3545198304b1b7a8352f284a50": [ + "CMakeLists.txt", "builds/android/app/src/main/java/org/easyrpg/player/player/EasyRpgPlayerActivity.java", "builds/android/app/src/main/java/org/easyrpg/player/settings/SettingsManager.java", "src/decoder_fluidsynth.cpp", @@ -810,11 +840,13 @@ ], "github.com/FCare/Kronos@d0384bc33aad06bfa9cf5cd308c4bd7ae6cfc814": [ "yabause/src/ctrl/src/stv.c", + "yabause/src/libretro/Makefile.common", "yabause/src/libretro/libretro.c", "yabause/src/sys/memory/src/cs0.c", "yabause/src/utils/src/db.c" ], "github.com/FWGS/xash3d-fwgs@27092af50d912432887faa43a1cccddfae569b2d": [ + "engine/common/com_strings.h", "filesystem/gameinfo.c", "filesystem/pak.c", "filesystem/searchpath.c" @@ -828,6 +860,7 @@ ], "github.com/FrodeSolheim/fs-uae@f362278ccd4c60991caac3b4d240d4a3f751bea2": [ "cfgfile.cpp", + "configure.ac", "od-fs/fsuae/fsuae-init.c", "od-fs/fsuae/fsuae-messages.cpp", "od-fs/python/app/app_init.py", @@ -870,9 +903,13 @@ "codemp/qcommon/qcommon.h" ], "github.com/Jakz/retro8@ecee6594c5b953966ee0515f3edac4032c7ed40f": [ + "src/libretro/libretro.cpp", "src/vm/gfx.cpp", "src/vm/lua_bridge.cpp" ], + "github.com/JesseTG/McSoftServe@fbdd09c7dfc11e35d900e51086f63e7f853e6c01": [ + "CMakeLists.txt" + ], "github.com/JesseTG/melonds-ds@f394adbacb5722ee97c1b37c8064da9a25818310": [ "src/libretro/config/config.cpp", "src/libretro/config/config.hpp", @@ -880,7 +917,11 @@ "src/libretro/config/constants.cpp", "src/libretro/config/constants.hpp" ], + "github.com/JesseTG/rom-cleaner@f75e2b58733de180f28a73286c6a82505be7bbb2": [ + "libretro.cpp" + ], "github.com/JetSetIlly/Gopher2600@295b9e1c08203453677ea4184e284c0664f5949a": [ + "Makefile", "cartridgeloader/loader.go", "debugger/debugger.go", "gopher2600.go", @@ -906,12 +947,14 @@ ], "github.com/KaosOverride/CapriceRPI@7d86ebdc6a5e645220c6f30cf407ac57c3256054": [ "src/cap32.cpp", + "src/cap32.h", "src/roms/builtin_roms.h" ], "github.com/LIJI32/SameBoy@9bf7e0b4dffc20941e4dfadffc6899ae19463844": [ "Core/gb.c", "Core/gb.h", - "libretro/libretro.c" + "libretro/libretro.c", + "version.mk" ], "github.com/LLeny/holani-retro@d0d79b4928e3d32695294142784c033ce7aeda9b": [ "src/lib.rs" @@ -921,6 +964,7 @@ "src/rom.rs" ], "github.com/LekKit/RVVM@343f6784c8922446083c5d5bd111d7c1eb8590eb": [ + "CMakeLists.txt", "src/bindings/libretro/libretro.c", "src/core/rvvm.c", "src/main.c" @@ -988,6 +1032,7 @@ "tools/installer/TRX_Installer/InstallMappings.cs" ], "github.com/NagyD/SDLPoP@3c5add5fb7f83d4ceb542823ab66d00146c4271b": [ + "src/config.h", "src/seg009.c" ], "github.com/Novum/vkQuake@a6cfba6904e0743dae4235f9dad9711bb5bd27f1": [ @@ -1216,15 +1261,18 @@ "rpcs3/Emu/Cell/lv2/sys_prx.cpp", "rpcs3/Emu/System.cpp", "rpcs3/Loader/PUP.cpp", + "rpcs3/rpcs3_version.cpp", "rpcs3/rpcs3qt/main_window.cpp" ], "github.com/RSDKModding/RSDKv3-Decompilation@2a7fd8b70f1b33553e0d6c67491d07e8290b80c1": [ + "CMakeLists.txt", "RSDKv3/Reader.cpp", "RSDKv3/RetroEngine.cpp", "RSDKv3/RetroEngine.hpp", "RSDKv3/Userdata.cpp" ], "github.com/RSDKModding/RSDKv4-Decompilation@a7f5195e21fdad7b75e4587e249013feeea9e6f3": [ + "CMakeLists.txt", "RSDKv4/ModAPI.cpp", "RSDKv4/Reader.cpp", "RSDKv4/Reader.hpp", @@ -1325,11 +1373,13 @@ "C64.emu/src/vice/vicii/vicii-resources.c", "C64.emu/src/vice/viciisc/vicii-resources.c", "C64.emu/src/vice/video/video-resources.c", + "EmuFramework/CMakeLists.txt", "EmuFramework/include/emuframework/AppMeta.hh", "EmuFramework/include/emuframework/AssetManager.hh", "EmuFramework/include/emuframework/DataPathSelectView.hh", "EmuFramework/include/emuframework/EmuSystem.hh", "EmuFramework/include/shared/mednafen/mednafen-config.h", + "EmuFramework/metadata/conf.mk", "EmuFramework/src/AppMeta.cc", "EmuFramework/src/AssetManager.cc", "EmuFramework/src/EmuApp.cc", @@ -1602,7 +1652,8 @@ "Source/RMG-Input/main.cpp", "Source/RMG/UserInterface/Dialog/SettingsDialog.cpp", "Source/RMG/UserInterface/MainWindow.cpp", - "Source/RMG/main.cpp" + "Source/RMG/main.cpp", + "VERSION" ], "github.com/STJr/SRB2@639b58c6d718452ef343a0bc927d043bed9e40d6": [ "src/CMakeLists.txt", @@ -1610,10 +1661,12 @@ "src/d_main.c", "src/doomdef.h", "src/sdl/i_system.c", + "src/version.h", "src/w_wad.c" ], "github.com/SourMesen/Mesen-S@89199f298a95345a893d814525b6668567a6d490": [ "Core/BaseCartridge.cpp", + "Core/EmuSettings.cpp", "Core/FirmwareHelper.h", "Core/Gameboy.cpp", "Core/GbBootRom.h", @@ -1648,6 +1701,7 @@ ], "github.com/Spuds0588/mgba-splitscreen@f1d5975d77285f77affbfe64b7050ebd5c4b6a77": [ "CMakeLists.txt", + "mgba-splitscreen/package.json", "src/gba/gba.c", "src/platform/libretro-splitscreen/instances.c", "src/platform/libretro-splitscreen/mgba_splitscreen_libretro.info" @@ -1660,7 +1714,8 @@ "src/emulator.c" ], "github.com/SquirrelJME/SquirrelJME@24d0e97d4297d0bce26a9651f5bce5d326ea690a": [ - "nanocoat/src/boot.c" + "nanocoat/src/boot.c", + "squirreljme-version" ], "github.com/StillJC/ArcadeDuck@80cdb6da6b51d687192a6346efe4499b10fe4faf": [ "data/resources/arcadedb.yaml", @@ -1734,7 +1789,8 @@ ], "github.com/TASEmulators/desmume@e06d11f6df8c2e35d570412c45f5a63e5e7c031d": [ "desmume/src/NDSSystem.cpp", - "desmume/src/firmware.cpp" + "desmume/src/firmware.cpp", + "desmume/src/version.cpp" ], "github.com/TASEmulators/desmume@fc504ee0bc9ac3434cafcaae7b129c025499a609": [ "desmume/src/NDSSystem.cpp", @@ -1754,6 +1810,7 @@ ], "github.com/TerryCavanagh/VVVVVV@40e1ec3bbf2a990a5c600564fe312c2121178a50": [ "desktop_version/src/FileSystemUtils.cpp", + "desktop_version/src/ReleaseVersion.h", "desktop_version/src/main.cpp" ], "github.com/TheForceEngine/TheForceEngine@cc25205cc94c36a396f6f50295772f6ec83069a2": [ @@ -1776,7 +1833,8 @@ "src/main/level_file.cpp", "src/main/menu_main.cpp", "src/main/translate.cpp", - "src/sound.cpp" + "src/sound.cpp", + "version.cmake" ], "github.com/ThisBoringWorld/gam4980@eeaa531b55e7127ab4b5e0bdc5ceba686df59c6a": [ "src/libretro.c" @@ -1850,6 +1908,7 @@ "SDL/keyboard.c", "SDL/prop.c", "SDL/tool/create_cgrom.c", + "version.txt", "win32api/dosio.c", "x68k/ioc.c", "x68k/midi_fluid.c", @@ -1876,6 +1935,7 @@ "wadsrc_lights/CMakeLists.txt", "wadsrc_widepix/CMakeLists.txt" ], + "github.com/Uzebox/uzebox@eb02e5f69212983e778a2ca87b198f22071303b8": [], "github.com/VICE-Team/svn-mirror@46b1bc4393251f838ce3dadd241c1f567d9371d1": [], "github.com/VICE-Team/svn-mirror@81546e60c222fe4aef750b890b0dbe3a5ac280d8": [ "vice/configure.ac", @@ -1941,6 +2001,7 @@ "vice/src/video/video-color.c" ], "github.com/Vita3K/Vita3K@6ec8e6ce31f3d6099b14eb9dd0320c09ef6386b6": [ + "vita3k/CMakeLists.txt", "vita3k/app/src/app.cpp", "vita3k/module/src/load_module.cpp", "vita3k/packages/src/pup.cpp", @@ -1960,6 +2021,7 @@ "README.md", "cmake/Symbian.cmake", "src/emu/CMakeLists.txt", + "src/emu/common/include/common/configure.h.in", "src/emu/common/src/path.cpp", "src/emu/common/src/types.cpp", "src/emu/config/include/config/options.inl", @@ -2136,6 +2198,9 @@ "vm/vm.c", "vm/vm_console.c" ], + "github.com/aduros/wasm4@9d6c962785cfe3719d0245fd279ecbe98a4dbb63": [ + "cli/package.json" + ], "github.com/adventuregamestudio/ags@6802bad8dc3189462003d4a169fc591f64cfb9b6": [ "Common/ac/gamesetupstructbase.h", "Common/ac/spritefile.cpp", @@ -2224,6 +2289,7 @@ "src/game/gconfig.cc" ], "github.com/alexbatalov/fallout2-ce@e97087b9582f37075db347a89898887320753f8b": [ + "CMakeLists.txt", "src/game.cc", "src/game_config.cc", "src/interface.cc", @@ -2309,6 +2375,9 @@ "src/ui_text.c", "src/version.c" ], + "github.com/amberwhitehead/pzretro@6d859b47092f585a7ec05804c1d51a1676a06531": [ + "src/core.cpp" + ], "github.com/andkrau/NuanceResurrection@daf3ca642756a559ecce91e10da0e73cbad180ff": [ "CMakeLists.txt", "src/Bios.h", @@ -2487,6 +2556,7 @@ ], "github.com/atari800/atari800@98cc2dc749867c9c7317a0271ba062a6c797f886": [], "github.com/audetto/AppleWin@0a89db3d593a74d04590b902fb7206723591f445": [ + "resource/version.h", "source/frontends/common2/gnuframe.cpp" ], "github.com/aureyoboss/ArcadeFlashWeb@5de66e0cd69b48721a094887a28d042f71ddad08": [ @@ -2507,6 +2577,7 @@ "src/tools/mkpfi.c" ], "github.com/autch/piemu@23208626e16e53b73fd21a2fbd0c429338625dc4": [ + "app.h", "piemu.c", "tools/mkpfi.c" ], @@ -2647,6 +2718,7 @@ "bsnes/target-libretro/libretro.cpp" ], "github.com/bvschaik/julius@34d1ecd54befb845c0139b371fa8a0438210dac1": [ + "CMakeLists.txt", "src/building/model.c", "src/core/image.c", "src/core/lang.c", @@ -2658,10 +2730,12 @@ ], "github.com/cebix/macemu@96e512bd6376e78a2869f16dcc8a9028bce5ee72": [ "BasiliskII/src/Unix/main_unix.cpp", + "BasiliskII/src/include/version.h", "BasiliskII/src/main.cpp", "BasiliskII/src/rom_patches.cpp", "SheepShaver/src/Unix/main_unix.cpp", "SheepShaver/src/Windows/main_windows.cpp", + "SheepShaver/src/include/version.h", "SheepShaver/src/main.cpp", "SheepShaver/src/rom_patches.cpp" ], @@ -2761,6 +2835,7 @@ "src/video/screen.c" ], "github.com/chocolate-doom/chocolate-doom@72d9e9318c4ccc61dab29bb9cc30bc8a9a93266d": [ + "configure.ac", "src/d_iwad.c", "src/d_iwad.h", "src/doom/d_main.c", @@ -2774,9 +2849,11 @@ ], "github.com/christianhaitian/bennugd-monolithic@60ee3389efcf9b402d66035e87f33d17d70cbd83": [ "README.md", - "core/bgdi/src/main.c" + "core/bgdi/src/main.c", + "projects/cmake/include/common_defs.cmake" ], "github.com/christianhaitian/ti99sim@e3608541943b5258afe45b74e3f78e723df1fcbd": [ + "doc/CHANGES.html", "src/core/device-support.cpp", "src/core/ti994a-gk.cpp", "src/core/ti994a.cpp", @@ -2844,6 +2921,7 @@ "fs.cpp", "game.cpp", "main.cpp", + "main_libretro.cpp", "resource.cpp" ], "github.com/deathkiller/jazz2-native@ff9ddb7be9c84bdcf71b22d9380da06135edeb62": [ @@ -2864,6 +2942,7 @@ "cmake/ncine_options.cmake" ], "github.com/derik-dot-digital/D.Smile@d4bbc3be27537def21513991647f14ea9a9c2d15": [ + "app/build.gradle.kts", "app/src/main/cpp/core/vsmile.cpp", "app/src/main/cpp/jni_bridge.cpp", "app/src/main/java/com/dsmile/emulator/ui/EmuActivity.kt", @@ -2882,18 +2961,25 @@ "Source/diablo.cpp", "Source/engine/assets.cpp", "Source/init.cpp", - "Source/options.cpp" + "Source/options.cpp", + "VERSION" + ], + "github.com/diekleinekuh/BennuGD_libretro@5fba764ac709545d4b0d3b28deff2ec0c7d1a91b": [ + "core/common/bgd_version.c" ], "github.com/digarok/gsplus-legacy-archive@480572054518112647c8fae5d7ea7046a6d6ecfb": [ + "CMakeLists.txt", "src/config.c", "src/imagewriter.cpp", "src/printer.cpp", "src/sim65816.c" ], "github.com/digarok/gsplus@41e71031debbde98e66ea5c5c67498e9b4726a6d": [ + "gsplus/src/CMakeLists.txt", "gsplus/src/config.c" ], "github.com/dividebysandwich/rust-dos@152d9bca7820f0d9a5d1ca820a2d20855698a211": [ + "Cargo.toml", "crates/gus/build.rs", "crates/gus/src/builtin.rs", "crates/mt32/src/lib.rs", @@ -3019,6 +3105,7 @@ "Source/Core/DolphinQt/MenuBar.cpp" ], "github.com/dosbox-staging/dosbox-staging@fa1856c057902be3e08856675d6cc1e7ffe43db6": [ + "CMakeLists.txt", "src/audio/disk_noise.cpp", "src/dos/CMakeLists.txt", "src/dos/dos_code_page.cpp", @@ -3042,6 +3129,7 @@ "src/shell/autoexec.cpp" ], "github.com/doublegate/RustyNES@3d02b99dc84fb389c03fc6b1f986ffa658dda0dd": [ + "Cargo.toml", "crates/rustynes-core/src/bus.rs", "crates/rustynes-core/src/nes.rs", "crates/rustynes-gamedb/src/lib.rs", @@ -3049,6 +3137,7 @@ "crates/rustynes-mappers/src/fds.rs" ], "github.com/doukutsu-rs/doukutsu-rs@d05995b2ce88e583491fcecfbd5883735d3527ea": [ + "Cargo.toml", "src/data/vanilla.rs", "src/game/shared_game_state.rs" ], @@ -3185,6 +3274,7 @@ "github.com/emuplace/sudachi.emuplace.app@c7431bd420d66c54df277ba0a0b71de42cf0a5bf": [], "github.com/etlegacy/etlegacy@add16a92f4b10c2955136e3ab7868bfc9bff8fad": [ "README.md", + "VERSION.txt", "cmake/ETLBuildMod.cmake", "cmake/ETLVersion.cmake", "src/qcommon/files.c", @@ -3192,6 +3282,7 @@ "src/sys/sys_main.c" ], "github.com/fabiangreffrath/taradino@2b4ea3c6c18caf60959efee1f2534c2122607716": [ + "CMakeLists.txt", "rott/rt_datadir.c", "rott/rt_main.c", "rott/rt_main.h", @@ -3200,7 +3291,8 @@ "github.com/finalburnneo/FBNeo@697e385c8285bfc528343b96d948ee3a4f9e24c5": [ "src/burn/burn.cpp", "src/burn/drv/neogeo/d_neogeo.cpp", - "src/burn/hiscore.cpp" + "src/burn/hiscore.cpp", + "src/burn/version.h" ], "github.com/finalburnneo/FBNeo@c110542721d8674b6ff48e691ac032c040fecbba": [ "src/burn/burn.cpp", @@ -3229,6 +3321,7 @@ "src/burn/drv/taito/d_taitof2.cpp", "src/burn/hiscore.cpp", "src/burn/snd/samples.cpp", + "src/burn/version.h", "src/burner/conc.cpp" ], "github.com/flyinghead/flycast@e88b0ced2243de137bcccac0072f0c1dd00d41bd": [ @@ -3279,12 +3372,14 @@ "app/src/main/java/paulscode/android/mupen64plusae/persistent/AppData.java", "app/src/main/java/paulscode/android/mupen64plusae/persistent/GlobalPrefs.java", "app/src/main/java/paulscode/android/mupen64plusae/util/RomHeader.java", + "build_common/version_common.gradle", "mupen64plus-core/upstream/src/main/main.c", "settings.gradle" ], "github.com/garglk/garglk@9e06211c20bee35026744424a57f50375cdc29db": [ "CMakeLists.txt", "INSTALL.md", + "VERSION", "garglk/CMakeLists.txt", "garglk/config.cpp", "garglk/draw.cpp", @@ -3356,6 +3451,7 @@ "idTech4Amm/src/main/java/com/n0n3m4/DIII4A/launcher/SetupControlsThemeFunc.java" ], "github.com/gopher64/gopher64@87385e77432cd278ac8588c7ed3d5014fc0d6bab": [ + "Cargo.toml", "build.rs", "parallel-rdp/interface.cpp", "src/cheats.rs", @@ -3497,7 +3593,8 @@ "src/xenia/ui/audio_helper.cc", "src/xenia/ui/d3d12/d3d12_provider.cc", "src/xenia/ui/imgui_drawer.cc", - "src/xenia/ui/vulkan/vulkan_instance.cc" + "src/xenia/ui/vulkan/vulkan_instance.cc", + "upstream.version" ], "github.com/hatari/hatari@23bc3060ebf0da348cc842e358c102ba88002b56": [], "github.com/hatari/hatari@c1a5c88bc06e56778b6b7f8483becfd58a7da2b4": [ @@ -3561,6 +3658,7 @@ "src/org/recompile/mobile/PlatformFont.java" ], "github.com/hex007/freej2me@eb4ac87e9a0b212ba701691eb67ee4892b2b1173": [ + "META-INF/freej2me-build.version", "src/libretro/freej2me_libretro.c" ], "github.com/hrydgard/ppsspp@43a69b1c84dfe29e82b46bd3797a1106cbd65c5b": [ @@ -3593,6 +3691,9 @@ "dirksimple_libretro.c", "dirksimple_sdl.c" ], + "github.com/icculus/mojozork@ff7e00742a00acec8e175ddefb97520fb270df2d": [ + "mojozork-libretro.c" + ], "github.com/ihhub/fheroes2@35ca4c915be00098547d5050412a325dd55cfd7f": [ "src/fheroes2/agg/agg.cpp", "src/fheroes2/audio/audio_manager.cpp", @@ -3684,6 +3785,7 @@ "ui/libretro.c" ], "github.com/ioquake/ioq3@87a99d18206e878a20289f05ac3c16005dcae5c3": [ + "cmake/identity.cmake", "code/qcommon/files.c", "code/qcommon/q_shared.h", "code/qcommon/qcommon.h" @@ -3691,6 +3793,7 @@ "github.com/iortcw/iortcw@438e7d413b5f7277187c35b032eb0ef9093ae778": [ "MP/code/qcommon/files.c", "MP/code/qcommon/q_shared.h", + "SP/Makefile", "SP/code/qcommon/files.c", "SP/code/qcommon/qcommon.h" ], @@ -3704,6 +3807,7 @@ "pico/pico_int.h", "pico/sms.c", "platform/common/emu.c", + "platform/common/version.h", "platform/libretro/libretro.c" ], "github.com/ivanizag/izapple2@4e773baf9f1f3fb692e3f3444eb5f42fddb205ef": [ @@ -3719,7 +3823,9 @@ "github.com/iyzsong/onscripter-libretro@ec4ff1842d498faaa844d570becf561d088deea0": [ "libretro.cpp" ], - "github.com/iyzsong/syobonaction-libretro@792c40cb590bcc7286cf720b5fb85807082b534e": [], + "github.com/iyzsong/syobonaction-libretro@792c40cb590bcc7286cf720b5fb85807082b534e": [ + "libretro.cpp" + ], "github.com/izzy2lost/Super3@c410f82f771b33094b8c1cdbf96ef7c74ec9cff1": [ "Manual.txt", "README.md", @@ -3774,6 +3880,7 @@ "github.com/joamag/boytacean@4d806d0770f117cc8e6ac0fe75b95aa9dc39fc4f": [ "frontends/libretro/src/core.rs", "frontends/sdl/src/main.rs", + "setup.py", "src/data.rs", "src/gb.rs" ], @@ -3833,6 +3940,7 @@ "src/spi.cpp" ], "github.com/jsgroth/jgenesis@0a00c47ba7a16bd6e77ef7e0b6c8fab2fc603cba": [ + "Cargo.toml", "backend/gb-core/src/memory.rs", "backend/gba-core/src/memory.rs", "backend/genesis-components/src/cartridge.rs", @@ -3860,6 +3968,7 @@ "frontend/jgenesis-native-driver/src/mainloop/smsgg.rs" ], "github.com/jtothebell/fake-08@814991a2571ad3970e386cef48f3b148aa1c27b9": [ + "Makefile", "platform/libretro/libretro.cpp", "source/p8GlobalLuaFunctions.h", "source/vm.h" @@ -3868,7 +3977,8 @@ "sc2/build/win32_install/packages.nsh", "sc2/build/win32_install/uqm-installer.nsi", "sc2/src/options.c", - "sc2/src/uqm/setup.c" + "sc2/src/uqm/setup.c", + "sc2/src/uqmversion.h" ], "github.com/kondrak/vkQuake2@6763f207229f97cffabb6fc2da72017a794b139b": [ "client/snd_miniaudio.c", @@ -3880,6 +3990,7 @@ "github.com/kurtjd/jaxe@c767afd785e01a15bcd575a2d93b737add82b675": [ "include/chip8.h", "src/chip8.c", + "src/libretro.c", "src/main.c" ], "github.com/lemon32767/ccleste@261d96f15af430b8111abc7a5250229246654f52": [ @@ -3887,6 +3998,7 @@ "sdl12main.c" ], "github.com/lethal-guitar/RigelEngine@f05996f9b3ad3b3ea5bb818e49e7977636746343": [ + "CMakeLists.txt", "README.md", "cmake/rigel_pack.cmake", "src/assets/cmp_file_package.cpp", @@ -3915,6 +4027,7 @@ "src/burn/burn.cpp", "src/burn/drv/neogeo/d_neogeo.cpp", "src/burn/hiscore.cpp", + "src/burn/version.h", "src/burner/libretro/libretro.cpp" ], "github.com/libretro/FBNeo@da14132bab6683980b1ad7e4d0d6fd47bf06dce7": [ @@ -3944,9 +4057,13 @@ "src/burn/drv/taito/d_taitof2.cpp", "src/burn/hiscore.cpp", "src/burn/snd/samples.cpp", + "src/burn/version.h", "src/burner/conc.cpp", "src/burner/libretro/libretro.cpp" ], + "github.com/libretro/FFmpeg@4920879d2f09a78cdf855403c349457cee1c31da": [ + "RELEASE" + ], "github.com/libretro/FreeChaF@76c7a84f1f7e80f3e6f2bba96fe100cb24e99124": [ "src/channelf_hle.c", "src/libretro.c", @@ -3977,12 +4094,14 @@ ], "github.com/libretro/Mesen-S@9e4fdeb9b336470bc96beb8765b2e79c86a2da1e": [ "Core/BaseCartridge.cpp", + "Core/EmuSettings.cpp", "Core/FirmwareHelper.h", "Core/Gameboy.cpp", "Core/GbBootRom.h", "Core/NecDsp.cpp" ], "github.com/libretro/Mesen@0102910c39ad1a62bc3f784466f3f67ca9eae335": [ + "Core/EmulationSettings.cpp", "Core/FdsLoader.cpp", "Core/StudyBoxLoader.cpp", "Libretro/libretro.cpp" @@ -4028,6 +4147,7 @@ "font/fontdata.c", "io/pcidev.c", "keystat.c", + "np2ver.h", "pccore.c", "sdl/libretro/libretro.c", "sound/fmgen/fmgen_opna.cpp", @@ -4060,9 +4180,13 @@ "source/PokeMini.c", "source/PokeMini.h" ], + "github.com/libretro/QuickNES_Core@26bb785c9deddb66a17717b21bb4e328f03ade32": [ + "libretro/libretro.cpp" + ], "github.com/libretro/RACE@c7810dd7f172827bfa2004813bc000b13786636b": [ "flash.c", "koyote_bin.h", + "libretro/libretro.c", "main.c", "ngpBios.c", "race-memory.c", @@ -4079,10 +4203,14 @@ "src/resource_aba.cpp", "src/staticres.cpp" ], + "github.com/libretro/RetroArch@5078a39b624e31b359e1527ea7fbfddfc7de96cb": [ + "version.all" + ], "github.com/libretro/SameBoy@aa158a889a48b538a0302873704a34577c8eb67d": [ "Core/gb.c", "Core/gb.h", - "libretro/libretro.c" + "libretro/libretro.c", + "version.mk" ], "github.com/libretro/TIC-80@14fd99edc29962778bc88d81773288ffc6e8aa53": [ ".gitmodules" @@ -4091,14 +4219,21 @@ "libretro.c", "memory.c" ], + "github.com/libretro/ThePowderToy@bb2d9f6623d2ccf25a0021045af9591c8a0bbaff": [ + "src/Config.h" + ], "github.com/libretro/a5200@40c6f2f1ad4a3145b328d5baaf010fae6c7e752b": [ "emu/memory.c", "libretro/libretro.c" ], "github.com/libretro/arduous@831b83e67ad46e8c86b8165649ff81bc6fc6c157": [ + "CMakeLists.txt", "include/arduous/arduous.h", "src/arduous/arduous.cpp" ], + "github.com/libretro/beetle-bsnes-libretro@5f05e4c785e936c928ac468e129c55b6f08592cb": [ + "libretro.cpp" + ], "github.com/libretro/beetle-finalarcade2019@0581797db6fdffd826086b053ced4b6b29bb6678": [ "src/burn/burn.cpp", "src/burn/drv/coleco/d_coleco.cpp", @@ -4128,6 +4263,9 @@ "mednafen/lynx/cart.cpp", "mednafen/lynx/rom.cpp" ], + "github.com/libretro/beetle-ngp-libretro@a50d5ac288a81f2104ddf43195a4efdd15c72227": [ + "libretro.c" + ], "github.com/libretro/beetle-pce-fast-libretro@4eee99c451f85ebe66d1591de88b892015b23059": [ "libretro.c" ], @@ -4141,7 +4279,8 @@ "mednafen/settings.c" ], "github.com/libretro/beetle-psx-libretro@7fea57a541abb39b8c5035b6261c3e70962d221b": [ - "libretro.c" + "libretro.c", + "libretro_options.h" ], "github.com/libretro/beetle-saturn-libretro@30f4c12072d265c9e553dcb29386059114945dea": [ "disc.c", @@ -4165,6 +4304,9 @@ "github.com/libretro/beetle-vb-libretro@d5ae54c8e23b573a3b34e888b2d48a588027e92c": [ "libretro.cpp" ], + "github.com/libretro/beetle-wswan-libretro@4b01295838ea89e3f1355bbe4cb5cf98aa6108cd": [ + "libretro.c" + ], "github.com/libretro/bk-emulator@92042a753289cedf05e7e6bd8e75849f83e48966": [ "boot.c", "libretro.c", @@ -4183,10 +4325,12 @@ "paths.c", "romdb.c", "segacd.c", - "systems.cfg" + "systems.cfg", + "version.inc" ], "github.com/libretro/blueMSX-libretro@e3086eb5d36d77fa11704cf53dc176686e70127d": [ "Src/Board/Machine.c", + "Src/BuildInfo/version.h", "Src/Memory/MegaromCartridge.c", "libretro.c", "libretro_core_options.h", @@ -4210,9 +4354,14 @@ "github.com/libretro/bsnes-jg@4aef191fef72be539ccc07ada21c6e0a65360eb7": [ "libretro/libretro.cpp", "src/cartridge.cpp", - "src/coprocessor/icd.cpp" + "src/coprocessor/icd.cpp", + "version.h" + ], + "github.com/libretro/bsnes-libretro-cplusplus98@baec09aa4796b7575aba1c1ae7335f493c2216af": [ + "snes/libretro/libretro.cpp" ], "github.com/libretro/bsnes-libretro@05439f96121d2b9d7ad7a5fc1f29d7eebdcc8c43": [ + "bsnes/emulator/emulator.hpp", "bsnes/heuristics/super-famicom.cpp", "bsnes/sfc/cartridge/load.cpp", "bsnes/sfc/coprocessor/armdsp/armdsp.hpp", @@ -4222,16 +4371,19 @@ ], "github.com/libretro/bsnes-mercury@79d7f9de218b6ffa65a80bbdc5828532bc239232": [ "ananke/heuristics/super-famicom.hpp", + "emulator/emulator.hpp", "sfc/cartridge/markup.cpp", "target-libretro/libretro.cpp" ], "github.com/libretro/bsnes2014@3c1394e042ee444c8248e1b9210e14ea55e836e9": [ "ananke/heuristics/super-famicom.hpp", + "emulator/emulator.hpp", "target-libretro/libretro.cpp" ], "github.com/libretro/cannonball@0d83575d920ea4c0a280847a19d7802f673e6a68": [ "src/main/engine/omusic.c", "src/main/frontend/config.c", + "src/main/frontend/menu.c", "src/main/libretro/main.c", "src/main/romloader.c" ], @@ -4267,6 +4419,7 @@ ], "github.com/libretro/crawl-ref@cc2530f377a3a5d686d4b6a360d88b01de0fbc59": [ "crawl-ref/libretro/libretro.cc", + "crawl-ref/source/build.h", "crawl-ref/source/database.cc", "crawl-ref/source/files.cc", "crawl-ref/source/fontwrapper-ft.cc", @@ -4274,17 +4427,20 @@ "crawl-ref/source/tiletex.cc" ], "github.com/libretro/daphne@6f1695dd1f376060666eec0a416ff56bb6c9cccc": [ + "daphne/daphne-1.0-src/daphne.cpp", "daphne/daphne-1.0-src/game/game.cpp", "daphne/libretro/libretro.cpp" ], "github.com/libretro/desmume2015@422b688009ccb9f2917c086a8fe79c8cecb030ae": [ "desmume/src/NDSSystem.cpp", - "desmume/src/NDSSystem.h" + "desmume/src/NDSSystem.h", + "desmume/src/version.c" ], "github.com/libretro/desmume@95b4d798731caa809125b6c3c11d17cc332ff6ef": [ "desmume/src/NDSSystem.cpp", "desmume/src/firmware.cpp", - "desmume/src/frontend/libretro/libretro.cpp" + "desmume/src/frontend/libretro/libretro.cpp", + "desmume/src/version.cpp" ], "github.com/libretro/dolphin@3aac3f052f733f8df2f1616843a4d2e14002ed11": [ "Source/Android/app/build.gradle.kts", @@ -4318,6 +4474,7 @@ "libretro/deps/munt/mt32emu/src/ROMInfo.cpp", "libretro/src/libretro.cpp", "libretro/src/midi_bassmidi.cpp", + "libretro/svn", "src/gui/midi_mt32.cpp" ], "github.com/libretro/dosbox-libretro@a563bb5e9753f207d74e9d8c417d793b784fa4be": [ @@ -4327,6 +4484,7 @@ "libretro/src/libretro.cpp", "libretro/src/libretro_core_options.cpp", "libretro/src/midi_bassmidi.cpp", + "libretro/svn", "src/gui/midi.cpp", "src/gui/midi_mt32.cpp", "src/gui/midi_sc55.h" @@ -4338,12 +4496,14 @@ "src/gui/mt32emu.h" ], "github.com/libretro/dosbox-svn@46a3164fc0f1e808ae56143d81698b00fb6b4781": [ + "include/config.h", "libretro/Makefile.common", "libretro/Makefile.libretro", "libretro/libretro.cpp", "src/misc/cross.cpp" ], "github.com/libretro/easyrpg-libretro@a3fbb7c24fd5a39fd95388d09135256a6b19f1e4": [ + "CMakeLists.txt", "builds/android/app/src/main/java/org/easyrpg/player/player/EasyRpgPlayerActivity.java", "builds/android/app/src/main/java/org/easyrpg/player/settings/SettingsManager.java", "src/decoder_fluidsynth.cpp", @@ -4352,11 +4512,13 @@ ], "github.com/libretro/ecwolf@0cccd9a85d7ffa33fb695691a8a5db246606518c": [ "src/libretro/libretro.cpp", + "src/libretro/versiondefs.h", "src/libretro/wl_main.cpp", "src/version.h", "src/wl_iwad.cpp" ], "github.com/libretro/emux@3e558cb15157fcb1944846a845547d369605c963": [ + "configure.ac", "controllers/mapper/gb_mapper.c", "controllers/mapper/gb_mapper.h", "controllers/mapper/sms_mapper.c", @@ -4374,16 +4536,20 @@ "github.com/libretro/fbalpha2012@0ce31536bef3162fe7e69ff5f555334ec4913cef": [ "svn-current/trunk/src/burn/burn.cpp", "svn-current/trunk/src/burn/hiscore.cpp", - "svn-current/trunk/src/burn/snd/samples.cpp" + "svn-current/trunk/src/burn/snd/samples.cpp", + "svn-current/trunk/src/burn/version.h" ], "github.com/libretro/fbalpha2012_cps1@5542c1848ef81e92db311193b01dc349bc29d7cc": [ - "src/burn/hiscore.cpp" + "src/burn/hiscore.cpp", + "src/burner/libretro/libretro.cpp" ], "github.com/libretro/fbalpha2012_cps2@e3f3ae46f120228b74d41e2b2862f1fbf1d7eb5b": [ - "src/burn/hiscore.c" + "src/burn/hiscore.c", + "src/burner/libretro/libretro.cpp" ], "github.com/libretro/fbalpha2012_cps3@57f8015c2e0cdebcf42d3add2c314bb7448f9421": [ - "svn-current/trunk/src/burn/hiscore.cpp" + "svn-current/trunk/src/burn/hiscore.cpp", + "svn-current/trunk/src/burn/version.h" ], "github.com/libretro/fbalpha2012_neogeo@e092097037d494c50d17c5144a2758d68538061b": [ "src/burn/drv/neogeo/d_neogeo.cpp", @@ -4391,10 +4557,12 @@ ], "github.com/libretro/fixGB@c7865087b8c8126b8bc60fddb75b20efad992458": [ "libretro/libretro.c", + "main.c", "mem.c" ], "github.com/libretro/fixNES@72af6c6fd9d3b6c23d334ba7385b6a09225f2276": [ "libretro/libretro.c", + "main.c", "mapper.c" ], "github.com/libretro/fmsx-libretro@4de11755ce4f196ac1c8a7bb20bb4eccbc87a7d4": [ @@ -4422,9 +4590,11 @@ "github.com/libretro/frodo-libretro@891d20102a8894dd4fce73fb8bd2f623483fd05f": [ "Src/C64.cpp", "Src/C64.h", + "Src/Version.h", "Src/main.cpp" ], "github.com/libretro/fuse-libretro@e997e2bc32c888348f862f69f2c53babfedf7791": [ + "fuse/configure.ac", "fuse/machine.c", "fuse/machines/pentagon.c", "fuse/machines/pentagon512.c", @@ -4465,15 +4635,20 @@ "src/geo.c", "src/geo_cd.c" ], + "github.com/libretro/gong@69ef0b69dc542af4c1cf2efcc451dd6c378281b6": [ + "gong.c" + ], "github.com/libretro/gpsp@5819380c2ffb0900219d700a382ee68c464ebb99": [ "bios/source/core.s", "gba_memory.c", + "gpsp_config.h", "libretro/libretro.c", "main.h" ], "github.com/libretro/gw-libretro@91d599b951e7bfe7e040347f58667cba20074adc": [ "gwrom/gwrom.h", - "src/libretro.c" + "src/libretro.c", + "src/libretro_version.c" ], "github.com/libretro/hatari@25f488b1667ed064a25c30eb3f06b40bc877c495": [ ".gitlab-ci-libretro.yml", @@ -4533,6 +4708,9 @@ "src/tos.c", "src/vdi.c" ], + "github.com/libretro/hbmame-libretro@840eeef5ee0fd75dab62c90bf25789b898f3dba3": [ + "makefile" + ], "github.com/libretro/ishiiruka@f228bde5fbf4861ba749a229803addcd6238663f": [ "Source/Core/Common/CommonPaths.h", "Source/Core/Common/SysConf.cpp", @@ -4555,11 +4733,22 @@ "src/jcv_coleco.c", "src/jcv_crvision.c", "src/jcv_db.c", - "src/jollycv.c" + "src/jollycv.c", + "version.h" + ], + "github.com/libretro/jumpnbump-libretro@2cc840155ce4bf42b2e9e0ef3854b32d534e607e": [ + "libretro.c" + ], + "github.com/libretro/libretro-2048@39333f7b13dc4daea7c151d9c38d22b961246343": [ + "libretro.c" + ], + "github.com/libretro/libretro-3dengine@efa2bf6f32f930721fe9ae2361d7ec858077c483": [ + "libretro.cpp" ], "github.com/libretro/libretro-atari800@4e7fbc73765c1a9670c7506616046ad1d4ccda51": [ "atari800/src/atari.c", - "atari800/src/sysrom.c" + "atari800/src/sysrom.c", + "libretro/config.h" ], "github.com/libretro/libretro-cap32@8e61dd69d948cea16c3bad734f7b9d0c2a018cc8": [ "cap32/cap32.c", @@ -4570,10 +4759,15 @@ "cap32/rom/amsdos.h", "cap32/rom/cpm.h", "cap32/slots.c", - "libretro/libretro-core.c" + "libretro/libretro-core.c", + "libretro/libretro-core.h" + ], + "github.com/libretro/libretro-chailove@524ef951abbd07464830ee12a3f6f5e2aba9efd3": [ + "src/ChaiLove.h" ], "github.com/libretro/libretro-crocods@a9c63b29443715ae2add392010fca4eae7f93e67": [ "crocods-core/cpc6128.bin.c", + "crocods-core/crocods.h", "crocods-core/multiface.c", "crocods-core/platform.c", "crocods-core/romdisc.bin.c", @@ -4592,11 +4786,16 @@ ], "github.com/libretro/libretro-fsuae@089bb69207fe8fa5eec0006d1d759fb6426f4027": [ "Makefile.libretro", + "configure.ac", "libretro/libretro.c", "sources/src/fs-uae/config.c", "sources/src/fs-uae/paths.c" ], + "github.com/libretro/libretro-gme@1562f6207a066e9807243c89648d1cb44e411971": [ + "deps/game-music-emu/gme/gme.h" + ], "github.com/libretro/libretro-handy@bc55d462f0b2d6b073ea93dc552ebd73cec60fd1": [ + "libretro/handy.h", "libretro/libretro.cpp", "lynx/rom.cpp", "lynx/rom.h", @@ -4604,7 +4803,8 @@ ], "github.com/libretro/libretro-lutro@6224157a615b18507bc0b117a3398c7a324cd3e5": [ "filesystem.c", - "libretro.c" + "libretro.c", + "lutro.h" ], "github.com/libretro/libretro-meowPC98@5fdbb2187f6b14ca7bf668dd52b36c820b989995": [ "bios/bios.c", @@ -4617,19 +4817,24 @@ "libretro/libretro.c", "np2tool/GETBIOS.ASM", "sound/rhythmc.c", - "sound/soundrom.c" + "sound/soundrom.c", + "x11/configure.ac" ], "github.com/libretro/libretro-minivmac@babdf7b53d361a7225858b68a8a64efe8b06f5e5": [ "libretro/libretro-core.c", "minivmac/cfg/CNFGRAPI.h", "minivmac/src/OSGLUERETRO.c" ], + "github.com/libretro/libretro-mpv@99f7fe4fd43d68da45006301829eaf37c7edbcc2": [ + "version.h" + ], "github.com/libretro/libretro-o2em@679d6fec04963f6e70a7ec217e3d0ebb1fe472fc": [ "libretro.c", "libretro_core_options.h", "src/voice.c" ], "github.com/libretro/libretro-pcem@e07923e902dcedcf65a502fb3f14e75b9ded5271": [ + "configure.ac", "src/mem.c", "src/ne2000.c", "src/nvr.c", @@ -4662,24 +4867,46 @@ "libretro/libretro.c", "src/d_main.c" ], + "github.com/libretro/libretro-remotejoy@745b97ca8d2d825d0bfde4bb321d1bf7b49fd91d": [ + "libretro/libretro.c" + ], "github.com/libretro/libretro-samples@7c2ad112d7a5176de2191e473369668da8946b16": [ + "audio/audio_callback/libretro-test.c", + "audio/audio_no_callback/libretro-test.c", + "audio/audio_playback_wav/libretro-test.c", + "input/button_test/libretro.c", "tests/cruzes/cruzes.c", + "video/opengl/libretro_test_gl_compute_shaders/app/boxes.cpp", "video/opengl/libretro_test_gl_fixedfunction/libretro_gl_ff_test.c", "video/software/rendering/libretro-test.c", - "video/software/rendering_direct_to_vram/libretro-test.c" + "video/software/rendering_direct_to_vram/libretro-test.c", + "video/vulkan/vk_async_compute/libretro-test.c" + ], + "github.com/libretro/libretro-samples@bce193bc1b8c9a3da43b2ead0158a69e28b37ed8": [ + "tests/test/libretro-test.c", + "video/opengl/libretro_test_gl_shaders/libretro_gl_test.c", + "video/vulkan/vk_rendering/libretro-test.c" + ], + "github.com/libretro/libretro-simcoupe@c28046241ac6a4d79e55326b6e354dc02f92fa34": [ + "SimCoupe/Base/GUIDlg.cpp" ], "github.com/libretro/libretro-uae@151828f14d43bb2b0651327ee19a23b36a7081b2": [ "libretro/libretro-core.c", "libretro/libretro-core.h", + "retrodep/sysconfig.h", "sources/src/caps/caps.c", "sources/src/driveclick.c" ], "github.com/libretro/libretro-uae@7387937066b1b693816c3b4e2b7a0c601d41363d": [ "libretro/libretro-core.c", "libretro/libretro-core.h", + "retrodep/sysconfig.h", "sources/src/caps/caps.c", "sources/src/driveclick.c" ], + "github.com/libretro/libretro-uzem@d991ee94547c8294abc1c4cb73d63116aa58b5bc": [ + "uzem.h" + ], "github.com/libretro/libretro-vecx@dccff5402a16d1ea7c112095a8e42632bf149506": [ "bios/system.h", "libretro.c", @@ -4716,7 +4943,8 @@ "src/drivers/stv.c", "src/drivers/suprnova.c", "src/drivers/zn.c", - "src/hiscore.c" + "src/hiscore.c", + "src/mame2003/mame2003.c" ], "github.com/libretro/mame2003-plus-libretro@993403d0332946b8aa6abab56fbd9864498790a1": [ "src/artwork.c", @@ -4743,7 +4971,8 @@ "src/cheat.c", "src/cpuexec.c", "src/datafile.c", - "src/hiscore.c" + "src/hiscore.c", + "src/libretro/libretro.c" ], "github.com/libretro/mame2010-libretro@dff8aadd1c3f38215af3955746d6e19abe0ddcea": [ "src/emu/cheat.c", @@ -4784,7 +5013,8 @@ "src/mame/drivers/triforce.c", "src/mame/drivers/twinkle.c", "src/mame/drivers/viper.c", - "src/mame/drivers/zn.c" + "src/mame/drivers/zn.c", + "src/osd/retro/retroos.c" ], "github.com/libretro/mame2015-libretro@7adbf440d5f554097f58f8c6ebb673adc4320a31": [ "src/emu/fileio.c", @@ -4841,7 +5071,8 @@ "src/mame/drivers/twinkle.c", "src/mame/drivers/viper.c", "src/mame/drivers/zn.c", - "src/osd/retro/retromain.c" + "src/osd/retro/retromain.c", + "src/version.c" ], "github.com/libretro/mame2015-libretro@c8fe6c7399f24466808b67933b2b96feea188e0b": [ "src/emu/hiscore.c", @@ -4896,7 +5127,8 @@ "src/mame/drivers/triforce.c", "src/mame/drivers/twinkle.c", "src/mame/drivers/viper.c", - "src/mame/drivers/zn.c" + "src/mame/drivers/zn.c", + "src/version.c" ], "github.com/libretro/mame2016-libretro@ae07c2f88ff2482ba9f50ffc8c9e7e6fbfe97d0a": [ "src/emu/romload.cpp", @@ -4950,9 +5182,11 @@ "src/mame/drivers/triforce.cpp", "src/mame/drivers/twinkle.cpp", "src/mame/drivers/viper.cpp", - "src/mame/drivers/zn.cpp" + "src/mame/drivers/zn.cpp", + "src/version.cpp" ], "github.com/libretro/mame@5f5a07748ce5c239c4118463ce8e6473743d4859": [ + "makefile", "plugins/boot.lua", "src/devices/bus/a1bus/a1cassette.cpp", "src/devices/bus/a1bus/a1cffa.cpp", @@ -5941,6 +6175,7 @@ "src/osd/sdl3/sdlopts.cpp" ], "github.com/libretro/mame@dc1a96537089d6d4ecd01d9886b21061471c70c0": [ + "makefile", "src/mame/acorn/aristmk5.cpp", "src/mame/amiga/alg.cpp", "src/mame/amiga/arsystems.cpp", @@ -6001,6 +6236,7 @@ "src/mame/taito/taitotz.cpp" ], "github.com/libretro/mame@fba50741006fa3e27e1897f589d2048a505b8fd6": [ + "makefile", "src/mame/acorn/aristmk5.cpp", "src/mame/amiga/alg.cpp", "src/mame/amiga/arsystems.cpp", @@ -6063,6 +6299,7 @@ "src/mame/taito/taitotz.cpp" ], "github.com/libretro/melonDS@66b5d2634cd0a79030562811e6e05f5532f800ba": [ + "Makefile.common", "src/DSi.cpp", "src/DSi.h", "src/DSi_NAND.cpp", @@ -6076,18 +6313,24 @@ ], "github.com/libretro/meteor-libretro@9ea6c358eae6acd1a346647d96b832ccaffad0aa": [ "ameteor/source/bios.cpp", - "ameteor/source/cpu.cpp" + "ameteor/source/cpu.cpp", + "libretro/libretro.cpp" ], "github.com/libretro/mgba@7a12d6d4b9acb14c0ae62c9166b6a2f3d08007f6": [ "src/gb/core.c", "src/gb/gb.c", "src/gba/gba.c", "src/gba/hle-bios.c", - "src/platform/libretro/libretro.c" + "src/platform/libretro/libretro.c", + "version.cmake" + ], + "github.com/libretro/mrboom-libretro@40ac32020b540c4bb418c7d798a990932a65da04": [ + "common.hpp" ], "github.com/libretro/mupen64plus-libretro-nx@15bada85906593376e8fd697f1b0b3af3a20f512": [ "GLideN64/src/TextDrawer.cpp", - "mupen64plus-core/src/main/main.c" + "mupen64plus-core/src/main/main.c", + "mupen64plus-core/src/main/version.h" ], "github.com/libretro/mupen64plus-libretro@ab8134ac90a567581df6de4fc427dd67bfad1b17": [ "GLideN64/src/Config.cpp", @@ -6120,6 +6363,7 @@ "github.com/libretro/neocd_libretro@b1e04c738cb48a1dae0574b8877f6a116d270ca1": [ "src/bios.cpp", "src/bios.h", + "src/libretro.cpp", "src/libretro_bios.cpp", "src/memory.cpp", "src/path.cpp" @@ -6140,6 +6384,7 @@ ], "github.com/libretro/opera-libretro@370d9a25c030bb9de4aade371b31045691c40a95": [ "libopera/opera_bios.c", + "libretro.c", "libretro_core_options.c", "opera_boot.h", "opera_lr_opts.c" @@ -6160,11 +6405,15 @@ "mupen64plus-core/src/device/pif/bootrom_hle.c" ], "github.com/libretro/parallel-ps2@8c2b679622d602fe656ceba646b2f1f3a981c717": [ + "libretro/main.cpp", "pcsx2/CDVD/CDVD.cpp", "pcsx2/GameDatabase.cpp", "pcsx2/VMManager.cpp", "pcsx2/ps2/BiosTools.cpp" ], + "github.com/libretro/pascal-pong-libretro@2a0cfd44652c0b215862de3ef56916d1384ad8a0": [ + "pong.pas" + ], "github.com/libretro/pcsx1-libretro@35dabb85ff3af6825820f54090d344945f65d24e": [ "frontend/libretro.c" ], @@ -6182,6 +6431,10 @@ "pico/pico_int.h", "pico/sms.c", "platform/common/emu.c", + "platform/common/version.h", + "platform/libretro/libretro.c" + ], + "github.com/libretro/potator@227c5f6f3ce74d32e9002ce24c1420288559a860": [ "platform/libretro/libretro.c" ], "github.com/libretro/prosystem-libretro@8a88014287c7a01cd568067e5a557d0a2b2a051f": [ @@ -6193,20 +6446,31 @@ "libretro.c" ], "github.com/libretro/quasi88-libretro@7884be5277776a5d8c4fdc4e574e9b5b589945c9": [ - "src/LIBRETRO/libretro.c" + "src/LIBRETRO/libretro.c", + "src/version.h" + ], + "github.com/libretro/redbook@43544bb988f37a8f3df5af5d2c6f89dd255b8235": [ + "libretro.c" ], "github.com/libretro/redream-next@d826ece7f987c6fed336246e7272e2ded6cefa69": [ "src/guest/rom/boot.c", - "src/guest/rom/flash.c" + "src/guest/rom/flash.c", + "src/host/retro_host.c" ], "github.com/libretro/retro8@ddc06a142398ee9755894b3f0bb17c8dc428151d": [ + "src/libretro/libretro.cpp", "src/vm/gfx.cpp", "src/vm/lua_bridge.cpp" ], + "github.com/libretro/retroluxury@fdcd94fe4099735edcbea638760da3f2297bc520": [ + "test/libretro.c" + ], "github.com/libretro/rustation-libretro@3e328e3967e312e1f239aeeecd479a7b4bfda850": [ + "Cargo.toml", "src/lib.rs" ], "github.com/libretro/same_cdi@ff9bb99a50d518aef6d2add1c49b7c44447e3e78": [ + "gen/version.cpp", "src/mame/drivers/cdi.cpp", "src/osd/libretro/libretro-internal/retro_init.cpp" ], @@ -6215,6 +6479,7 @@ "backends/platform/libretro/include/libretro-defs.h", "backends/platform/libretro/scripts/bundle_datafiles.sh", "backends/platform/libretro/src/libretro-os-utils.cpp", + "base/internal_version.h", "dists/engine-data/engine_data.mk", "dists/engine-data/engine_data_big.mk", "dists/engine-data/engine_data_core.mk", @@ -6222,49 +6487,65 @@ ], "github.com/libretro/smsplus-gx@3844b46caa926b6494987b97da63092818c4ddef": [ "source/ports/libretro/smsplus_libretro.c", - "source/ports/sdl/smsplus.c" + "source/ports/sdl/smsplus.c", + "source/system.h" ], "github.com/libretro/snes9x2002@6ffbf9ef4f0063e1f1b78a40d10c50fc52f2524c": [ + "libretro/libretro.c", "src/globals.c" ], "github.com/libretro/snes9x2005@a79dfe9047e7fec58808aefe48ad2bf499c7af11": [ + "libretro.c", "source/apu_blargg.c", "source/dsp1emu.c", "source/globals.c" ], "github.com/libretro/snes9x2010@fe690dd321fa5a46b5234a2bde089d2518c62b0e": [ + "libretro/libretro.c", "src/apu.c", "src/bsx.c", "src/dsp.c" ], "github.com/libretro/snes9x@fae2fea08f74180759ef540ee94259213f503480": [ "libretro/libretro.cpp", - "memmap.cpp" + "memmap.cpp", + "snes9x.h" ], "github.com/libretro/stella2014-libretro@7d1361e407e63f29e52892655069e5fb4096e691": [ + "stella/src/common/Version.hxx", "stella/src/emucore/CartAR.cxx", "stella/src/emucore/KidVid.cxx", "stella/src/emucore/PropsSet.cxx" ], "github.com/libretro/stella2023@ba52c43b9eda950eb0c0eec69cda9b17dee8c39b": [ + "src/common/Version.hxx", "src/emucore/CartAR.cxx", "src/emucore/KidVid.cxx" ], "github.com/libretro/supafaust@642d1d1b6684aa7e306a02a89885f3f5456a5157": [ "libretro.cpp", + "mednafen/config.h", "mednafen/snes_faust/cart.cpp", "mednafen/snes_faust/cart/cx4.cpp", "mednafen/snes_faust/cart/dsp1.cpp", "mednafen/snes_faust/cart/dsp2.cpp" ], + "github.com/libretro/superbroswar-libretro@7f94e03163e1641ecd2a5703eb9ca7e1312b5e8d": [ + "libretro/libretro.cpp" + ], "github.com/libretro/swanstation@631f0fb31b809e0f889d7c551fe695788e39c1d3": [ "src/core/bios.cpp", "src/core/bios.h", "src/core/host_interface.cpp", "src/core/system.cpp", - "src/libretro/libretro_core_options.h" + "src/libretro/libretro_core_options.h", + "src/libretro/libretro_host_interface.cpp" + ], + "github.com/libretro/tgbdual-libretro@0392c9c469e653205e471114c7949c07c83bfce9": [ + "libretro/libretro.cpp" ], "github.com/libretro/tyrquake@67db338ff4d27fdbcead61d4e54938d758ae62cb": [ + "Makefile", "common/bgmusic.c", "common/common.c", "common/host.c", @@ -6275,22 +6556,28 @@ "libretro/core/libretro-core.cpp", "src/memory.cpp" ], + "github.com/libretro/uw8-libretro@1a64f4bde9662cb3dc04214d2b9f8ead19c85f0a": [ + "uw8.c" + ], "github.com/libretro/vba-next@788192f215ad0a1413f1625b40ebba3423fa0ade": [ "build/Makefile.common", "libretro/libretro.c", "src/gba.c" ], "github.com/libretro/vbam-libretro@115defb3a318258ab84746d45258a1aec19d0b4b": [ + "CHANGELOG.md", "src/gb/GB.cpp", "src/gba/GBA.cpp", "src/libretro/libretro.cpp" ], "github.com/libretro/vemulator-libretro@27a062f6ae532e5028e4fb54f523cc689e78146a": [ + "main.cpp", "vmu.cpp" ], "github.com/libretro/vice-libretro@6cbc44add8b0a03791b343712dc63dc1edad2675": [ "libretro/libretro-core.c", "retrodep/ui.c", + "vice/configure", "vice/data/C64DTV/basic-901226-01.bin", "vice/data/C64DTV/chargen-901225-01.bin", "vice/data/C64DTV/kernal-901227-03.bin", @@ -6320,19 +6607,29 @@ ], "github.com/libretro/vitaquake2@4b333fe18e8816974f04432af01f87654ae16e21": [ "libretro/libretro.c", - "qcommon/files.c" + "qcommon/files.c", + "qcommon/qcommon.h" + ], + "github.com/libretro/vitaquake3@61374f650f42c4f25c215ea1f8db992af162ada6": [ + "Makefile" + ], + "github.com/libretro/vitavoyager@58b70dd7ea891c2e8ddc37d03a5d58116b0ea118": [ + "Makefile" ], "github.com/libretro/xmil-libretro@3106aa54ffb244cca4019a6e95dacaa698781bc3": [ "font/fontdata.c", "font/fontx1.c", - "io/memio.c" + "io/memio.c", + "xmilver.h" ], "github.com/libretro/xrick-libretro@fcfde3623a04b4e986548e06d46630fcd0bd1e18": [ + "include/config.h", "libretro/core/libretro-core.c" ], "github.com/libretro/yabause@09ed8e5b2e97e7a848ea2514545c34c7b809e399": [ "yabause/CMakeLists.txt", "yabause/src/config.h.in", + "yabause/src/libretro/Makefile.common", "yabause/src/libretro/libretro.c", "yabause/src/memory.c", "yabause/src/memory.h", @@ -6341,6 +6638,7 @@ ], "github.com/libretro/yabause@3791ffb2221fda61d70aec5cca376418caf05669": [ "yabause/src/ctrl/src/stv.c", + "yabause/src/libretro/Makefile.common", "yabause/src/libretro/libretro.c", "yabause/src/sys/memory/src/cs0.c", "yabause/src/utils/src/db.c" @@ -6352,6 +6650,7 @@ "yabause/src/memory.h" ], "github.com/lightspark/lightspark@6f07fd65cb95b88ff73e905bf78a1a8b1ddf6049": [ + "CMakeLists.txt", "README.md", "src/backends/cachedsurface.cpp", "src/backends/config.cpp", @@ -6395,7 +6694,8 @@ "src/lindbergh/hook.c", "src/lindbergh/lindbergh.c", "src/lindbergh/sdlInput.c", - "src/lindbergh/shaderPatches.c" + "src/lindbergh/shaderPatches.c", + "src/lindbergh/version.h" ], "github.com/lindbergh-loader/linuxloader@9aa6e3e45ccfbbc60eb0f975aa9d3d158a13706c": [ "libs/win32/ll-deps/cg2.dll", @@ -6488,7 +6788,8 @@ "src/mame/drivers/triforce.c", "src/mame/drivers/twinkle.c", "src/mame/drivers/viper.c", - "src/mame/drivers/zn.c" + "src/mame/drivers/zn.c", + "src/version.c" ], "github.com/mamedev/mame@0fdce58484202265b0794a77652bb5e3da9c56af": [ "src/emu/romload.c", @@ -6498,6 +6799,7 @@ "src/mame/drivers/zn.c" ], "github.com/mamedev/mame@2e0aa823508663c4a27164be43467d1ef740cdcd": [ + "makefile", "src/mame/acorn/aristmk5.cpp", "src/mame/amiga/alg.cpp", "src/mame/amiga/arsystems.cpp", @@ -6559,6 +6861,7 @@ ], "github.com/mamedev/mame@39eb9e44c394df9aec8186f2d2ef7517ace232e1": [ "hash/a7800.xml", + "makefile", "src/devices/bus/a7800/hiscore.cpp", "src/emu/crsshair.cpp", "src/emu/fileio.cpp", @@ -6617,7 +6920,8 @@ "src/mame/drivers/triforce.cpp", "src/mame/drivers/twinkle.cpp", "src/mame/drivers/viper.cpp", - "src/mame/drivers/zn.cpp" + "src/mame/drivers/zn.cpp", + "src/version.cpp" ], "github.com/mamedev/mame@6ae44e46f91aa2bd74d9895e6bfd345baebd3d22": [ "src/emu/machine.c", @@ -6671,7 +6975,8 @@ "src/mame/drivers/triforce.c", "src/mame/drivers/twinkle.c", "src/mame/drivers/viper.c", - "src/mame/drivers/zn.c" + "src/mame/drivers/zn.c", + "src/version.c" ], "github.com/mamedev/mame@c285eb9bcd3505c14a338e29f251ba00776cc75c": [ "src/emu/romload.c", @@ -6706,9 +7011,11 @@ "src/mame/drivers/triforce.c", "src/mame/drivers/twinkle.c", "src/mame/drivers/viper.c", - "src/mame/drivers/zn.c" + "src/mame/drivers/zn.c", + "src/version.c" ], "github.com/mamedev/mame@eb05584a2b8d98d5af5587244c9cb7dcccf660fd": [ + "makefile", "src/mame/acorn/aristmk5.cpp", "src/mame/amiga/alg.cpp", "src/mame/amiga/arsystems.cpp", @@ -7821,7 +8128,8 @@ "src/mame/drivers/triforce.c", "src/mame/drivers/twinkle.c", "src/mame/drivers/viper.c", - "src/mame/drivers/zn.c" + "src/mame/drivers/zn.c", + "src/version.c" ], "github.com/melonDS-emu/melonDS@7d8dea42e221b13521270c423b61add41a741b97": [ "src/DSi.cpp", @@ -7864,7 +8172,8 @@ "src/gb/gb.c", "src/gba/gba.c", "src/gba/hle-bios.c", - "src/platform/libretro/libretro.c" + "src/platform/libretro/libretro.c", + "version.cmake" ], "github.com/mgba-emu/mgba@afd6f14eaf8bd35214ed3fb9dc69a92bfc3877a9": [ "CMakeLists.txt", @@ -7880,6 +8189,9 @@ "src/OSGLUSDL.c", "src/OSGLUXWN.c" ], + "github.com/minkcv/vm@11f63848a592644722ea1240b4b96785db9b009f": [ + "machine/libretro.c" + ], "github.com/mirror/daphne-emu@cd214c6046365047704f8a0563928970b30444e6": [ "src/game/astron.cpp", "src/game/badlands.cpp", @@ -7907,14 +8219,19 @@ "src/video/video.cpp", "src/video/video.h" ], + "github.com/mittonk/PD777@331af5f53cc0ffbab90f915681c8dfe3a4cda0a2": [ + "source/libretro/libretro.cpp" + ], "github.com/mittonk/dice-libretro@4b4596b8dd2252b9d08bd6aaa02afda4be834db3": [ "chips/rom.cpp", "libretro.cpp" ], "github.com/mkxp-z/mkxp-z@37a04d14413454551a7b6aadbb4e93e67168accb": [ + "meson.build", "src/display/font.cpp" ], "github.com/mmatyas/supermariowar@ed60ed45e296ff88a8883cbc51f5bf5aed880636": [ + "CMakeLists.txt", "src/common/global.cpp", "src/common/path.cpp", "src/smw/GSSplashScreen.cpp", @@ -7947,6 +8264,7 @@ "app/src/main/java/paulscode/android/mupen64plusae/persistent/GlobalPrefs.java", "app/src/main/java/paulscode/android/mupen64plusae/task/ExtractAssetsOrCleanupTask.java", "app/src/main/java/paulscode/android/mupen64plusae/util/RomHeader.java", + "build_common/version_common.gradle", "mupen64plus-core/mupen64plus-core.mk", "mupen64plus-core/upstream/src/api/frontend.c", "mupen64plus-core/upstream/src/device/gb/gb_cart.c", @@ -7976,7 +8294,8 @@ "github.com/mupen64plus/mupen64plus-ui-console@c8ac4862a019d7885b24927d9b4db5dd3e42a528": [ "projects/unix/Makefile", "src/cheat.c", - "src/main.c" + "src/main.c", + "src/version.h" ], "github.com/nachoverdon/Dolphin-MMJR2@4d0fdb8eea616320e967408cf5547c72a95196f3": [ "CMakeLists.txt", @@ -8070,6 +8389,7 @@ ], "github.com/nesbox/TIC-80@ae1195a9d0fbda243bf0ebd861d6876d072a979e": [ ".gitmodules", + "cmake/version.cmake", "include/tic80_config.h", "src/system/libretro/tic80_libretro.c" ], @@ -8105,9 +8425,11 @@ "github.com/netux79/zc210-libretro@b6426da40b074245fda097fd345fa7c9cdbf152a": [ "libretro.cpp", "zc/zc_sys.cpp", + "zc/zdefs.h", "zc/zelda.cpp" ], "github.com/nikita36078/J2ME-Loader@76383ebf348b5d477256fc884dfc55f053b45a86": [ + "app/build.gradle", "app/src/main/cpp/Android.mk", "app/src/main/cpp/m3g/Android.mk", "app/src/main/cpp/micro3d/Android.mk", @@ -8188,6 +8510,7 @@ "src/memory/Rom.cc" ], "github.com/openmoh/openmohaa@a2f340195975f4f042e28a60b62561dd9a0b2700": [ + "cmake/identity.cmake", "code/qcommon/common.c", "code/qcommon/files.cpp", "code/qcommon/q_shared.h" @@ -8211,7 +8534,8 @@ "src/tyrian2.c" ], "github.com/p2000t/M2000@da0b8cbef2007c907f5db2166847c3209643865d": [ - "src/P2000.c" + "src/P2000.c", + "src/P2000.h" ], "github.com/panda3ds-emu/panda3ds@3787358bdae41d5532ccd00c8998a527ae949949": [ "src/core/crypto/aes_engine.cpp", @@ -8232,6 +8556,7 @@ "src/game/pak.c" ], "github.com/pete-gordon/oricutron@002279fce9fa756d1d63cdc40ae97939eb7de7ed": [ + "Makefile", "ReadMe.txt", "gui.c", "gui.h", @@ -8276,10 +8601,12 @@ "Source/Project64-core/RomList/RomList.cpp", "Source/Project64-core/Settings.cpp", "Source/Project64-core/Settings/SettingType/SettingsType-RomDatabase.cpp", + "Source/Project64-core/Version.h.in", "Source/Project64/UserInterface/Settings/SettingsPage-DiskDrive.cpp", "Source/Script/package_zip.cmd" ], "github.com/proninyaroslav/nesoid@b2ff53fefa56a668aad4a579af85adc672d7a791": [ + "app/build.gradle", "app/jni/common/emuengine.h", "app/jni/neslib/Android.mk", "app/jni/neslib/cart.c", @@ -8346,6 +8673,7 @@ "src/core/mappers/waveFile.cpp", "src/core/palette.c", "src/core/unif.c", + "src/core/version.h", "src/gui/dipswitch.cpp", "src/gui/nes20db.cpp", "src/gui/qt.cpp", @@ -8434,7 +8762,8 @@ "src/mame/drivers/triforce.c", "src/mame/drivers/twinkle.c", "src/mame/drivers/viper.c", - "src/mame/drivers/zn.c" + "src/mame/drivers/zn.c", + "src/version.c" ], "github.com/r-type/sdlvice-libretro@baaaeed97ce1c0a07ed78e3e155cfbd6f508b472": [ "src/c64/c64-resources.c", @@ -8445,7 +8774,8 @@ "src/drive/ieee/ieee-resources.c", "src/drive/ieee/ieee.c", "src/printerdrv/drv-mps803.c", - "src/printerdrv/drv-nl10.c" + "src/printerdrv/drv-nl10.c", + "src/version.h" ], "github.com/rafaelvcaetano/melonDS-android-lib@431ab4bd0003c4356e25fce89640ae1004579b9b": [ "CMakeLists.txt", @@ -8470,7 +8800,8 @@ "app/src/main/java/me/magnum/melonds/impl/SharedPreferencesSettingsRepository.kt", "app/src/main/java/me/magnum/melonds/impl/emulator/AndroidEmulatorManager.kt", "app/src/main/res/values/strings.xml", - "app/src/main/res/xml/pref_custom_firmware.xml" + "app/src/main/res/xml/pref_custom_firmware.xml", + "buildSrc/src/main/kotlin/AppConfig.kt" ], "github.com/raspberrypi/quake3@8d89a2a3c1707bf0f75b2ea26645b872e97c0b95": [ "Makefile", @@ -8489,6 +8820,7 @@ "github.com/recalbox/pifba@419faa7c3967560f6fa149f2f78b5aedca5b123a": [ "burn/neogeo/d_neogeo.cpp", "burn/pgm/d_pgm.cpp", + "burn/version.h", "rpi/bzip.cpp", "rpi/main.cpp" ], @@ -8564,6 +8896,7 @@ "thirdparty/SDL2/src/joystick/SDL_gamecontroller.c" ], "github.com/ruffle-rs/ruffle@fe6cfc545405b888ebb478ce1c211d63147ca49b": [ + "Cargo.toml", "core/Cargo.toml", "core/src/avm1/globals.rs", "core/src/avm2/error_messages.rs", @@ -8590,6 +8923,9 @@ "video/external/src/decoder/openh264.rs", "web/Cargo.toml" ], + "github.com/rz5/nes@68dfadea5889da5da7c7e171823c9b3ab24fc892": [ + "nes.c" + ], "github.com/sarah-walker-pcem/pcem@25b54e3ff1d51cbf2469b447e55bce7a589697e9": [], "github.com/sashkinbro/EmuCoreV@b71d8cf5397b1c6394e92eeb48427cd17e542971": [ "app/build.gradle.kts", @@ -8673,6 +9009,9 @@ "app/src/main/java/com/sbro/emucorex/ui/cheats/CheatManagerScreen.kt", "app/src/main/java/com/sbro/emucorex/ui/gamedb/GameDbCatalogRepository.kt" ], + "github.com/schellingb/vidtest_libretro@edfd32747e5eeb5ce82a5cee686ee1b32f1cc52e": [ + "vidtest.c" + ], "github.com/scummvm/scummvm@21955df19b580dad2807ec55f573b5f348690a81": [ "Makefile.common", "audio/softsynth/fluidsynth.cpp", @@ -8687,6 +9026,7 @@ "backends/platform/sdl/win32/win32.cpp", "backends/vkeybd/virtual-keyboard.cpp", "base/commandLine.cpp", + "base/internal_version.h", "base/main.cpp", "common/engine_data.cpp", "common/str-enc.cpp", @@ -8747,6 +9087,7 @@ "backends/platform/libretro/include/libretro-defs.h", "backends/platform/libretro/scripts/bundle_datafiles.sh", "backends/platform/libretro/src/libretro-os-utils.cpp", + "base/internal_version.h", "dists/engine-data/engine_data.mk", "dists/engine-data/engine_data_big.mk", "dists/engine-data/engine_data_core.mk", @@ -8819,6 +9160,7 @@ "ending.c", "font.c", "global.c", + "libretro/libretro.c", "main.c", "midi.c", "midi_timidity.c", @@ -8890,7 +9232,8 @@ "src/mame/drivers/viper.c", "src/mame/drivers/zn.c", "src/osd/droid-ios/osd-droid.c", - "src/osd/droid-ios/osdmain.c" + "src/osd/droid-ios/osdmain.c", + "src/version.c" ], "github.com/sh95014/AppleWin@51893cab7e8a3d1298734848f4fd616f2e1831fb": [ "Mariani.xcodeproj/project.pbxproj", @@ -8925,6 +9268,7 @@ "source/linux/linuxframe.cpp" ], "github.com/shadps4-emu/shadPS4@3eecea94ddaca360b19f4b800523b609a8b2ffcc": [ + "CMakeLists.txt", "src/core/libraries/sysmodule/sysmodule_internal.cpp", "src/core/linker.cpp" ], @@ -8974,6 +9318,7 @@ "x64/src/main/emulator/EmulatorPlatform.java" ], "github.com/shinyquagsire23/OpenJKDF2@798f930402525a23b94671d85b97b00390342fa0": [ + "cmake_modules/version.cmake", "src/Dw/dwInits.cpp", "src/Main/InstallHelper.c", "src/Main/Main.c", @@ -8983,6 +9328,7 @@ "src/main.c" ], "github.com/simias/rustation@1daf4faaade3c0fd1e9deace8e309e91303f1b46": [ + "Cargo.toml", "src/bios/db.rs", "src/cdrom/disc/mod.rs", "src/lib.rs" @@ -9041,7 +9387,8 @@ "github.com/snes9xgit/snes9x@85591435763dede7ef111aab8070cdf2d5a7da49": [ "bsx.cpp", "libretro/libretro.cpp", - "memmap.cpp" + "memmap.cpp", + "snes9x.h" ], "github.com/snes9xgit/snes9x@b33f2afb33c61d675aaf0319bd3b8cc8d6924d49": [ "bsx.cpp", @@ -9077,6 +9424,7 @@ "Src/SprowCoPro.cpp", "Src/SprowCoPro.h", "Src/Tube.cpp", + "Src/Version.h", "Src/Video.cpp", "Src/Z80Support.cpp", "UserData/Roms_Torch.cfg" @@ -9098,6 +9446,7 @@ "src/os/windows/OSystemWINDOWS.cxx" ], "github.com/stella-emu/stella@408dd6a30cc6fd91decc602403281c7dcfbc1b82": [ + "src/common/Version.hxx", "src/emucore/CartAR.cxx", "src/emucore/KidVid.cxx" ], @@ -9117,6 +9466,7 @@ "src/core/system.cpp" ], "github.com/suijingfeng/vkQuake3@650bd625eb725446279c6176804b554e2e1c98f3": [ + "Makefile", "code/qcommon/files.c", "code/qcommon/q_shared.h", "code/qcommon/qcommon.h", @@ -9131,6 +9481,7 @@ "github.com/sydarn/yabause@a40dace1ae0af3ebd45848549fdf396f40e3930f": [ "yabause/CMakeLists.txt", "yabause/src/config.h.in", + "yabause/src/libretro/Makefile.common", "yabause/src/libretro/libretro.c", "yabause/src/memory.c", "yabause/src/memory.h", @@ -9152,6 +9503,7 @@ ], "github.com/timoinutilis/lowres-nx@63d5988f74e1eea2ecd6ea0445a8ce260b0a9822": [ "core/boot_intro.c", + "core/core.h", "libretro/libretro_main.c" ], "github.com/tom-seddon/b2@e1c9b84a9460909d4dc2030ad1d4e050012b1910": [ @@ -9162,7 +9514,9 @@ "src/b2/roms.cpp" ], "github.com/tonioni/WinUAE@15110cf6606d1188800ea7ad86bf1cbd9c688741": [ + "CMakeLists.txt", "cfgfile.cpp", + "include/winuae_version.h", "memory.cpp", "od-win32/win32.cpp", "od-win32/win32gui.cpp", @@ -9197,6 +9551,7 @@ ], "github.com/trngaje/advanced_drastic@eaf41ab9bc8adcc15c010bf9517bc94c38e7bffd": [ "README.md", + "drastic", "launch.sh" ], "github.com/trzy/Supermodel@0eef09ba2b74e48fd5cfd388ee69a3743fd5f618": [ @@ -9242,6 +9597,7 @@ "Src/Version.h" ], "github.com/usineur/hode@59f3c466923c6b8d49e29176ff697a91165e7efc": [ + "CMakeLists.txt", "README.txt", "fs_posix.cpp", "main.cpp", @@ -9258,6 +9614,7 @@ "libretro.cpp" ], "github.com/visualboyadvance-m/visualboyadvance-m@46cc9f6bda114737e99304a4bd8427c038e63084": [ + "CHANGELOG.md", "src/core/gba/gba.cpp", "src/libretro/libretro.cpp" ], @@ -9298,6 +9655,7 @@ "src/core/VPApp.cpp", "src/core/player.cpp", "src/core/stdafx.h", + "src/core/vpversion.h", "src/parts/bumper.cpp", "src/parts/decal.cpp", "src/parts/kicker.cpp", @@ -9317,6 +9675,7 @@ ], "github.com/warmenhoven/Emir@8174cbbeea4070654841cdd4604361b3eee8fdd1": [ ".github/workflows/build.yaml", + "CMakeLists.txt", "apps/ymir-libretro/src/libretro.cpp", "apps/ymir-sdl3/CMakeLists.txt", "apps/ymir-sdl3/src/app/app.cpp", @@ -9331,6 +9690,9 @@ "libs/ymir-core/include/ymir/sys/memory_defs.hpp", "libs/ymir-core/src/ymir/db/ipl_db.cpp" ], + "github.com/warmenhoven/amiarcadia@8ca27c925833fe0021475155512c7f467924f647": [ + "DroidArcadia/app/src/main/cpp/da.h" + ], "github.com/warmenhoven/tia@6ae5bf998fe7a7842294089db17fc86fd73db1f0": [ "Makefile", "src/cart.c", @@ -9394,6 +9756,7 @@ "Source/Core/DolphinQt/MenuBar.cpp" ], "github.com/white-axe/mkxp-z@650cb0888a07d0b5044e131160ddfa53feaf595b": [ + "meson.build", "src/core.cpp", "src/display/font.cpp" ], @@ -9460,6 +9823,7 @@ "code/sys/sys_win32.c" ], "github.com/wzcwzc/emuscv@6d6e4594d79862dd5c2ff7f725c109e4266f0b03": [ + "Makefile.libretro", "src/vm/scv/memory.cpp", "src/vm/scv/memory.h" ], @@ -9591,6 +9955,7 @@ ], "github.com/ymir-emu/Ymir@8174cbbeea4070654841cdd4604361b3eee8fdd1": [ ".github/workflows/build.yaml", + "CMakeLists.txt", "apps/ymir-libretro/src/libretro.cpp", "apps/ymir-sdl3/CMakeLists.txt", "apps/ymir-sdl3/src/app/app.cpp", @@ -9607,6 +9972,7 @@ ], "github.com/ymir-emu/Ymir@fe439e98abc555c243a8a197850c71777ff664f4": [ ".github/workflows/build.yaml", + "CMakeLists.txt", "apps/ymir-sdl3/CMakeLists.txt", "apps/ymir-sdl3/src/app/app.cpp", "apps/ymir-sdl3/src/app/profile.cpp", @@ -9621,6 +9987,7 @@ "libs/ymir-core/src/ymir/db/ipl_db.cpp" ], "github.com/yonkuma/piemu@0785214f13746bdfd709b1909f007e213b470ba1": [ + "app.h", "piemu.c", "tools/mkpfi.c" ], @@ -9630,6 +9997,7 @@ ], "github.com/yuzu-emu-mirror/yuzu@15e6e48bef0216480661444a8d8b348c1cca47bb": [], "github.com/zelurker/raine@8e25d5d8907ae459181610912b0030c955683015": [ + "makefile", "source/emudx.c", "source/emumain.c", "source/files.c", @@ -9656,6 +10024,7 @@ "src/libretro/core.h" ], "gitlab.com/DavidGriffith/frotz@042d7bcadc1e2a8090cf737c841d8b7fc14b6eff": [ + "Makefile", "src/sdl/sf_deffont.c", "src/sdl/sf_fonts.c", "src/sdl/sf_resource.c" @@ -9696,9 +10065,11 @@ "src/fileio/CExeFile.cpp", "src/fileio/CPatcher.cpp", "src/fileio/CTileLoader.cpp", - "src/fileio/KeenFiles.h" + "src/fileio/KeenFiles.h", + "version.h" ], "gitlab.com/MaaaX-EPOCH84/libretro-emucv@6a6e1b15c5d5afefbc3fefdd8b52f3f2c8c0a0eb": [ + "CMakeLists.txt", "src/common.cpp", "src/core.cpp", "src/emu.cpp", @@ -9728,6 +10099,7 @@ "gitlab.com/jengun/sdltrs@205ddfd78fd00b32b3f730453175dbd70782ce79": [ "CMakeLists.txt", "README.md", + "configure.ac", "src/trs_cassette.c", "src/trs_chars.c", "src/trs_clones.c", @@ -9748,7 +10120,8 @@ ], "gitlab.com/jgemu/bsnes@53e6a7c2ec4b4220adc2f8dcb3786489bd04fe0e": [ "src/cartridge.cpp", - "src/coprocessor/icd.cpp" + "src/coprocessor/icd.cpp", + "version.h" ], "gitlab.com/jgemu/geolith@05ddef568212e7225ceec22f3ecb20b5a9b640e6": [ "jg.c", @@ -9760,7 +10133,8 @@ "src/jcv_coleco.c", "src/jcv_crvision.c", "src/jcv_db.c", - "src/jollycv.c" + "src/jollycv.c", + "version.h" ], "gitlab.com/jgemu/nestopia@b3adbeb42482e979ab99e16bcd9a22480f13479f": [], "gitlab.com/parallel-launcher/parallel-launcher@8dc2a83770c57bc00e1b1fae0aed71f2120cc875": [ @@ -9768,6 +10142,7 @@ "src/core/rom-finder.cpp", "src/core/settings.hpp", "src/core/updates.cpp", + "src/core/version.cpp", "src/main.cpp", "src/rhdc/core/sync.cpp", "src/ui/main-window.cpp", @@ -9814,6 +10189,7 @@ "source/Video.cpp" ], "gitlab.com/solarus-games/solarus@49d1d4686f67ec81c86c90ca30279a4ce06b1729": [ + "CMakeLists.txt", "cmake/AddDefines.cmake", "cmake/AddInstallDirs.cmake", "cmake/AddInstallTargets.cmake", @@ -9824,6 +10200,7 @@ ], "gitlab.com/solarus-games/solarus@86fa2031e1303aaaf9924a2f03dfdb7b7d1cbf4b": [ ".gitlab-ci.yml", + "CMakeLists.txt", "cmake/AddDefines.cmake", "cmake/AddInstallDirs.cmake", "cmake/AddInstallTargets.cmake", From 8cbd7204807ff29ebfb8d8239311c533193df489 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:32:51 +0100 Subject: [PATCH 16/34] docs: say what a SHA1 lookup leaves out The Data page said a SHA1 lookup was enough because MD5 and CRC32 declarations are filed under the collection file's SHA1 too. That holds only for a file the collection holds: 702 platform MD5s and 18 CRC32s are filed under their own value alone. --- scripts/generate_site.py | 8 +++++--- tests/test_site_reference.py | 17 +++++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index f595f438b..eef11d4f8 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -2191,9 +2191,11 @@ def generate_data_page(exports: list[dict], measurements_sqlite: Path | None = N "when one is known, the `system_name` the site gives its system. " "[Find or check a file](files/index.md) reads it.", "", - "In a browser, the SHA1 of a file the reader picks finds its records. Web " - "Crypto has no MD5, and none is needed: a setup that lists a file by MD5 " - "or CRC32 is filed under the SHA1 of the collection file it names too.", + "In a browser, the SHA1 of a file the reader picks finds its records when " + "the collection holds that file. A list naming a file the collection lacks " + "is filed under its MD5 or CRC32 alone, and Web Crypto has no MD5: " + "that page computes MD5 and CRC32 in script and looks " + "up all four.", "", "```js", "// The records of the file a reader picked, by its SHA1.", diff --git a/tests/test_site_reference.py b/tests/test_site_reference.py index e32f4610d..de6080114 100644 --- a/tests/test_site_reference.py +++ b/tests/test_site_reference.py @@ -696,6 +696,23 @@ class ManifestsArePublished(unittest.TestCase): self.assertLess(page.index("## Stable JSON endpoints"), page.index("The DAT is Logiqx XML")) +class TheLookupRecipeSaysWhatASha1Misses(unittest.TestCase): + """The page said a SHA1 lookup was enough, "a setup that lists a file + by MD5 or CRC32 is filed under the SHA1 of the collection file it names + too". A record whose value no collection file answers has no SHA1: 702 + platform MD5s were out of the recipe's reach.""" + + def test_the_page_and_the_records_agree(self): + record = {"layer": "platform", "algorithm": "md5", "value": "0" * 32, + "name": "dmg_boot.bin", "owner": "recalbox"} + self.assertEqual(generate_site._held_under_every_hash([record], {}, {}), []) + self.assertNotIn("sha1", record) + page = " ".join(generate_site.generate_data_page([]).split()) + self.assertNotIn("none is needed", page) + self.assertIn("A list naming a file the collection lacks is filed under its MD5 " + "or CRC32 alone", page) + + class AnIdLeadsToItsData(unittest.TestCase): """8.6: a system by its id, a core by the name the buildbot gives it.""" From 1ad65704682e1831459d03a59fe74aedd7a02320 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:34:00 +0100 Subject: [PATCH 17/34] fix: drop BIOS files from app-only emulator titles A profile whose every file comes with the app was titled " BIOS files" and described by its system alone. The title now reads " emulator" and the description says every file it reads comes with the app. --- scripts/generate_site.py | 20 ++++++++++++++++++-- tests/test_site_search.py | 14 ++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index eef11d4f8..169842b1d 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -2445,7 +2445,7 @@ def _browser_title(relative: Path, title: str) -> str: # The words a web search for a console or an emulator types: "dreamcast # bios", "duckstation bios". The h1 and the sidebar keep the name. if key.startswith("emulators/"): - has_files = PAGE_DATA.get(key, {}).get("hasPart") + has_files = PAGE_DATA.get(key, {}).get("hasPart") and key not in NOTHING_TO_FETCH # Lexaloffle, QEMU and ScummVM name a system page too. own = " emulator" if f"systems/{relative.name}" in PAGE_DATA else "" return f"{title}{own} BIOS files" if has_files else f"{title} emulator" @@ -2555,6 +2555,8 @@ def _emulator_description(markdown: str, key: str, title: str, intro: str) -> st elif title not in intro: # "It reads 1 file": the profile names no system to open on. intro = f"{title}: {intro[:1].lower()}{intro[1:]}" + if key in NOTHING_TO_FETCH: + return _shorten(f"{intro} Every file it reads comes with the app.", 155) # An alias page sends the reader to the core whose files it shares. if PAGE_DATA.get(key, {}).get("hasPart") or "uses the same firmware as" in intro: return _shorten(intro, 155) @@ -2625,6 +2627,9 @@ def _system_description(markdown: str, browser: str) -> str: # Structured data a page generator knows beyond its text, by page path # relative to docs/: read by decorate_markdown_pages. PAGE_DATA: dict[str, dict] = {} +# Emulator pages whose every file comes with the app: no "BIOS files" in +# their title, and their description says so (DaedalusX64, ZEsarUX). +NOTHING_TO_FETCH: set[str] = set() # Pages that hold part of a page too long for one (a console of a split # manufacturer, a run of an emulator's cards), by path relative to docs/: # their H1 already says what they are. @@ -2952,6 +2957,17 @@ def release_versions(profile: dict) -> dict[str, str]: if re.search(r"[0-9]", value) and not names_a_commit(value)} +def record_emulator_page(name: str, profile: dict) -> None: + """What the title and the description of an emulator page read.""" + key = f"emulators/{name}.md" + PAGE_DATA[key] = emulator_structured_data(profile) + listed = [f for f in profile.get("files") or [] if isinstance(f, dict)] + if listed and all(comes_with_app(f) for f in listed): + NOTHING_TO_FETCH.add(key) + else: + NOTHING_TO_FETCH.discard(key) + + def emulator_structured_data(profile: dict) -> dict: """What an emulator page states, for a reader of its JSON-LD. @@ -12305,7 +12321,7 @@ def _generate(args: argparse.Namespace) -> None: name, profile, db, consumers, suppl_names, data_registry, data_dirs=page_data_directories(name, profiles), ) - PAGE_DATA[f"emulators/{name}.md"] = emulator_structured_data(profile) + record_emulator_page(name, profile) # A frozen copy answers after the emulator: a frozen_snapshot, and a # profile pinned to the revision one platform builds (pin_frozen). # Reicast and Flycast 2021 LE answered "dc bios missing" before Flycast. diff --git a/tests/test_site_search.py b/tests/test_site_search.py index ca493590c..e9705738d 100644 --- a/tests/test_site_search.py +++ b/tests/test_site_search.py @@ -231,6 +231,20 @@ class Descriptions(unittest.TestCase): self.assertTrue(text.startswith("DuckStation emulates Sony PlayStation.")) self.assertNotIn("source-pinned", text) + def test_a_page_whose_files_come_with_the_app_promises_none(self) -> None: + """DaedalusX64's three files come with the app. The result read + "DaedalusX64 BIOS files" over "DaedalusX64 emulates Nintendo 64.".""" + saved, shipped = dict(gs.PAGE_DATA), set(gs.NOTHING_TO_FETCH) + self.addCleanup(lambda: (gs.PAGE_DATA.clear(), gs.PAGE_DATA.update(saved), + gs.NOTHING_TO_FETCH.clear(), gs.NOTHING_TO_FETCH.update(shipped))) + with open(REPO_ROOT / "emulators" / "daedalusx64.yml", encoding="utf-8") as handle: + gs.record_emulator_page("daedalusx64", yaml.safe_load(handle)) + key = Path("emulators/daedalusx64.md") + self.assertEqual(gs._browser_title(key, "DaedalusX64"), "DaedalusX64 emulator") + body = "# DaedalusX64\n\nDaedalusX64 emulates Nintendo 64.\n" + self.assertEqual(gs._page_description(body, key, "DaedalusX64"), + "DaedalusX64 emulates Nintendo 64. Every file it reads comes with the app.") + def test_a_console_page_is_described_by_its_start_line(self) -> None: body = "# Sega: Dreamcast\n\nPart of Sega.\n\n**Start with**: `dc_boot.bin`, `dc_flash.bin`.\n" text = gs._page_description(body, Path("systems/sega-dreamcast.md"), "Sega: Dreamcast") From 564bfe8b1875cf3d560fcd1a48a0417eaf4b3f18 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:34:19 +0100 Subject: [PATCH 18/34] fix: describe platform pages by what they give The meta description of each platform page was its summary followed by the label of a link, "ROCKNIX website.", and never said the page gives the BIOS files, their folder and the install command. --- scripts/generate_site.py | 6 ++++++ tests/test_site_search.py | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index 169842b1d..d48f812de 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -2516,6 +2516,12 @@ def _page_description(markdown: str, relative: Path, title: str) -> str: return _system_description(markdown, browser) if key.startswith("emulators/") and relative.stem != "index": return _emulator_description(markdown, key, title, _first_paragraph(lead)) + if key.startswith("platforms/") and relative.stem != "index": + # The summary ends on a link to the platform's site, whose label + # alone was left: "A system for handhelds. ROCKNIX website." + summary = _first_paragraph(lead).removesuffix(f" {title} website.") + return _shorten(f"The BIOS files for {title}, the folder they go in and the " + f"command that installs them. {summary}", 155) first = _first_paragraph(lead, minimum=35) questions = [_plain_markdown(re.sub(r"\s*\{[^}]*\}\s*$", "", heading)) for heading in re.findall(r"^## (.+\?)(?:[ \t]*\{[^}]*\})?[ \t]*$", markdown, re.M)] diff --git a/tests/test_site_search.py b/tests/test_site_search.py index e9705738d..32dbcd683 100644 --- a/tests/test_site_search.py +++ b/tests/test_site_search.py @@ -245,6 +245,16 @@ class Descriptions(unittest.TestCase): self.assertEqual(gs._page_description(body, key, "DaedalusX64"), "DaedalusX64 emulates Nintendo 64. Every file it reads comes with the app.") + def test_a_platform_page_says_what_it_gives(self) -> None: + """All 18 ended on the label of a link a snippet cannot follow, + "ROCKNIX website.", and never named the BIOS files or their folder.""" + body = ("# ROCKNIX\n\nA system for handhelds. [ROCKNIX website](https://rocknix.org).\n\n" + "## On the device { #install }\n") + self.assertEqual( + gs._page_description(body, Path("platforms/rocknix.md"), "ROCKNIX"), + "The BIOS files for ROCKNIX, the folder they go in and the command that installs " + "them. A system for handhelds.") + def test_a_console_page_is_described_by_its_start_line(self) -> None: body = "# Sega: Dreamcast\n\nPart of Sega.\n\n**Start with**: `dc_boot.bin`, `dc_flash.bin`.\n" text = gs._page_description(body, Path("systems/sega-dreamcast.md"), "Sega: Dreamcast") From d63ef4b1cfac2efa511ea5ea6e1927df5dc64b77 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:34:41 +0100 Subject: [PATCH 19/34] fix: keep an initial inside the note sentence The emulator description taken from the notes cut at the first period followed by a space, so hcl's read "open-source port of E.". --- scripts/generate_site.py | 4 +++- tests/test_site_search.py | 10 ++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index d48f812de..e9d0dec0e 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -2547,7 +2547,9 @@ def _emulator_description(markdown: str, key: str, title: str, intro: str) -> st its profile table when the profile names no system.""" notes = re.search(r"Technical notes\s*\n\n(.+?)(?:\n\n|$)", markdown, re.S) if not intro and notes: - sentence = re.split(r"(?<=\.)\s", _plain_markdown(notes[1]), maxsplit=1)[0] + # An initial is no sentence end: hcl's read "open-source port of E." + sentence = re.split(r"(? None: + """hcl's description was "Hydra Castle Labyrinth: open-source port of E.".""" + body = ("# Hydra Castle Labyrinth\n\n
\nTechnical notes\n\n" + "Open-source port of E. Hashimoto's 2008 freeware Metroidvania. It reads " + "its data folder.\n\n
\n") + text = gs._emulator_description(body, "emulators/hcl.md", "Hydra Castle Labyrinth", "") + self.assertTrue(text.startswith("Hydra Castle Labyrinth: open-source port of E. " + "Hashimoto's 2008 freeware Metroidvania."), text) + self.assertNotIn("It reads", text) + def test_a_platform_page_says_what_it_gives(self) -> None: """All 18 ended on the label of a link a snippet cannot follow, "ROCKNIX website.", and never named the BIOS files or their folder.""" From 124e96cd09849c5c5d5e80f2cff8c909eac61365 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:35:32 +0100 Subject: [PATCH 20/34] fix: keep glossary tooltips out of proper names The glossary's capitalised terms matched mostly inside product names and paths: Free Unix Spectrum Emulator, Windows Terminal, Documents/Dolphin Emulator, on 35 pages. A capitalised term after a capitalised word or a slash is now left alone. Acronyms keep their tooltip. --- scripts/sitestarlight.py | 13 ++++++++++++- tests/test_site_render.py | 21 +++++++++++++++++++++ 2 files changed, 33 insertions(+), 1 deletion(-) diff --git a/scripts/sitestarlight.py b/scripts/sitestarlight.py index bf532b9f5..f4ffbf027 100644 --- a/scripts/sitestarlight.py +++ b/scripts/sitestarlight.py @@ -244,10 +244,21 @@ def _tooltip_line(line: str, pattern: re.Pattern, pending: dict[str, str]) -> st return "".join(out) +_NAME_BEFORE = re.compile(r"(?:/|\b[A-Z][\w'-]*[ \t]+)$") + + +def _in_proper_name(term: str, before: str) -> bool: + """A capitalised term after a capitalised word or a slash is part of a + name: Free Unix Spectrum Emulator, Windows Terminal, Documents/Dolphin + Emulator. An acronym (BIOS, ZIP) is the term wherever it stands.""" + first = term.split()[0] + return first[:1].isupper() and not first.isupper() and bool(_NAME_BEFORE.search(before)) + + def _tooltip_text(text: str, pattern: re.Pattern, pending: dict[str, str]) -> str: def swap(match: re.Match) -> str: term = match.group(1) - if term not in pending: + if term not in pending or _in_proper_name(term, text[:match.start()]): return term definition = pending.pop(term) return f'{term}' diff --git a/tests/test_site_render.py b/tests/test_site_render.py index e943dffde..eebcaf79d 100644 --- a/tests/test_site_render.py +++ b/tests/test_site_render.py @@ -484,3 +484,24 @@ class AMemberIsReadInItsArchive(unittest.TestCase): lambda _f: True, owner="fbneo")) self.assertIn("Collection copy: member `sm1.sm1` of", rows) self.assertIn(shipped, rows) + + +class NoTooltipInsideAName(unittest.TestCase): + """The glossary's capitalised terms matched almost only product names: + Free Unix Spectrum Emulator, Windows Terminal, Documents/Dolphin Emulator.""" + + def test_names_are_left_and_terms_are_marked(self): + import sitestarlight + + terms = {"Emulator": "An app that acts like a console.", + "Terminal": "A window where you type commands.", + "BIOS": "The console's built-in software."} + for line in ("Fuse (Free Unix Spectrum Emulator) reads it.", + "Open Windows Terminal (WSL).", + "Copy it to Documents/Dolphin Emulator/Sys."): + with self.subTest(line=line): + self.assertNotIn("rb-term", sitestarlight.add_tooltips(line, terms)) + marked = sitestarlight.add_tooltips( + "Emulator settings come first. The PlayStation BIOS goes there.", terms) + self.assertIn('title="An app that acts like a console.">Emulator', marked) + self.assertIn('>BIOS', marked) From 32cc1ce4fa42270fee774d815b43c0cf57129c5b Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:46:22 +0100 Subject: [PATCH 21/34] fix: render a single tab without a tab bar 142 tab bars held one tab, most of them "On the device" under a heading saying so. One item now stands alone, led by its label unless it names the place the text around already gives. The network route drops "Run the command on the computer" under the heading "From your computer", which keeps RetroPie in its word budget. --- scripts/generate_site.py | 2 +- scripts/siteguides.py | 6 ++++++ scripts/sitemarkup.py | 11 ++++++++++- tests/test_site_components.py | 16 ++++++++++++++++ tests/test_site_emulators.py | 4 +++- tests/test_site_entry.py | 4 +++- 6 files changed, 39 insertions(+), 4 deletions(-) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index e9d0dec0e..9b23dc852 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -4202,7 +4202,7 @@ def _setup_routes(name: str, display: str, page_link: bool = False) -> list[str] # lines are on the get/ page, the one the command is shared from. tabs = ("windows",) if page_link else ("windows", "macos", "linux") computer += [ - "Needs the device on your network. Run the command on the computer.", + "Needs the device on your network.", "", *terminal_tabs(tabs, args, how=how), *([f"[Mac or Linux](../{get_page_link(name)}#from-your-computer)", ""] diff --git a/scripts/siteguides.py b/scripts/siteguides.py index 0436ca768..786653620 100644 --- a/scripts/siteguides.py +++ b/scripts/siteguides.py @@ -454,6 +454,10 @@ def fence(shell: str, command: str, indent: str = "") -> list[str]: return [f'{indent}```{shell} title="{FENCE_TITLES[shell]}"', f"{indent}{command}", f"{indent}```"] +# Terminals named by where the command runs, not by the system it runs on. +PLACES = ("device", "server") + + def terminal_tabs( tabs: tuple[str, ...], args: dict[str, str], indent: str = "", steps: bool = True, how: dict[str, str] | None = None, @@ -465,6 +469,8 @@ def terminal_tabs( items = [] for key in tabs: label, shared, shell = TERMINALS[key] + if len(tabs) == 1 and key in PLACES: + label = "" # one place, which the text around already names text = (how or {}).get(key) or shared body = [text, ""] if steps else [] items.append((label, body + fence(shell, install_command(shell, args.get(key, ""))))) diff --git a/scripts/sitemarkup.py b/scripts/sitemarkup.py index cbd995606..e440d5cc5 100644 --- a/scripts/sitemarkup.py +++ b/scripts/sitemarkup.py @@ -139,8 +139,17 @@ def details(kind: str, title: str, body: list[str], indent: str = "", opened: bo def tabs(items: list[tuple[str, list[str]]], indent: str = "", sync: str = "os") -> list[str]: """Content tabs. Tabs that share a label share the reader's choice - across pages.""" + across pages. + + One item is no choice: 142 bars offered a single tab, most of them + "On the device" under a heading that says so. Its body stands alone, + led by its label when it has one: the RetroPie card is read from Linux + only, and the label is where the page said so.""" lines: list[str] = [] + if len(items) == 1: + label, body = items[0] + lead = [f"{indent}**{label}**", ""] if label else [] + return [*lead, *_indented(_trim(body), indent), ""] if _engine == "mkdocs": for label, body in items: lines += [f'{indent}=== "{label}"', "", *_indented(_trim(body), indent + " "), ""] diff --git a/tests/test_site_components.py b/tests/test_site_components.py index 20e06fd29..17fe94afb 100644 --- a/tests/test_site_components.py +++ b/tests/test_site_components.py @@ -334,6 +334,22 @@ class NoLevelBadgeOnATabRoot(unittest.TestCase): self.assertNotIn('class="rb-level ', _title_through_heading(_built(page))) +class OneTabIsNoTabBar(unittest.TestCase): + """142 tab bars held one tab, most of them "On the device" right under + the heading "On the device".""" + + def test_a_single_item_stands_alone(self): + import sitemarkup + import siteguides + + self.assertEqual(sitemarkup.tabs([("Linux", ["run it"])]), ["**Linux**", "", "run it", ""]) + self.assertEqual(sitemarkup.tabs([("", ["run it"])]), ["run it", ""]) + self.assertIn('', sitemarkup.tabs([("A", ["a"]), ("B", ["b"])])) + device = "\n".join(siteguides.terminal_tabs(("device",), {})) + self.assertNotIn("")] self.assertRegex(install, r"With [^:]+: the installer finds") - self.assertEqual(set(re.findall(r'', install)), {"On the device"}) + # One place to run it, so no tab bar (one tab offers no choice). + self.assertNotIn(" Date: Thu, 5 Nov 2026 19:49:22 +0100 Subject: [PATCH 22/34] fix: link the check commands from the pack pages The get pages told a reader on another setup version to run `--check` after copying, with no command and no link, to someone holding a ZIP and no installer. The line now links the setup page's How to check section. --- scripts/generate_site.py | 21 ++++++++++++++------- tests/test_site_entry.py | 12 ++++++++++-- 2 files changed, 24 insertions(+), 9 deletions(-) diff --git a/scripts/generate_site.py b/scripts/generate_site.py index 9b23dc852..108b77a01 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -679,9 +679,13 @@ def release_line(platform_name: str, record: dict) -> list[str]: return lines -# What a reader on another version of the setup does with the pack. Our data -# says which list the pack was made from, not what an older list lacks. -OTHER_VERSION = "Other version? Run `--check` after copying." +def other_version(platform_name: str, prefix: str = "../") -> str: + """What a reader on another version of the setup does with the pack. + Our data says which list the pack was made from, not what an older list + lacks. A bare `--check` was no command to run for someone holding a ZIP: + the line links the setup page's commands that check.""" + target = f"{prefix}platforms/{platform_name}.md#how-to-check" + return f"Other version? [Check the files]({target}) after copying." def setup_version(platform_name: str, record: dict | None = None) -> str: @@ -700,13 +704,15 @@ def setup_version(platform_name: str, record: dict | None = None) -> str: return f"{config.get('platform', platform_name)} {version.removeprefix('v')}" -def version_line(platform_name: str, record: dict, named: bool = False) -> str: +def version_line(platform_name: str, record: dict, named: bool = False, + prefix: str = "../") -> str: """The version the pack fits, and what to do on another. *named* when the release line already named the pack's version.""" made_from = setup_version(platform_name, record) + other = other_version(platform_name, prefix) if named or not made_from: - return OTHER_VERSION - return f"Made for {made_from}. {OTHER_VERSION}" + return other + return f"Made for {made_from}. {other}" # Why a setup has no ZIP, answered once on the FAQ. @@ -793,7 +799,8 @@ def _pack_buttons(platform_name: str, label: str = "Pack", prefix: str = "../", ) released = release_line(platform_name, record) return "\n\n".join([buttons, *released, - version_line(platform_name, record, named=len(released) > 1)]) + version_line(platform_name, record, named=len(released) > 1, + prefix=prefix)]) def generate_get_page(platform_name: str) -> str: diff --git a/tests/test_site_entry.py b/tests/test_site_entry.py index 5e1344f39..032f5d67d 100644 --- a/tests/test_site_entry.py +++ b/tests/test_site_entry.py @@ -443,14 +443,22 @@ class PackNamesItsVersion(unittest.TestCase): block = generate_site._pack_buttons("batocera") version = generate_site._pack_version(release_record.pack_name_for("batocera", record)) self.assertIn(f"Made for Batocera {version}. " - + generate_site.OTHER_VERSION, block) + + generate_site.other_version("batocera"), block) def test_a_version_gap_is_said_once(self): record = {"tag": "v2026.10.10", "packs": {"RetroBat_1.0_BIOS_Pack.zip": { "assets": ["RetroBat_1.0_BIOS_Pack.zip"], "platforms": ["retrobat"]}}} released = generate_site.release_line("retrobat", record) line = generate_site.version_line("retrobat", record, named=len(released) > 1) - self.assertEqual(line, generate_site.OTHER_VERSION) + self.assertEqual(line, generate_site.other_version("retrobat")) + + def test_another_version_is_sent_to_the_check_commands(self): + """A ZIP reader read "Run `--check` after copying." with no command.""" + line = generate_site.other_version("emudeck") + self.assertNotIn("Run `--check`", line) + self.assertIn("](../platforms/emudeck.md#how-to-check)", line) + page = _page("platforms/emudeck.md") + self.assertIn("{ #how-to-check }", page) def test_the_v_prefix_is_dropped(self): self.assertEqual(generate_site.setup_version("retroarch", {}), From 3002bc5ef662f9a623164f55c5ea37e3ec0cb200 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:50:34 +0100 Subject: [PATCH 23/34] docs: state the yabause upstream as a dated fact "Upstream project is dead" was a verdict published on the emulator page. The note now gives the date of the last commit on Yabause/yabause master, 2018-07-07 (7e38821d). --- emulators/yabause.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/emulators/yabause.yml b/emulators/yabause.yml index 9e4473539..2140005e7 100644 --- a/emulators/yabause.yml +++ b/emulators/yabause.yml @@ -17,9 +17,9 @@ systems: - sega-saturn notes: | - Yabause is a software-rendered Sega Saturn emulator. Upstream project is - dead. The libretro port is maintained by the community on the master branch of - libretro/yabause. + Yabause is a software-rendered Sega Saturn emulator. The last commit on the + master branch of Yabause/yabause is from 2018-07-07. The libretro port is + maintained by the community on the master branch of libretro/yabause. Saturn BIOS search order: 1. {system}/saturn_bios.bin From 43e125bede036fc3a3d69bcc4b2928d5015abe52 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:50:48 +0100 Subject: [PATCH 24/34] docs: state the libretro Gearboy fork as facts "abandoned fork frozen at v2.6.0 from 2018" was a verdict, and the fork took a commit on 2026-09-04. The note now says it is archived, quotes its description and the version its src/definitions.h states. --- emulators/gearboy.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/emulators/gearboy.yml b/emulators/gearboy.yml index d1a091cb3..e8b472e38 100644 --- a/emulators/gearboy.yml +++ b/emulators/gearboy.yml @@ -19,8 +19,9 @@ systems: notes: | Gearboy is a Game Boy / Game Boy Color emulator by drhelius (Ignacio Sanchez). - The buildbot builds from drhelius/Gearboy (upstream), not from libretro/Gearboy - (abandoned fork frozen at v2.6.0 from 2018). + The buildbot builds from drhelius/Gearboy (upstream), not from libretro/Gearboy, + an archived fork (its description reads "NOTE: PUBLIC ARCHIVE") whose + src/definitions.h states version 2.6.0. Bootrom loading is gated behind core options (disabled by default). Without bootroms, the core HLE-skips the boot animation. From ac98a1fe8aa52897a19a08523a4b93ad0c474557 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:51:57 +0100 Subject: [PATCH 25/34] docs: replace project verdicts in profiles pcsx1, rustation and np2kai called a project abandoned, dead or never completed. Each now gives the date of the last commit or the project's own words, and a test refuses the verdicts yabause and gearboy carried too. --- emulators/np2kai.yml | 2 +- emulators/pcsx1.yml | 2 +- emulators/rustation.yml | 2 +- tests/test_prose_style.py | 16 ++++++++++++++++ 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/emulators/np2kai.yml b/emulators/np2kai.yml index 2ccbae0a4..570372fc2 100644 --- a/emulators/np2kai.yml +++ b/emulators/np2kai.yml @@ -16,7 +16,7 @@ cores: [np2kai] systems: [pc-98] # NP2kai is a PC-9801/9821 emulator by AZO234, enhanced fork of Neko Project II -# by Yui (original upstream dead: np2.yui.ne.jp). All files load from +# by Yui (original site: np2.yui.ne.jp). All files load from # /np2kai/ subdirectory, set in retro_load_game() # (sdl/libretro/libretro.c:1800-1815). All getbiospath() calls resolve # relative to that directory. diff --git a/emulators/pcsx1.yml b/emulators/pcsx1.yml index 4cfba40bf..6191bc337 100644 --- a/emulators/pcsx1.yml +++ b/emulators/pcsx1.yml @@ -15,7 +15,7 @@ display_name: "Sony - PlayStation (PCSX1)" cores: [pcsx1] systems: [sony-playstation] notes: > - Never-completed fork of PCSX-ReARMed targeting general PC hardware. Experimental, abandoned since 2018. + Fork of PCSX-ReARMed targeting general PC hardware. The last commit on libretro/pcsx1-libretro is from 2018-02-11. HLE BIOS built-in: if no BIOS file found, core warns and falls back to HLE automatically. BIOS search order: scph1001.bin, scph5501.bin, scph7001.bin by exact filename, then scans system directory for any file matching "scph*" (case-insensitive) with size == 512 KB. diff --git a/emulators/rustation.yml b/emulators/rustation.yml index 699ba38e5..477fec99b 100644 --- a/emulators/rustation.yml +++ b/emulators/rustation.yml @@ -30,7 +30,7 @@ notes: > Database contains 24 entries (22 good, 2 known-bad rejected) covering BIOS versions 1.0 through 4.5. .info declares firmware_count=0, while the core reads the BIOS images this profile lists. - Project abandoned, superseded by rustation-ng. + Its README says it is no longer developed and points to rustation-ng. files: # -- Region: Japan -- diff --git a/tests/test_prose_style.py b/tests/test_prose_style.py index 490b63b83..650e57ecd 100644 --- a/tests/test_prose_style.py +++ b/tests/test_prose_style.py @@ -308,6 +308,22 @@ class ProfilesStateFactsAboutOtherProjects(unittest.TestCase): ] self.assertEqual(offenders, [], "\n".join(offenders[:40])) + # A project's state is a dated fact or its own words, never a verdict: + # "Upstream project is dead" (yabause), "abandoned fork" (gearboy). + PROJECT_VERDICTS = re.compile( + r"\b(?:(?:project|upstream)(?:\s+project)?\s+(?:is\s+)?dead|" + r"abandoned\s+(?:fork|since)|project\s+abandoned|never-completed)\b", + re.IGNORECASE, + ) + + def test_no_verdict_on_a_project(self): + offenders = [ + f"{path.relative_to(ROOT)}: {found.group(0)}" + for path in sorted((ROOT / "emulators").glob("*.yml")) + for found in self.PROJECT_VERDICTS.finditer(path.read_text(encoding="utf-8")) + ] + self.assertEqual(offenders, [], "\n".join(offenders[:40])) + def test_no_grade_on_another_projects_file(self): offenders = [ f"{path.relative_to(ROOT)}: {line.strip()[:100]}" From 133afc1df6be3686628d2251304884c7d8cf6bf8 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:53:45 +0100 Subject: [PATCH 26/34] docs: say the pack copies each ZIP byte for byte Since fed03c3db _add_zip_to_pack copies every archive of the collection as is. architecture.md and tools.md still said MAME and FBNeo romsets were rebuilt deterministically, so a third party rebuilding neogeo.zip to compare would read a sound pack as corrupt. --- tests/test_deterministic_zip.py | 15 +++++++++++++++ wiki/architecture.md | 18 +++++++++--------- wiki/tools.md | 2 +- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/tests/test_deterministic_zip.py b/tests/test_deterministic_zip.py index d5f094812..359f508c2 100644 --- a/tests/test_deterministic_zip.py +++ b/tests/test_deterministic_zip.py @@ -252,6 +252,21 @@ class TestPackDeterminism(unittest.TestCase): names = {i.filename.rsplit("/", 1)[-1] for i in zf.infolist()} self.assertIn("romset.zip", names) + def test_a_romset_is_the_collection_bytes_and_the_wiki_says_so(self): + """The pack copies each ZIP byte for byte since fed03c3db, and the + wiki still told a third party to rebuild romsets to compare.""" + pack = self._build("out1") + with zipfile.ZipFile(pack) as zf: + member = next(n for n in zf.namelist() if n.endswith("romset.zip")) + self.assertEqual(zf.read(member), (self.bios / "romset.zip").read_bytes()) + root = Path(__file__).resolve().parent.parent / "wiki" + for page in ("architecture.md", "tools.md"): + with self.subTest(page=page): + text = " ".join((root / page).read_text(encoding="utf-8").split()) + self.assertNotIn("rebuilt deterministically", text) + self.assertNotIn("rebuilds MAME", text) + self.assertNotIn("Rebuild MAME BIOS ZIPs", text) + def test_every_member_carries_the_fixed_epoch(self): """A member's date must come from the build's inputs, not its clock. diff --git a/wiki/architecture.md b/wiki/architecture.md index bd69cd264..e2cafa57b 100644 --- a/wiki/architecture.md +++ b/wiki/architecture.md @@ -280,17 +280,16 @@ being intact: see [verifying a release](release-process.md#verifying-a-release). Three things make that hold. Generated members (`README.txt`, `manifest.json`) carry a fixed date rather than the wall clock, and the manifest's `generated` -field is read from `database.json` instead of the build time. MAME and FBNeo -romsets are rebuilt deterministically from their ROMs, so a pack does not -inherit whatever metadata the source archive happened to carry. And every -member is written with the same fixed date: `ZipFile.write` copies the source -file's mtime, which is the checkout time for a file from the collection and -the wall clock for one the build just staged in `tmp/`. +field is read from `database.json` instead of the build time. Each ZIP of the +collection, MAME and FBNeo romsets included, is copied byte for byte, so it +hashes to the SHA1 the install list and the site publish, and git fixes those +bytes. And every member is written with the same fixed date: `ZipFile.write` +copies the source file's mtime, which is the checkout time for a file from the +collection and the wall clock for one the build just staged in `tmp/`. `tests/test_deterministic_zip.py` builds the same fixture twice and compares the bytes, for both the platform and the emulator pack paths. Its fixture -holds a romset, because without one the comparison never reaches the rebuild -path and passes while the real packs still move. +holds a ZIP, so the comparison covers the archive copy as well as loose files. ## Collection rules @@ -383,7 +382,8 @@ resolution. deploy identity. No workflow builds or publishes a release. - `safe_extract_zip()` prevents zip-slip path traversal attacks -- `deterministic_zip` rebuilds MAME ZIPs so same ROMs always produce the same hash +- a pack copies each ZIP of the collection byte for byte, so every member + hashes to the SHA1 the install list publishes - `crypto_verify.py` and `sect233r1.py` verify 3DS RSA-2048 signatures and AES-128-CBC integrity - ZIP inner ROM verification via `checkInsideZip()` replicates Batocera's behavior - `md5_composite()` replicates Recalbox's composite ZIP hash diff --git a/wiki/tools.md b/wiki/tools.md index 16173cd99..8514e0b3f 100644 --- a/wiki/tools.md +++ b/wiki/tools.md @@ -1325,7 +1325,7 @@ before a release (wiki/release-process.md). Its lines stay in | `validate_site.py` | Validate rendered metadata, heading order, image alternatives, JSON-LD, local resources, links and fragments, and the page size and search index budgets | | `romset_recipes.py` | Identify which emulator version an arcade archive matches, and rebuild a pinned archive from ROMs already held | | `scraper/romset_dat_importer.py` | Fetch and import per-set recipes from MAME `-listxml` or FBNeo DATs into `recipes/`. `--fetch` alone takes the newest MAME release, and FBNeo DATs are refreshed by git blob sha. `--fetch ` reads FBNeo at that tag, branch or commit | -| `deterministic_zip.py` | Rebuild MAME BIOS ZIPs deterministically (same ROMs = same hash) | +| `deterministic_zip.py` | The fixed date pack members carry. Its archive rebuild is no longer called by the pack, which copies each ZIP byte for byte | | `torrentzip.py` | Build TorrentZip archives for MAME/FBNeo ROM sets (archive bytes depend only on contents) | | `crypto_verify.py` | 3DS RSA signature and AES crypto verification | | `sect233r1.py` | Pure Python ECDSA verification on sect233r1 curve (3DS OTP cert) | From 911dea8e4c653042f34690718f4df0d8b2818ad5 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:55:15 +0100 Subject: [PATCH 27/34] docs: state the size proof slots.py counts architecture.md said a file found by its name claims nothing. Since 2b535525e slots.py counts such a copy (size_exact) when it has the exact size the profile declares and the platform's file another size, as RetroDECK's sgb2.boot.rom shows. --- tests/test_doc_pages.py | 15 +++++++++++++++ wiki/architecture.md | 6 +++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/tests/test_doc_pages.py b/tests/test_doc_pages.py index 4a3ef5d69..516c7a5dc 100644 --- a/tests/test_doc_pages.py +++ b/tests/test_doc_pages.py @@ -1794,6 +1794,21 @@ class ReportExcerptIsTheRun(unittest.TestCase): self.assertIn(line, printed) +class ClaimRuleNamesTheSizeProof(unittest.TestCase): + """architecture.md said a file found by its name claims nothing, while + slots.py has counted a name-found copy at the declared size against a + platform file of another size since 2b535525e.""" + + def test_the_page_states_what_slots_counts(self): + import slots + + self.assertIn(slots.SIZE_EXACT, slots.PROVEN_STATUSES) + page = " ".join((ROOT / "wiki" / "architecture.md").read_text(encoding="utf-8").split()) + section = page.split("### When both layers claim one destination", 1)[1].split("###", 1)[0] + self.assertIn(f"(`{slots.SIZE_EXACT}`)", section) + self.assertIn("Two files of equal size are revisions", section) + + class SkipFlagsNameTheSteps(unittest.TestCase): """--skip-packs said "add --skip-docs to stop after verify" while 4d and 4e still ran, and the flag table left 8b out of --skip-docs.""" diff --git a/wiki/architecture.md b/wiki/architecture.md index e2cafa57b..69889c947 100644 --- a/wiki/architecture.md +++ b/wiki/architecture.md @@ -180,7 +180,11 @@ A platform and an emulator profile can each name a different file for the same place in the BIOS folder: RetroBat puts its own `ATARIOSB.ROM` at `bios/ATARIOSB.ROM`, where atari800 reads another dump. A claim counts only when it rests on content or on the path. A file found by its name alone claims -nothing. The pack then answers to whoever asked for it: +nothing, unless its copy has the exact size the profile declares and the +platform's file has another size (`size_exact`): RetroDECK's `sgb2.boot.rom` is +the Super Game Boy 2 SNES program ROM where supersnes9x reads a 256-byte boot ROM. +Two files of equal size are revisions, not a conflict. The pack then answers to +whoever asked for it: - A **platform pack** must leave the frontend's own check green, since a user reading red concludes the pack is broken. Where the frontend only looks for From 71457078e69fd2675cdcf446b2bee172ff67039e Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:55:39 +0100 Subject: [PATCH 28/34] docs: state the cross-reference settlement rule reading-reports.md said the cross-reference checks whether a profile's files appear in the platform config, a rule by name. Since 2026-10-10 declaration_settles counts a declaration only at the core's slot or at a size the core accepts, and an alias only where the core reads it. --- tests/test_doc_pages.py | 20 ++++++++++++++++++++ wiki/reading-reports.md | 9 +++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/tests/test_doc_pages.py b/tests/test_doc_pages.py index 516c7a5dc..fa33f91ee 100644 --- a/tests/test_doc_pages.py +++ b/tests/test_doc_pages.py @@ -1809,6 +1809,26 @@ class ClaimRuleNamesTheSizeProof(unittest.TestCase): self.assertIn("Two files of equal size are revisions", section) +class CrossReferenceSettlesBySlotAndSize(unittest.TestCase): + """reading-reports.md said the cross-reference checks whether a profile's + files "appear in the platform config", a by-name rule, while verify + settles a file only at its slot or at a size the core accepts.""" + + def test_the_page_states_the_rule_verify_reads(self): + from validation import declaration_settles + + rom1 = {"name": "ROM1.BIN", "size": 32768, "validation": ["size"]} + self.assertFalse(declaration_settles(rom1, "ROM1.BIN", {"ROM1.BIN": [(4096, "rom1.bin")]}, + dest="dosbox/ROM1.BIN")) + self.assertTrue(declaration_settles(rom1, "ROM1.BIN", {"ROM1.BIN": [(32768, "rom1.bin")]}, + dest="dosbox/ROM1.BIN")) + page = " ".join((ROOT / "wiki" / "reading-reports.md").read_text(encoding="utf-8").split()) + section = page.split("### Cross-reference section", 1)[1].split("###", 1)[0] + self.assertIn("declaration_settles()", section) + self.assertIn("A name alone is not enough", section) + self.assertNotIn("appear in the platform config", section) + + class SkipFlagsNameTheSteps(unittest.TestCase): """--skip-packs said "add --skip-docs to stop after verify" while 4d and 4e still ran, and the flag table left 8b out of --skip-docs.""" diff --git a/wiki/reading-reports.md b/wiki/reading-reports.md index eda8e261f..8fa9d7fc2 100644 --- a/wiki/reading-reports.md +++ b/wiki/reading-reports.md @@ -140,8 +140,13 @@ are still included in packs automatically. A required one the collection lacks is listed under the counts, and `--verbose` lists the optional ones too. The cross-reference uses `resolve_platform_cores()` to determine which emulator -profiles are relevant for each platform, then checks whether each profile's files -appear in the platform config. +profiles are relevant for each platform, then checks whether the platform +already declares each profile's files (`declaration_settles()`). A name alone +is not enough. The declaration must fill the core's own slot or have a size the +core accepts: Galaksija's 4 KiB `ROM1.BIN` does not stand for DOSBox's 32 KiB +SC-55 one. An alias counts only at the path where the core reads it, so +RetroDECK's root `MSX.ROM` is not CLK's `MSX/MSX.ROM`. An archive counts by its +name. ### Filtering output From e9ecef689646f774015e50a1535cc2424dcf33eb Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:55:59 +0100 Subject: [PATCH 29/34] docs: name the committed files over 50 MB release-process.md listed tbblue.mmc, removed from bios/ on 2026-10-20, and left out uqm-remix-disc1.uqm. A test now reads the list against git ls-files. --- tests/test_doc_pages.py | 20 ++++++++++++++++++++ wiki/release-process.md | 6 +++--- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/tests/test_doc_pages.py b/tests/test_doc_pages.py index fa33f91ee..f238e6d95 100644 --- a/tests/test_doc_pages.py +++ b/tests/test_doc_pages.py @@ -1829,6 +1829,26 @@ class CrossReferenceSettlesBySlotAndSize(unittest.TestCase): self.assertNotIn("appear in the platform config", section) +class CommittedLargeFilesAreTheOnesNamed(unittest.TestCase): + """release-process.md named tbblue.mmc among the committed files over + 50 MB two weeks after it left bios/, and not uqm-remix-disc1.uqm.""" + + def test_the_list_is_the_tree(self): + import subprocess + + listed = subprocess.run(["git", "ls-files", "-z", "bios"], cwd=ROOT, capture_output=True, + check=True).stdout.decode("utf-8").split("\0") + large = sorted(Path(path).name for path in listed + if path and (ROOT / path).is_file() + and (ROOT / path).stat().st_size > 50_000_000) + page = " ".join((ROOT / "wiki" / "release-process.md").read_text(encoding="utf-8").split()) + said = re.search(r"Size does not decide it: (\w+) committed files are over 50 MB \(([^)]*)\)", + page) + self.assertIsNotNone(said) + self.assertEqual(sorted(re.findall(r"`([^`]+)`", said.group(2))), large) + self.assertEqual(said.group(1), {3: "three", 4: "four", 5: "five"}.get(len(large))) + + class SkipFlagsNameTheSteps(unittest.TestCase): """--skip-packs said "add --skip-docs to stop after verify" while 4d and 4e still ran, and the flag table left 8b out of --skip-docs.""" diff --git a/wiki/release-process.md b/wiki/release-process.md index 9e7746532..250ad6ad7 100644 --- a/wiki/release-process.md +++ b/wiki/release-process.md @@ -166,9 +166,9 @@ PR based on changed paths: ## Large files management Files too large for git are stored as assets on a permanent GitHub release -named `large-files`. Size does not decide it: four committed files are over -50 MB (`history.xml`, `default-GM.sf3`, `5.avi`, `tbblue.mmc`) and are served -from the repository like any other. +named `large-files`. Size does not decide it: four committed files are +over 50 MB (`history.xml`, `default-GM.sf3`, `5.avi`, `uqm-remix-disc1.uqm`) +and are served from the repository like any other. Examples: PS3UPDAT.PUP, PSVUPDAT.PUP, PSP2UPDAT.PUP, the DSi NAND images, maclc3.zip, Firmware.19.0.0.zip (Switch), the QEMU EDK2 firmware, the ScummVM From add6619730df0f790a91b0cb9edf88300b21f2d5 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 20:33:36 +0100 Subject: [PATCH 30/34] chore: regenerate the games index on the new lists c624a820f rewrote install/retroarch.json and left install/games/ behind, which failed test_games_index. --- install/games/fallback/retroarch.json | 2 +- install/games/index.json | 2 +- 2 files changed, 2 insertions(+), 2 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}}} From 213b20e2c86afecf6695bdf0635f43f1902364c8 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 20:33:37 +0100 Subject: [PATCH 31/34] refactor: read an entry's target as a function The emulator card read entry_target from the consumers object, which the tests stand in for with a namespace. It is a module function now, and the pairing test resolves an archive member through it as the site does. --- scripts/cross_reference.py | 30 +++++++++++++++--------------- scripts/generate_site.py | 4 ++-- tests/test_file_consumers.py | 10 ++++++---- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/scripts/cross_reference.py b/scripts/cross_reference.py index 19405123f..61ac3b47d 100644 --- a/scripts/cross_reference.py +++ b/scripts/cross_reference.py @@ -546,20 +546,6 @@ class FileConsumers: if member is not entry } - @staticmethod - def entry_target(entry: dict, files: list[dict]) -> tuple[dict, str]: - """The entry a profile entry resolves through, and its destination. - - A ROM read inside an archive is the archive: FBNeo opens sm1.sm1 in - neogeo.zip, and resolved by its crc32 it credited a loose copy FBNeo - never opens, while no neogeo.zip card named FBNeo. The archive - members the profile reads decide between same-named copies, as in - the emulator pack and verify. - """ - if entry.get("archive"): - return archive_entry(entry["archive"], files), "" - return with_archive_members(entry, files), entry.get("path") or "" - def add_emulators(self, profiles: dict[str, dict]) -> None: """Each file a profile entry resolves to, a directory's members included. @@ -588,13 +574,27 @@ class FileConsumers: for dest, sha1 in members.items() ] else: - found = [self.sha1_of(*self.entry_target(entry, files), owner=name)] + found = [self.sha1_of(*entry_target(entry, files), owner=name)] for sha1 in found: if sha1: self.emulators.setdefault(sha1, set()).add(name) self.emulator_entries.setdefault(sha1, {}).setdefault(name, index) +def entry_target(entry: dict, files: list[dict]) -> tuple[dict, str]: + """The entry a profile entry resolves through, and its destination. + + A ROM read inside an archive is the archive: FBNeo opens sm1.sm1 in + neogeo.zip, and resolved by its crc32 it credited a loose copy FBNeo + never opens, while no neogeo.zip card named FBNeo. The archive + members the profile reads decide between same-named copies, as in + the emulator pack and verify. + """ + if entry.get("archive"): + return archive_entry(entry["archive"], files), "" + return with_archive_members(entry, files), entry.get("path") or "" + + def entry_source(f: dict, index: dict) -> str | None: """Where the collection holds a profile entry, or None. diff --git a/scripts/generate_site.py b/scripts/generate_site.py index 108b77a01..b75afd262 100644 --- a/scripts/generate_site.py +++ b/scripts/generate_site.py @@ -63,7 +63,7 @@ from common import ( ) from artifacts import ArtifactLockBusy, artifact_lock from artifacts import json_text as _json_text -from cross_reference import FileConsumers, held_copy +from cross_reference import FileConsumers, entry_target, held_copy from nativemode import check_label, digest_algorithm, reads_file_contents @@ -8220,7 +8220,7 @@ def _render_emulator_file( details.extend(_directory_copies(f, consumers)) if consumers: sha1 = consumers.sha1_of( - *consumers.entry_target(f, profile.get("files") or []), owner=owner) + *entry_target(f, profile.get("files") or []), owner=owner) held = consumers.path_of(sha1) if sha1 and in_repo else "" parts = held.split("/") if len(parts) >= 3 and parts[0] == "bios" and f.get("archive"): diff --git a/tests/test_file_consumers.py b/tests/test_file_consumers.py index 50790d2f0..1d382916f 100644 --- a/tests/test_file_consumers.py +++ b/tests/test_file_consumers.py @@ -17,7 +17,7 @@ from pathlib import Path REPO_ROOT = Path(__file__).resolve().parent.parent sys.path.insert(0, str(REPO_ROOT / "scripts")) -from cross_reference import FileConsumers # noqa: E402 +from cross_reference import FileConsumers, entry_target # noqa: E402 from generate_site import generate_system_page # noqa: E402 _TMP = tempfile.TemporaryDirectory() @@ -246,7 +246,6 @@ class EveryReaderIsTheEmulatorPackFile(unittest.TestCase): build_zip_contents_index, load_data_dir_registry, load_emulator_profiles, resolve_local_file, ) - from validation import with_archive_members db_path = REPO_ROOT / "database.json" if not db_path.exists(): @@ -275,9 +274,12 @@ class EveryReaderIsTheEmulatorPackFile(unittest.TestCase): if members: from_trees |= {(sha1, name) for sha1 in members.values()} continue + # A ROM read inside an archive is the archive, as the + # emulator pack resolves it (archive_entry). + target, dest = entry_target(entry, files) path, status = resolve_local_file( - {**with_archive_members(entry, files), "source_profile": name}, - db, zips, dest_hint=entry.get("path") or "", + {**target, "source_profile": name}, + db, zips, dest_hint=dest, data_dir_registry=registry, ) if path and status not in ("not_found", "hash_mismatch"): From 62ed48e0a1765d0bccefdc25378809c18ec578e9 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 20:33:37 +0100 Subject: [PATCH 32/34] fix: run every class when a site test runs alone Two classes were appended after unittest.main(). --- tests/test_site_render.py | 8 ++++---- tests/test_site_system_names.py | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/test_site_render.py b/tests/test_site_render.py index eebcaf79d..35b27dbc8 100644 --- a/tests/test_site_render.py +++ b/tests/test_site_render.py @@ -427,10 +427,6 @@ class TheSearchSkipsLinkLists(unittest.TestCase): self.assertIn(short, text) -if __name__ == "__main__": - unittest.main() - - class OneDefinitionPerName(unittest.TestCase): """generate_site defined _REGION_WORDS twice: the second table replaced the first at import, and _region_word, written beside the first, never @@ -505,3 +501,7 @@ class NoTooltipInsideAName(unittest.TestCase): "Emulator settings come first. The PlayStation BIOS goes there.", terms) self.assertIn('title="An app that acts like a console.">Emulator', marked) self.assertIn('>BIOS', marked) + + +if __name__ == "__main__": + unittest.main() diff --git a/tests/test_site_system_names.py b/tests/test_site_system_names.py index b24fc3de8..bfc883fc4 100644 --- a/tests/test_site_system_names.py +++ b/tests/test_site_system_names.py @@ -116,10 +116,6 @@ class SystemNames(unittest.TestCase): self.assertFalse(names & siterender.program_names(self.profiles)) -if __name__ == "__main__": - unittest.main() - - class SectionsComeBeforeThePlan(unittest.TestCase): """plan_emulator_pages names systems. Run before set_console_sections, it made siterender read ./database.json and ./emulators whatever --db @@ -137,3 +133,7 @@ class SectionsComeBeforeThePlan(unittest.TestCase): if isinstance(node, ast.Call) and isinstance(node.func, ast.Name): lines.setdefault(node.func.id, node.lineno) self.assertLess(lines["set_console_sections"], lines["plan_emulator_pages"]) + + +if __name__ == "__main__": + unittest.main() From 943add6df0f55262a78eb0be5a6bc449b1e13e69 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 20:33:37 +0100 Subject: [PATCH 33/34] fix: align tests with the new help and messages The --skip-packs help and the validate_pr fetch error were reworded, and a batocera page with no tab bar is plain Markdown that keeps the underscore entity, read here as a browser shows it. --- scripts/validate_pr.py | 2 +- tests/test_audit_regressions.py | 3 ++- tests/test_refresh_failures.py | 2 +- tests/test_site_reference.py | 6 +++++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/scripts/validate_pr.py b/scripts/validate_pr.py index f44aff8b4..cbc6fa1bd 100644 --- a/scripts/validate_pr.py +++ b/scripts/validate_pr.py @@ -632,7 +632,7 @@ def _project_main_line() -> str | None: if fetched.returncode != 0: raise RuntimeError( f"this clone does not hold the main of {PROJECT_URLS[0]}, and " - f"fetching it from {source} failed: {fetched.stderr.strip()}" + f"fetching its main from {source} failed: {fetched.stderr.strip()}" ) return "FETCH_HEAD" diff --git a/tests/test_audit_regressions.py b/tests/test_audit_regressions.py index e6f95068d..446bfe900 100644 --- a/tests/test_audit_regressions.py +++ b/tests/test_audit_regressions.py @@ -6660,7 +6660,8 @@ class SkipPacksHelpSaysWhatRuns(unittest.TestCase): ) text = " ".join(proc.stdout.split()) self.assertNotIn("Only regenerate DB and verify", text) - self.assertIn("Steps 7 and 8 still rewrite README.md and the site pages in website/", text) + self.assertIn("step 4e still rewrites install/games/, and steps 7 to 8b rewrite README.md " + "and the site unless --skip-docs is given", text) self.assertNotIn("docs/", text) def test_every_step_it_names_is_one_it_skips(self): diff --git a/tests/test_refresh_failures.py b/tests/test_refresh_failures.py index 2225ccfe5..11e2bfc27 100644 --- a/tests/test_refresh_failures.py +++ b/tests/test_refresh_failures.py @@ -130,7 +130,7 @@ class AForkPushedToItsOwnMain(unittest.TestCase): # A project that cannot be reached is an error, never "nothing". missing = self._changed(clone, str(Path(tmp, "absent"))) self.assertNotEqual(missing.returncode, 0) - self.assertIn("fetching its main failed", missing.stderr) + self.assertIn("fetching its main from", missing.stderr) class RefreshFailuresAreFailures(unittest.TestCase): diff --git a/tests/test_site_reference.py b/tests/test_site_reference.py index de6080114..5375a7972 100644 --- a/tests/test_site_reference.py +++ b/tests/test_site_reference.py @@ -422,7 +422,11 @@ class BuiltBatoceraPage(unittest.TestCase): # PlayStation's list is long enough to sit on a page of its own. pages = [main] + [p.read_text(encoding="utf-8") for p in (DIST / "platforms").glob("batocera-sony-playstation*/index.html")] - html = "".join(pages) + # Read as a browser shows it: a page with no tab bar is plain + # Markdown, which keeps the entity a name's underscore is written as. + import html as _html + + html = _html.unescape("".join(pages)) for text in ("Served by:", "scph1001_v20.bin", "https://github.com/stenzek/duckstation/blob/"): with self.subTest(text=text): self.assertTrue(text in html) From 9a66ac32195cbb4236e8e68369629117b1bff412 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 22:59:30 +0100 Subject: [PATCH 34/34] chore: drop the source tree pcem no longer pins The pcem upstream pin moved to 10739b96. Merging both batches kept the empty record of the orphaned 25b54e3f tree. --- website/src/data/source-paths.json | 1 - 1 file changed, 1 deletion(-) diff --git a/website/src/data/source-paths.json b/website/src/data/source-paths.json index da25b547c..d591448f7 100644 --- a/website/src/data/source-paths.json +++ b/website/src/data/source-paths.json @@ -8954,7 +8954,6 @@ "src/vid_tvga.c", "src/vid_vga.c" ], - "github.com/sarah-walker-pcem/pcem@25b54e3ff1d51cbf2469b447e55bce7a589697e9": [], "github.com/sashkinbro/EmuCoreV@b71d8cf5397b1c6394e92eeb48427cd17e542971": [ "app/build.gradle.kts", "app/src/main/AndroidManifest.xml",