From 4b02ab33dab20a1ea44190d9017f2d9248643772 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:08:03 +0100 Subject: [PATCH 01/20] fix: one sha1 rule at the manifest boundary --- install.ps1 | 2 +- install.py | 11 +++++------ install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/test_install_cores.py | 23 +++++++++++++++++++++++ 5 files changed, 38 insertions(+), 16 deletions(-) diff --git a/install.ps1 b/install.ps1 index d321dfe7b..19035cf81 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "f0410caadbcc354efc86038decb95da63478ddf018cad03ec09e41ce2b5e4d63" + $defaultInstallSha256 = "0aacd5847f927fe058de40f34f09ba4676acafe9d3e3d6c4228e46a474ed8744" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index 318048d69..e9d697b78 100644 --- a/install.py +++ b/install.py @@ -138,8 +138,10 @@ OMISSION_REASONS = { # says, and as the installer words it. Firmware carries no category. GAME_DATA = "game_data" CATEGORY_LABELS = {GAME_DATA: "game data"} -_SHA1_RE = re.compile(r"^[0-9a-fA-F]{40}$") -_SHA256_RE = re.compile(r"^[0-9a-fA-F]{64}$") +# The manifest writes its digests in lowercase, as hashlib gives them, and +# every comparison reads them as written. +_SHA1_RE = re.compile(r"^[0-9a-f]{40}$") +_SHA256_RE = re.compile(r"^[0-9a-f]{64}$") # The region vocabulary of scripts/region.py, which this file cannot import. # A test holds the two copies equal. @@ -3592,9 +3594,6 @@ def _check_entry( return size, largest -_SHA1_RE = re.compile(r"^[0-9a-f]{40}$") - - def _check_data_directory(entry: object, where: str) -> None: """A data directory: its source archive, its mapping, its file list.""" if not isinstance(entry, dict): @@ -3631,7 +3630,7 @@ def _check_data_directory(entry: object, where: str) -> None: if ( not isinstance(meta, dict) or not isinstance(meta.get("sha1"), str) - or not _SHA1_RE.match(meta["sha1"]) + or not _SHA1_RE.fullmatch(meta["sha1"]) or not isinstance(meta.get("size"), int) or not 0 <= meta["size"] <= MAX_DOWNLOAD_SIZE ): diff --git a/install.sh b/install.sh index ebf1fc626..d5eaaea86 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="f0410caadbcc354efc86038decb95da63478ddf018cad03ec09e41ce2b5e4d63" +DEFAULT_INSTALL_SHA256="0aacd5847f927fe058de40f34f09ba4676acafe9d3e3d6c4228e46a474ed8744" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 5e538378d..300728f9c 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1089187, - "sha256": "f0410caadbcc354efc86038decb95da63478ddf018cad03ec09e41ce2b5e4d63", + "size": 1089259, + "sha256": "0aacd5847f927fe058de40f34f09ba4676acafe9d3e3d6c4228e46a474ed8744", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1142814, - "sha256": "090c40f23a9c087641c9835a79a0d4181fc702865ce20e5115fe5a7ca72a31fc" + "size": 1142886, + "sha256": "4068768b8a88f1caa5238a8f9b5f0a0a34c1a6acab3577b54075c4163ca37ca6" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1089187, - "sha256": "f0410caadbcc354efc86038decb95da63478ddf018cad03ec09e41ce2b5e4d63", + "size": 1089259, + "sha256": "0aacd5847f927fe058de40f34f09ba4676acafe9d3e3d6c4228e46a474ed8744", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1089187, - "sha256": "f0410caadbcc354efc86038decb95da63478ddf018cad03ec09e41ce2b5e4d63", + "size": 1089259, + "sha256": "0aacd5847f927fe058de40f34f09ba4676acafe9d3e3d6c4228e46a474ed8744", "executable": false }, { diff --git a/tests/test_install_cores.py b/tests/test_install_cores.py index 9c58ba3a5..55fcbfbf0 100644 --- a/tests/test_install_cores.py +++ b/tests/test_install_cores.py @@ -192,6 +192,29 @@ class TheBoundaryBoundsAlternatives(unittest.TestCase): install._validate_manifest(manifest, "retroarch") +class OneDigestRuleAtTheBoundary(unittest.TestCase): + """install.py defined _SHA1_RE twice: the second, lowercase only, + replaced the first everywhere, so an uppercase sha1 was refused where + an uppercase sha256 passed. Every comparison reads the digest as + hashlib writes it, so both refuse uppercase, data trees included.""" + + def _manifest(self, **digests: str) -> dict: + entry = {"dest": "a.bin", "size": 1, "repo_path": "bios/a.bin", **digests} + return {"manifest_version": 2, "platform": "retroarch", "files": [entry]} + + def test_sha1_and_sha256_follow_the_same_rule(self): + install._validate_manifest(self._manifest(sha1="a" * 40), "retroarch") + install._validate_manifest(self._manifest(sha256="a" * 64), "retroarch") + for digests in ({"sha1": "A" * 40}, {"sha256": "A" * 64}): + with self.subTest(digests=digests), self.assertRaises(ValueError): + install._validate_manifest(self._manifest(**digests), "retroarch") + + def test_one_definition_each(self): + source = (REPO_ROOT / "install.py").read_text(encoding="utf-8") + for name in ("_SHA1_RE", "_SHA256_RE"): + self.assertEqual(source.count(f"\n{name} = "), 1, name) + + class APlatformOmissionKeepsItsClaim(unittest.TestCase): """A file the platform declares and a core reads, absent from the collection, was recorded under the core alone: RetroPie's dsi_nand.bin From dc146312a811121210786142c986ce626dfff0fb Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:08:03 +0100 Subject: [PATCH 02/20] docs: regenerate installer examples --- 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 494e390de8e38c11a639734a33bf1cf0de546222 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:09:43 +0100 Subject: [PATCH 03/20] fix: take an elec bios folder as its games part --- install.ps1 | 2 +- install.py | 9 ++++++++- install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/test_install_tui.py | 20 ++++++++++++++++++++ wiki/installer.md | 4 +++- 6 files changed, 41 insertions(+), 12 deletions(-) diff --git a/install.ps1 b/install.ps1 index 19035cf81..394040952 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "0aacd5847f927fe058de40f34f09ba4676acafe9d3e3d6c4228e46a474ed8744" + $defaultInstallSha256 = "144f419239eaf12447b68b293d1c1d15294e45bca2344dea4a9da66fba7582cd" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index e9d697b78..96437450d 100644 --- a/install.py +++ b/install.py @@ -14156,6 +14156,12 @@ def _card_and_below(setup: CardSetup, path: Path) -> tuple[Path, bool]: name: an Onion card mounted as BIOS was read as a BIOS folder, its parent checked as the card and refused.""" below = setup.below + if (not below and setup.name in _GAMES_PART_CARDS and path.name.casefold() == "bios" + and not _is_dir(path / "bios") and _card_is(setup, path)[0] == "unknown" + and not _card_boundary(path)): + # Its list writes bios/ below the games part's root: its BIOS + # folder named got bios/bios, or was refused as inside the card. + return path.parent, True depth = len(PurePosixPath(below).parts) if (below and _ends_with(path, below) and _card_is(setup, path)[0] == "unknown" and not any(_card_boundary(folder) @@ -14312,7 +14318,8 @@ def card_choice(named: str, plat: str, root: Path) -> CardChoice: f"{setup.name} card, whose root is {shown_path(holder[2])}", short=f"That is inside {_a(setup.name)} card.", below=setup.below, root=holder[2]) - folder = root if inside or not setup.below else card / setup.below + folder = (card if inside and not setup.below + else root if inside or not setup.below else card / setup.below) if kind == "other": return _not_the_card(setup, root, card, what) if kind == "own": diff --git a/install.sh b/install.sh index d5eaaea86..ff6303641 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="0aacd5847f927fe058de40f34f09ba4676acafe9d3e3d6c4228e46a474ed8744" +DEFAULT_INSTALL_SHA256="144f419239eaf12447b68b293d1c1d15294e45bca2344dea4a9da66fba7582cd" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 300728f9c..838151168 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1089259, - "sha256": "0aacd5847f927fe058de40f34f09ba4676acafe9d3e3d6c4228e46a474ed8744", + "size": 1089708, + "sha256": "144f419239eaf12447b68b293d1c1d15294e45bca2344dea4a9da66fba7582cd", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1142886, - "sha256": "4068768b8a88f1caa5238a8f9b5f0a0a34c1a6acab3577b54075c4163ca37ca6" + "size": 1143335, + "sha256": "9f312c89654b2e3d07fc9f741a3d714c6a14342b27b81fe08f281b159dfeff14" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1089259, - "sha256": "0aacd5847f927fe058de40f34f09ba4676acafe9d3e3d6c4228e46a474ed8744", + "size": 1089708, + "sha256": "144f419239eaf12447b68b293d1c1d15294e45bca2344dea4a9da66fba7582cd", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1089259, - "sha256": "0aacd5847f927fe058de40f34f09ba4676acafe9d3e3d6c4228e46a474ed8744", + "size": 1089708, + "sha256": "144f419239eaf12447b68b293d1c1d15294e45bca2344dea4a9da66fba7582cd", "executable": false }, { diff --git a/tests/test_install_tui.py b/tests/test_install_tui.py index 2d8b51fee..a9bcdef79 100644 --- a/tests/test_install_tui.py +++ b/tests/test_install_tui.py @@ -6077,6 +6077,26 @@ class EveryCardSetupGoesToItsCard(unittest.TestCase): self.assertNotIn(card, install.mounted_cards_of(setup.name, setup.plat)) + def test_a_games_part_named_by_its_bios_folder_is_its_card(self): + """AmberELEC and EmuELEC write bios/ below their games part, as + RetroDECK below its folder. Their BIOS folder named got bios/bios + on a card not started once, and was refused on one started.""" + for setup in self.setups: + if setup.name not in install._GAMES_PART_CARDS: + continue + started = _card_from_rules(self.root / setup.name / "started", setup) + blank = self.root / setup.name / "blank" + (blank / "bios").mkdir(parents=True) + for card in (started, blank): + with self.subTest(system=setup.name, card=card.name): + choice = install.card_choice(setup.name, setup.plat, card / "bios") + self.assertEqual((choice.refused, choice.folder), ("", card)) + # A folder named bios holding bios/ is a card's root, as named. + nested = self.root / setup.name / "bios" + (nested / "bios").mkdir(parents=True) + self.assertEqual(install.card_choice(setup.name, setup.plat, nested).folder, + nested) + def test_a_blank_drive_is_refused_where_the_card_always_names_its_system(self): blank = self.root / "BLANK" blank.mkdir() diff --git a/wiki/installer.md b/wiki/installer.md index 35bd85390..f7793f1a4 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -1256,7 +1256,9 @@ Under WSL a drive letter (`D:`, `D:\`) is that Windows drive, typed or given to `--dest`, `--from`, `--from-pack`, `--save-dir` and `--cores-dir`, and the screens write the folder `D:\BIOS`. Without questions (`--no-input`) the run stops with a `--dest` example. A `--dest` that is a folder inside a MinUI -card (its `Bios/`) is refused with the root to name instead. A refused +card (its `Bios/`) is refused with the root to name instead. AmberELEC +and EmuELEC write `bios/` below their games part: their `bios` folder named +with `--dest` stands for the games part, as RetroDECK's for its folder. A refused `--dest` ends with code 1 and an `error` event (`stage` `detect`). On Android a forced `--platform retroarch` falls back to `/RetroArch/system` instead, a home directory there belonging to Termux rather than to the frontend. Pass `--dest` to say where instead of From 59c8217280756795170e64bf69c5683360ee4015 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:11:08 +0100 Subject: [PATCH 04/20] fix: say a settings file detection cannot read --- install.ps1 | 2 +- install.py | 9 +++++---- install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/test_install_experience.py | 29 +++++++++++++++++++++++++++++ 5 files changed, 44 insertions(+), 14 deletions(-) diff --git a/install.ps1 b/install.ps1 index 394040952..3e153d30c 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "144f419239eaf12447b68b293d1c1d15294e45bca2344dea4a9da66fba7582cd" + $defaultInstallSha256 = "bb1da18416aec7c77a6d23c8bf2718cccf5c756ce0cbdbcbf54a6299a03a484f" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index 96437450d..29aa13de2 100644 --- a/install.py +++ b/install.py @@ -1439,8 +1439,9 @@ def _parse_bash_var(path: Path, key: str) -> str | None: if line.startswith(f"{key}="): _, _, value = line.partition("=") return _shell_unquote(value) - except OSError: - pass + except OSError as exc: + # A settings.sh a sudo EmuDeck run left to root hid the setup. + _note_refused(path, exc) return None @@ -1551,8 +1552,8 @@ def _parse_ps1_var(path: Path, key: str) -> str | None: if check.startswith(f"{normalized}="): _, _, value = check.partition("=") return value.strip('"').strip("'") - except OSError: - pass + except OSError as exc: + _note_refused(path, exc) return None diff --git a/install.sh b/install.sh index ff6303641..99ebb5a32 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="144f419239eaf12447b68b293d1c1d15294e45bca2344dea4a9da66fba7582cd" +DEFAULT_INSTALL_SHA256="bb1da18416aec7c77a6d23c8bf2718cccf5c756ce0cbdbcbf54a6299a03a484f" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 838151168..684a9df7a 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1089708, - "sha256": "144f419239eaf12447b68b293d1c1d15294e45bca2344dea4a9da66fba7582cd", + "size": 1089833, + "sha256": "bb1da18416aec7c77a6d23c8bf2718cccf5c756ce0cbdbcbf54a6299a03a484f", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1143335, - "sha256": "9f312c89654b2e3d07fc9f741a3d714c6a14342b27b81fe08f281b159dfeff14" + "size": 1143460, + "sha256": "8074276deabb785c034ecb1c3d5d4c2da3f7772ba17fb29f4f82241e289c7be5" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1089708, - "sha256": "144f419239eaf12447b68b293d1c1d15294e45bca2344dea4a9da66fba7582cd", + "size": 1089833, + "sha256": "bb1da18416aec7c77a6d23c8bf2718cccf5c756ce0cbdbcbf54a6299a03a484f", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1089708, - "sha256": "144f419239eaf12447b68b293d1c1d15294e45bca2344dea4a9da66fba7582cd", + "size": 1089833, + "sha256": "bb1da18416aec7c77a6d23c8bf2718cccf5c756ce0cbdbcbf54a6299a03a484f", "executable": false }, { diff --git a/tests/test_install_experience.py b/tests/test_install_experience.py index 136e96533..cc8e2ef58 100644 --- a/tests/test_install_experience.py +++ b/tests/test_install_experience.py @@ -708,6 +708,35 @@ class AHomeThisUserCannotOpen(unittest.TestCase): self.assertNotIn("using default path", proc.stdout + proc.stderr) +class ASettingsFileThisUserCannotRead(unittest.TestCase): + """A sudo EmuDeck run left settings.sh to root: its parser swallowed the + refusal and the run said "No supported platform detected" without a + word on the file, where the same refusal on retroarch.cfg is said.""" + + def setUp(self): + self.root = Path(tempfile.mkdtemp(dir=REPO_ROOT / "tmp")) + self.addCleanup(shutil.rmtree, self.root, True) + install._DETECTION_REFUSED.clear() + self.addCleanup(install._DETECTION_REFUSED.clear) + install._SETUP_SEARCH.active = True + self.addCleanup(setattr, install._SETUP_SEARCH, "active", False) + + def test_each_settings_parser_says_the_refusal(self): + for parse, name in ((install._parse_bash_var, "settings.sh"), + (install._parse_ps1_var, "settings.ps1")): + with self.subTest(file=name): + install._DETECTION_REFUSED.clear() + path = self.root / name + path.write_text('emulationPath="/x"\n', encoding="utf-8") + refusal = PermissionError(errno.EACCES, "Permission denied", str(path)) + with mock.patch.object(Path, "read_text", side_effect=refusal), \ + mock.patch.object(Path, "read_bytes", side_effect=refusal), \ + contextlib.redirect_stderr(io.StringIO()) as err: + self.assertIsNone(parse(path, "emulationPath")) + self.assertEqual(install._DETECTION_REFUSED, [(path, "Permission denied")]) + self.assertIn(f"cannot open {path}", err.getvalue()) + + class TheFrontendsOwnFolderClosed(unittest.TestCase): """The Flatpak RetroArch's folder at 000: its retroarch.cfg names ~/Games/bios, and the run took ~/.config/retroarch/system, a folder it From 83f5d161ab324d7930c6f20ceda28fe60d304484 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:15:35 +0100 Subject: [PATCH 05/20] fix: say a config detection fails to read --- install.ps1 | 2 +- install.py | 23 +++++++++++++++----- install.sh | 2 +- install/launchers/index.json | 16 +++++++------- tests/test_install_experience.py | 37 ++++++++++++++++++++++++++++++++ wiki/installer.md | 2 +- 6 files changed, 66 insertions(+), 16 deletions(-) diff --git a/install.ps1 b/install.ps1 index 3e153d30c..e686a65f3 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "bb1da18416aec7c77a6d23c8bf2718cccf5c756ce0cbdbcbf54a6299a03a484f" + $defaultInstallSha256 = "8760870a1e7e1f1b72379cfec88d595ac8d7729880af905e266b424e3ee306bc" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index 29aa13de2..54ce783cf 100644 --- a/install.py +++ b/install.py @@ -2429,6 +2429,12 @@ def launchbox_bios_dirs(root: Path) -> dict[str, Path]: # (folder, why in words) for each folder detection could not look in. _DETECTION_REFUSED: list[tuple[Path, str]] = [] +# Those of them that failed for another cause than a permission: a read +# error from a failing card, a link that loops. +_DETECTION_UNREADABLE: set[Path] = set() +# The errors that say a place is not there, as against one that is there +# and could not be read. +_ABSENT_ERRNOS = (errno.ENOENT, errno.ENOTDIR, errno.EINVAL, errno.ENAMETOOLONG) # The platforms whose configuration names a folder with a control character. _UNNAMEABLE: list[str] = [] @@ -2437,13 +2443,18 @@ def refused_words(folder: Path, why: str, shown: str = "") -> str: """The line said for a folder detection could not look in. shown is the folder as the screen writes it (~/.config/EmuDeck), the full path by default.""" + if folder in _DETECTION_UNREADABLE: + return (f"Could not look for setups: {shown or folder} could not be read ({why}). " + "A failing card or a link that loops gives this: check it, or name the " + "BIOS folder with --dest.") return (f"Could not look for setups: this user cannot open {shown or folder} ({why}). " "Run as its owner (su - or sudo -H), or name the BIOS folder " "with --dest.") def _note_refused(path: Path, exc: OSError) -> None: - """Say once that a folder detection looks in is closed to this user. + """Say once that a folder detection looks in is closed to this user, + or could not be read. A probe refused there counts as absent and the others go on: a config folder a sudo run left at 0700 (~/.config/EmuDeck) hid a RetroArch whose @@ -2451,12 +2462,16 @@ def _note_refused(path: Path, exc: OSError) -> None: not read. """ if (not getattr(_SETUP_SEARCH, "active", False) or getattr(_SETUP_SEARCH, "quiet", False) - or not isinstance(exc, PermissionError)): + or exc.errno in _ABSENT_ERRNOS): return refused = closed_folder(path) or (path, exc.strerror or str(exc)) if refused in _DETECTION_REFUSED: return _DETECTION_REFUSED.append(refused) + if not isinstance(exc, PermissionError): + # An EIO on retroarch.cfg counted as absent: the card about to be + # written to failed, and the run said nothing was detected. + _DETECTION_UNREADABLE.add(refused[0]) words = refused_words(*refused) EVENTS.emit("unsearched", folder=str(refused[0]), reason=refused[1], message=words) print(f" {screen_text(words)}", file=sys.stderr) @@ -5038,10 +5053,8 @@ def _probed(probe: Callable[[], bool], path: Path) -> bool: # raised: a refusal is told from absence by the stat it hides. try: os.stat(path) - except PermissionError as exc: + except OSError as exc: _note_refused(path, exc) - except OSError: - pass return found diff --git a/install.sh b/install.sh index 99ebb5a32..42d48c719 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="bb1da18416aec7c77a6d23c8bf2718cccf5c756ce0cbdbcbf54a6299a03a484f" +DEFAULT_INSTALL_SHA256="8760870a1e7e1f1b72379cfec88d595ac8d7729880af905e266b424e3ee306bc" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 684a9df7a..d9e518a9b 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1089833, - "sha256": "bb1da18416aec7c77a6d23c8bf2718cccf5c756ce0cbdbcbf54a6299a03a484f", + "size": 1090639, + "sha256": "8760870a1e7e1f1b72379cfec88d595ac8d7729880af905e266b424e3ee306bc", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1143460, - "sha256": "8074276deabb785c034ecb1c3d5d4c2da3f7772ba17fb29f4f82241e289c7be5" + "size": 1144266, + "sha256": "1b9ae46c0bbdbb75aaa2120dcce145cea9a15a971f272f44dd556a48e6b7098c" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1089833, - "sha256": "bb1da18416aec7c77a6d23c8bf2718cccf5c756ce0cbdbcbf54a6299a03a484f", + "size": 1090639, + "sha256": "8760870a1e7e1f1b72379cfec88d595ac8d7729880af905e266b424e3ee306bc", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1089833, - "sha256": "bb1da18416aec7c77a6d23c8bf2718cccf5c756ce0cbdbcbf54a6299a03a484f", + "size": 1090639, + "sha256": "8760870a1e7e1f1b72379cfec88d595ac8d7729880af905e266b424e3ee306bc", "executable": false }, { diff --git a/tests/test_install_experience.py b/tests/test_install_experience.py index cc8e2ef58..2ea164a30 100644 --- a/tests/test_install_experience.py +++ b/tests/test_install_experience.py @@ -737,6 +737,43 @@ class ASettingsFileThisUserCannotRead(unittest.TestCase): self.assertIn(f"cannot open {path}", err.getvalue()) +class AConfigThatFailsToRead(unittest.TestCase): + """retroarch.cfg on a failing card raised EIO, and a link that loops + ELOOP: both counted as absent without a word, as only a permission + refusal was said. Absence itself stays silent.""" + + def setUp(self): + self.root = Path(tempfile.mkdtemp(dir=REPO_ROOT / "tmp")) + self.addCleanup(shutil.rmtree, self.root, True) + install._DETECTION_REFUSED.clear() + self.addCleanup(install._DETECTION_REFUSED.clear) + install._SETUP_SEARCH.active = True + self.addCleanup(setattr, install._SETUP_SEARCH, "active", False) + + def test_a_read_error_is_said_with_its_own_words(self): + cfg = self.root / "retroarch.cfg" + cfg.write_text('system_directory = "/x"\n', encoding="utf-8") + failure = OSError(errno.EIO, "Input/output error", str(cfg)) + with mock.patch.object(Path, "read_text", side_effect=failure), \ + contextlib.redirect_stderr(io.StringIO()) as err: + self.assertIsNone(install._retroarch_cfg_dir(cfg, "system_directory", + self.root, "system")) + self.assertEqual(install._DETECTION_REFUSED, [(cfg, "Input/output error")]) + said = " ".join(err.getvalue().split()) + self.assertIn(f"{cfg} could not be read (Input/output error)", said) + self.assertNotIn("Run as its owner", said) + + @unittest.skipIf(os.name == "nt", "a symbolic link needs privileges on Windows") + def test_a_link_that_loops_is_said_and_absence_is_not(self): + loop = self.root / "retroarch.cfg" + loop.symlink_to(loop.name) + with contextlib.redirect_stderr(io.StringIO()): + self.assertFalse(install._exists(loop)) + self.assertFalse(install._exists(self.root / "absent.cfg")) + self.assertFalse(install._exists(self.root / "absent" / "x.cfg")) + self.assertEqual([folder for folder, _why in install._DETECTION_REFUSED], [loop]) + + class TheFrontendsOwnFolderClosed(unittest.TestCase): """The Flatpak RetroArch's folder at 000: its retroarch.cfg names ~/Games/bios, and the run took ~/.config/retroarch/system, a folder it diff --git a/wiki/installer.md b/wiki/installer.md index f7793f1a4..7cf21b25d 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -1773,7 +1773,7 @@ other schemas under `api/v1/schemas/`. | Kind | Keys | When | |------|------|------| | `start` | `schema`, `installer`, `mode` | First line. `schema` is 1, `installer` the identity `--version` prints, `mode` one of `install`, `check`, `dry-run`, `list` | -| `unsearched` | `folder`, `reason`, `message` | Before `detect`, once for each folder the search for setups could not look in, this user being refused it. What it would hold counts as absent, and the other places are still searched: `detect` then lists what they hold, and an empty `platforms` after an `unsearched` line means nothing was found where the installer could look. `reason` says why in words (`Permission denied`), `message` says it in a sentence | +| `unsearched` | `folder`, `reason`, `message` | Before `detect`, once for each folder the search for setups could not look in, this user being refused it or a read failing there (a failing card, a link that loops). What it would hold counts as absent, and the other places are still searched: `detect` then lists what they hold, and an empty `platforms` after an `unsearched` line means nothing was found where the installer could look. `reason` says why in words (`Permission denied`), `message` says it in a sentence | | `detect` | `os`, `os_name`, `platforms` | Once the platforms are known. `os_name` comes from `/etc/os-release`. `platforms` lists `{platform, name, bios_dir}`, and is empty when nothing supported was found | | `error` | `stage`, `reason`, `platform`, `message` | The file list could not be read (`stage` is `manifest`): `reason` is `network`, `not_found` or `invalid`, `clock` when the server's certificate was refused and the system clock reads a date before the installer was written, `no_ca` when the machine holds no list of trusted certificates (`SSL_CERT_FILE` names one), `no_ssl` when this Python was built without its `ssl` module and cannot use HTTPS, or `offline` when `--offline` forbids the request. A folder named with `--from` cannot be read (`stage` is `from`, `reason` `not_found`, `not_a_folder` for a file that is no ZIP, `unreadable`, or `system` for the root of the system, `/proc`, `/sys` or `/dev`). The BIOS folder sits under a folder this user cannot open (`stage` is `dest`, `reason` `unreadable`), and the run ends with code 1 before anything is written. A platform, target, system, core or emulator named on the command line is unknown or cannot be used here (`stage` is `option`, `reason` `unknown`, `platform` the platform it was checked against or the name typed), refused before any download with code 2. The BIOS folder cannot be created (`stage` is `dest`, `reason` `not_writable`): a `summary` follows with what the run installed before it. Two systems are detected on one machine and no `--dest` names the folder (`stage` is `detect`, `reason` `conflict`). The platform named with `--platform` is found nowhere and no folder can be assumed for it: a card system with no card named, a portable emulator, Batocera or Recalbox named on a computer (their folder is the `bios` folder of their SHARE drive), or no usual folder on this system or one set aside behind a folder this user cannot open (`stage` is `detect`, `reason` `not_found`). So is a platform named by a file list or a pack, in a run without questions where it is found nowhere here. A `--dest` refused as the card of the system named carries the same `stage` and `reason`: another system's card, a folder inside a card, a drive with none of the files its card always has, or a folder that does not exist. `message` says it in words, and is the only thing that tells these cases apart | | `scanned` | `folder`, `files`, `truncated`, `other_drives` | Each folder named with `--from`, once read and before `detect`. `files` counts the files found, `truncated` is true when the search stopped at 200,000 of them, and `other_drives` lists the folders below it on another drive, which were not entered | From 289c180bfa794137ddf14f33096956e3ece0c5dd Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:18:29 +0100 Subject: [PATCH 06/20] feat: narrow a knulli install to its board --- install.ps1 | 2 +- install.py | 46 ++++++++++++++---------------------- install.sh | 2 +- install/launchers/index.json | 16 ++++++------- tests/test_install.py | 30 ++++++++++++++++------- wiki/installer.md | 12 +++++----- 6 files changed, 56 insertions(+), 52 deletions(-) diff --git a/install.ps1 b/install.ps1 index e686a65f3..f12f5ffb2 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "8760870a1e7e1f1b72379cfec88d595ac8d7729880af905e266b424e3ee306bc" + $defaultInstallSha256 = "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index 54ce783cf..546d9d04f 100644 --- a/install.py +++ b/install.py @@ -1450,36 +1450,28 @@ def _parse_bash_var(path: Path, key: str) -> str | None: # recalbox-system.mk RECALBOX_SYSTEM_PLATFORM, ROCKNIX's scripts/image puts # HW_DEVICE in os-release (RK3326, our rk3326). Lakka's scripts/image writes # LIBREELEC_DEVICE when the image is built for a device (RPi4) and always -# LIBREELEC_PROJECT (Generic): the first one set is the board. +# LIBREELEC_PROJECT (Generic): the first one set is the board. KNULLI moves +# /usr/share/batocera to /usr/share/knulli (knulli-linux 57afa662, +# board/scripts/post-build-script.sh:264-278) and writes KNULLI_SYSTEM_ARCH +# to knulli.arch (package/system/knulli-system/knulli-system.mk:98-99). _BOARD_SOURCES: dict[str, tuple[str, str]] = { "batocera": ("file", "/usr/share/batocera/batocera.arch"), "recalbox": ("file", "/recalbox/recalbox.arch"), "rocknix": ("os_release", "HW_DEVICE"), "lakka": ("os_release", "LIBREELEC_DEVICE|LIBREELEC_PROJECT"), + "knulli": ("file", "/usr/share/knulli/knulli.arch"), } - -# A platform that names its board without publishing a core list per board. -# Knulli moves /usr/share/batocera to /usr/share/knulli (knulli-linux -# 57afa662, board/scripts/post-build-script.sh:264-278) and writes its board -# to knulli.arch (package/system/knulli-system/knulli-system.mk:98-99). -_DERIVATIVE_BOARDS: dict[str, tuple[str, str]] = { - "knulli": ("Knulli", "/usr/share/knulli/knulli.arch"), +# The board a system's own name stands for, where the two differ: the +# target lists are named for the board files (configs/knulli-rk3566.board), +# and the arch file for the TARGET flag the board sets. knulli-rk3566.board +# sets BR2_PACKAGE_BATOCERA_TARGET_RK3568, which knulli-system.mk:22-23 +# (20260511) writes as rk3568. +_BOARD_NAMES: dict[str, dict[str, str]] = { + "knulli": {"rk3568": "rk3566"}, } -def derivative_board(platform: str) -> tuple[str, str] | None: - """(derivative, board) when a derivative of the platform names its board.""" - name, where = _DERIVATIVE_BOARDS.get(platform, ("", "")) - if not where: - return None - try: - board = Path(where).read_text(encoding="utf-8", errors="replace").strip().lower() - except OSError: - return None - return (name, board) if board else None - - # The board a card names on a partition a computer reads. Batocera writes # its image's board to boot/batocera.board on the BATOCERA boot partition, # the FAT one beside SHARE (batocera-43.1, board/batocera/scripts/ @@ -1520,7 +1512,11 @@ def detect_board(platform: str) -> str | None: value = next((release[key] for key in where.split("|") if release.get(key)), "") else: return None - return value.strip().lower() or None + board = value.strip().lower() + # A board no TARGET line names is written "unknown" (KNULLI's r16). + if board == "unknown": + return None + return _BOARD_NAMES.get(platform, {}).get(board, board) or None def _parse_json_path(path: Path, *keys: str) -> str | None: @@ -12989,7 +12985,7 @@ def build_parser() -> argparse.ArgumentParser: "--target", metavar="NAME", help="hardware target for core filtering (switch, rpi4, ...). " - "On Batocera, Recalbox, ROCKNIX and Lakka the board is read from the system", + "On Batocera, Recalbox, ROCKNIX, Lakka and KNULLI the board is read from the system", ) parser.add_argument( "--every-board", @@ -15064,12 +15060,6 @@ def _install(args: argparse.Namespace, real_stdout: TextIO) -> None: print(f" {words}") EVENTS.emit("board", platform=plat_name, board=board, applied=target == board, message=words) - else: - derived = derivative_board(plat_name) - if derived: - print(f" {derived[0]} board {derived[1]} detected. {derived[0]} " - "builds its own set of cores and publishes no core list " - "per board: installing the files of every board") if target: targets = target_lists.get(plat_name) if targets is None: diff --git a/install.sh b/install.sh index 42d48c719..61669c012 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="8760870a1e7e1f1b72379cfec88d595ac8d7729880af905e266b424e3ee306bc" +DEFAULT_INSTALL_SHA256="ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index d9e518a9b..4d17f4026 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1090639, - "sha256": "8760870a1e7e1f1b72379cfec88d595ac8d7729880af905e266b424e3ee306bc", + "size": 1090336, + "sha256": "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1144266, - "sha256": "1b9ae46c0bbdbb75aaa2120dcce145cea9a15a971f272f44dd556a48e6b7098c" + "size": 1143963, + "sha256": "c99324398d6e3746ef65b3cf491c30defae5556664bb4e7cca1675c3d1c2a444" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1090639, - "sha256": "8760870a1e7e1f1b72379cfec88d595ac8d7729880af905e266b424e3ee306bc", + "size": 1090336, + "sha256": "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1090639, - "sha256": "8760870a1e7e1f1b72379cfec88d595ac8d7729880af905e266b424e3ee306bc", + "size": 1090336, + "sha256": "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92", "executable": false }, { diff --git a/tests/test_install.py b/tests/test_install.py index 651d73ea3..a01203c32 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -5400,20 +5400,34 @@ class BatoceraAndKnulliByWhatTheirBuildsWrite(unittest.TestCase): [("emuelec", Path("/storage/roms"))]) self.assertEqual(self._detect({"NAME": "CoreELEC", "ID": "coreelec"}, ()), []) - def test_a_knulli_board_is_named_and_not_narrowed(self): - board = Path(_tempdir(self)) / "knulli.arch" - board.write_text("a133") - with unittest.mock.patch.dict(install._DERIVATIVE_BOARDS, - {"knulli": ("Knulli", str(board))}): - self.assertEqual(install.derivative_board("knulli"), ("Knulli", "a133")) - self.assertIsNone(install.derivative_board("recalbox")) + def test_a_knulli_board_narrows_to_its_target(self): + """KNULLI publishes a core list per board since 2026-11-05, and an + H700 handheld still took every board's files (9.3 GB for 4.5).""" + arch = Path(_tempdir(self)) / "knulli.arch" + targets = json.loads((REPO_ROOT / "install" / "targets" / "knulli.json") + .read_text(encoding="utf-8")) + for written, board in (("h700", "h700"), ("rk3568", "rk3566"), ("unknown", None)): + arch.write_text(written) + with self.subTest(written=written), unittest.mock.patch.dict( + install._BOARD_SOURCES, {"knulli": ("file", str(arch))}): + self.assertEqual(install.detect_board("knulli"), board) + if board: + self.assertIn(board, targets) + + def test_each_board_name_is_a_published_target(self): + for plat, names in install._BOARD_NAMES.items(): + targets = json.loads((REPO_ROOT / "install" / "targets" / f"{plat}.json") + .read_text(encoding="utf-8")) + for written, board in names.items(): + with self.subTest(platform=plat, board=board): + self.assertIn(board, targets) + self.assertNotIn(written, targets) def test_the_run_says_why_every_board_is_installed(self): source = (REPO_ROOT / "install.py").read_text(encoding="utf-8") block = source[source.index("board = detect_board(plat_name)"):] block = block[:block.index("if target:")] self.assertIn("has no", block) - self.assertIn("derivative_board(plat_name)", block) class RomMFirmwareFollowsItsTemplate(unittest.TestCase): diff --git a/wiki/installer.md b/wiki/installer.md index 7cf21b25d..0b59e4444 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -958,7 +958,7 @@ what the options name, everything by default. |--------|--------| | `--platform NAME` | Install for this platform instead of the detected one. A system `--list-platforms` names under its own files (`muos`, `arkos`) stands for the file list it gets, and the run says which. ES-DE, LaunchBox and Android, which keep no BIOS folder, are answered with the run that fills each emulator's folder. Unknown names are refused with the closest ones | | `--dest PATH` | Destination directory, overriding detection. Without `--platform`, the file list is the platform detected here: at a terminal the installer asks, Enter taking the one found, and otherwise it uses the one found, RetroArch's when nothing is found, and refuses when several are. The run prints whose list it is. A folder that does not exist is named with the nearest one that does, then created, except for a system that runs from its SD card, which refuses it. When more than its last level is missing (a mistyped path), a run at a terminal asks first, and the answer defaults to no | -| `--target NAME` | Keep only the files the cores of that hardware target need, and the systems they emulate. An unknown target is refused rather than ignored, since carrying on would install everything. On Batocera, Recalbox, ROCKNIX and Lakka the board is read from the system (`batocera.arch`, `recalbox.arch`, `HW_DEVICE`, `LIBREELEC_DEVICE` or `LIBREELEC_PROJECT`) and applied when no `--target` is given, from a pack alone too when it carries the core list per board. On a computer, the board a Batocera card names on its BATOCERA partition (`boot/batocera.board`) is applied the same way, in line mode and on the full screen | +| `--target NAME` | Keep only the files the cores of that hardware target need, and the systems they emulate. An unknown target is refused rather than ignored, since carrying on would install everything. On Batocera, Recalbox, ROCKNIX, Lakka and KNULLI the board is read from the system (`batocera.arch`, `recalbox.arch`, `HW_DEVICE`, `LIBREELEC_DEVICE` or `LIBREELEC_PROJECT`, `knulli.arch`) and applied when no `--target` is given, from a pack alone too when it carries the core list per board. On a computer, the board a Batocera card names on its BATOCERA partition (`boot/batocera.board`) is applied the same way, in line mode and on the full screen | | `--every-board` | Install the files of every board instead of the one the system names, for a card that moves between devices | | `--installed-cores` | Keep only what the cores already installed read (RetroArch, Lakka, RetroPie). See [Installed cores](#installed-cores) | | `--cores-dir PATH` | The folder RetroArch loads its cores from, for `--installed-cores` when it is not found. Implies `--installed-cores` | @@ -1058,12 +1058,12 @@ AmberELEC, EmuELEC and KNULLI install the BIOS list they publish themselves. The image or source of its Odroid Go builds is published, so neither its marker files nor its folder could be read. -Batocera, Recalbox, ROCKNIX and Lakka also name the board they were built for, and -that board narrows the install unless `--target` or `--every-board` says +Batocera, Recalbox, ROCKNIX, Lakka and KNULLI also name the board they were built +for, and that board narrows the install unless `--target` or `--every-board` says otherwise (see the options above). A board with no core list of its own is -named and gets the files of every board. KNULLI names its board in -`/usr/share/knulli/knulli.arch` but publishes no core list per board, so the -run says so and installs the files of every board. +named and gets the files of every board. KNULLI writes its board to +`/usr/share/knulli/knulli.arch` under the name of the chip its board file +selects: `rk3568` there is the `rk3566` list. Some platforms keep their BIOS in a fixed directory, and that directory is the evidence. They are looked for after the configurations below, for a platform From c0bb3443c07729652e05b32546e9f492804c6b3f Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:18:50 +0100 Subject: [PATCH 07/20] fix: read a batocera zen3 board as its target --- install.ps1 | 2 +- install.py | 4 +++- install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/test_install.py | 9 +++++++++ 5 files changed, 22 insertions(+), 11 deletions(-) diff --git a/install.ps1 b/install.ps1 index f12f5ffb2..d53d32866 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92" + $defaultInstallSha256 = "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index 546d9d04f..4c66501ff 100644 --- a/install.py +++ b/install.py @@ -1466,8 +1466,10 @@ _BOARD_SOURCES: dict[str, tuple[str, str]] = { # target lists are named for the board files (configs/knulli-rk3566.board), # and the arch file for the TARGET flag the board sets. knulli-rk3566.board # sets BR2_PACKAGE_BATOCERA_TARGET_RK3568, which knulli-system.mk:22-23 -# (20260511) writes as rk3568. +# (20260511) writes as rk3568. batocera-zen3.board sets TARGET_ZEN3, which +# batocera-system.mk:56-57 (batocera-43.1) writes as x86-64-v3. _BOARD_NAMES: dict[str, dict[str, str]] = { + "batocera": {"x86-64-v3": "zen3"}, "knulli": {"rk3568": "rk3566"}, } diff --git a/install.sh b/install.sh index 61669c012..e62e835c6 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92" +DEFAULT_INSTALL_SHA256="e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 4d17f4026..371e49d0c 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1090336, - "sha256": "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92", + "size": 1090483, + "sha256": "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1143963, - "sha256": "c99324398d6e3746ef65b3cf491c30defae5556664bb4e7cca1675c3d1c2a444" + "size": 1144110, + "sha256": "5d9347427326038bf925f778d724f87cdafca03e50017123af3cd0eb9939cb7c" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1090336, - "sha256": "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92", + "size": 1090483, + "sha256": "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1090336, - "sha256": "ec117f8ed92e101b1adc51b1f07bf002840fb8e36c4c492617e1b48c47c6ee92", + "size": 1090483, + "sha256": "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b", "executable": false }, { diff --git a/tests/test_install.py b/tests/test_install.py index a01203c32..079d4d45b 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -5414,6 +5414,15 @@ class BatoceraAndKnulliByWhatTheirBuildsWrite(unittest.TestCase): if board: self.assertIn(board, targets) + def test_a_batocera_zen3_board_narrows_to_its_target(self): + """batocera.arch says x86-64-v3 on a zen3 image, which no target + list names: the run installed the files of every board.""" + arch = Path(_tempdir(self)) / "batocera.arch" + arch.write_text("x86-64-v3") + with unittest.mock.patch.dict(install._BOARD_SOURCES, + {"batocera": ("file", str(arch))}): + self.assertEqual(install.detect_board("batocera"), "zen3") + def test_each_board_name_is_a_published_target(self): for plat, names in install._BOARD_NAMES.items(): targets = json.loads((REPO_ROOT / "install" / "targets" / f"{plat}.json") From 66dae2a97433de5315d5740a7ef5c855d6d71a2f Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:20:14 +0100 Subject: [PATCH 08/20] fix: refuse a cores folder that cannot be listed --- install.ps1 | 2 +- install.py | 26 ++++++++++++++++++++++++++ install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/test_install.py | 31 +++++++++++++++++++++++++++++++ wiki/installer.md | 2 +- 6 files changed, 68 insertions(+), 11 deletions(-) diff --git a/install.ps1 b/install.ps1 index d53d32866..d60007075 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b" + $defaultInstallSha256 = "aa9407fbbe2d7a7b2ac78407272b96b1d9befb177eea64a5a084c73a0100dee9" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index 4c66501ff..d5824b476 100644 --- a/install.py +++ b/install.py @@ -13636,6 +13636,30 @@ def _missing_dest(dest: Path, ask: bool, named: str = "named with --dest", return True +def _check_cores_dir(folder: Path) -> None: + """Refuse a --cores-dir that cannot be listed, saying why: a typo + (core/ for cores/) or a closed folder read as an empty one, and the + run said "none in" and asked for the --cores-dir it was given.""" + try: + with os.scandir(folder): + return + except FileNotFoundError: + why = "does not exist" + except NotADirectoryError: + why = "is not a folder" + except PermissionError as exc: + closed = closed_folder(folder) + why = (f"cannot be opened by this user ({exc.strerror or exc})" + if closed is None or closed[0] == folder + else f"cannot be opened: {closed_folder_words(folder, closed)}") + except OSError as exc: + why = f"could not be read ({exc.strerror or exc})" + print(f"Error: --cores-dir {screen_text(str(folder))} {why}.", file=sys.stderr) + print(" Name the folder RetroArch loads cores from (libretro_directory in " + "retroarch.cfg, cores/ beside RetroArch by default).", file=sys.stderr) + sys.exit(1) + + def _no_core_found(plat: str, bios_path: Path, searched: list[Path]) -> None: """Refuse --installed-cores with no core, and say how to point at them. @@ -14967,6 +14991,8 @@ def _install(args: argparse.Namespace, real_stdout: TextIO) -> None: cores_found: dict[tuple[str, Path], list[str]] = {} for plat_name, bios_path in platforms: if plat_name in CORE_PLATFORMS: + if args.cores_dir: + _check_cores_dir(args.cores_dir) searched = [args.cores_dir] if args.cores_dir else core_dirs(plat_name, bios_path) cores_found[(plat_name, bios_path)] = installed_cores(searched) elif args.installed_cores: diff --git a/install.sh b/install.sh index e62e835c6..841e60b9d 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b" +DEFAULT_INSTALL_SHA256="aa9407fbbe2d7a7b2ac78407272b96b1d9befb177eea64a5a084c73a0100dee9" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 371e49d0c..2b470c65b 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1090483, - "sha256": "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b", + "size": 1091637, + "sha256": "aa9407fbbe2d7a7b2ac78407272b96b1d9befb177eea64a5a084c73a0100dee9", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1144110, - "sha256": "5d9347427326038bf925f778d724f87cdafca03e50017123af3cd0eb9939cb7c" + "size": 1145264, + "sha256": "3d17d78050a0fe0181712084cb7bfbc258be08853ffcb7da897628e8a9e9f545" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1090483, - "sha256": "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b", + "size": 1091637, + "sha256": "aa9407fbbe2d7a7b2ac78407272b96b1d9befb177eea64a5a084c73a0100dee9", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1090483, - "sha256": "e818db12a40eb26da591c605351349983861dc35e7cdb98993bb12ee1922d91b", + "size": 1091637, + "sha256": "aa9407fbbe2d7a7b2ac78407272b96b1d9befb177eea64a5a084c73a0100dee9", "executable": false }, { diff --git a/tests/test_install.py b/tests/test_install.py index 079d4d45b..f928fb395 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -4668,6 +4668,37 @@ class RunsAgainstTheRealLists(unittest.TestCase, _LoopbackRun): self.assertEqual(proc.returncode, 0, proc.stdout + proc.stderr) self.assertIn("to the installed cores", proc.stdout) + def test_a_cores_folder_that_cannot_be_listed_says_why(self): + """A typo (core/ for cores/) or a closed folder read as an empty + one: the run said "none in" and asked for the --cores-dir given.""" + missing = self.home / "core" + a_file = self.home / "cores.txt" + a_file.write_text("") + for folder, why in ((missing, "does not exist"), (a_file, "is not a folder")): + with self.subTest(why=why): + proc = _install_run(self.env, "--platform", "retroarch", "--dest", + str(self.home / "s"), "--cores-dir", str(folder), + "--dry-run", "--no-input") + self.assertEqual(proc.returncode, 1) + self.assertIn(f"--cores-dir {folder} {why}", proc.stderr) + self.assertNotIn("none in", proc.stderr) + + @unittest.skipIf(os.name == "nt" or os.geteuid() == 0, + "a folder without read permission is POSIX") + def test_a_closed_cores_folder_says_so(self): + cores = self.home / "closed" + cores.mkdir() + (cores / "handy_libretro.so").write_bytes(b"") + os.chmod(cores, 0o000) + try: + proc = _install_run(self.env, "--platform", "retroarch", "--dest", + str(self.home / "s"), "--cores-dir", str(cores), + "--dry-run", "--no-input") + finally: + os.chmod(cores, 0o755) + self.assertEqual(proc.returncode, 1) + self.assertIn(f"--cores-dir {cores} cannot be opened by this user", proc.stderr) + def test_no_core_found_says_how_to_go_on(self): proc = _install_run(self.env, "--platform", "retroarch", "--dest", str(self.home / "s"), "--installed-cores", "--dry-run", diff --git a/wiki/installer.md b/wiki/installer.md index 0b59e4444..cb4dbbdd9 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -961,7 +961,7 @@ what the options name, everything by default. | `--target NAME` | Keep only the files the cores of that hardware target need, and the systems they emulate. An unknown target is refused rather than ignored, since carrying on would install everything. On Batocera, Recalbox, ROCKNIX, Lakka and KNULLI the board is read from the system (`batocera.arch`, `recalbox.arch`, `HW_DEVICE`, `LIBREELEC_DEVICE` or `LIBREELEC_PROJECT`, `knulli.arch`) and applied when no `--target` is given, from a pack alone too when it carries the core list per board. On a computer, the board a Batocera card names on its BATOCERA partition (`boot/batocera.board`) is applied the same way, in line mode and on the full screen | | `--every-board` | Install the files of every board instead of the one the system names, for a card that moves between devices | | `--installed-cores` | Keep only what the cores already installed read (RetroArch, Lakka, RetroPie). See [Installed cores](#installed-cores) | -| `--cores-dir PATH` | The folder RetroArch loads its cores from, for `--installed-cores` when it is not found. Implies `--installed-cores` | +| `--cores-dir PATH` | The folder RetroArch loads its cores from, for `--installed-cores` when it is not found. Implies `--installed-cores`. A folder that does not exist or cannot be opened is refused with the reason (code 1) | | `--save-dir PATH` | The frontend's save directory (RetroArch's `savefile_directory`), for the files some cores read there, when the run cannot find it. The core's own folder is still added below it when the frontend sorts saves by core | | `--system NAMES` | Install only these systems. Comma-separated or repeated. `--list-systems` prints the names, `other` included, and the title a system is printed with is taken too. A short name the platform does not use (`gba`, `psx`) is refused with the ids it may stand for, never taken in their place. So is an id the list files under another one: RetroArch keeps `neogeo.zip` under `arcade`, which `--system snk-neogeo` suggests | | `--core NAMES` | Keep the platform's own list and only the extra files these cores load. `--list-cores` prints the names | From 73b82375d9ad37558256475fc024ef1e5cd9fe6b Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:25:30 +0100 Subject: [PATCH 09/20] feat: recognise a mister card on a computer --- install.ps1 | 2 +- install.py | 6 ++++ install.sh | 2 +- install/launchers/index.json | 16 +++++----- scripts/generate_installer_doc.py | 8 +++-- tests/fixtures/tui/colour-120x40.txt | 2 +- tests/fixtures/tui/colour-40x15.txt | 2 +- tests/fixtures/tui/colour-80x24.txt | 2 +- tests/fixtures/tui/platforms-120x40.txt | 2 +- tests/fixtures/tui/platforms-40x15.txt | 2 +- tests/fixtures/tui/platforms-80x24.txt | 2 +- tests/fixtures/tui/route-evmapy.txt | 4 +-- tests/fixtures/tui/route-gptokeyb.txt | 4 +-- tests/fixtures/tui/route-gptokeyb_muxterm.txt | 4 +-- tests/fixtures/tui/route-keys.txt | 4 +-- tests/fixtures/tui/route-miyoo.txt | 4 +-- tests/fixtures/tui/route-muxterm.txt | 4 +-- tests/test_install_tui.py | 29 +++++++++++++++++-- wiki/installer.md | 7 +++-- 19 files changed, 72 insertions(+), 34 deletions(-) diff --git a/install.ps1 b/install.ps1 index d60007075..9261c6ee4 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "aa9407fbbe2d7a7b2ac78407272b96b1d9befb177eea64a5a084c73a0100dee9" + $defaultInstallSha256 = "fdc80bcbe544c34e66af5cb953edd9b2b18c4722d32077f570f8503cc6815ca1" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index d5824b476..64dde5a76 100644 --- a/install.py +++ b/install.py @@ -13737,6 +13737,12 @@ _SHARE_RULES: tuple[_OsRule, ...] = ( _OsRule("rocknix", "ROCKNIX", "file_matches", (".config/system/configs/system.cfg", r"^root\.password=rocknix\s*$"), "roms/bios"), + # MiSTer's is its exFAT partition, /media/fat (Main_MiSTer e0a234f9, + # file_io.cpp:1177), whose root holds the MiSTer binary and menu.rbf + # (Distribution_MiSTer ce602319) and which reads each core's files + # below games/ (GAMES_DIR, file_io.h:171). A card prepared on a + # computer got RetroArch's list, or MiSTer's at its root. + _OsRule("misterfpga", "MiSTer FPGA", "file_exists", ("MiSTer", "menu.rbf"), "games"), ) diff --git a/install.sh b/install.sh index 841e60b9d..ade706434 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="aa9407fbbe2d7a7b2ac78407272b96b1d9befb177eea64a5a084c73a0100dee9" +DEFAULT_INSTALL_SHA256="fdc80bcbe544c34e66af5cb953edd9b2b18c4722d32077f570f8503cc6815ca1" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 2b470c65b..fd23b4139 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1091637, - "sha256": "aa9407fbbe2d7a7b2ac78407272b96b1d9befb177eea64a5a084c73a0100dee9", + "size": 1092074, + "sha256": "fdc80bcbe544c34e66af5cb953edd9b2b18c4722d32077f570f8503cc6815ca1", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1145264, - "sha256": "3d17d78050a0fe0181712084cb7bfbc258be08853ffcb7da897628e8a9e9f545" + "size": 1145701, + "sha256": "844b1ee7a71dabae0fa7fb9aedba24ab8255dfab867c2ef4e8189ea286abc6e3" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1091637, - "sha256": "aa9407fbbe2d7a7b2ac78407272b96b1d9befb177eea64a5a084c73a0100dee9", + "size": 1092074, + "sha256": "fdc80bcbe544c34e66af5cb953edd9b2b18c4722d32077f570f8503cc6815ca1", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1091637, - "sha256": "aa9407fbbe2d7a7b2ac78407272b96b1d9befb177eea64a5a084c73a0100dee9", + "size": 1092074, + "sha256": "fdc80bcbe544c34e66af5cb953edd9b2b18c4722d32077f570f8503cc6815ca1", "executable": false }, { diff --git a/scripts/generate_installer_doc.py b/scripts/generate_installer_doc.py index 5775298e3..d0cfce9bb 100644 --- a/scripts/generate_installer_doc.py +++ b/scripts/generate_installer_doc.py @@ -175,6 +175,10 @@ def route_keys() -> str: return _table(heading, rows) +# Card markers that are files with no extension: the MiSTer binary. +_BARE_FILES = frozenset({"MiSTer"}) + + def _marker(rule: _install._OsRule) -> str: """A card rule's evidence in words: the file or folder, and the line it holds for a rule that reads one.""" @@ -182,8 +186,8 @@ def _marker(rule: _install._OsRule) -> str: path, pattern = rule.values line = re.sub(r"\\s\*\$$", "", re.sub(r"^(\^|\\A)", "", pattern)).replace("\\", "") return f"`{path}` holding the line `{line}`" - named = ", ".join(f"`{value}`" if PurePosixPath(value).suffix else f"`{value}/`" - for value in rule.values) + named = ", ".join(f"`{value}`" if PurePosixPath(value).suffix or value in _BARE_FILES + else f"`{value}/`" for value in rule.values) if rule.method == "games_part": # Told on the games part beside its bios folder, on a drive the # system does not call fixed (install.games_part). diff --git a/tests/fixtures/tui/colour-120x40.txt b/tests/fixtures/tui/colour-120x40.txt index c4227fd0e..81bbef3da 100644 --- a/tests/fixtures/tui/colour-120x40.txt +++ b/tests/fixtures/tui/colour-120x40.txt @@ -54,7 +54,6 @@ RetroDECK RomM BizHawk - MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -69,6 +68,7 @@ KOLOS, SD card RG353P, RG353M, RG353V, RG353VS, RG503, +3 Koriki, SD card Miyoo Mini MinUI, SD card RG28XX, RG34XX, RG34XX SP, RG35XX, +19 + MiSTer FPGA, SD card MiyooCFW, SD card BittBoy, Pocket Go, PowKiddy Q90, +4 muOS, SD card RG35XX H, RG35XX Plus, RG35XX SP, +8 MyMinUI, SD card RG35XX, Miyoo Mini, Miyoo Mini Flip, +18 diff --git a/tests/fixtures/tui/colour-40x15.txt b/tests/fixtures/tui/colour-40x15.txt index 3d4f54e39..e883877d6 100644 --- a/tests/fixtures/tui/colour-40x15.txt +++ b/tests/fixtures/tui/colour-40x15.txt @@ -27,7 +27,7 @@ RetroDECK RomM BizHawk - MiSTer FPGA + RetroPie ^[[0;2m 1-10 of 34^[[0m ^[[0;1;35mA^[[0m Choose ^[[0;2mB^[[0m Back ^[[0;2m/^[[0m Filter ^[[0;2m?^[[0m Help === folder diff --git a/tests/fixtures/tui/colour-80x24.txt b/tests/fixtures/tui/colour-80x24.txt index 121db8b0c..f0562838e 100644 --- a/tests/fixtures/tui/colour-80x24.txt +++ b/tests/fixtures/tui/colour-80x24.txt @@ -36,7 +36,6 @@ RetroDECK RomM BizHawk - MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -46,6 +45,7 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go + JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 ^[[0;2m 1-19 of 34^[[0m ^[[0;1;35mA/Enter^[[0m Choose ^[[0;2mB/Esc^[[0m Back ^[[0;2m/^[[0m Filter ^[[0;2m?^[[0m Help === folder diff --git a/tests/fixtures/tui/platforms-120x40.txt b/tests/fixtures/tui/platforms-120x40.txt index 258c9ce65..2f5817998 100644 --- a/tests/fixtures/tui/platforms-120x40.txt +++ b/tests/fixtures/tui/platforms-120x40.txt @@ -12,7 +12,6 @@ RetroDECK RomM BizHawk - MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -27,6 +26,7 @@ KOLOS, SD card RG353P, RG353M, RG353V, RG353VS, RG503, +3 Koriki, SD card Miyoo Mini MinUI, SD card RG28XX, RG34XX, RG34XX SP, RG35XX, +19 + MiSTer FPGA, SD card MiyooCFW, SD card BittBoy, Pocket Go, PowKiddy Q90, +4 muOS, SD card RG35XX H, RG35XX Plus, RG35XX SP, +8 MyMinUI, SD card RG35XX, Miyoo Mini, Miyoo Mini Flip, +18 diff --git a/tests/fixtures/tui/platforms-40x15.txt b/tests/fixtures/tui/platforms-40x15.txt index d0ebd799c..7327b4417 100644 --- a/tests/fixtures/tui/platforms-40x15.txt +++ b/tests/fixtures/tui/platforms-40x15.txt @@ -10,6 +10,6 @@ RetroDECK RomM BizHawk - MiSTer FPGA + RetroPie 1-10 of 34 A Choose B Back / Filter ? Help diff --git a/tests/fixtures/tui/platforms-80x24.txt b/tests/fixtures/tui/platforms-80x24.txt index 7fb53a4c8..3d7f38047 100644 --- a/tests/fixtures/tui/platforms-80x24.txt +++ b/tests/fixtures/tui/platforms-80x24.txt @@ -10,7 +10,6 @@ RetroDECK RomM BizHawk - MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -20,5 +19,6 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go + JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 A/Enter Choose B/Esc Back / Filter ? Help diff --git a/tests/fixtures/tui/route-evmapy.txt b/tests/fixtures/tui/route-evmapy.txt index 4ecf7723d..0c693acb1 100644 --- a/tests/fixtures/tui/route-evmapy.txt +++ b/tests/fixtures/tui/route-evmapy.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - MiSTer FPGA + RetroPie 1-10 of 34 A Choose B Back === platforms 80x24 @@ -94,7 +94,6 @@ RetroDECK RomM BizHawk - MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -104,6 +103,7 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go + JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 A Choose B Back === folder 40x12 diff --git a/tests/fixtures/tui/route-gptokeyb.txt b/tests/fixtures/tui/route-gptokeyb.txt index 0c2ec38af..8d519b749 100644 --- a/tests/fixtures/tui/route-gptokeyb.txt +++ b/tests/fixtures/tui/route-gptokeyb.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - MiSTer FPGA + RetroPie 1-10 of 34 A Choose B Back === platforms 80x24 @@ -94,7 +94,6 @@ RetroDECK RomM BizHawk - MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -104,6 +103,7 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go + JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 A Choose B Back === folder 40x12 diff --git a/tests/fixtures/tui/route-gptokeyb_muxterm.txt b/tests/fixtures/tui/route-gptokeyb_muxterm.txt index 5a52cc315..04a435413 100644 --- a/tests/fixtures/tui/route-gptokeyb_muxterm.txt +++ b/tests/fixtures/tui/route-gptokeyb_muxterm.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - MiSTer FPGA + RetroPie 1-10 of 34 A Choose B Back === platforms 80x24 @@ -94,7 +94,6 @@ RetroDECK RomM BizHawk - MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -104,6 +103,7 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go + JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 A Choose B Back === folder 40x12 diff --git a/tests/fixtures/tui/route-keys.txt b/tests/fixtures/tui/route-keys.txt index 912da09d8..e06f9847f 100644 --- a/tests/fixtures/tui/route-keys.txt +++ b/tests/fixtures/tui/route-keys.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - MiSTer FPGA + RetroPie 1-10 of 34 Enter Choose Esc Back / Filter === platforms 80x24 @@ -94,7 +94,6 @@ RetroDECK RomM BizHawk - MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -104,6 +103,7 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go + JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 Enter Choose Esc Back / Filter ? Help === folder 40x12 diff --git a/tests/fixtures/tui/route-miyoo.txt b/tests/fixtures/tui/route-miyoo.txt index 715bb7e85..f742e01a9 100644 --- a/tests/fixtures/tui/route-miyoo.txt +++ b/tests/fixtures/tui/route-miyoo.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - MiSTer FPGA + RetroPie 1-10 of 34 A Choose R2 Back === platforms 80x24 @@ -94,7 +94,6 @@ RetroDECK RomM BizHawk - MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -104,6 +103,7 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go + JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 A Choose R2 Back === folder 40x12 diff --git a/tests/fixtures/tui/route-muxterm.txt b/tests/fixtures/tui/route-muxterm.txt index 0d132306f..4dfeda61b 100644 --- a/tests/fixtures/tui/route-muxterm.txt +++ b/tests/fixtures/tui/route-muxterm.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - MiSTer FPGA + RetroPie 1-10 of 34 Start Choose B Back === platforms 80x24 @@ -94,7 +94,6 @@ RetroDECK RomM BizHawk - MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -104,6 +103,7 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go + JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 Start Choose B Back === folder 40x12 diff --git a/tests/test_install_tui.py b/tests/test_install_tui.py index a9bcdef79..d805c1ab9 100644 --- a/tests/test_install_tui.py +++ b/tests/test_install_tui.py @@ -6097,6 +6097,26 @@ class EveryCardSetupGoesToItsCard(unittest.TestCase): self.assertEqual(install.card_choice(setup.name, setup.plat, nested).folder, nested) + def test_a_mister_card_gets_its_files_below_games(self): + """A MiSTer card mounted on a computer got RetroArch's list, and + with --platform misterfpga its files at the root, where MiSTer + reads none: it reads games// below /media/fat.""" + card = self.root / "MiSTer" + (card / "games").mkdir(parents=True) + (card / "_Computer").mkdir() + for name in ("MiSTer", "menu.rbf", "MiSTer.ini"): + (card / name).write_text("", encoding="utf-8") + self.assertEqual(install.card_system(card), + ("misterfpga", card / "games", "MiSTer FPGA")) + for named in (card, card / "games"): + with self.subTest(named=named.name): + choice = install.card_choice("misterfpga", "misterfpga", named) + self.assertEqual((choice.refused, choice.folder), ("", card / "games")) + # A folder holding a games folder and nothing of MiSTer's is no card. + other = self.root / "stick" + (other / "games").mkdir(parents=True) + self.assertIsNone(install.card_system(other)) + def test_a_blank_drive_is_refused_where_the_card_always_names_its_system(self): blank = self.root / "BLANK" blank.mkdir() @@ -7074,8 +7094,13 @@ class _CardFixtures: def narrowed(self, plat: str, **given) -> tuple[int, str, list]: """(exit code, what was said, the files kept) of a --dry-run narrowed as given.""" - dest = self.root / "dest" - if not dest.exists(): + dest = self.root / f"dest-{plat}" + if plat == "misterfpga" and not dest.exists(): + # A MinUI card is another system's card for MiSTer's list. + dest.mkdir() + for marker in ("MiSTer", "menu.rbf"): + (dest / marker).write_text("", encoding="utf-8") + elif not dest.exists(): make_card(dest, "MinUI") stream = io.StringIO() code = 0 diff --git a/wiki/installer.md b/wiki/installer.md index cb4dbbdd9..e2b234b6d 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -1097,6 +1097,7 @@ gives for the device, below the card's root instead of its mount point: | `system/configs/emulationstation/about.info` holding the line `KNULLI` | KNULLI | `bios`, KNULLI's list | | `system/batocera.conf` holding the line `system.hostname=KNULLI` | KNULLI | `bios`, KNULLI's list | | `.config/system/configs/system.cfg` holding the line `root.password=rocknix` | ROCKNIX | `roms/bios`, ROCKNIX's list | +| `MiSTer`, `menu.rbf` | MiSTer FPGA | `games`, MiSTer FPGA's list | | `MUOS/` | muOS | `MUOS/bios`, RetroArch's list | | `spruce/` | spruceOS | `BIOS`, RetroArch's list | | `System/usr/trimui/crossmix-version.txt` | CrossMix-OS | `BIOS`, RetroArch's list | @@ -1220,7 +1221,7 @@ beside its executable wherever the archive was extracted, so a forced `--platform bizhawk` that finds no install stops and asks for `--dest`. The systems that run from an SD card keep their files there: MinUI, NextUI, -MyMinUI, KNULLI, ROCKNIX, AmberELEC and EmuELEC (the card's games part, which +MyMinUI, KNULLI, ROCKNIX, MiSTer FPGA, AmberELEC and EmuELEC (the card's games part, which they mount as `/storage/roms`), and each system of the [Linux handhelds](../platforms/linux-handhelds.md) that gets RetroArch's list (Onion, muOS, spruceOS, ArkOS, UnofficialOS and the others). Run on the @@ -1556,7 +1557,9 @@ names each route it tried, and `log.prev.txt` keeps the run before. **From a computer.** Onion, MinUI, NextUI, Allium, GarlicOS and the Switch have no Python 3 to run the installer. Put the card in a computer and run the [one-line command](#one-line) there: it finds a mounted Onion, -spruceOS, MinUI, muOS, Knulli or ROCKNIX card by itself. For a card it does +spruceOS, MinUI, muOS, Knulli, ROCKNIX or MiSTer card by itself (MiSTer's +files go to `games/` below the card's root, which MiSTer reads as +`/media/fat/games`). For a card it does not recognise, add `--platform --dest `. This works for every system above too. From c54a68c6ca79182a0d512e3a6bb3622b0c463d2f Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:25:33 +0100 Subject: [PATCH 10/20] fix: end the bootstrap with 130 on ctrl+c --- install.sh | 8 +++++++- tests/test_install.py | 46 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/install.sh b/install.sh index ade706434..d5303ddf2 100755 --- a/install.sh +++ b/install.sh @@ -34,7 +34,13 @@ cleanup() { rmdir -- "$TEMP_DIRECTORY" 2>/dev/null || true fi } -trap cleanup EXIT HUP INT TERM +# A signal ends the run with the code a shell gives it, 130 for Ctrl+C: +# trapped by cleanup alone, the run went on, and Ctrl+C during the download +# was told as a network failure, with code 1. +trap cleanup EXIT +trap 'exit 129' HUP +trap 'exit 130' INT +trap 'exit 143' TERM if [ -z "$INSTALLER" ] || [ ! -f "$INSTALLER" ]; then install_url=${RETROBIOS_INSTALL_URL:-$DEFAULT_INSTALL_URL} diff --git a/tests/test_install.py b/tests/test_install.py index f928fb395..c1f5e6b99 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -14,6 +14,7 @@ import select import shlex import re import shutil +import signal import socket import subprocess import sys @@ -2288,6 +2289,51 @@ class TestAvailablePlatforms(unittest.TestCase): self.assertEqual(proc.returncode, 0, proc.stdout + proc.stderr) self.assertIn("retroarch", proc.stdout) + @unittest.skipIf(os.name == "nt", "the sh bootstrap is POSIX") + def test_ctrl_c_during_the_download_ends_with_130(self): + """Ctrl+C while install.py downloaded: the trap cleaned up and the + script went on to blame the network, with code 1.""" + scratch = REPO_ROOT / "tmp" / "tests" + scratch.mkdir(parents=True, exist_ok=True) + with tempfile.TemporaryDirectory(dir=scratch) as directory: + root = Path(directory) + fake_bin = root / "bin" + fake_bin.mkdir() + started = root / "started" + (fake_bin / "curl").write_text( + f"#!/bin/sh\n: > '{started}'\nexec sleep 60\n", encoding="utf-8") + (fake_bin / "curl").chmod(0o755) + env = {**os.environ, "PATH": f"{fake_bin}{os.pathsep}{os.environ['PATH']}", + "TMPDIR": str(root), + "RETROBIOS_INSTALL_URL": "https://example.invalid/install.py"} + for shell in ("sh", "bash"): + if not shutil.which(shell): + continue + with self.subTest(shell=shell): + started.unlink(missing_ok=True) + proc = subprocess.Popen( + [shell, "-s", "--", "--check"], cwd=root, env=env, + stdin=subprocess.PIPE, stdout=subprocess.PIPE, + stderr=subprocess.PIPE, text=True, start_new_session=True) + proc.stdin.write((REPO_ROOT / "install.sh").read_text(encoding="utf-8")) + proc.stdin.close() + proc.stdin = None + try: + deadline = time.monotonic() + 30 + while not started.exists() and time.monotonic() < deadline: + time.sleep(0.05) + self.assertTrue(started.exists(), "the download never started") + os.killpg(proc.pid, signal.SIGINT) + _out, err = proc.communicate(timeout=30) + finally: + if proc.poll() is None: + os.killpg(proc.pid, signal.SIGKILL) + proc.communicate() + self.assertEqual(proc.returncode, 130, err) + self.assertNotIn("could not be downloaded", err) + self.assertEqual(sorted(p.name for p in root.iterdir()), + ["bin", "started"]) + def test_a_failed_download_says_so_in_one_message(self): """Offline, the one-liner printed curl's progress table and "curl: (6) ...", then exited 6, a code the table does not list.""" From 62568f6d764f3e9a1c5e43c298bc9be4fb718e44 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:26:12 +0100 Subject: [PATCH 11/20] fix: stop the windows bootstrap on a silent server --- install.ps1 | 6 +++++- tests/test_install.py | 23 +++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/install.ps1 b/install.ps1 index 9261c6ee4..3662a3748 100644 --- a/install.ps1 +++ b/install.ps1 @@ -42,7 +42,11 @@ } $temporary = Join-Path ([IO.Path]::GetTempPath()) ("retrobios-install-{0}.py" -f [Guid]::NewGuid()) try { - Invoke-WebRequest -Uri $uri -OutFile $temporary -UseBasicParsing + # A server that takes the connection and never answers (a + # captive portal, a proxy) held the window forever with no + # line: the wait for an answer stops after 30 s, as curl's + # --connect-timeout in install.sh. + Invoke-WebRequest -Uri $uri -OutFile $temporary -UseBasicParsing -TimeoutSec 30 } catch { # The raw WebException read as a crash and named no next step. throw ("The installer could not be downloaded from {0}: {1} " + diff --git a/tests/test_install.py b/tests/test_install.py index c1f5e6b99..f878dc20e 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -2807,6 +2807,29 @@ class APyLauncherWithoutARuntimeIsPassed(unittest.TestCase): self.assertIn("installer ran", proc.stdout) +@unittest.skipUnless(shutil.which("pwsh"), "needs PowerShell") +class APowerShellDownloadThatNeverAnswersEnds(unittest.TestCase): + """Invoke-WebRequest had no timeout: behind a server that takes the + connection and never answers, the window waited forever with no line.""" + + def test_a_silent_server_ends_on_the_network_advice(self): + folder = Path(_tempdir(self)) + shutil.copy(REPO_ROOT / "install.ps1", folder / "install.ps1") + with socket.socket() as listener: + listener.bind(("127.0.0.1", 0)) + listener.listen(4) + port = listener.getsockname()[1] + started = time.monotonic() + proc = subprocess.run( + ["pwsh", "-NoProfile", "-File", str(folder / "install.ps1"), "--check"], + env={**os.environ, + "RETROBIOS_INSTALL_URL": f"https://127.0.0.1:{port}/install.py"}, + capture_output=True, text=True, timeout=150, stdin=subprocess.DEVNULL) + self.assertLess(time.monotonic() - started, 120) + self.assertNotEqual(proc.returncode, 0) + self.assertIn("could not be downloaded", " ".join((proc.stdout + proc.stderr).split())) + + class ThePowerShellWrapperPassesTheStatusOn(unittest.TestCase): """Every non-zero exit became a red "installer failed" exception and code 1: a --check that found work read as a crash, 2 and 130 were lost.""" From bb5ac226d6aed609d2082cad9f53f558fe2f5c2c Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:26:51 +0100 Subject: [PATCH 12/20] fix: find a python3.x beside an old python3 --- install.sh | 16 +++++++++++++++- tests/test_install.py | 29 +++++++++++++++++++++++++++++ wiki/installer.md | 4 ++-- 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/install.sh b/install.sh index d5303ddf2..b814f7f24 100755 --- a/install.sh +++ b/install.sh @@ -130,11 +130,25 @@ fi # A Python can be built without ssl, unicodedata or zlib, and the installer # needs all three: a python3 lacking ssl was chosen over a full python and # every download then failed as if the network were down. +# A python3.X on PATH counts too, newest first: Buster and Ubuntu 18.04 +# keep python3 at 3.7 or 3.6 beside the python3.8 the advice below has the +# user install, and the same advice looped. +versioned_pythons() { + ( + IFS=: + for dir in $PATH; do + for path in "$dir"/python3.[0-9]*; do + [ -x "$path" ] && basename -- "$path" + done + done + ) | grep -E '^python3\.[0-9]+$' | sort -t . -k 2,2nr -u +} + find_python() { PYTHON="" PYTHON_LACKING="" PYTHON_OLD="" - for command_name in python3 python; do + for command_name in python3 python $(versioned_pythons); do command -v "$command_name" >/dev/null 2>&1 || continue if ! "$command_name" -c 'import sys; raise SystemExit(sys.version_info < (3, 8))' \ 2>/dev/null; then diff --git a/tests/test_install.py b/tests/test_install.py index f878dc20e..b9b23f1af 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -2334,6 +2334,35 @@ class TestAvailablePlatforms(unittest.TestCase): self.assertEqual(sorted(p.name for p in root.iterdir()), ["bin", "started"]) + @unittest.skipIf(os.name == "nt", "the sh bootstrap is POSIX") + def test_a_versioned_python_is_found_beside_an_old_python3(self): + """Buster keeps python3 at 3.7: the user installs python3.8 as the + advice says, and the bootstrap, trying python3 and python alone, + gave the same advice again.""" + root = Path(_tempdir(self)) + shutil.copy(REPO_ROOT / "install.sh", root / "install.sh") + (root / "install.py").write_text("import sys\nprint('ran', sys.version_info >= (3, 8))\n") + fake_bin = root / "bin" + fake_bin.mkdir() + old = ("#!/bin/sh\ncase \"$*\" in *SystemExit*) exit 1 ;; esac\n" + "echo 3.7.3\n") + for name in ("python3", "python"): + (fake_bin / name).write_text(old) + (fake_bin / name).chmod(0o755) + tools = root / "tools" + tools.mkdir() + for tool in ("sh", "grep", "sort", "basename", "dirname", "uname", "sed", "tr"): + found = shutil.which(tool) + if found: + (tools / tool).symlink_to(found) + (fake_bin / "python3.11").symlink_to(sys.executable) + proc = subprocess.run( + [shutil.which("sh"), str(root / "install.sh")], + env={"PATH": f"{fake_bin}{os.pathsep}{tools}", "HOME": str(root)}, + capture_output=True, text=True, timeout=60, stdin=subprocess.DEVNULL) + self.assertEqual(proc.returncode, 0, proc.stdout + proc.stderr) + self.assertIn("ran True", proc.stdout) + def test_a_failed_download_says_so_in_one_message(self): """Offline, the one-liner printed curl's progress table and "curl: (6) ...", then exited 6, a code the table does not list.""" diff --git a/wiki/installer.md b/wiki/installer.md index e2b234b6d..1433949b7 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -1634,8 +1634,8 @@ site build refuses to publish a copy whose pin is not the SHA-256 of the deploys, so a failed check keeps the last good pair served. Any change to `install.py` therefore means recomputing that pin in both wrappers. -They locate a Python 3.8 or newer interpreter (`python3` then `python` on -POSIX, `py -3` then `python3` then `python` on Windows). Without one, +They locate a Python 3.8 or newer interpreter (`python3`, `python`, then each +`python3.X` on PATH, newest first, on POSIX, `py -3` then `python3` then `python` on Windows). Without one, `install.sh` names the command that installs it on the system it runs on (`pkg install python` in Termux, which it offers to run since Termux installs without root, `xcode-select --install` on macOS, apt, dnf, pacman, zypper or apk From fbc530123e8d95f47f1877a790dd64d472956d40 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:28:28 +0100 Subject: [PATCH 13/20] fix: say offline that a platform has no targets --- install.ps1 | 2 +- install.py | 18 +++++++++++++++++- install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/test_install.py | 22 ++++++++++++++++++++++ wiki/installer.md | 2 +- 6 files changed, 50 insertions(+), 12 deletions(-) diff --git a/install.ps1 b/install.ps1 index 3662a3748..8f21607a8 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "fdc80bcbe544c34e66af5cb953edd9b2b18c4722d32077f570f8503cc6815ca1" + $defaultInstallSha256 = "389da8c666aecb14f32e064a53f05a9cc26481317ad5a877688c3e485b6c6e44" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index 64dde5a76..d436fb1e2 100644 --- a/install.py +++ b/install.py @@ -104,6 +104,14 @@ def _checked_base_url(value: str) -> str: BASE_URL = _checked_base_url(os.environ.get("RETROBIOS_BASE_URL", DEFAULT_BASE_URL)) MANIFEST_URL = f"{BASE_URL}/install/{{platform}}.json" TARGETS_URL = f"{BASE_URL}/install/targets/{{platform}}.json" +# The platforms that publish a core list per board, install/targets/ in the +# repository: a test holds the two equal. Offline, a platform outside it +# has no hardware targets, where the run sent the user after a list that +# exists nowhere. +TARGET_PLATFORMS = frozenset({ + "batocera", "emudeck", "knulli", "lakka", "recalbox", "retroarch", "retrobat", + "retrodeck", "retropie", "rocknix", "romm", +}) RAW_FILE_URL = f"{BASE_URL}/{{path}}" RELEASE_URL = ( "https://github.com/Abdess/retrobios/releases/download/large-files/{asset}" @@ -4209,6 +4217,8 @@ def fetch_targets(plat: str) -> "dict | None": held = local_targets(plat) if held is not None: return held + if LOCAL.offline and plat not in TARGET_PLATFORMS: + return {} if LOCAL.offline: source = (f"{LOCAL.pack.name} carries none" if LOCAL.pack is not None else f"{offline_named()} makes no request") @@ -13327,8 +13337,14 @@ def main() -> None: # The runs the full-screen interface starts read it from here, and # the words name the option given. os.environ[OFFLINE_VARIABLE] = OFFLINE_FLAG_VALUE + named = next((plat for plat in AVAILABLE_PLATFORMS if args.platform and _name_key( + args.platform) in (_name_key(plat), _name_key(display_name(plat)))), "") + if offline_requested() and args.target and named and named not in TARGET_PLATFORMS: + refuse_name(named, f"Error: {display_name(named)} has no hardware targets: run " + "again without --target.") if (offline_requested() and (args.target or args.list_targets) - and not (args.manifest or args.from_pack)): + and not (args.manifest or args.from_pack) + and not (named and named not in TARGET_PLATFORMS)): # No list can be at hand: a pack carries one, and so can the folder # of a --manifest (targets/.json). parser.error("--target and --list-targets read a core list from the network, " diff --git a/install.sh b/install.sh index b814f7f24..9fc1dd152 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="fdc80bcbe544c34e66af5cb953edd9b2b18c4722d32077f570f8503cc6815ca1" +DEFAULT_INSTALL_SHA256="389da8c666aecb14f32e064a53f05a9cc26481317ad5a877688c3e485b6c6e44" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index fd23b4139..aa7c900f6 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1092074, - "sha256": "fdc80bcbe544c34e66af5cb953edd9b2b18c4722d32077f570f8503cc6815ca1", + "size": 1093006, + "sha256": "389da8c666aecb14f32e064a53f05a9cc26481317ad5a877688c3e485b6c6e44", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1145701, - "sha256": "844b1ee7a71dabae0fa7fb9aedba24ab8255dfab867c2ef4e8189ea286abc6e3" + "size": 1146633, + "sha256": "c221a6529cb99a510a28eb739a69237cd1b77fb0d9b9a97b3a7e14acc275b54a" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1092074, - "sha256": "fdc80bcbe544c34e66af5cb953edd9b2b18c4722d32077f570f8503cc6815ca1", + "size": 1093006, + "sha256": "389da8c666aecb14f32e064a53f05a9cc26481317ad5a877688c3e485b6c6e44", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1092074, - "sha256": "fdc80bcbe544c34e66af5cb953edd9b2b18c4722d32077f570f8503cc6815ca1", + "size": 1093006, + "sha256": "389da8c666aecb14f32e064a53f05a9cc26481317ad5a877688c3e485b6c6e44", "executable": false }, { diff --git a/tests/test_install.py b/tests/test_install.py index b9b23f1af..3dd58774a 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -3362,6 +3362,28 @@ class ACardPreparedOnAComputerGetsItsBoard(unittest.TestCase): self.assertEqual(state.board, "Board bcm2711 found on the card (x)") +class APlatformWithoutTargetsSaysSoOffline(unittest.TestCase): + """Offline, --target on AmberELEC asked for install/targets/amberelec.json, + which exists nowhere: online the same run says it has no targets.""" + + def test_the_list_matches_the_published_targets(self): + published = {path.stem for path in (REPO_ROOT / "install" / "targets").glob("*.json")} + self.assertEqual(install.TARGET_PLATFORMS, published) + + def test_offline_says_there_are_no_targets(self): + dest = Path(_tempdir(self)) + for extra in ([], ["--manifest", str(REPO_ROOT / "install" / "amberelec.json")]): + with self.subTest(manifest=bool(extra)): + proc = subprocess.run( + [sys.executable, str(REPO_ROOT / "install.py"), "--platform", "amberelec", + "--dest", str(dest), "--target", "rk3326", "--offline", "--no-input", + "--dry-run", *extra], + capture_output=True, text=True, timeout=120, stdin=subprocess.DEVNULL) + self.assertEqual(proc.returncode, 2, proc.stderr) + self.assertIn("AmberELEC has no hardware targets", proc.stderr) + self.assertNotIn("targets/amberelec.json", proc.stderr) + + class TheBoardTheSystemNamesIsTheTarget(unittest.TestCase): """Batocera, Recalbox and ROCKNIX each write the board they were built for, but the installer read none of them, so a Batocera RPi4 installed diff --git a/wiki/installer.md b/wiki/installer.md index 1433949b7..08fbb5adc 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -1732,7 +1732,7 @@ fields, the installer refuses to narrow rather than install everything. |------|---------| | `0` | everything asked for is installed or already in place | | `1` | a failure: the one-liner could not download or verify `install.py`, or found no Python 3.8 with its ssl, unicodedata and zlib modules (nothing was run), an unusable base URL, `--installed-cores` with no core found, a manifest that fails validation, a fetch that never succeeded, no platform to install for in a non-interactive run, some files failed or were left out by `--offline` while others installed, `--check` found files to fetch, a `--from-pack` pack that cannot be read, lacks a part or is for another platform, a `--from` folder that does not exist or cannot be read, a `--dest` that is not the card of the system named (another system's card, a folder inside one, a drive with none of its files where its card always has them, or a folder that does not exist), `--restore` could not put a file back, or `--add-app` could not put every file of the app on the card | -| `2` | nothing was installed: every file the run tried failed (a BIOS folder that cannot be written, for one), or `--offline` left every file out, the drive has too little free space for the download (checked before any folder is created), or the question about a folder that does not exist, named with `--dest` or typed at the folder question, was answered no. Also an option the installer refused before any download: an unknown option, `--jobs` outside 1 to 32, `--target` with `--every-board`, `--target` with `--from-pack` or `--offline` (or `RETROBIOS_INSTALL_OFFLINE` set) when no core list per board is at hand (the pack carries none and none is beside `--manifest` as `targets/.json`), `--list-targets` with `--offline` and neither, `--add-app` with `--check`, `--dry-run`, a listing, `--from-pack` or `--offline`. The message then starts with `install.py: error:`. Also an unknown platform, target, system, core or emulator, said in an `Error:` or `Unknown platform` line and an `error` event whose `stage` is `option`. Also `--add-app` for a folder on no card that takes the app, said in an `Error:` line and an `app` event before anything is written. With `--restore`, a folder that is not a dated folder inside `retrobios-backup`. Also a quit chosen before the install, as `gh` ends a cancelled prompt: `q` at a question, `q` or **Quit** on the full screen, which then keeps `RetroBIOS: quit. Nothing was installed.`, and the full screen closed with no button pressed (`RETROBIOS_IDLE_EXIT`). No code but `0` closes a Windows Terminal tab started on the installer itself, so such a tab stays open on a quit | +| `2` | nothing was installed: every file the run tried failed (a BIOS folder that cannot be written, for one), or `--offline` left every file out, the drive has too little free space for the download (checked before any folder is created), or the question about a folder that does not exist, named with `--dest` or typed at the folder question, was answered no. Also an option the installer refused before any download: an unknown option, `--jobs` outside 1 to 32, `--target` with `--every-board`, `--target` with `--from-pack` or `--offline` (or `RETROBIOS_INSTALL_OFFLINE` set) when no core list per board is at hand (the pack carries none and none is beside `--manifest` as `targets/.json`), or for a platform that publishes none, which is said to have no hardware targets, `--list-targets` with `--offline` and neither, `--add-app` with `--check`, `--dry-run`, a listing, `--from-pack` or `--offline`. The message then starts with `install.py: error:`. Also an unknown platform, target, system, core or emulator, said in an `Error:` or `Unknown platform` line and an `error` event whose `stage` is `option`. Also `--add-app` for a folder on no card that takes the app, said in an `Error:` line and an `app` event before anything is written. With `--restore`, a folder that is not a dated folder inside `retrobios-backup`. Also a quit chosen before the install, as `gh` ends a cancelled prompt: `q` at a question, `q` or **Quit** on the full screen, which then keeps `RetroBIOS: quit. Nothing was installed.`, and the full screen closed with no button pressed (`RETROBIOS_IDLE_EXIT`). No code but `0` closes a Windows Terminal tab started on the installer itself, so such a tab stays open on a quit | | `130` | stopped with Ctrl+C, or with Ctrl+C or Ctrl+D at a question, the terminal keeping `RetroBIOS: stopped. Nothing was installed.` before an install. Run the same command again to carry on | | `141` | the output was piped to a reader that closed early (`--list-platforms \| head`) | From d78af1b00de3002ecc720fabd0f76ae4fc803fe2 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:29:58 +0100 Subject: [PATCH 14/20] feat: narrow a retropie install to its pi --- install.ps1 | 2 +- install.py | 46 +++++++++++++++++++++++++++++++++++- install.sh | 2 +- install/launchers/index.json | 16 ++++++------- tests/test_install.py | 36 ++++++++++++++++++++++++++++ wiki/installer.md | 5 ++-- 6 files changed, 94 insertions(+), 13 deletions(-) diff --git a/install.ps1 b/install.ps1 index 8f21607a8..63815cec0 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "389da8c666aecb14f32e064a53f05a9cc26481317ad5a877688c3e485b6c6e44" + $defaultInstallSha256 = "65f7d49de83de9d99734293009762adaff6f844c2c3627f507d4dc3b029f57be" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index d436fb1e2..12cea69cf 100644 --- a/install.py +++ b/install.py @@ -1468,6 +1468,7 @@ _BOARD_SOURCES: dict[str, tuple[str, str]] = { "rocknix": ("os_release", "HW_DEVICE"), "lakka": ("os_release", "LIBREELEC_DEVICE|LIBREELEC_PROJECT"), "knulli": ("file", "/usr/share/knulli/knulli.arch"), + "retropie": ("retropie", ""), } # The board a system's own name stands for, where the two differ: the @@ -1520,6 +1521,8 @@ def detect_board(platform: str) -> str | None: elif kind == "os_release": release = _parse_os_release() value = next((release[key] for key in where.split("|") if release.get(key)), "") + elif kind == "retropie": + value = _retropie_board() or "" else: return None board = value.strip().lower() @@ -1529,6 +1532,46 @@ def detect_board(platform: str) -> str | None: return _BOARD_NAMES.get(platform, {}).get(board, board) or None +# RetroPie names its board as get_platform does (RetroPie-Setup f5ebfba6, +# scriptmodules/system.sh:396-424 and 425-513): a Pi by the BCM Hardware +# line of /proc/cpuinfo or raspberrypi in its device tree, its model by the +# CPU field (bits 12-15) of a revision code with bit 23 set, rpi1 without +# it. With neither a Hardware line nor a device tree, the machine: x86_64. +# Read only where RetroPie is installed (rootdir /opt/retropie, +# retropie_packages.sh:17): a computer preparing a Pi's card is no Pi. +_RPI_MODELS = {0: "rpi1", 1: "rpi2", 2: "rpi3", 3: "rpi4", 4: "rpi5"} + + +def _retropie_board() -> str | None: + """The target RetroPie's own reading of this machine names, or None.""" + if not _is_dir(_on_device("/opt/retropie")): + return None + try: + cpuinfo = _on_device("/proc/cpuinfo").read_text(encoding="utf-8", errors="replace") + except OSError: + cpuinfo = "" + fields = {key.strip(): value.strip() for key, sep, value in + (line.partition(":") for line in cpuinfo.splitlines()) if sep} + tree = _on_device("/proc/device-tree/compatible") + try: + compatible = tree.read_bytes().decode("ascii", errors="replace") + except OSError: + compatible = None + hardware = fields.get("Hardware", "") + if hardware.startswith("BCM") or (not hardware and compatible is not None + and "raspberrypi" in compatible): + try: + revision = int(fields.get("Revision", ""), 16) + except ValueError: + return None + if not (revision >> 23) & 1: + return "rpi1" + return _RPI_MODELS.get((revision >> 12) & 15) + if hardware or compatible is not None: + return None + return "x86_64" if platform.machine() == "x86_64" else None + + def _parse_json_path(path: Path, *keys: str) -> str | None: """Extract a nested string value from a JSON file.""" if not _exists(path): @@ -12997,7 +13040,8 @@ def build_parser() -> argparse.ArgumentParser: "--target", metavar="NAME", help="hardware target for core filtering (switch, rpi4, ...). " - "On Batocera, Recalbox, ROCKNIX, Lakka and KNULLI the board is read from the system", + "On Batocera, Recalbox, ROCKNIX, Lakka, KNULLI and RetroPie the board is read " + "from the system", ) parser.add_argument( "--every-board", diff --git a/install.sh b/install.sh index 9fc1dd152..6f2d73596 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="389da8c666aecb14f32e064a53f05a9cc26481317ad5a877688c3e485b6c6e44" +DEFAULT_INSTALL_SHA256="65f7d49de83de9d99734293009762adaff6f844c2c3627f507d4dc3b029f57be" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index aa7c900f6..578c43e15 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1093006, - "sha256": "389da8c666aecb14f32e064a53f05a9cc26481317ad5a877688c3e485b6c6e44", + "size": 1094917, + "sha256": "65f7d49de83de9d99734293009762adaff6f844c2c3627f507d4dc3b029f57be", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1146633, - "sha256": "c221a6529cb99a510a28eb739a69237cd1b77fb0d9b9a97b3a7e14acc275b54a" + "size": 1148544, + "sha256": "ba22f19af63c4003f7195636f6c7a5ebe3900ce6a300fe089058ff78eff52eb2" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1093006, - "sha256": "389da8c666aecb14f32e064a53f05a9cc26481317ad5a877688c3e485b6c6e44", + "size": 1094917, + "sha256": "65f7d49de83de9d99734293009762adaff6f844c2c3627f507d4dc3b029f57be", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1093006, - "sha256": "389da8c666aecb14f32e064a53f05a9cc26481317ad5a877688c3e485b6c6e44", + "size": 1094917, + "sha256": "65f7d49de83de9d99734293009762adaff6f844c2c3627f507d4dc3b029f57be", "executable": false }, { diff --git a/tests/test_install.py b/tests/test_install.py index 3dd58774a..9b4d80a6a 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -3400,6 +3400,42 @@ class TheBoardTheSystemNamesIsTheTarget(unittest.TestCase): self.assertEqual(install.detect_board("rocknix"), "rk3326") self.assertIsNone(install.detect_board("retroarch")) + def test_retropie_names_its_pi_as_get_platform_does(self): + """A RetroPie Pi 4 installed every target's files, 8.4 GiB where + rpi4 needs 4.0: nothing read the Pi model.""" + root = Path(_tempdir(self)) + (root / "proc" / "device-tree").mkdir(parents=True) + cpuinfo = root / "proc" / "cpuinfo" + tree = root / "proc" / "device-tree" / "compatible" + cases = ( + ("Hardware\t: BCM2835\nRevision\t: c03114\n", None, "rpi4"), + ("Revision\t: d04170\n", b"raspberrypi,5-model-b\0brcm,bcm2712\0", "rpi5"), + ("Hardware\t: BCM2835\nRevision\t: a02082\n", None, "rpi3"), + ("Hardware\t: BCM2835\nRevision\t: 000e\n", None, "rpi1"), + ("Hardware\t: ODROIDC\n", None, None), + ) + with unittest.mock.patch.object(install, "_SYSTEM_ROOT", root): + # Not installed here: a computer preparing a Pi's card. + cpuinfo.write_text(cases[0][0]) + self.assertIsNone(install.detect_board("retropie")) + (root / "opt" / "retropie").mkdir(parents=True) + for text, compatible, board in cases: + with self.subTest(board=board, text=text): + cpuinfo.write_text(text) + if compatible is None: + tree.unlink(missing_ok=True) + else: + tree.write_bytes(compatible) + self.assertEqual(install.detect_board("retropie"), board) + tree.unlink(missing_ok=True) + cpuinfo.write_text("processor\t: 0\n") + with unittest.mock.patch.object(install.platform, "machine", + return_value="x86_64"): + self.assertEqual(install.detect_board("retropie"), "x86_64") + targets = json.loads((REPO_ROOT / "install" / "targets" / "retropie.json") + .read_text(encoding="utf-8")) + self.assertLessEqual({*install._RPI_MODELS.values(), "x86_64"}, set(targets)) + def test_lakka_names_its_device_or_its_project(self): # An RPi4 Lakka installed 5.7 GB of every board's files: its board # was in os-release and never read. diff --git a/wiki/installer.md b/wiki/installer.md index 08fbb5adc..a5d69e7ec 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -958,7 +958,7 @@ what the options name, everything by default. |--------|--------| | `--platform NAME` | Install for this platform instead of the detected one. A system `--list-platforms` names under its own files (`muos`, `arkos`) stands for the file list it gets, and the run says which. ES-DE, LaunchBox and Android, which keep no BIOS folder, are answered with the run that fills each emulator's folder. Unknown names are refused with the closest ones | | `--dest PATH` | Destination directory, overriding detection. Without `--platform`, the file list is the platform detected here: at a terminal the installer asks, Enter taking the one found, and otherwise it uses the one found, RetroArch's when nothing is found, and refuses when several are. The run prints whose list it is. A folder that does not exist is named with the nearest one that does, then created, except for a system that runs from its SD card, which refuses it. When more than its last level is missing (a mistyped path), a run at a terminal asks first, and the answer defaults to no | -| `--target NAME` | Keep only the files the cores of that hardware target need, and the systems they emulate. An unknown target is refused rather than ignored, since carrying on would install everything. On Batocera, Recalbox, ROCKNIX, Lakka and KNULLI the board is read from the system (`batocera.arch`, `recalbox.arch`, `HW_DEVICE`, `LIBREELEC_DEVICE` or `LIBREELEC_PROJECT`, `knulli.arch`) and applied when no `--target` is given, from a pack alone too when it carries the core list per board. On a computer, the board a Batocera card names on its BATOCERA partition (`boot/batocera.board`) is applied the same way, in line mode and on the full screen | +| `--target NAME` | Keep only the files the cores of that hardware target need, and the systems they emulate. An unknown target is refused rather than ignored, since carrying on would install everything. On Batocera, Recalbox, ROCKNIX, Lakka, KNULLI and RetroPie the board is read from the system (`batocera.arch`, `recalbox.arch`, `HW_DEVICE`, `LIBREELEC_DEVICE` or `LIBREELEC_PROJECT`, `knulli.arch`, the Pi model in `/proc/cpuinfo` where `/opt/retropie` exists) and applied when no `--target` is given, from a pack alone too when it carries the core list per board. On a computer, the board a Batocera card names on its BATOCERA partition (`boot/batocera.board`) is applied the same way, in line mode and on the full screen | | `--every-board` | Install the files of every board instead of the one the system names, for a card that moves between devices | | `--installed-cores` | Keep only what the cores already installed read (RetroArch, Lakka, RetroPie). See [Installed cores](#installed-cores) | | `--cores-dir PATH` | The folder RetroArch loads its cores from, for `--installed-cores` when it is not found. Implies `--installed-cores`. A folder that does not exist or cannot be opened is refused with the reason (code 1) | @@ -1059,7 +1059,8 @@ image or source of its Odroid Go builds is published, so neither its marker files nor its folder could be read. Batocera, Recalbox, ROCKNIX, Lakka and KNULLI also name the board they were built -for, and that board narrows the install unless `--target` or `--every-board` says +for, RetroPie reads the Pi model as its setup script does (`x86_64` on a PC), +and that board narrows the install unless `--target` or `--every-board` says otherwise (see the options above). A board with no core list of its own is named and gets the files of every board. KNULLI writes its board to `/usr/share/knulli/knulli.arch` under the name of the chip its board file From aaaafd57716789d704923d0029a23cecf70b6801 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:31:42 +0100 Subject: [PATCH 15/20] fix: name the address a download was refused at --- install.ps1 | 2 +- install.py | 37 ++++++++++++++++++++++++--- install.sh | 2 +- install/launchers/index.json | 16 ++++++------ tests/test_install.py | 48 ++++++++++++++++++++++++++++++++++++ 5 files changed, 92 insertions(+), 13 deletions(-) diff --git a/install.ps1 b/install.ps1 index 63815cec0..f0549a723 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "65f7d49de83de9d99734293009762adaff6f844c2c3627f507d4dc3b029f57be" + $defaultInstallSha256 = "fa8d130b046b1c1d1bc2e8da49905a7572d81ee95d023b483cdcf009a1d4a64c" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index 12cea69cf..f887c308b 100644 --- a/install.py +++ b/install.py @@ -5759,8 +5759,9 @@ def _download_one( reason = f"HTTP {exc.code}" if exc.code in (403, 429): reason += " (GitHub rate limit or access refused)" - if exc.code >= 500 or exc.code == 429: - reason = NetworkReason(reason) + reason = (NetworkReason if exc.code >= 500 or exc.code == 429 + else HttpReason)(reason) + reason.url = url if verbose: print(f" Attempt {attempt} failed: {exc}", file=sys.stderr) if tmp_path is not None and partial is None and tmp_path.exists(): @@ -6264,6 +6265,32 @@ class NetworkReason(str): """A failure the connection caused: cut, timed out, refused by a server or a proxy. The summary names the network instead of the folder.""" + url = "" + + +class HttpReason(str): + """A file the server answered for with an error of its own (HTTP 404): + the summary names the address, where "HTTP 404" alone told the user + neither what failed nor that running again changes nothing.""" + + url = "" + + +def _http_failure_lines(failures: list[tuple[str, str]]) -> list[str]: + """The address the first refused file was asked at, and what chose it: + a mirror named with RETROBIOS_BASE_URL that holds the lists and not yet + the files, or a list out of step with the files it names.""" + refused = [reason for _dest, reason in failures if isinstance(reason, HttpReason)] + if not refused: + return [] + more = f" (and {_plural(len(refused) - 1, 'other file')})" if len(refused) > 1 else "" + lines = [f" The server answered {refused[0]} for {refused[0].url}{more}."] + if os.environ.get("RETROBIOS_BASE_URL"): + return lines + _address_lines(refused[0].url)[1:] + return lines + [" The file list names files the server does not hold, and running " + "again changes nothing until the two match.", + f" More help: {TROUBLESHOOTING_PAGE}"] + def _transfer_failure(exc: BaseException) -> bool: """Whether a download error came from the connection, not the disk.""" @@ -6409,8 +6436,12 @@ def _report_outcome( if any(reason == READ_ONLY for _dest, reason in failures or []): advice.append(" Files marked read-only are in the way: clear that attribute " "(or delete them), then run again.") + advice += _http_failure_lines(failures or []) if any(isinstance(reason, NetworkReason) for _dest, reason in failures or []): advice.append(NETWORK_FAILURE_ADVICE) + if os.environ.get("RETROBIOS_BASE_URL"): + # A mirror that is down read as this machine's connection. + advice += _address_lines(BASE_URL)[1:] if any(str(reason).startswith(NOT_KEPT) for _dest, reason in failures or []): # The same run fails the same way: "retry only those" sent a phone # user round the loop with nothing changed. @@ -6472,7 +6503,7 @@ def _report_outcome( if errors and not downloaded: say(f"\nNothing was installed. {_plural(errors, 'file')} failed.") - if failures and all(isinstance(r, (NetworkReason, OfflineReason)) + if failures and all(isinstance(r, (NetworkReason, HttpReason, OfflineReason)) for _d, r in failures): # The folder was never the problem: naming it as the place being # written to sent people looking at their disk. diff --git a/install.sh b/install.sh index 6f2d73596..17fab0cf5 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="65f7d49de83de9d99734293009762adaff6f844c2c3627f507d4dc3b029f57be" +DEFAULT_INSTALL_SHA256="fa8d130b046b1c1d1bc2e8da49905a7572d81ee95d023b483cdcf009a1d4a64c" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 578c43e15..40d7f1510 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1094917, - "sha256": "65f7d49de83de9d99734293009762adaff6f844c2c3627f507d4dc3b029f57be", + "size": 1096372, + "sha256": "fa8d130b046b1c1d1bc2e8da49905a7572d81ee95d023b483cdcf009a1d4a64c", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1148544, - "sha256": "ba22f19af63c4003f7195636f6c7a5ebe3900ce6a300fe089058ff78eff52eb2" + "size": 1149999, + "sha256": "143e0067766ccb85f299ca125c1dbdaa5ebec15e85ea49a9e354a677fb7f931d" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1094917, - "sha256": "65f7d49de83de9d99734293009762adaff6f844c2c3627f507d4dc3b029f57be", + "size": 1096372, + "sha256": "fa8d130b046b1c1d1bc2e8da49905a7572d81ee95d023b483cdcf009a1d4a64c", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1094917, - "sha256": "65f7d49de83de9d99734293009762adaff6f844c2c3627f507d4dc3b029f57be", + "size": 1096372, + "sha256": "fa8d130b046b1c1d1bc2e8da49905a7572d81ee95d023b483cdcf009a1d4a64c", "executable": false }, { diff --git a/tests/test_install.py b/tests/test_install.py index 9b4d80a6a..4f75d11cf 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -5160,6 +5160,54 @@ class ANetworkFailureNamesTheNetwork(unittest.TestCase): self.assertNotIn("being written to", text) +class AnHttpErrorNamesItsAddress(unittest.TestCase): + """A file the server answered 404 for ended on "HTTP 404" alone: no + address, no cause, and a mirror chosen with RETROBIOS_BASE_URL went + unnamed, as it did behind a NETWORK failure of that mirror.""" + + def _said(self, failures: list, base_url: str = "") -> str: + out = io.StringIO() + env = {"RETROBIOS_BASE_URL": base_url} if base_url else {} + with unittest.mock.patch.dict(os.environ, env), contextlib.redirect_stdout(out), \ + self.assertRaises(SystemExit) as raised: + install._report_outcome([Path("/bios")], 0, 0, len(failures), 0, False, + failures=failures) + self.assertEqual(raised.exception.code, 2) + return " ".join(out.getvalue().split()) + + def _reason(self, kind: type, words: str, url: str) -> str: + reason = kind(words) + reason.url = url + return reason + + def test_the_address_and_the_cause_are_said(self): + url = "https://raw.githubusercontent.com/Abdess/retrobios/main/bios/a.bin" + failures = [("a.bin", self._reason(install.HttpReason, "HTTP 404", url)), + ("b.bin", self._reason(install.HttpReason, "HTTP 404", url + "x"))] + with unittest.mock.patch.dict(os.environ): + os.environ.pop("RETROBIOS_BASE_URL", None) + text = self._said(failures) + self.assertIn(f"The server answered HTTP 404 for {url} (and 1 other file).", text) + self.assertIn("running again changes nothing", text) + self.assertIn("BIOS folder: /bios", text) + self.assertNotIn("RETROBIOS_BASE_URL", text) + + def test_a_mirror_named_in_the_environment_is_said(self): + mirror = "http://127.0.0.1:18766" + for kind, words in ((install.HttpReason, "HTTP 404"), + (install.NetworkReason, "the connection timed out")): + with self.subTest(kind=kind.__name__): + text = self._said([("a.bin", self._reason(kind, words, f"{mirror}/a.bin"))], + base_url=mirror) + self.assertIn("RETROBIOS_BASE_URL is set in this environment", text) + + def test_the_download_records_the_address(self): + error = urllib.error.HTTPError("https://x/bios/a.bin", 404, "Not Found", None, None) + reason = ANetworkFailureNamesTheNetwork._fail(self, error) + self.assertIsInstance(reason, install.HttpReason) + self.assertTrue(reason.url.endswith("/bios/a.bin"), reason.url) + + class RetroBatIsFoundWhereItSaysItIs(unittest.TestCase): """RetroBat on D:\\RetroBat was not detected, and --platform retrobat wrote 7.6 GB into C:\\RetroBat\\bios, a folder it does not read. From 101757675be2b923fbf0311e56106db5dcca9291 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:33:05 +0100 Subject: [PATCH 16/20] fix: say in place only with data files in place --- install.ps1 | 2 +- install.py | 9 ++++++++- install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/test_install.py | 16 ++++++++++++++++ wiki/installer.md | 7 +++++-- 6 files changed, 39 insertions(+), 13 deletions(-) diff --git a/install.ps1 b/install.ps1 index f0549a723..3e0fa3b13 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "fa8d130b046b1c1d1bc2e8da49905a7572d81ee95d023b483cdcf009a1d4a64c" + $defaultInstallSha256 = "02b1a66c6f9d63122c8064005ec6ae7c7504820c28e5027a5894aef209be7aa5" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index f887c308b..a1956f4d5 100644 --- a/install.py +++ b/install.py @@ -15554,7 +15554,10 @@ def _install(args: argparse.Namespace, real_stdout: TextIO) -> None: lacking = pack_lacks([f for f in to_download if id(f) not in copies]) if lacking: print(f"\n {pack_lacks_words(len(lacking), len(to_download) - len(copies))}") - print(f"\n {_plural(len(to_download), 'file')} " + # One total with the count above it, the data files among + # them as the screen counts them: "0 in place, 10805 missing" + # stood over "8164 files to download". + print(f"\n {_plural(len(to_download) + trees_missing, 'file')} " + ("not in place:" if offline or LOCAL.pack is not None else "to download:")) for line in check_lines(missing, mismatched, files, manifest, bios_path, @@ -15565,6 +15568,10 @@ def _install(args: argparse.Namespace, real_stdout: TextIO) -> None: print(_check_fetch_line(len(to_download) - len(copies), "the BIOS folder", len(lacking))) check_pending += len(to_download) + elif trees_missing: + # The screen's headline: "Everything is in place." stood + # above "0/169 data files present" and exit code 1. + print(f"\n {_plural(trees_missing, 'data file')} to fetch") else: print(f"\n {EVERYTHING_IN_PLACE}") absent = _absent_required(omitted_files, bios_path) diff --git a/install.sh b/install.sh index 17fab0cf5..83346b4a8 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="fa8d130b046b1c1d1bc2e8da49905a7572d81ee95d023b483cdcf009a1d4a64c" +DEFAULT_INSTALL_SHA256="02b1a66c6f9d63122c8064005ec6ae7c7504820c28e5027a5894aef209be7aa5" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 40d7f1510..9bf791423 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1096372, - "sha256": "fa8d130b046b1c1d1bc2e8da49905a7572d81ee95d023b483cdcf009a1d4a64c", + "size": 1096845, + "sha256": "02b1a66c6f9d63122c8064005ec6ae7c7504820c28e5027a5894aef209be7aa5", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1149999, - "sha256": "143e0067766ccb85f299ca125c1dbdaa5ebec15e85ea49a9e354a677fb7f931d" + "size": 1150472, + "sha256": "b3261f3b02e6e4e14bbcba07d9f6f03b7b43e5e66bf20c770d4c68e8cb6bd277" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1096372, - "sha256": "fa8d130b046b1c1d1bc2e8da49905a7572d81ee95d023b483cdcf009a1d4a64c", + "size": 1096845, + "sha256": "02b1a66c6f9d63122c8064005ec6ae7c7504820c28e5027a5894aef209be7aa5", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1096372, - "sha256": "fa8d130b046b1c1d1bc2e8da49905a7572d81ee95d023b483cdcf009a1d4a64c", + "size": 1096845, + "sha256": "02b1a66c6f9d63122c8064005ec6ae7c7504820c28e5027a5894aef209be7aa5", "executable": false }, { diff --git a/tests/test_install.py b/tests/test_install.py index 4f75d11cf..fc0a75427 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -4814,6 +4814,22 @@ class RunsAgainstTheRealLists(unittest.TestCase, _LoopbackRun): self.assertIn("File list: RetroArch", proc.stdout) self.assertIn("--platform", proc.stdout) + def test_check_says_in_place_only_when_the_data_files_are_too(self): + """The PSP BIOS in place and PPSSPP's assets absent: --check said + "Everything is in place." then "169 to fetch", and exited 1.""" + dest = self.home / "psp" + (dest / "PPSSPP").mkdir(parents=True) + for repo_path in ("bios/Sony/PlayStation Portable/ppge_atlas.zim", + "bios/Other/ppsspp/PPSSPP/ppge_atlas.meta"): + shutil.copy(REPO_ROOT / repo_path, dest / "PPSSPP") + proc = _install_run(self.env, "--platform", "retroarch", "--dest", str(dest), + "--system", "sony-psp", "--check", "--no-input") + self.assertEqual(proc.returncode, 1, proc.stdout + proc.stderr) + self.assertNotIn("Everything is in place", proc.stdout) + found = re.search(r"(\d+) in place, (\d+) missing", proc.stdout) + self.assertIsNotNone(found, proc.stdout) + self.assertIn(f"\n {found.group(2)} data files to fetch\n", proc.stdout) + def test_a_cores_folder_can_be_named(self): cores = self.home / "cores" cores.mkdir() diff --git a/wiki/installer.md b/wiki/installer.md index a5d69e7ec..f19f96dc1 100644 --- a/wiki/installer.md +++ b/wiki/installer.md @@ -565,8 +565,11 @@ Checking existing files... ``` -The files the collection does not hold are listed after it again, as long as -they are absent from the folder. A number before `wrong copies` means a file is +`Everything is in place.` is said only when the data folders are complete +too. With the BIOS files in place and data files missing (PPSSPP's assets, +Dolphin's `Sys`), the line counts those instead (`169 data files to fetch`), +and `--check` exits with code 1. The files the collection does not hold are +listed after it again, as long as they are absent from the folder. A number before `wrong copies` means a file is in place with contents the platform does not accept. Running the install again replaces it and keeps the old one, see [Files you already had](#files-you-already-had). From 0624d9f735af02dac663c3d4276ca14760b77f5e Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:34:48 +0100 Subject: [PATCH 17/20] fix: note a case twin only when its pair is there --- install.ps1 | 2 +- install.py | 21 ++++++++++++++++++++- install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/test_install_offline.py | 20 ++++++++++++++++++-- 5 files changed, 48 insertions(+), 13 deletions(-) diff --git a/install.ps1 b/install.ps1 index 3e0fa3b13..cf7abb20c 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "02b1a66c6f9d63122c8064005ec6ae7c7504820c28e5027a5894aef209be7aa5" + $defaultInstallSha256 = "57b285ce8de68f8ece0d1adb9f3b7a7fc8cda5ab7004c3601d5ef357353ab69e" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index a1956f4d5..89a945fab 100644 --- a/install.py +++ b/install.py @@ -12168,16 +12168,35 @@ def _copy_reason(entry: dict, copy: LocalCopy, bios_path: Path, known: set[str]) return _place_reason(entry, copy.path, copy.index, expected, known)[0] +def _twin_in_place(entry: dict, files: list[dict], bios_path: Path) -> bool: + """Whether the name a case variant shares with another entry, but for + the case (bios.col and BIOS.col), is in place.""" + folded = str(entry.get("dest", "")).casefold() + for twin in files: + if twin is entry or twin.get("case_variant") or \ + str(twin.get("dest", "")).casefold() != folded: + continue + try: + if _is_file(_entry_path(bios_path, twin)): + return True + except ValueError: + continue + return False + + def _found_elsewhere( entry: dict, index: FolderIndex, bios_path: Path, files: list[dict], known: set[str], zipped: _ZippedLookup | None = None, ) -> tuple[str, str]: """(reason, folder too deep) for an entry missing at its place.""" dest = str(entry.get("dest", "")) - if entry.get("case_variant"): + if entry.get("case_variant") and _twin_in_place(entry, files, bios_path): # A pack is read on Windows and macOS too, where two names that # differ only by case are one file: it carries one of the pair. Moving # the other copy here would take it from the core that opens it. + # Only its twin in place says a pack was used: on an empty folder the + # note named a pack never downloaded and pushed the BIOS files the + # user looked for into "... and N more". return ("a second name the pack leaves out: Windows and macOS see it " "as the same file. Run the command without --check to add it"), "" name = dest.rsplit("/", 1)[-1] diff --git a/install.sh b/install.sh index 83346b4a8..5e88c6d10 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="02b1a66c6f9d63122c8064005ec6ae7c7504820c28e5027a5894aef209be7aa5" +DEFAULT_INSTALL_SHA256="57b285ce8de68f8ece0d1adb9f3b7a7fc8cda5ab7004c3601d5ef357353ab69e" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 9bf791423..7d57d3af8 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1096845, - "sha256": "02b1a66c6f9d63122c8064005ec6ae7c7504820c28e5027a5894aef209be7aa5", + "size": 1097676, + "sha256": "57b285ce8de68f8ece0d1adb9f3b7a7fc8cda5ab7004c3601d5ef357353ab69e", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1150472, - "sha256": "b3261f3b02e6e4e14bbcba07d9f6f03b7b43e5e66bf20c770d4c68e8cb6bd277" + "size": 1151303, + "sha256": "3df4d9dd45f830736e40d80be6ff589f22c91bff93ea00570918ef53a072e826" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1096845, - "sha256": "02b1a66c6f9d63122c8064005ec6ae7c7504820c28e5027a5894aef209be7aa5", + "size": 1097676, + "sha256": "57b285ce8de68f8ece0d1adb9f3b7a7fc8cda5ab7004c3601d5ef357353ab69e", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1096845, - "sha256": "02b1a66c6f9d63122c8064005ec6ae7c7504820c28e5027a5894aef209be7aa5", + "size": 1097676, + "sha256": "57b285ce8de68f8ece0d1adb9f3b7a7fc8cda5ab7004c3601d5ef357353ab69e", "executable": false }, { diff --git a/tests/test_install_offline.py b/tests/test_install_offline.py index d066b105d..04b3ab018 100644 --- a/tests/test_install_offline.py +++ b/tests/test_install_offline.py @@ -179,14 +179,30 @@ class CheckNamesWhyAFileIsRefused(Scratch): self.skipTest("this filesystem does not keep case") data = json.loads(self.list.read_text()) twin = next(f for f in data["files"] if f["dest"] == "gba_bios.bin") - data["case_variants"] = [{**twin, "dest": "twin/gba_bios.bin"}] + data["case_variants"] = [{**twin, "dest": "GBA_BIOS.BIN"}] self.list.write_text(json.dumps(data)) self.complete() out = self.check() - self.assertIn("missing: twin/gba_bios.bin", out) + self.assertIn("missing: GBA_BIOS.BIN", out) self.assertIn("a second name the pack leaves out", out) self.assertNotIn("wrong folder: it is at gba_bios.bin", out) + def test_a_case_twin_is_plain_missing_when_no_pack_was_used(self): + """On an empty folder every case variant came first, uncapped, with + a note on a pack never downloaded: the BIOS files the user looked + for sat in "... and N more missing".""" + probe = self.root / "CaseProbe" + probe.write_text("x") + if (self.root / "caseprobe").exists(): + self.skipTest("this filesystem does not keep case") + data = json.loads(self.list.read_text()) + twin = next(f for f in data["files"] if f["dest"] == "gba_bios.bin") + data["case_variants"] = [{**twin, "dest": "GBA_BIOS.BIN"}] + self.list.write_text(json.dumps(data)) + out = self.check() + self.assertIn("missing: GBA_BIOS.BIN", out) + self.assertNotIn("a second name the pack leaves out", out) + def test_a_nested_bios_folder_is_named(self): for name, data in PAYLOAD.items(): self.place(f"system/{name}", data) From a78d5ea31647de4c24cf0a314724180c9c552dd4 Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:35:27 +0100 Subject: [PATCH 18/20] fix: count data files in the check fetch line --- install.ps1 | 2 +- install.py | 7 +++++-- install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/test_install.py | 13 +++++++++++++ 5 files changed, 28 insertions(+), 12 deletions(-) diff --git a/install.ps1 b/install.ps1 index cf7abb20c..9de606cc6 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "57b285ce8de68f8ece0d1adb9f3b7a7fc8cda5ab7004c3601d5ef357353ab69e" + $defaultInstallSha256 = "a04d2cf262c3ee0a6bcc073b0105b39af05c810ca64c82e62ebf03334fa6e2da" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index 89a945fab..b3c9ced2f 100644 --- a/install.py +++ b/install.py @@ -15584,8 +15584,11 @@ def _install(args: argparse.Namespace, real_stdout: TextIO) -> None: print(line) for line in unreadable_lines(unread, args.verbose): print(line) - print(_check_fetch_line(len(to_download) - len(copies), "the BIOS folder", - len(lacking))) + # The data files need the internet too: offline, "8164 files + # need the internet" stood under "10805 files not in place". + trees_fetched = trees_missing if LOCAL.pack is None else 0 + print(_check_fetch_line(len(to_download) - len(copies) + trees_fetched, + "the BIOS folder", len(lacking))) check_pending += len(to_download) elif trees_missing: # The screen's headline: "Everything is in place." stood diff --git a/install.sh b/install.sh index 5e88c6d10..83b870b2f 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="57b285ce8de68f8ece0d1adb9f3b7a7fc8cda5ab7004c3601d5ef357353ab69e" +DEFAULT_INSTALL_SHA256="a04d2cf262c3ee0a6bcc073b0105b39af05c810ca64c82e62ebf03334fa6e2da" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 7d57d3af8..904161d8e 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1097676, - "sha256": "57b285ce8de68f8ece0d1adb9f3b7a7fc8cda5ab7004c3601d5ef357353ab69e", + "size": 1097921, + "sha256": "a04d2cf262c3ee0a6bcc073b0105b39af05c810ca64c82e62ebf03334fa6e2da", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1151303, - "sha256": "3df4d9dd45f830736e40d80be6ff589f22c91bff93ea00570918ef53a072e826" + "size": 1151548, + "sha256": "52812611b2593110809fb97339cfccd21ab2a1fdd3896db9220e66abdc94b384" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1097676, - "sha256": "57b285ce8de68f8ece0d1adb9f3b7a7fc8cda5ab7004c3601d5ef357353ab69e", + "size": 1097921, + "sha256": "a04d2cf262c3ee0a6bcc073b0105b39af05c810ca64c82e62ebf03334fa6e2da", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1097676, - "sha256": "57b285ce8de68f8ece0d1adb9f3b7a7fc8cda5ab7004c3601d5ef357353ab69e", + "size": 1097921, + "sha256": "a04d2cf262c3ee0a6bcc073b0105b39af05c810ca64c82e62ebf03334fa6e2da", "executable": false }, { diff --git a/tests/test_install.py b/tests/test_install.py index fc0a75427..ba5a61eda 100644 --- a/tests/test_install.py +++ b/tests/test_install.py @@ -4830,6 +4830,19 @@ class RunsAgainstTheRealLists(unittest.TestCase, _LoopbackRun): self.assertIsNotNone(found, proc.stdout) self.assertIn(f"\n {found.group(2)} data files to fetch\n", proc.stdout) + def test_check_gives_one_total_offline(self): + """Offline on an empty folder: "10805 missing", then "8164 files not in + place" and "8164 files need the internet", the data files left out.""" + dest = self.home / "empty" + dest.mkdir() + proc = _install_run({**self.env, "RETROBIOS_INSTALL_OFFLINE": "1"}, "--platform", + "retroarch", "--dest", str(dest), "--check", "--no-input", + "--manifest", str(REPO_ROOT / "install" / "retroarch.json")) + self.assertEqual(proc.returncode, 1, proc.stdout + proc.stderr) + missing = re.search(r"0 in place, (\d+) missing", proc.stdout).group(1) + self.assertIn(f"\n {missing} files not in place:\n", proc.stdout) + self.assertIn(f" {missing} files need the internet", proc.stdout) + def test_a_cores_folder_can_be_named(self): cores = self.home / "cores" cores.mkdir() From cbe98d5fec669446197970f48769dd6444846ccd Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 19:51:12 +0100 Subject: [PATCH 19/20] fix: keep the mister row among the platforms --- install.ps1 | 2 +- install.py | 10 ++++++++-- install.sh | 2 +- install/launchers/index.json | 16 ++++++++-------- tests/fixtures/tui/colour-120x40.txt | 2 +- tests/fixtures/tui/colour-40x15.txt | 2 +- tests/fixtures/tui/colour-80x24.txt | 2 +- tests/fixtures/tui/platforms-120x40.txt | 2 +- tests/fixtures/tui/platforms-40x15.txt | 2 +- tests/fixtures/tui/platforms-80x24.txt | 2 +- tests/fixtures/tui/route-evmapy.txt | 4 ++-- tests/fixtures/tui/route-gptokeyb.txt | 4 ++-- tests/fixtures/tui/route-gptokeyb_muxterm.txt | 4 ++-- tests/fixtures/tui/route-keys.txt | 4 ++-- tests/fixtures/tui/route-miyoo.txt | 4 ++-- tests/fixtures/tui/route-muxterm.txt | 4 ++-- tests/test_install_tui.py | 10 ++++++++-- 17 files changed, 44 insertions(+), 32 deletions(-) diff --git a/install.ps1 b/install.ps1 index 9de606cc6..f1c93ca4c 100644 --- a/install.ps1 +++ b/install.ps1 @@ -16,7 +16,7 @@ # and Invoke-WebRequest throws on a cut transfer before the hash is read: # the site's build rewrites this line there (scripts/sitebootstrap.py). $mismatchAdvice = "The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." - $defaultInstallSha256 = "a04d2cf262c3ee0a6bcc073b0105b39af05c810ca64c82e62ebf03334fa6e2da" + $defaultInstallSha256 = "d9b9e08c5a3ff983f8bb440512edd0c68e33493ff6c3c5b119dfe72582b3a3d1" $maximumInstallerBytes = 2MB $installerExit = 0 $installer = if ($PSScriptRoot) { Join-Path $PSScriptRoot "install.py" } else { $null } diff --git a/install.py b/install.py index b3c9ced2f..0f61a0b21 100644 --- a/install.py +++ b/install.py @@ -19384,13 +19384,14 @@ def setup_list(setups: list, mounted: set, needle: str = "", continue setup = card_setup(plat, plat) label = display_name(plat) - if setup and _found_device(setups, mounted, plat, setup.name) is None: + if (setup and plat not in _DESK_CARDS + and _found_device(setups, mounted, plat, setup.name) is None): label += ", SD card" # The systems and devices the filter named, else a card's devices. shown = named or (list(_setup_devices(plat, os_type)) if setup else []) row = TuiRow("platform", label, ", ".join(shown), plat, narrow=_device_forms(shown), cut=shown[0] if shown else "") - if setup: + if setup and plat not in _DESK_CARDS: handheld.append((label, row)) else: desktop.append(row) @@ -19422,6 +19423,11 @@ def setup_list(setups: list, mounted: set, needle: str = "", return [*desktop, *cards_rows] +# The systems that run from an SD card on a board kept on a desk, not in +# the hand: their row stays among the platforms, and the handhelds' block, +# which leads when nothing is found here, keeps Onion four presses away. +_DESK_CARDS = frozenset({"misterfpga"}) + # The setups a computer runs, by its system, first in the setup list when # nothing was found here. RetroBat runs on Windows alone (retrobat.org), and # under WSL its folder is the Windows side's (_os_default_dests). EmuDeck has diff --git a/install.sh b/install.sh index 83b870b2f..2cdd22977 100755 --- a/install.sh +++ b/install.sh @@ -23,7 +23,7 @@ DEFAULT_INSTALL_URL="https://raw.githubusercontent.com/Abdess/retrobios/main/ins # curl or wget stop on a cut transfer before the hash is read: the site's # build rewrites this line there (scripts/sitebootstrap.py). MISMATCH_ADVICE="The download was most likely cut short: try again. Within minutes of an update of this project the two files can come from caches of different ages. Waiting five minutes settles that." -DEFAULT_INSTALL_SHA256="a04d2cf262c3ee0a6bcc073b0105b39af05c810ca64c82e62ebf03334fa6e2da" +DEFAULT_INSTALL_SHA256="d9b9e08c5a3ff983f8bb440512edd0c68e33493ff6c3c5b119dfe72582b3a3d1" MAX_INSTALLER_BYTES=2097152 cleanup() { diff --git a/install/launchers/index.json b/install/launchers/index.json index 904161d8e..be5af75db 100644 --- a/install/launchers/index.json +++ b/install/launchers/index.json @@ -27,8 +27,8 @@ { "dest": "roms/ports/retrobios/install.py", "repo_path": "install.py", - "size": 1097921, - "sha256": "a04d2cf262c3ee0a6bcc073b0105b39af05c810ca64c82e62ebf03334fa6e2da", + "size": 1098257, + "sha256": "d9b9e08c5a3ff983f8bb440512edd0c68e33493ff6c3c5b119dfe72582b3a3d1", "executable": false }, { @@ -71,8 +71,8 @@ "muos": { "archive": { "dest": "ARCHIVE/RetroBIOS.muxapp", - "size": 1151548, - "sha256": "52812611b2593110809fb97339cfccd21ab2a1fdd3896db9220e66abdc94b384" + "size": 1151884, + "sha256": "54ff79a8c51879532db206bb24dd7b3a884a2c8de1d3bcc07f1a2d4f66084c71" }, "members": [ { @@ -92,8 +92,8 @@ { "name": "RetroBIOS/install.py", "repo_path": "install.py", - "size": 1097921, - "sha256": "a04d2cf262c3ee0a6bcc073b0105b39af05c810ca64c82e62ebf03334fa6e2da", + "size": 1098257, + "sha256": "d9b9e08c5a3ff983f8bb440512edd0c68e33493ff6c3c5b119dfe72582b3a3d1", "executable": false }, { @@ -166,8 +166,8 @@ { "dest": ".config/modules/retrobios/install.py", "repo_path": "install.py", - "size": 1097921, - "sha256": "a04d2cf262c3ee0a6bcc073b0105b39af05c810ca64c82e62ebf03334fa6e2da", + "size": 1098257, + "sha256": "d9b9e08c5a3ff983f8bb440512edd0c68e33493ff6c3c5b119dfe72582b3a3d1", "executable": false }, { diff --git a/tests/fixtures/tui/colour-120x40.txt b/tests/fixtures/tui/colour-120x40.txt index 81bbef3da..c4227fd0e 100644 --- a/tests/fixtures/tui/colour-120x40.txt +++ b/tests/fixtures/tui/colour-120x40.txt @@ -54,6 +54,7 @@ RetroDECK RomM BizHawk + MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -68,7 +69,6 @@ KOLOS, SD card RG353P, RG353M, RG353V, RG353VS, RG503, +3 Koriki, SD card Miyoo Mini MinUI, SD card RG28XX, RG34XX, RG34XX SP, RG35XX, +19 - MiSTer FPGA, SD card MiyooCFW, SD card BittBoy, Pocket Go, PowKiddy Q90, +4 muOS, SD card RG35XX H, RG35XX Plus, RG35XX SP, +8 MyMinUI, SD card RG35XX, Miyoo Mini, Miyoo Mini Flip, +18 diff --git a/tests/fixtures/tui/colour-40x15.txt b/tests/fixtures/tui/colour-40x15.txt index e883877d6..3d4f54e39 100644 --- a/tests/fixtures/tui/colour-40x15.txt +++ b/tests/fixtures/tui/colour-40x15.txt @@ -27,7 +27,7 @@ RetroDECK RomM BizHawk - RetroPie + MiSTer FPGA ^[[0;2m 1-10 of 34^[[0m ^[[0;1;35mA^[[0m Choose ^[[0;2mB^[[0m Back ^[[0;2m/^[[0m Filter ^[[0;2m?^[[0m Help === folder diff --git a/tests/fixtures/tui/colour-80x24.txt b/tests/fixtures/tui/colour-80x24.txt index f0562838e..121db8b0c 100644 --- a/tests/fixtures/tui/colour-80x24.txt +++ b/tests/fixtures/tui/colour-80x24.txt @@ -36,6 +36,7 @@ RetroDECK RomM BizHawk + MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -45,7 +46,6 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go - JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 ^[[0;2m 1-19 of 34^[[0m ^[[0;1;35mA/Enter^[[0m Choose ^[[0;2mB/Esc^[[0m Back ^[[0;2m/^[[0m Filter ^[[0;2m?^[[0m Help === folder diff --git a/tests/fixtures/tui/platforms-120x40.txt b/tests/fixtures/tui/platforms-120x40.txt index 2f5817998..258c9ce65 100644 --- a/tests/fixtures/tui/platforms-120x40.txt +++ b/tests/fixtures/tui/platforms-120x40.txt @@ -12,6 +12,7 @@ RetroDECK RomM BizHawk + MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -26,7 +27,6 @@ KOLOS, SD card RG353P, RG353M, RG353V, RG353VS, RG503, +3 Koriki, SD card Miyoo Mini MinUI, SD card RG28XX, RG34XX, RG34XX SP, RG35XX, +19 - MiSTer FPGA, SD card MiyooCFW, SD card BittBoy, Pocket Go, PowKiddy Q90, +4 muOS, SD card RG35XX H, RG35XX Plus, RG35XX SP, +8 MyMinUI, SD card RG35XX, Miyoo Mini, Miyoo Mini Flip, +18 diff --git a/tests/fixtures/tui/platforms-40x15.txt b/tests/fixtures/tui/platforms-40x15.txt index 7327b4417..d0ebd799c 100644 --- a/tests/fixtures/tui/platforms-40x15.txt +++ b/tests/fixtures/tui/platforms-40x15.txt @@ -10,6 +10,6 @@ RetroDECK RomM BizHawk - RetroPie + MiSTer FPGA 1-10 of 34 A Choose B Back / Filter ? Help diff --git a/tests/fixtures/tui/platforms-80x24.txt b/tests/fixtures/tui/platforms-80x24.txt index 3d7f38047..7fb53a4c8 100644 --- a/tests/fixtures/tui/platforms-80x24.txt +++ b/tests/fixtures/tui/platforms-80x24.txt @@ -10,6 +10,7 @@ RetroDECK RomM BizHawk + MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -19,6 +20,5 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go - JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 A/Enter Choose B/Esc Back / Filter ? Help diff --git a/tests/fixtures/tui/route-evmapy.txt b/tests/fixtures/tui/route-evmapy.txt index 0c693acb1..4ecf7723d 100644 --- a/tests/fixtures/tui/route-evmapy.txt +++ b/tests/fixtures/tui/route-evmapy.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - RetroPie + MiSTer FPGA 1-10 of 34 A Choose B Back === platforms 80x24 @@ -94,6 +94,7 @@ RetroDECK RomM BizHawk + MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -103,7 +104,6 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go - JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 A Choose B Back === folder 40x12 diff --git a/tests/fixtures/tui/route-gptokeyb.txt b/tests/fixtures/tui/route-gptokeyb.txt index 8d519b749..0c2ec38af 100644 --- a/tests/fixtures/tui/route-gptokeyb.txt +++ b/tests/fixtures/tui/route-gptokeyb.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - RetroPie + MiSTer FPGA 1-10 of 34 A Choose B Back === platforms 80x24 @@ -94,6 +94,7 @@ RetroDECK RomM BizHawk + MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -103,7 +104,6 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go - JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 A Choose B Back === folder 40x12 diff --git a/tests/fixtures/tui/route-gptokeyb_muxterm.txt b/tests/fixtures/tui/route-gptokeyb_muxterm.txt index 04a435413..5a52cc315 100644 --- a/tests/fixtures/tui/route-gptokeyb_muxterm.txt +++ b/tests/fixtures/tui/route-gptokeyb_muxterm.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - RetroPie + MiSTer FPGA 1-10 of 34 A Choose B Back === platforms 80x24 @@ -94,6 +94,7 @@ RetroDECK RomM BizHawk + MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -103,7 +104,6 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go - JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 A Choose B Back === folder 40x12 diff --git a/tests/fixtures/tui/route-keys.txt b/tests/fixtures/tui/route-keys.txt index e06f9847f..912da09d8 100644 --- a/tests/fixtures/tui/route-keys.txt +++ b/tests/fixtures/tui/route-keys.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - RetroPie + MiSTer FPGA 1-10 of 34 Enter Choose Esc Back / Filter === platforms 80x24 @@ -94,6 +94,7 @@ RetroDECK RomM BizHawk + MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -103,7 +104,6 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go - JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 Enter Choose Esc Back / Filter ? Help === folder 40x12 diff --git a/tests/fixtures/tui/route-miyoo.txt b/tests/fixtures/tui/route-miyoo.txt index f742e01a9..715bb7e85 100644 --- a/tests/fixtures/tui/route-miyoo.txt +++ b/tests/fixtures/tui/route-miyoo.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - RetroPie + MiSTer FPGA 1-10 of 34 A Choose R2 Back === platforms 80x24 @@ -94,6 +94,7 @@ RetroDECK RomM BizHawk + MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -103,7 +104,6 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go - JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 A Choose R2 Back === folder 40x12 diff --git a/tests/fixtures/tui/route-muxterm.txt b/tests/fixtures/tui/route-muxterm.txt index 4dfeda61b..0d132306f 100644 --- a/tests/fixtures/tui/route-muxterm.txt +++ b/tests/fixtures/tui/route-muxterm.txt @@ -78,7 +78,7 @@ RetroDECK RomM BizHawk - RetroPie + MiSTer FPGA 1-10 of 34 Start Choose B Back === platforms 80x24 @@ -94,6 +94,7 @@ RetroDECK RomM BizHawk + MiSTer FPGA RetroPie Allium, SD card Miyoo Mini, Miyoo Mini Plus, +1 AmberELEC, SD card RG351, RG552 @@ -103,7 +104,6 @@ CrossMix-OS, SD card TrimUI Smart Pro dArkOS, SD card Odroid Go Advance, RGB10, RG351MP, G350 EmuELEC, SD card Odroid Go - JELOS, SD card RG351M, RG351V, RG353M, RG353P, +30 1-19 of 34 Start Choose B Back === folder 40x12 diff --git a/tests/test_install_tui.py b/tests/test_install_tui.py index d805c1ab9..d10ea0d13 100644 --- a/tests/test_install_tui.py +++ b/tests/test_install_tui.py @@ -5901,6 +5901,12 @@ def _card_from_rules(root: Path, setup: install.CardSetup) -> Path: return root +def _card_row(setup: install.CardSetup) -> str: + """The setup list's row of a card system: MiSTer's board sits on a desk + and keeps its plain row among the platforms.""" + return setup.name if setup.plat in install._DESK_CARDS else f"{setup.name}, SD card" + + def _setup_folder(setup: install.CardSetup, card: Path) -> Path: return card / setup.below if setup.below else card @@ -5968,7 +5974,7 @@ class EveryCardSetupGoesToItsCard(unittest.TestCase): state = self.platforms() rows = install.tui_rows(state) index = next(i for i, row in enumerate(rows) - if row.label == f"{setup.name}, SD card") + if row.label == _card_row(setup)) state.focus["platforms"] = index with mock.patch.object(install, "_mounted_cards", return_value=[]): effects = press(state, "enter") @@ -5983,7 +5989,7 @@ class EveryCardSetupGoesToItsCard(unittest.TestCase): for setup in self.setups: with self.subTest(system=setup.name): rows = install.tui_rows(self.platforms(setup.name)) - self.assertIn(f"{setup.name}, SD card", [row.label for row in rows]) + self.assertIn(_card_row(setup), [row.label for row in rows]) def test_platform_named_on_a_computer_asks_for_the_card(self): for setup in self.setups: From f9cf38d1bde0b1a0bb52313de338a45be2d716df Mon Sep 17 00:00:00 2001 From: Abdessamad Derraz <3028866+Abdess@users.noreply.github.com> Date: Thu, 5 Nov 2026 20:18:48 +0100 Subject: [PATCH 20/20] chore: regenerate the 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}}}