15 Commits

Author SHA1 Message Date
Abdessamad Derraz
a8430940f9 feat: add regional nand aliases to melonds profile
dsi_nand.bin aliases: DSi_Nand_USA/EUR/JPN/AUS/CHN/KOR.bin
for repo resolution. Code loads a single configurable path
(libretro.cpp:836, EmuInstance.cpp:1036-1050), validates
nocash footer (DSi_NAND.cpp:42-111). size + storage added.
2026-03-30 12:20:26 +02:00
Abdessamad Derraz
1f073f521d fix: preserve batocera version when github fetch fails 2026-03-30 11:55:57 +02:00
Abdessamad Derraz
903c49edcf feat: add tests for registry merge, all_libretro expansion, hash fallback, system normalization 2026-03-30 11:33:59 +02:00
Abdessamad Derraz
d3a2224dd2 chore: regenerate database, readme, manifests, site 2026-03-30 09:42:39 +02:00
Abdessamad Derraz
f898f26847 chore: regenerate retrobat.yml with corrected system slugs 2026-03-30 09:11:00 +02:00
Abdessamad Derraz
2712307420 feat: add tandy vis bios root set to mame profiles
vis.zip (p513bk0b.bin + p513bk1b.bin) from src/mame/trs/vis.cpp.
Driver added in MAME 0.180, not present in older cores.
2026-03-30 09:09:58 +02:00
Abdessamad Derraz
54022e9db1 feat: hash-based matching for cross-reference
expand_platform_declared_names resolves platform file MD5s
through the database to recover canonical names and aliases,
eliminating false positive undeclared files when a platform
renames a file (e.g. Batocera ROM1 vs gsplus ROM).
2026-03-30 08:25:54 +02:00
Abdessamad Derraz
4db9e4350c fix: add missing system slugs to batocera and retrobat scrapers 2026-03-30 07:58:46 +02:00
Abdessamad Derraz
6864ce6584 feat: diff hash fallback detects platform renames 2026-03-30 07:53:59 +02:00
Abdessamad Derraz
12196b6445 feat: add 55 missing cores across 6 platform registries 2026-03-30 07:17:57 +02:00
Abdessamad Derraz
7551e41a7b feat: load_platform_config merges cores from registry 2026-03-30 07:13:15 +02:00
Abdessamad Derraz
7b484605d4 feat: add 47 missing cores to batocera platform config 2026-03-30 07:09:52 +02:00
Abdessamad Derraz
b587381f05 feat: resolve_platform_cores expands all_libretro in list 2026-03-30 07:06:32 +02:00
Abdessamad Derraz
261f3c1671 chore: regenerate database 2026-03-30 06:15:02 +02:00
Abdessamad Derraz
d3bd68f6ad feat: add vsmile, tutor, vg5k, vgmplay profiles and system aliases 2026-03-30 06:14:58 +02:00
30 changed files with 18493 additions and 2419 deletions

View File

@@ -2,7 +2,7 @@
Complete BIOS and firmware packs for Batocera, BizHawk, EmuDeck, Lakka, Recalbox, RetroArch, RetroBat, RetroDECK, RetroPie, and RomM. Complete BIOS and firmware packs for Batocera, BizHawk, EmuDeck, Lakka, Recalbox, RetroArch, RetroBat, RetroDECK, RetroPie, and RomM.
**7,244** verified files across **387** systems, ready to extract into your emulator's BIOS directory. **7,239** verified files across **396** systems, ready to extract into your emulator's BIOS directory.
## Quick Install ## Quick Install
@@ -27,14 +27,14 @@ Pick your platform, download the ZIP, extract to the BIOS path.
| Platform | BIOS files | Extract to | Download | | Platform | BIOS files | Extract to | Download |
|----------|-----------|-----------|----------| |----------|-----------|-----------|----------|
| Batocera | 359 | `/userdata/bios/` | [Download](../../releases/latest) | | Batocera | 362 | `/userdata/bios/` | [Download](../../releases/latest) |
| BizHawk | 118 | `Firmware/` | [Download](../../releases/latest) | | BizHawk | 118 | `Firmware/` | [Download](../../releases/latest) |
| EmuDeck | 161 | `Emulation/bios/` | [Download](../../releases/latest) | | EmuDeck | 161 | `Emulation/bios/` | [Download](../../releases/latest) |
| Lakka | 448 | `system/` | [Download](../../releases/latest) | | Lakka | 448 | `system/` | [Download](../../releases/latest) |
| Recalbox | 346 | `/recalbox/share/bios/` | [Download](../../releases/latest) | | Recalbox | 346 | `/recalbox/share/bios/` | [Download](../../releases/latest) |
| RetroArch | 448 | `system/` | [Download](../../releases/latest) | | RetroArch | 448 | `system/` | [Download](../../releases/latest) |
| RetroBat | 331 | `bios/` | [Download](../../releases/latest) | | RetroBat | 339 | `bios/` | [Download](../../releases/latest) |
| RetroDECK | 2007 | `~/retrodeck/bios/` | [Download](../../releases/latest) | | RetroDECK | 2006 | `~/retrodeck/bios/` | [Download](../../releases/latest) |
| RetroPie | 448 | `BIOS/` | [Download](../../releases/latest) | | RetroPie | 448 | `BIOS/` | [Download](../../releases/latest) |
| RomM | 374 | `bios/{platform_slug}/` | [Download](../../releases/latest) | | RomM | 374 | `bios/{platform_slug}/` | [Download](../../releases/latest) |
@@ -44,14 +44,14 @@ BIOS, firmware, and system files for consoles from Atari to PlayStation 3.
Each file is checked against the emulator's source code to match what the code actually loads at runtime. Each file is checked against the emulator's source code to match what the code actually loads at runtime.
- **10 platforms** supported with platform-specific verification - **10 platforms** supported with platform-specific verification
- **328 emulators** profiled from source (RetroArch cores + standalone) - **329 emulators** profiled from source (RetroArch cores + standalone)
- **387 systems** covered (NES, SNES, PlayStation, Saturn, Dreamcast, ...) - **396 systems** covered (NES, SNES, PlayStation, Saturn, Dreamcast, ...)
- **7,244 files** verified with MD5, SHA1, CRC32 checksums - **7,239 files** verified with MD5, SHA1, CRC32 checksums
- **9266 MB** total collection size - **8144 MB** total collection size
## Supported systems ## Supported systems
NES, SNES, Nintendo 64, GameCube, Wii, Game Boy, Game Boy Advance, Nintendo DS, Nintendo 3DS, Switch, PlayStation, PlayStation 2, PlayStation 3, PSP, PS Vita, Mega Drive, Saturn, Dreamcast, Game Gear, Master System, Neo Geo, Atari 2600, Atari 7800, Atari Lynx, Atari ST, MSX, PC Engine, TurboGrafx-16, ColecoVision, Intellivision, Commodore 64, Amiga, ZX Spectrum, Arcade (MAME), and 353+ more. NES, SNES, Nintendo 64, GameCube, Wii, Game Boy, Game Boy Advance, Nintendo DS, Nintendo 3DS, Switch, PlayStation, PlayStation 2, PlayStation 3, PSP, PS Vita, Mega Drive, Saturn, Dreamcast, Game Gear, Master System, Neo Geo, Atari 2600, Atari 7800, Atari Lynx, Atari ST, MSX, PC Engine, TurboGrafx-16, ColecoVision, Intellivision, Commodore 64, Amiga, ZX Spectrum, Arcade (MAME), and 362+ more.
Full list with per-file details: **[https://abdess.github.io/retrobios/](https://abdess.github.io/retrobios/)** Full list with per-file details: **[https://abdess.github.io/retrobios/](https://abdess.github.io/retrobios/)**
@@ -59,15 +59,15 @@ Full list with per-file details: **[https://abdess.github.io/retrobios/](https:/
| Platform | Coverage | Verified | Untested | Missing | | Platform | Coverage | Verified | Untested | Missing |
|----------|----------|----------|----------|---------| |----------|----------|----------|----------|---------|
| Batocera | 359/359 (100.0%) | 354 | 5 | 0 | | Batocera | 356/362 (98.3%) | 349 | 7 | 6 |
| BizHawk | 118/118 (100.0%) | 118 | 0 | 0 | | BizHawk | 118/118 (100.0%) | 118 | 0 | 0 |
| EmuDeck | 161/161 (100.0%) | 161 | 0 | 0 | | EmuDeck | 161/161 (100.0%) | 161 | 0 | 0 |
| Lakka | 443/448 (98.9%) | 443 | 0 | 5 | | Lakka | 442/448 (98.7%) | 442 | 0 | 6 |
| Recalbox | 276/346 (79.8%) | 273 | 3 | 70 | | Recalbox | 277/346 (80.1%) | 274 | 3 | 69 |
| RetroArch | 443/448 (98.9%) | 443 | 0 | 5 | | RetroArch | 442/448 (98.7%) | 442 | 0 | 6 |
| RetroBat | 330/331 (99.7%) | 326 | 4 | 1 | | RetroBat | 337/339 (99.4%) | 333 | 4 | 2 |
| RetroDECK | 1958/2007 (97.6%) | 1932 | 26 | 49 | | RetroDECK | 1960/2006 (97.7%) | 1934 | 26 | 46 |
| RetroPie | 443/448 (98.9%) | 443 | 0 | 5 | | RetroPie | 442/448 (98.7%) | 442 | 0 | 6 |
| RomM | 372/374 (99.5%) | 372 | 0 | 2 | | RomM | 372/374 (99.5%) | 372 | 0 | 2 |
## Build your own pack ## Build your own pack
@@ -104,7 +104,7 @@ The [documentation site](https://abdess.github.io/retrobios/) provides:
- **Per-emulator profiles** with source code references for every file - **Per-emulator profiles** with source code references for every file
- **Per-system pages** showing which emulators and platforms cover each console - **Per-system pages** showing which emulators and platforms cover each console
- **Gap analysis** identifying missing files and undeclared core requirements - **Gap analysis** identifying missing files and undeclared core requirements
- **Cross-reference** mapping files across 10 platforms and 328 emulators - **Cross-reference** mapping files across 10 platforms and 329 emulators
## How it works ## How it works
@@ -130,4 +130,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
This repository provides BIOS files for personal backup and archival purposes. This repository provides BIOS files for personal backup and archival purposes.
*Auto-generated on 2026-03-29T21:00:40Z* *Auto-generated on 2026-03-30T07:40:45Z*

View File

@@ -1,5 +1,5 @@
{ {
"generated_at": "2026-03-29T21:32:22Z", "generated_at": "2026-03-30T07:24:43Z",
"total_files": 7239, "total_files": 7239,
"total_size": 8539795099, "total_size": 8539795099,
"files": { "files": {
@@ -102371,6 +102371,9 @@
"ts1500.zxpand.ovl": [ "ts1500.zxpand.ovl": [
"0334b35f164089df7b2a82d46fa0ec6e43fafa90" "0334b35f164089df7b2a82d46fa0ec6e43fafa90"
], ],
"tvc64.zip": [
"abf119cf947ea32defd08b29a8a25d75f6bd4987"
],
"TVC22_D7.64K": [ "TVC22_D7.64K": [
"abf119cf947ea32defd08b29a8a25d75f6bd4987" "abf119cf947ea32defd08b29a8a25d75f6bd4987"
], ],
@@ -102413,6 +102416,24 @@
"EXOS21.ROM": [ "EXOS21.ROM": [
"55315b20fecb4441a07ee4bc5dc7153f396e0a2e" "55315b20fecb4441a07ee4bc5dc7153f396e0a2e"
], ],
"bk0010.zip": [
"4e83a94ae5155bbea14d7331a5a8db82457bd5ae",
"34fa37599f2f9eb607390ef2458a3c22d87f09a9",
"f087af69044432a1ef2431a72ac06946e32f2dd3",
"7e9a30e38d7b78981999821640a68a201bb6df01"
],
"monit10.rom": [
"4e83a94ae5155bbea14d7331a5a8db82457bd5ae"
],
"bas11m_1.rom": [
"34fa37599f2f9eb607390ef2458a3c22d87f09a9"
],
"b11m_ext.rom": [
"f087af69044432a1ef2431a72ac06946e32f2dd3"
],
"b11m_bos.rom": [
"7e9a30e38d7b78981999821640a68a201bb6df01"
],
"sony-playstation:239665b1a3dade1b5a52c06338011044": [ "sony-playstation:239665b1a3dade1b5a52c06338011044": [
"343883a7b555646da8cee54aadd2795b6e7dd070" "343883a7b555646da8cee54aadd2795b6e7dd070"
], ],
@@ -103185,27 +103206,15 @@
"Kickstart v3.0 rev 39.106 (1992)(Commodore)(A4000)[!].rom": [ "Kickstart v3.0 rev 39.106 (1992)(Commodore)(A4000)[!].rom": [
"f0b4e9e29e12218c2d5bd7020e4e785297d91fd7" "f0b4e9e29e12218c2d5bd7020e4e785297d91fd7"
], ],
"monit10.rom": [
"4e83a94ae5155bbea14d7331a5a8db82457bd5ae"
],
"focal10.rom": [ "focal10.rom": [
"6386e58bc1bba5e76baec9e8a1ca4b99dc3c573f" "6386e58bc1bba5e76baec9e8a1ca4b99dc3c573f"
], ],
"disk_327.rom": [ "disk_327.rom": [
"28eefbb63047b26e4aec104aeeca74e2f9d0276c" "28eefbb63047b26e4aec104aeeca74e2f9d0276c"
], ],
"b11m_bos.rom": [
"7e9a30e38d7b78981999821640a68a201bb6df01"
],
"b11m_ext.rom": [
"f087af69044432a1ef2431a72ac06946e32f2dd3"
],
"bas11m_0.rom": [ "bas11m_0.rom": [
"9d76f3eefd64e032c763fa1ebf9cd3d9bd22317a" "9d76f3eefd64e032c763fa1ebf9cd3d9bd22317a"
], ],
"bas11m_1.rom": [
"34fa37599f2f9eb607390ef2458a3c22d87f09a9"
],
"terak.rom": [ "terak.rom": [
"273a9933b68a290c5aedcd6d69faa7b1d22c0344" "273a9933b68a290c5aedcd6d69faa7b1d22c0344"
], ],
@@ -124501,6 +124510,10 @@
"9451a1a09d8f75944dbd6f91193fc360f1de80ac", "9451a1a09d8f75944dbd6f91193fc360f1de80ac",
"03bbb386cf530e804363acdfc1d13e64cf28af2e", "03bbb386cf530e804363acdfc1d13e64cf28af2e",
"55315b20fecb4441a07ee4bc5dc7153f396e0a2e", "55315b20fecb4441a07ee4bc5dc7153f396e0a2e",
"4e83a94ae5155bbea14d7331a5a8db82457bd5ae",
"34fa37599f2f9eb607390ef2458a3c22d87f09a9",
"f087af69044432a1ef2431a72ac06946e32f2dd3",
"7e9a30e38d7b78981999821640a68a201bb6df01",
"343883a7b555646da8cee54aadd2795b6e7dd070", "343883a7b555646da8cee54aadd2795b6e7dd070",
"e38466a4ba8005fba7e9e3c7b9efeba7205bee3f", "e38466a4ba8005fba7e9e3c7b9efeba7205bee3f",
"ffa7f9a7fb19d773a0c3985a541c8e5623d2c30d", "ffa7f9a7fb19d773a0c3985a541c8e5623d2c30d",
@@ -124623,13 +124636,9 @@
"4192c505d130f446b2ada6bdc91dae730acafb4c", "4192c505d130f446b2ada6bdc91dae730acafb4c",
"16df8b5fd524c5a1c7584b2457ac15aff9e3ad6d", "16df8b5fd524c5a1c7584b2457ac15aff9e3ad6d",
"f0b4e9e29e12218c2d5bd7020e4e785297d91fd7", "f0b4e9e29e12218c2d5bd7020e4e785297d91fd7",
"4e83a94ae5155bbea14d7331a5a8db82457bd5ae",
"6386e58bc1bba5e76baec9e8a1ca4b99dc3c573f", "6386e58bc1bba5e76baec9e8a1ca4b99dc3c573f",
"28eefbb63047b26e4aec104aeeca74e2f9d0276c", "28eefbb63047b26e4aec104aeeca74e2f9d0276c",
"7e9a30e38d7b78981999821640a68a201bb6df01",
"f087af69044432a1ef2431a72ac06946e32f2dd3",
"9d76f3eefd64e032c763fa1ebf9cd3d9bd22317a", "9d76f3eefd64e032c763fa1ebf9cd3d9bd22317a",
"34fa37599f2f9eb607390ef2458a3c22d87f09a9",
"273a9933b68a290c5aedcd6d69faa7b1d22c0344", "273a9933b68a290c5aedcd6d69faa7b1d22c0344",
"4891d739a8a8b67923681bad4fb67edab2e90e50", "4891d739a8a8b67923681bad4fb67edab2e90e50",
"6e89d1227581c76441a53d605f9e324185f1da33", "6e89d1227581c76441a53d605f9e324185f1da33",

View File

@@ -7,7 +7,7 @@ profiled_date: "2026-03-23"
core_version: "3.1.0" core_version: "3.1.0"
display_name: "Atari - 400/800/600XL/800XL/130XE/5200 (Atari800)" display_name: "Atari - 400/800/600XL/800XL/130XE/5200 (Atari800)"
cores: [atari800] cores: [atari800]
systems: [atari-400-800, atari-5200] systems: [atari-400-800, atari-5200, xegs]
# Atari800 emulates the Atari 8-bit family (400/800/XL/XE) and the 5200 console. # Atari800 emulates the Atari 8-bit family (400/800/XL/XE) and the 5200 console.
# All BIOS files are optional -- the core ships built-in Altirra OS replacements # All BIOS files are optional -- the core ships built-in Altirra OS replacements

View File

@@ -4,7 +4,7 @@ core_classification: community_fork
display_name: "Enterprise - 64/128 (ep128emu)" display_name: "Enterprise - 64/128 (ep128emu)"
source: https://github.com/libretro/ep128emu-core source: https://github.com/libretro/ep128emu-core
upstream: https://github.com/istvan-v/ep128emu upstream: https://github.com/istvan-v/ep128emu
profiled_date: "2026-03-23" profiled_date: "2026-03-30"
core_version: "1.2.10" core_version: "1.2.10"
cores: cores:

View File

@@ -61,18 +61,23 @@ systems:
- fm7 - fm7
- laser310 - laser310
- vtech-socrates - vtech-socrates
- vtech-vsmile
- casio-loopy - casio-loopy
- casio-pv1000 - casio-pv1000
- casio-pv2000 - casio-pv2000
- pegasus - pegasus
- pcw - pcw
- interton-vc4000 - interton-vc4000
- philips-vg5k
- ti99 - ti99
- tutor
- tandy-vis
- trs80 - trs80
- vgmplay
notes: | notes: |
Rolling release tracking mamedev/mame upstream (currently 0.286). Rolling release tracking mamedev/mame upstream (currently 0.286).
80 BIOS root sets + 24 system ROM sets (apple2gs, astrocade, adam, advision, apfm1000, beena, camplynx, casloopy, crvision, fm7, gamate, gamecom, gamepock, gmaster, gp32, laser310, pcw, pegasus, pv2000, rx78, segaai, socrates, ti99_4a, trs80). romload.cpp 81 BIOS root sets + 28 system ROM sets + 3 device ROMs (apple2gs, astrocade, adam, advision, apfm1000, beena, camplynx, casloopy, crvision, fm7, gamate, gamecom, gamepock, gmaster, gp32, laser310, pcw, pegasus, pv2000, rx78, segaai, socrates, ti99_4a, trs80, tutor, vg5k, vis, vsmile). romload.cpp
unmodified. No hiscore support. unmodified. No hiscore support.
Paths under system_dir/mame/ (artwork, cheat, hash, ini, plugins, Paths under system_dir/mame/ (artwork, cheat, hash, ini, plugins,
samples, crosshair). ROM search: content_dir + system_dir/mame/bios + samples, crosshair). ROM search: content_dir + system_dir/mame/bios +
@@ -92,6 +97,22 @@ notes: |
RS232, HFDC, P-Code, EVPC, etc.) — all PEB devices require user RS232, HFDC, P-Code, EVPC, etc.) — all PEB devices require user
configuration, none loaded by default. configuration, none loaded by default.
VGMPlay: virtual driver (src/mame/virtual/vgmplay.cpp) for playing VGM
music files. Standalone MAME only — not included in libretro/mame build.
Uses MAME sound chip devices (QSound, YM2413/OPLL, YM2608/OPNA, etc.).
V.Smile: 2 machines in vsmile.cpp — vsmile parent (V.Smile 2005),
vsmilem clone (V.Smile Motion 2008). SunPlus SPG24x CPU, 3 BIOS
alternatives (v100, v102, v103). Clone vsmilem has 2 alternate
BIOSes. Software lists "vsmile_cart", "vsmilem_cart". vsmileb.cpp
is V.Smile Baby (separate parent, MACHINE_NOT_WORKING).
vsmilepro.cpp is V.Smile Pro (skeleton, MACHINE_NOT_WORKING).
Device ROMs: sound chip ROM data loaded by MAME device emulation.
qsound.zip (QSound DSP program), ym2413.zip (OPLL instrument table),
ym2608.zip (OPNA ADPCM rhythm samples). Shared across all drivers
using these chips, not specific to vgmplay.
files: files:
# SNK Neo Geo MVS/AES # SNK Neo Geo MVS/AES
- name: neogeo.zip - name: neogeo.zip
@@ -1027,6 +1048,28 @@ files:
size: 16384 size: 16384
crc32: 972384aa crc32: 972384aa
# VTech V.Smile Console
- name: vsmile.zip
required: true
category: bios_zip
system: vtech-vsmile
source_ref: "src/mame/vtech/vsmile.cpp:374-404"
note: "MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS. Clone: vsmilem (V.Smile Motion)."
validation: [crc32]
contents:
- name: vsmile_v103.bin
description: "System ROM v1.03 (default, also used on V.Smile Pocket)"
size: 2097152
crc32: 387fbc24
- name: vsmile_v102.bin
description: "System ROM v1.02 (found in fat model systems)"
size: 2097152
crc32: 0cd0bdf5
- name: vsmile_v100.bin
description: "System ROM v1.00"
size: 2097152
crc32: "205c5296"
# Bit Corporation Gamate # Bit Corporation Gamate
- name: gamate.zip - name: gamate.zip
required: true required: true
@@ -1269,6 +1312,24 @@ files:
size: 8192 size: 8192
crc32: a64d450a crc32: a64d450a
# Tandy VIS (Video Information System)
# vis.cpp: vis (parent, WORKING). Tandy/Memorex MD-2500 (1992).
# CD-ROM-based multimedia system built on modified 286 PC hardware.
- name: vis.zip
required: true
category: bios_zip
system: tandy-vis
source_ref: "src/mame/trs/vis.cpp:1062-1066"
contents:
- name: p513bk0b.bin
description: "BIOS bank 0"
size: 524288
crc32: 364e3f74
- name: p513bk1b.bin
description: "BIOS bank 1"
size: 524288
crc32: e18239c4
# Tandy TRS-80 family # Tandy TRS-80 family
# Model I (trs80.cpp): trs80 (Level I, parent, WORKING), trs80l2 (Level II, parent), # Model I (trs80.cpp): trs80 (Level I, parent, WORKING), trs80l2 (Level II, parent),
# eg3003 (EACA Video Genie, parent), sys80/sys80p (clones), ht1080z/ht1080z2/ht108064 (clones). # eg3003 (EACA Video Genie, parent), sys80/sys80p (clones), ht1080z/ht1080z2/ht108064 (clones).
@@ -1571,3 +1632,92 @@ files:
size: 16384 size: 16384
crc32: 65d00401 crc32: 65d00401
# Tomy Tutor
- name: tutor.zip
required: true
category: bios_zip
system: tutor
source_ref: "src/mame/tomy/tutor.cpp:800-803"
note: >-
Tomy Tutor home computer (1983). TMS9995 CPU @10.7MHz, TMS9928A VDP,
SN76489AN sound. 3 machines: tutor (parent, US/UK), pyuuta (clone,
Japan 1982), pyuutajr (separate parent, handheld 1983). Software list
"tutor".
contents:
- name: tutor1.bin
description: "System ROM"
size: 32768
crc32: 702c38ba
- name: tutor2.bin
description: "BASIC ROM"
size: 16384
crc32: 05f228f5
# Philips VG-5000
- name: vg5k.zip
required: true
category: bios_zip
system: philips-vg5k
source_ref: "src/mame/philips/vg5k.cpp:463-472"
note: >-
Philips VG-5000mu home computer (1984). Z80 @4MHz, EF9345 video,
24KB RAM. AZERTY keyboard. Variants: Radiola VG5000, Schneider
VG5000. MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE. Two BASIC
ROM versions (v1.0, v1.1). Software list "vg5k" (cassettes).
contents:
- name: vg5k11.bin
description: "BASIC v1.1 ROM (default)"
size: 16384
crc32: a6f4a0ea
- name: vg5k10.bin
description: "BASIC v1.0 ROM (BAD_DUMP)"
size: 16384
crc32: 57983260
- name: charset.rom
description: "EF9345 character generator (BAD_DUMP, from DCVG5K)"
size: 8192
crc32: b2f49eb3
# Device ROMs — sound chip ROM data
- name: qsound.zip
required: false
category: bios_zip
source_ref: "src/devices/sound/qsound.cpp:121-125"
note: >-
QSound DSP program ROM. Required by qsound_device and
qsound_hle_device for Capcom QSound audio (CPS-2, CPS-3, ZN).
validation: [crc32]
contents:
- name: dl-1425.bin
description: "QSound DSP microcode"
size: 24576
crc32: d6cf5ef5
- name: ym2413.zip
required: false
category: bios_zip
source_ref: "src/devices/sound/ymopl.cpp:218-223"
note: >-
YM2413 (OPLL) instrument ROM table. Required by ym2413_device
for FM synthesis preset instruments.
validation: [crc32]
contents:
- name: ym2413_instruments.bin
description: "OPLL preset instrument table"
size: 144
crc32: 6f582d01
- name: ym2608.zip
required: false
category: bios_zip
source_ref: "src/devices/sound/ymopn.cpp:76-91"
note: >-
YM2608 (OPNA) ADPCM rhythm sample ROM. Required by ym2608_device
for internal rhythm sound source (bass drum, snare, cymbal, hi-hat,
tom, rim shot).
validation: [crc32]
contents:
- name: ym2608_adpcm_rom.bin
description: "OPNA ADPCM rhythm samples"
size: 8192
crc32: 23c9e0d8

View File

@@ -42,6 +42,7 @@ systems:
- supracan - supracan
- ti99 - ti99
- interton-vc4000 - interton-vc4000
- tandy-vis
- trs80 - trs80
notes: | notes: |
@@ -1660,6 +1661,24 @@ files:
size: 16 size: 16
crc32: 0ba78597 crc32: 0ba78597
# Tandy VIS (Video Information System)
# vis.cpp: vis (parent, WORKING). Tandy/Memorex MD-2500 (1992).
# CD-ROM-based multimedia system built on modified 286 PC hardware.
- name: vis.zip
required: true
category: bios_zip
system: tandy-vis
source_ref: "src/mame/trs/vis.cpp:1062-1066"
contents:
- name: p513bk0b.bin
description: "BIOS bank 0"
size: 524288
crc32: 364e3f74
- name: p513bk1b.bin
description: "BIOS bank 1"
size: 524288
crc32: e18239c4
# Tandy TRS-80 family # Tandy TRS-80 family
# Model I (trs80.cpp): trs80 (Level I, parent, WORKING), trs80l2 (Level II, parent), # Model I (trs80.cpp): trs80 (Level I, parent, WORKING), trs80l2 (Level II, parent),
# eg3003 (EACA Video Genie, parent), sys80/sys80p (clones), ht1080z/ht1080z2/ht108064 (clones). # eg3003 (EACA Video Genie, parent), sys80/sys80p (clones), ht1080z/ht1080z2/ht108064 (clones).

View File

@@ -77,11 +77,14 @@ files:
source_ref: "src/SPI.cpp:197-211, src/frontend/Util_ROM.cpp:201-217" source_ref: "src/SPI.cpp:197-211, src/frontend/Util_ROM.cpp:201-217"
- name: dsi_nand.bin - name: dsi_nand.bin
aliases: [DSi_Nand_USA.bin, DSi_Nand_EUR.bin, DSi_Nand_JPN.bin, DSi_Nand_AUS.bin, DSi_Nand_CHN.bin, DSi_Nand_KOR.bin]
system: nintendo-dsi system: nintendo-dsi
description: "DSi NAND dump" description: "DSi NAND dump"
required: true required: true
source_ref: "src/frontend/Util_ROM.cpp:224-235, src/DSi_NAND.cpp" size: 251658304
note: "Uses AES keys from ARM7i BIOS offset 0x8308" storage: large_file
source_ref: "src/frontend/Util_ROM.cpp:224-235, src/DSi_NAND.cpp:58-97"
note: "Any regional dump works. Nocash footer required (DSi eMMC CID/CPU at EOF-0x40 or 0xFF800). AES keys derived from ARM7i BIOS offset 0x8308."
- name: dsi_sd_card.bin - name: dsi_sd_card.bin
system: nintendo-dsi system: nintendo-dsi

View File

@@ -3,13 +3,13 @@ type: libretro
core_classification: game_engine core_classification: game_engine
source: "https://github.com/libretro/xrick-libretro" source: "https://github.com/libretro/xrick-libretro"
upstream: "https://github.com/fabiensanglard/xrick" upstream: "https://github.com/fabiensanglard/xrick"
profiled_date: "2026-03-25" profiled_date: "2026-03-30"
core_version: "1.0.0.6" core_version: "1.0.0.6"
display_name: "Rick Dangerous (XRick)" display_name: "Rick Dangerous (XRick)"
cores: cores:
- xrick - xrick
systems: systems:
- rick-dangerous - xrick
notes: | notes: |
XRick is an open-source reimplementation of the Rick Dangerous engine (Core Design, 1989), XRick is an open-source reimplementation of the Rick Dangerous engine (Core Design, 1989),
@@ -52,7 +52,7 @@ notes: |
files: files:
- name: "xrick/data.zip" - name: "xrick/data.zip"
category: game_data category: game_data
system: rick-dangerous system: xrick
description: "Rick Dangerous sound data (29 WAV files: sfx and music tracks)" description: "Rick Dangerous sound data (29 WAV files: sfx and music tracks)"
required: true required: true
size: 1457440 size: 1457440

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
"platform": "emudeck", "platform": "emudeck",
"display_name": "EmuDeck", "display_name": "EmuDeck",
"version": "1.0", "version": "1.0",
"generated": "2026-03-29T14:02:36Z", "generated": "2026-03-30T07:38:01Z",
"base_destination": "bios", "base_destination": "bios",
"detect": [ "detect": [
{ {
@@ -50,8 +50,8 @@
} }
} }
], ],
"total_files": 270, "total_files": 290,
"total_size": 913637720, "total_size": 717377323,
"files": [ "files": [
{ {
"dest": "colecovision.rom", "dest": "colecovision.rom",
@@ -473,24 +473,6 @@
"Dolphin" "Dolphin"
] ]
}, },
{
"dest": "scph1000.bin",
"sha1": "343883a7b555646da8cee54aadd2795b6e7dd070",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph1000.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph1001.bin",
"sha1": "10155d8d6e6e832d6ea66db9bc098321fb5e8ebf",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph1001.bin",
"cores": [
"DuckStation"
]
},
{ {
"dest": "scph1002a.bin", "dest": "scph1002a.bin",
"sha1": "20b98f3d80f11cbf5a7bfd0779b0e63760ecc62c", "sha1": "20b98f3d80f11cbf5a7bfd0779b0e63760ecc62c",
@@ -500,132 +482,6 @@
"DuckStation" "DuckStation"
] ]
}, },
{
"dest": "scph1002b.bin",
"sha1": "76cf6b1b2a7c571a6ad07f2bac0db6cd8f71e2cc",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph1002b.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph1002c.bin",
"sha1": "b6a11579caef3875504fcf3831b8e3922746df2c",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph1002c.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "dtlh1100.bin",
"sha1": "73107d468fc7cb1d2c5b18b269715dd889ecef06",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/dtlh1100.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph3000.bin",
"sha1": "b06f4a861f74270be819aa2a07db8d0563a7cc4e",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph3000.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph1001_v20.bin",
"sha1": "649895efd79d14790eabb362e94eb0622093dfb9",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph1001_v20.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph3500.bin",
"sha1": "e38466a4ba8005fba7e9e3c7b9efeba7205bee3f",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph3500.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph1001_v21.bin",
"sha1": "ca7af30b50d9756cbd764640126c454cff658479",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph1001_v21.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph5000.bin",
"sha1": "ffa7f9a7fb19d773a0c3985a541c8e5623d2c30d",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph5000.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph7000.bin",
"sha1": "77b10118d21ac7ffa9b35f9c4fd814da240eb3e9",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph7000.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph7000w.bin",
"sha1": "1b0dbdb23da9dc0776aac58d0755dc80fea20975",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph7000w.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph7001.bin",
"sha1": "14df4f6c1e367ce097c11deae21566b4fe5647a9",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph7001.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph7002.bin",
"sha1": "8d5de56a79954f29e9006929ba3fed9b6a418c1d",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph7002.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph100.bin",
"sha1": "339a48f4fcf63e10b5b867b8c93cfd40945faf6c",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph100.bin",
"cores": [
"DuckStation"
]
},
{
"dest": "scph101_v44.bin",
"sha1": "7771d6e90980408f753891648685def6dd42ef6d",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph101_v44.bin",
"cores": [
"DuckStation"
]
},
{ {
"dest": "scph101_v45.bin", "dest": "scph101_v45.bin",
"sha1": "dcffe16bd90a723499ad46c641424981338d8378", "sha1": "dcffe16bd90a723499ad46c641424981338d8378",
@@ -653,15 +509,6 @@
"DuckStation" "DuckStation"
] ]
}, },
{
"dest": "scph1000r.bin",
"sha1": "7082bd57141fa0007b3adcd031f7ba23a20108a0",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/scph1000r.bin",
"cores": [
"DuckStation"
]
},
{ {
"dest": "ps2_scph18000.bin", "dest": "ps2_scph18000.bin",
"sha1": "d7d6be084f51354bc951d8fa2d8d912aa70abc5e", "sha1": "d7d6be084f51354bc951d8fa2d8d912aa70abc5e",
@@ -2111,6 +1958,42 @@
"MAME" "MAME"
] ]
}, },
{
"dest": "astrocde.zip",
"sha1": "8641b09be090c0dc45f4ee5459fec3cc6fb9d78e",
"size": 6800,
"repo_path": "bios/Bally/Astrocade/astrocde.zip",
"cores": [
"MAME"
]
},
{
"dest": "apple2gs.zip",
"sha1": "799e2fc90d6bfd8cb74e331e04d5afd36f2f21a1",
"size": 174124,
"repo_path": "bios/Apple/Apple II/apple2gs.zip",
"cores": [
"MAME"
]
},
{
"dest": "casloopy.zip",
"sha1": "144ea9d0f20113632dde6d21c62a01c02cf7666d",
"size": 478191,
"repo_path": "bios/Casio/Loopy/casloopy.zip",
"cores": [
"MAME"
]
},
{
"dest": "pv2000.zip",
"sha1": "c18f460301177b64bbfcbedc3010e734d0803d4c",
"size": 13622,
"repo_path": "bios/Casio/PV-2000/pv2000.zip",
"cores": [
"MAME"
]
},
{ {
"dest": "adam.zip", "dest": "adam.zip",
"sha1": "dc4b77cd3ac45cf448e427eff5c0a7b138fd9d81", "sha1": "dc4b77cd3ac45cf448e427eff5c0a7b138fd9d81",
@@ -2219,6 +2102,303 @@
"MAME" "MAME"
] ]
}, },
{
"dest": "beena.zip",
"sha1": "f63eca9a1b1e92ee1582ff5e4c0db55193f97e33",
"size": 85176,
"repo_path": "bios/Sega/Beena/beena.zip",
"cores": [
"MAME"
]
},
{
"dest": "rx78.zip",
"sha1": "b3a26e21574395a279a37922238802b349c303b7",
"size": 6397,
"repo_path": "bios/Bandai/RX-78/rx78.zip",
"cores": [
"MAME"
]
},
{
"dest": "segaai.zip",
"sha1": "39a0fec854e438f6757882604a8dc56e62e401d9",
"size": 343220,
"repo_path": "bios/Sega/AI/segaai.zip",
"cores": [
"MAME"
]
},
{
"dest": "segaai_soundbox.zip",
"sha1": "d90e0b3545e60c59c20a7fb32d0785f6c3abbf60",
"size": 47380,
"repo_path": "bios/Arcade/MAME/segaai_soundbox.zip",
"cores": [
"MAME"
]
},
{
"dest": "lynx48k.zip",
"sha1": "64947e9b7d17870839aba5d93217183d480ff897",
"size": 25078,
"repo_path": "bios/Camputers/Lynx/lynx48k.zip",
"cores": [
"MAME"
]
},
{
"dest": "lynx96k.zip",
"sha1": "df95ea702606e88b4c906a0233c8fec54c02ff01",
"size": 32888,
"repo_path": "bios/Camputers/Lynx/lynx96k.zip",
"cores": [
"MAME"
]
},
{
"dest": "lynx128k.zip",
"sha1": "5300a352007976102d61d53f1e8c48063d2f3026",
"size": 24796,
"repo_path": "bios/Camputers/Lynx/lynx128k.zip",
"cores": [
"MAME"
]
},
{
"dest": "crvision.zip",
"sha1": "87526fb12fabbcc01292dd01dc698fdc762ab7dc",
"size": 441619,
"repo_path": "bios/VTech/CreatiVision/crvision.zip",
"cores": [
"MAME"
]
},
{
"dest": "laser310.zip",
"sha1": "9fa5f366c4ec43d7c23f03f054733894bf42912f",
"size": 42630,
"repo_path": "bios/VTech/Laser 310/laser310.zip",
"cores": [
"MAME"
]
},
{
"dest": "socrates.zip",
"sha1": "6bbaa8f73027eaca2c6988ee3b9b3f3b0b29d18e",
"size": 218299,
"repo_path": "bios/VTech/Socrates/socrates.zip",
"cores": [
"MAME"
]
},
{
"dest": "vsmile.zip",
"sha1": "65e526ae3e4795a9186c53c7428d8b946170befe",
"size": 3078731,
"repo_path": "bios/VTech/V.Smile/vsmile.zip",
"cores": [
"MAME"
]
},
{
"dest": "gamate.zip",
"sha1": "e99667ea5cfe6a5eceb53faaa39cdda0cbf69c69",
"size": 5072,
"repo_path": "bios/Bit Corporation/Gamate/gamate.zip",
"cores": [
"MAME"
]
},
{
"dest": "gamepock.zip",
"sha1": "83e94c56f2fc4ab60de94021a1283cca09d65ee5",
"size": 3455,
"repo_path": "bios/Epoch/Game Pocket/gamepock.zip",
"cores": [
"MAME"
]
},
{
"dest": "gmaster.zip",
"sha1": "a89263689f19e046dab6dadea24c5d07270548a6",
"size": 1686,
"repo_path": "bios/Hartung/Game Master/gmaster.zip",
"cores": [
"MAME"
]
},
{
"dest": "gamecom.zip",
"sha1": "e0f5e2eced447abf9948342b2facc40179f0f527",
"size": 145138,
"repo_path": "bios/Tiger/Game.com/gamecom.zip",
"cores": [
"MAME"
]
},
{
"dest": "gp32.zip",
"sha1": "35def9830e797fb0788740b5da0a7202933554df",
"size": 1378301,
"repo_path": "bios/GamePark/GP32/gp32.zip",
"cores": [
"MAME"
]
},
{
"dest": "fm7.zip",
"sha1": "1c29ba16151255cd916f49ea25570956f1353b71",
"size": 104276,
"repo_path": "bios/Fujitsu/FM Towns/fm7.zip",
"cores": [
"MAME"
]
},
{
"dest": "fm77av.zip",
"sha1": "b558bb5472cfa727dccab92229c66afa0d64404f",
"size": 46921,
"repo_path": "bios/Fujitsu/FM Towns/fm77av.zip",
"cores": [
"MAME"
]
},
{
"dest": "pegasus.zip",
"sha1": "fc10ef402bcac78c70e1cff57d51613fa12202f9",
"size": 27305,
"repo_path": "bios/Arcade/MAME/pegasus.zip",
"cores": [
"MAME"
]
},
{
"dest": "pcw8256.zip",
"sha1": "f8a11b4e03bb8c3caee604ca591676eab6535d1b",
"size": 1710,
"repo_path": "bios/Amstrad/PCW/pcw8256.zip",
"cores": [
"MAME"
]
},
{
"dest": "pcw9512.zip",
"sha1": "844988dc5a36917b002d0140d3a7692d1407f783",
"size": 2625,
"repo_path": "bios/Amstrad/PCW/pcw9512.zip",
"cores": [
"MAME"
]
},
{
"dest": "vis.zip",
"sha1": "beff39b4edb449c66b704e1c64ee6ed58e30a868",
"size": 605047,
"repo_path": "bios/Tandy/VIS/vis.zip",
"cores": [
"MAME"
]
},
{
"dest": "trs80.zip",
"sha1": "a9b8931c42303e8dfb475112fc18ff200b7252ce",
"size": 14558,
"repo_path": "bios/Tandy/TRS-80/trs80.zip",
"cores": [
"MAME"
]
},
{
"dest": "trs80m3.zip",
"sha1": "b804a031c8db6def59e077a4b6938dcac25093d7",
"size": 32854,
"repo_path": "bios/Tandy/TRS-80/trs80m3.zip",
"cores": [
"MAME"
]
},
{
"dest": "trs80m4.zip",
"sha1": "bc58ac28be4854fb198b895c7fd999f599b5a961",
"size": 25371,
"repo_path": "bios/Tandy/TRS-80/trs80m4.zip",
"cores": [
"MAME"
]
},
{
"dest": "trs80m4p.zip",
"sha1": "497eea6e0ed80501ca3beee714d71a5815495b07",
"size": 4880,
"repo_path": "bios/Tandy/TRS-80/trs80m4p.zip",
"cores": [
"MAME"
]
},
{
"dest": "ti99_4a.zip",
"sha1": "e05575b630bea7ff98b9ca1f083d745abb3110b6",
"size": 21377,
"repo_path": "bios/Texas Instruments/TI-99/ti99_4a.zip",
"cores": [
"MAME"
]
},
{
"dest": "ti99_speech.zip",
"sha1": "b58fe2dbbc254d363c2ec4a459e6ec1d91b2ac86",
"size": 31206,
"repo_path": "bios/Arcade/Arcade/ti99_speech.zip",
"cores": [
"MAME"
]
},
{
"dest": "tutor.zip",
"sha1": "273dbb7a93eb0ab83c2e13e9db51b897cc18f838",
"size": 34653,
"repo_path": "bios/Tomy/Tutor/tutor.zip",
"cores": [
"MAME"
]
},
{
"dest": "vg5k.zip",
"sha1": "5ad489a58fc457d2bfb7a348f4a312c3b49daad1",
"size": 26356,
"repo_path": "bios/Arcade/MAME/vg5k.zip",
"cores": [
"MAME"
]
},
{
"dest": "qsound.zip",
"sha1": "f1ccedb2c6e8f15cfebab52c3923e4b35f4df43f",
"size": 2654,
"repo_path": "bios/Arcade/Arcade/qsound.zip",
"cores": [
"MAME"
]
},
{
"dest": "ym2413.zip",
"sha1": "900e8c6cd152704a79905b6838fe3229c9499f8c",
"size": 286,
"repo_path": "bios/Arcade/MAME/ym2413.zip",
"cores": [
"MAME"
]
},
{
"dest": "ym2608.zip",
"sha1": "06fc753d015b43ca1787f4cfd9331b1674202e64",
"size": 7609,
"repo_path": "bios/Arcade/Arcade/ym2608.zip",
"cores": [
"MAME"
]
},
{ {
"dest": "dsi_bios9.bin", "dest": "dsi_bios9.bin",
"sha1": "db61fa39ddbc5f5ed71fb19cda47609ef0201723", "sha1": "db61fa39ddbc5f5ed71fb19cda47609ef0201723",
@@ -2246,17 +2426,6 @@
"melonDS" "melonDS"
] ]
}, },
{
"dest": "dsi_nand.bin",
"sha1": "b48f44194fe918aaaec5298861479512b581d661",
"size": 251658304,
"repo_path": ".cache/large/dsi_nand.bin",
"cores": [
"melonDS"
],
"storage": "release",
"release_asset": "dsi_nand.bin"
},
{ {
"dest": "dsi_sd_card.bin", "dest": "dsi_sd_card.bin",
"sha1": "3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3", "sha1": "3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3",
@@ -2365,6 +2534,17 @@
"shadps4" "shadps4"
] ]
}, },
{
"dest": "psvita/PSP2UPDAT.PUP",
"sha1": "3ae832c9800fcaa007eccfc48f24242967c111f8",
"size": 56768512,
"repo_path": "bios/Sony/PlayStation Vita/.variants/PSP2UPDAT.PUP",
"cores": [
"Vita3K"
],
"storage": "release",
"release_asset": "PSP2UPDAT.PUP"
},
{ {
"dest": "Complex_4627.bin", "dest": "Complex_4627.bin",
"sha1": "3944392c954cfb176d4210544e88353b3c5d36b1", "sha1": "3944392c954cfb176d4210544e88353b3c5d36b1",

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
"platform": "romm", "platform": "romm",
"display_name": "RomM", "display_name": "RomM",
"version": "1.0", "version": "1.0",
"generated": "2026-03-29T14:04:16Z", "generated": "2026-03-30T07:40:45Z",
"base_destination": "bios", "base_destination": "bios",
"detect": [ "detect": [
{ {
@@ -13,8 +13,8 @@
} }
], ],
"standalone_copies": [], "standalone_copies": [],
"total_files": 545, "total_files": 638,
"total_size": 1197706137, "total_size": 1316397979,
"files": [ "files": [
{ {
"dest": "3do/3do_arcade_saot.bin", "dest": "3do/3do_arcade_saot.bin",
@@ -2623,12 +2623,21 @@
"cores": null "cores": null
}, },
{ {
"dest": "psxonpsp660.bin", "dest": "BB01R4_OS.ROM",
"sha1": "96880d1ca92a016ff054be5159bb06fe03cb4e14", "sha1": "decde89fbae90adb591ad2fc553d35f49030c129",
"size": 524288, "size": 16384,
"repo_path": "bios/Sony/PlayStation/psxonpsp660.bin", "repo_path": "bios/Atari/400-800/BB01R4_OS.ROM",
"cores": [ "cores": [
"Beetle PSX (Mednafen PSX)" "Atari800"
]
},
{
"dest": "XEGAME.ROM",
"sha1": "a107db7f16a1129cf9d933c9cf4f013b068c9e82",
"size": 8192,
"repo_path": "bios/Atari/400-800/XEGAME.ROM",
"cores": [
"Atari800"
] ]
}, },
{ {
@@ -2640,6 +2649,98 @@
"Beetle PSX (Mednafen PSX)" "Beetle PSX (Mednafen PSX)"
] ]
}, },
{
"dest": "openbios.bin",
"sha1": "389df7981873d9e6e46c84c20cd43af0e4226cf8",
"size": 524288,
"repo_path": "bios/Sony/PlayStation/openbios.bin",
"cores": [
"Beetle PSX (Mednafen PSX)"
]
},
{
"dest": "cromwell_1024.bin",
"sha1": "4e1c2c2ee308ca4591542b3ca48653f65fae6e0f",
"size": 1048576,
"repo_path": "bios/Microsoft/Xbox/cromwell_1024.bin",
"cores": [
"DirectXBox"
]
},
{
"dest": "GC/dsp_rom.bin",
"sha1": "f4f683a49d7eb4155566f793f2c1c27e90159992",
"size": 8192,
"repo_path": "bios/Nintendo/GameCube/Sys/GC/dsp_rom.bin",
"cores": [
"Dolphin"
]
},
{
"dest": "GC/dsp_coef.bin",
"sha1": "c116d867ba001dcd6bf6d399ff4bf38d340f556c",
"size": 4096,
"repo_path": "bios/Nintendo/GameCube/.variants/dsp_coef.bin.c116d867",
"cores": [
"Dolphin"
]
},
{
"dest": "Wii/shared2/sys/SYSCONF",
"sha1": "3256c026284a24fb99d2ec1558d95db3b5dcc2e9",
"size": 16384,
"repo_path": "bios/Nintendo/Wii/SYSCONF",
"cores": [
"Dolphin"
]
},
{
"dest": "Wii/title/00000001/00000002/data/setting.txt",
"sha1": "077a31ce116de322f089a627c5eb7ff5c2236a5d",
"size": 256,
"repo_path": "bios/Nintendo/Wii/setting.txt",
"cores": [
"Dolphin"
]
},
{
"dest": "Load/WiiSD.raw",
"sha1": "90d83d6c084deceeeb0466ac00723723ccfd0c6d",
"size": 134217728,
"repo_path": "bios/Nintendo/Wii/WiiSD.raw",
"cores": [
"Dolphin"
],
"storage": "release",
"release_asset": "WiiSD.raw"
},
{
"dest": "Wii/clientca.pem",
"sha1": "4b937d4e81de11574b926386dd5f768aa23bf177",
"size": 1005,
"repo_path": "bios/Nintendo/Wii/clientca.pem",
"cores": [
"Dolphin"
]
},
{
"dest": "Wii/clientcakey.pem",
"sha1": "a2c11886e6d12a135e1d5eb50d5fe92e028577d9",
"size": 609,
"repo_path": "bios/Nintendo/Wii/clientcakey.pem",
"cores": [
"Dolphin"
]
},
{
"dest": "Wii/rootca.pem",
"sha1": "b5229455dd26c1f53c73060e9089b391389e1f75",
"size": 897,
"repo_path": "bios/Nintendo/Wii/rootca.pem",
"cores": [
"Dolphin"
]
},
{ {
"dest": "MT32_CONTROL.ROM", "dest": "MT32_CONTROL.ROM",
"sha1": "b083518fffb7f66b03c23b7eb4f868e62dc5a987", "sha1": "b083518fffb7f66b03c23b7eb4f868e62dc5a987",
@@ -2694,6 +2795,33 @@
"DOSBox Pure" "DOSBox Pure"
] ]
}, },
{
"dest": "ep128emu/roms/exdos14isdos10uk.rom",
"sha1": "b82e21b6e3214432b6dc13f650e97de88fc90a72",
"size": 32768,
"repo_path": "bios/Enterprise/64-128/exdos14isdos10uk.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/epdos16f.rom",
"sha1": "9a9eac31e601a1ab0f7a5d2b13175d092fa84bd3",
"size": 32768,
"repo_path": "bios/Enterprise/64-128/epdos16f.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/zx128.rom",
"sha1": "16375d42ea109b47edded7a16028de7fdb3013a1",
"size": 32768,
"repo_path": "bios/Enterprise/64-128/zx128.rom",
"cores": [
"ep128emu-core"
]
},
{ {
"dest": "fbalpha2012/hiscore.dat", "dest": "fbalpha2012/hiscore.dat",
"sha1": "7381472bf046126257e51a0124e4553282f020e5", "sha1": "7381472bf046126257e51a0124e4553282f020e5",
@@ -3063,6 +3191,53 @@
"Handy" "Handy"
] ]
}, },
{
"dest": "hatari/BOOT.ST",
"sha1": "5bcabba35bb8fbfe5a65b85efccf5ed657388308",
"size": 737280,
"repo_path": "bios/Atari/ST/hatari/BOOT.ST",
"cores": [
"Hatari"
]
},
{
"dest": "Wii/sd.raw",
"sha1": "8c8134f08b2e3baa603206ede30d3935365009b8",
"size": 134217728,
"repo_path": "bios/Nintendo/Wii/sd.raw",
"cores": [
"Ishiiruka"
],
"storage": "release",
"release_asset": "sd.raw"
},
{
"dest": "pcsx2/resources/GameIndex.yaml",
"sha1": "b22389650f6c0a1e276b48213fed8a9c1c6476ce",
"size": 2669341,
"repo_path": "bios/Sony/PlayStation 2/GameIndex.yaml",
"cores": [
"LRPS2"
]
},
{
"dest": "pcsx2/resources/cheats_ws.zip",
"sha1": "773b4279d8c8e182dc57e444dbf448a1d115e7e0",
"size": 1273296,
"repo_path": "bios/Sony/PlayStation 2/cheats_ws.zip",
"cores": [
"LRPS2"
]
},
{
"dest": "pcsx2/resources/cheats_ni.zip",
"sha1": "dec5e4f137890c338babe13cfb9d41ff869fa721",
"size": 42525,
"repo_path": "bios/Sony/PlayStation 2/cheats_ni.zip",
"cores": [
"LRPS2"
]
},
{ {
"dest": "mame2003/cheat.dat", "dest": "mame2003/cheat.dat",
"sha1": "32fc78415114a976af9c2ee53ea13de9f40b55ee", "sha1": "32fc78415114a976af9c2ee53ea13de9f40b55ee",
@@ -3234,17 +3409,6 @@
"melonDS" "melonDS"
] ]
}, },
{
"dest": "dsi_nand.bin",
"sha1": "b48f44194fe918aaaec5298861479512b581d661",
"size": 251658304,
"repo_path": ".cache/large/dsi_nand.bin",
"cores": [
"melonDS"
],
"storage": "release",
"release_asset": "dsi_nand.bin"
},
{ {
"dest": "dsi_sd_card.bin", "dest": "dsi_sd_card.bin",
"sha1": "3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3", "sha1": "3b71f43ff30f4b15b5cd85dd9e95ebc7e84eb5a3",
@@ -3254,6 +3418,15 @@
"melonDS" "melonDS"
] ]
}, },
{
"dest": "MacIIx.ROM",
"sha1": "753b94351d94c369616c2c87b19d568dc5e2764e",
"size": 262144,
"repo_path": "bios/Apple/Macintosh II/MacIIx.ROM",
"cores": [
"Mini vMac"
]
},
{ {
"dest": "Mupen64plus/IPL.n64", "dest": "Mupen64plus/IPL.n64",
"sha1": "bf861922dcb78c316360e3e742f4f70ff63c9bc3", "sha1": "bf861922dcb78c316360e3e742f4f70ff63c9bc3",
@@ -3272,6 +3445,33 @@
"Mupen64Plus-Next" "Mupen64Plus-Next"
] ]
}, },
{
"dest": "np2/bios9821.rom",
"sha1": "2e92346727b0355bc1ec9a7ded1b444a4917f2b9",
"size": 98304,
"repo_path": "bios/NEC/PC-98/bios9821.rom",
"cores": [
"nekop2"
]
},
{
"dest": "np2/scsi.rom",
"sha1": "3d7166f05daad1b022fa04c2569e788580158095",
"size": 8192,
"repo_path": "bios/NEC/PC-98/scsi.rom",
"cores": [
"nekop2"
]
},
{
"dest": "np2/sasi.rom",
"sha1": "b607707d74b5a7d3ba211825de31a8f32aec8146",
"size": 4096,
"repo_path": "bios/NEC/PC-98/sasi.rom",
"cores": [
"nekop2"
]
},
{ {
"dest": "custom.pal", "dest": "custom.pal",
"sha1": "c7635019127aa28d84d28ae48304bfca6d5baefb", "sha1": "c7635019127aa28d84d28ae48304bfca6d5baefb",
@@ -3281,6 +3481,33 @@
"Nestopia UE" "Nestopia UE"
] ]
}, },
{
"dest": "np2kai/ide.rom",
"sha1": "0877ffb4b4d1c18283468be3579b72ed8c22e3ac",
"size": 8192,
"repo_path": "bios/NEC/PC-98/ide.rom",
"cores": [
"NP2kai"
]
},
{
"dest": "np2kai/pci.rom",
"sha1": "1246203bebf9f04e3bac2df7fc64719304f9f1bd",
"size": 32768,
"repo_path": "bios/NEC/PC-98/pci.rom",
"cores": [
"NP2kai"
]
},
{
"dest": "eeprom.dat",
"sha1": "ffc6261e487efa8c7442069f71acfc4aa826993d",
"size": 64,
"repo_path": "bios/Sony/PlayStation 2/eeprom.dat",
"cores": [
"PCSX2"
]
},
{ {
"dest": "carthw.cfg", "dest": "carthw.cfg",
"sha1": "d3fe0b958705e4cb5eeb7822e60d474204df4bd3", "sha1": "d3fe0b958705e4cb5eeb7822e60d474204df4bd3",
@@ -3515,6 +3742,15 @@
"PUAE (P-UAE)" "PUAE (P-UAE)"
] ]
}, },
{
"dest": "keropi/cgrom.tmp",
"sha1": "8d72c5b4d63bb14c5dbdac495244d659aa1498b6",
"size": 786432,
"repo_path": "bios/Sharp/X68000/cgrom.dat",
"cores": [
"px68k"
]
},
{ {
"dest": "same_cdi/bios/cdimono1.zip", "dest": "same_cdi/bios/cdimono1.zip",
"sha1": "5d0b1b55b0d0958a5c9069c3219d4da5a87a6b93", "sha1": "5d0b1b55b0d0958a5c9069c3219d4da5a87a6b93",
@@ -3561,12 +3797,93 @@
] ]
}, },
{ {
"dest": "BIOS.col", "dest": "squirreljme-0.3.0-fast.jar",
"sha1": "45bedc4cbdeac66c7df59e9e599195c778d86a92", "sha1": "7c4cd0a5451eedeac9b328f48408dbc312198ccf",
"size": 8192, "size": 2367241,
"repo_path": "bios/Coleco/ColecoVision/BIOS.col", "repo_path": "bios/Other/SquirrelJME/squirreljme-0.3.0-fast.jar",
"cores": [ "cores": [
"SMS Plus GX" "SquirrelJME"
]
},
{
"dest": "squirreljme-0.3.0.jar",
"sha1": "8a2ddc37df2366d4e205e9904cd8bac22db2afd5",
"size": 15181774,
"repo_path": "bios/Java/J2ME/squirreljme.sqc",
"cores": [
"SquirrelJME"
]
},
{
"dest": "squirreljme-0.3.0-test.jar",
"sha1": "600cf0440594b0c69339ba4b626a47288b342d77",
"size": 3396757,
"repo_path": "bios/Java/J2ME/squirreljme-test.jar",
"cores": [
"SquirrelJME"
]
},
{
"dest": "squirreljme-0.3.0-slow.jar",
"sha1": "3a23de6999b94fc088bdd9c9e4a73781a1d42233",
"size": 3129653,
"repo_path": "bios/Other/SquirrelJME/squirreljme-0.3.0-slow.jar",
"cores": [
"SquirrelJME"
]
},
{
"dest": "squirreljme-0.3.0-slow-test.jar",
"sha1": "b411c128bfd8411f339a49bbcb1c9e97189c2161",
"size": 3772058,
"repo_path": "bios/Other/SquirrelJME/squirreljme-0.3.0-slow-test.jar",
"cores": [
"SquirrelJME"
]
},
{
"dest": "squirreljme-fast.jar",
"sha1": "8a2ddc37df2366d4e205e9904cd8bac22db2afd5",
"size": 15181774,
"repo_path": "bios/Java/J2ME/squirreljme.sqc",
"cores": [
"SquirrelJME"
]
},
{
"dest": "squirreljme.jar",
"sha1": "6933bbe1fc29f58581a7f64f859f756db9ef78a7",
"size": 4700395,
"repo_path": "bios/Java/J2ME/squirreljme.jar",
"cores": [
"SquirrelJME"
]
},
{
"dest": "squirreljme-test.jar",
"sha1": "600cf0440594b0c69339ba4b626a47288b342d77",
"size": 3396757,
"repo_path": "bios/Java/J2ME/squirreljme-test.jar",
"cores": [
"SquirrelJME"
]
},
{
"dest": "squirreljme-slow.jar",
"sha1": "8a2ddc37df2366d4e205e9904cd8bac22db2afd5",
"size": 15181774,
"repo_path": "bios/Java/J2ME/squirreljme.sqc",
"cores": [
"SquirrelJME"
]
},
{
"dest": "squirreljme-slow-test.jar",
"sha1": "8a2ddc37df2366d4e205e9904cd8bac22db2afd5",
"size": 15181774,
"repo_path": "bios/Java/J2ME/squirreljme.sqc",
"cores": [
"SquirrelJME"
] ]
}, },
{ {
@@ -3722,6 +4039,51 @@
"VICE xvic" "VICE xvic"
] ]
}, },
{
"dest": "xmil/IPLROM.X1",
"sha1": "c4db9a6e99873808c8022afd1c50fef556a8b44d",
"size": 4096,
"repo_path": "bios/Sharp/X1/.variants/IPLROM.X1.c4db9a6e",
"cores": [
"X Millennium"
]
},
{
"dest": "xmil/IPLROM.X1T",
"sha1": "44620f57a25f0bcac2b57ca2b0f1ebad3bf305d3",
"size": 32768,
"repo_path": "bios/Sharp/X1/.variants/IPLROM.X1T.44620f57",
"cores": [
"X Millennium"
]
},
{
"dest": "xmil/FNT0816.X1",
"sha1": "4f06d20c997a79ee6af954b69498147789bf1847",
"size": 4096,
"repo_path": "bios/Sharp/X1/FNT0816.X1",
"cores": [
"X Millennium"
]
},
{
"dest": "xmil/FNT1616.X1",
"sha1": "b9e6c320611f0842df6f45673c47c3e23bc14272",
"size": 306176,
"repo_path": "bios/Sharp/X1/FNT1616.X1",
"cores": [
"X Millennium"
]
},
{
"dest": "xbox_hdd.qcow2",
"sha1": "9da5f9ecfb1c9c32efa616f0300d02e8f702244d",
"size": 1638400,
"repo_path": "bios/Microsoft/Xbox/xbox_hdd.qcow2",
"cores": [
"Xemu"
]
},
{ {
"dest": "channelf.zip", "dest": "channelf.zip",
"sha1": "1cb23b462b990241013deb4b5e07ce741af28267", "sha1": "1cb23b462b990241013deb4b5e07ce741af28267",
@@ -4127,6 +4489,213 @@
"FinalBurn Neo" "FinalBurn Neo"
] ]
}, },
{
"dest": "GC/USA/IPL.bin",
"sha1": "a1837968288253ed541f2b11440b68f5a9b33875",
"size": 2097152,
"repo_path": "bios/Nintendo/GameCube/GC/JAP/IPL.bin",
"cores": [
"Dolphin"
]
},
{
"dest": "GC/EUR/IPL.bin",
"sha1": "a1837968288253ed541f2b11440b68f5a9b33875",
"size": 2097152,
"repo_path": "bios/Nintendo/GameCube/GC/JAP/IPL.bin",
"cores": [
"Dolphin"
]
},
{
"dest": "GC/JAP/IPL.bin",
"sha1": "a1837968288253ed541f2b11440b68f5a9b33875",
"size": 2097152,
"repo_path": "bios/Nintendo/GameCube/GC/JAP/IPL.bin",
"cores": [
"Dolphin"
]
},
{
"dest": "GBA/gba_bios.bin",
"sha1": "300c20df6731a33952ded8c436f7f186d25d3492",
"size": 16384,
"repo_path": "bios/Nintendo/Game Boy Advance/GBA_bios.rom",
"cores": [
"Dolphin"
]
},
{
"dest": "ep128emu/roms/exos21.rom",
"sha1": "55315b20fecb4441a07ee4bc5dc7153f396e0a2e",
"size": 32768,
"repo_path": "bios/Enterprise/64-128/exos21.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/exos20.rom",
"sha1": "6033a0535136c40c47137e4d1cd9273c06d5fdff",
"size": 32768,
"repo_path": "bios/Enterprise/64-128/exos20.bin",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/exos24uk.rom",
"sha1": "cf12e971623a54bf8c4f891ca3a36d969f205c49",
"size": 65536,
"repo_path": "bios/Enterprise/64-128/exos24uk.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/basic21.rom",
"sha1": "03bbb386cf530e804363acdfc1d13e64cf28af2e",
"size": 16384,
"repo_path": "bios/Enterprise/64-128/basic21.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/basic20.rom",
"sha1": "61d0987b906146e21b94f265d5b51b4938c986a9",
"size": 16384,
"repo_path": "bios/Enterprise/64-128/basic20.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/exdos13.rom",
"sha1": "cb43ab3676b93c279f1ed8ffcb0d4dcd4b34e631",
"size": 32768,
"repo_path": "bios/Enterprise/64-128/exdos13.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/epfileio.rom",
"sha1": "2f9077bcd89b1ec42dbdcd55d335bdbaf361eff3",
"size": 16384,
"repo_path": "bios/Enterprise/64-128/epfileio.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/zt19uk.rom",
"sha1": "b7af62f0bc95fdca4b31d236f8327dafc80f83b7",
"size": 32768,
"repo_path": "bios/Enterprise/64-128/zt19uk.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/hun.rom",
"sha1": "325a5e28c2a0d896711f8829e7ff14fed5dd4103",
"size": 16384,
"repo_path": "bios/Enterprise/64-128/hun.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/brd.rom",
"sha1": "f34f0c330b44dbf2548329bea954d5991dec30ca",
"size": 16384,
"repo_path": "bios/Enterprise/64-128/brd.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/tvc22_sys.rom",
"sha1": "f2572ee83d09fc08f4de4a62f101c8bb301a9505",
"size": 16384,
"repo_path": "bios/Enterprise/64-128/tvc22_sys.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/tvc22_ext.rom",
"sha1": "abf119cf947ea32defd08b29a8a25d75f6bd4987",
"size": 8192,
"repo_path": "bios/Enterprise/64-128/tvc22_ext.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/tvcfileio.rom",
"sha1": "98889c3a56b11dedf077f866ed2e12d51b604113",
"size": 8192,
"repo_path": "bios/Enterprise/64-128/tvcfileio.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/tvc_dos12d.rom",
"sha1": "072c6160d4e7d406f5d8f5b1b66066c797d35561",
"size": 16384,
"repo_path": "bios/Enterprise/64-128/tvc_dos12d.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/cpc464.rom",
"sha1": "56d39c463da60968d93e58b4ba0e675829412a20",
"size": 32768,
"repo_path": "bios/Amstrad/CPC/cpc464.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/cpc664.rom",
"sha1": "073a7665527b5bd8a148747a3947dbd3328682c8",
"size": 32768,
"repo_path": "bios/Amstrad/CPC/cpc664.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/cpc6128.rom",
"sha1": "5977adbad3f7c1e0e082cd02fe76a700d9860c30",
"size": 32768,
"repo_path": "bios/Amstrad/CPC/cpc6128.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/cpc_amsdos.rom",
"sha1": "39102c8e9cb55fcc0b9b62098780ed4a3cb6a4bb",
"size": 16384,
"repo_path": "bios/Amstrad/CPC/amsdos.rom",
"cores": [
"ep128emu-core"
]
},
{
"dest": "ep128emu/roms/zx48.rom",
"sha1": "5ea7c2b824672e914525d1d5c419d71b84a426a2",
"size": 16384,
"repo_path": "bios/Enterprise/64-128/zx48.rom",
"cores": [
"ep128emu-core"
]
},
{ {
"dest": "fbneo/hiscore.dat", "dest": "fbneo/hiscore.dat",
"sha1": "7381472bf046126257e51a0124e4553282f020e5", "sha1": "7381472bf046126257e51a0124e4553282f020e5",
@@ -4180,6 +4749,276 @@
"cores": [ "cores": [
"MAME 2003-Plus" "MAME 2003-Plus"
] ]
},
{
"dest": "np2/bios.rom",
"sha1": "1f5f7013f18c08ff50d7942e76c4fbd782412414",
"size": 65536,
"repo_path": "bios/IBM/PC/ibmpcjr/bios.rom",
"cores": [
"nekop2"
]
},
{
"dest": "np2/font.bmp",
"sha1": "b4f14e58030ed40fff2dc312b58ea4440bdf8cc5",
"size": 524350,
"repo_path": "bios/NEC/PC-98/font.bmp",
"cores": [
"nekop2"
]
},
{
"dest": "np2/sound.rom",
"sha1": "d5dbc4fea3b8367024d363f5351baecd6adcd8ef",
"size": 16384,
"repo_path": "bios/NEC/PC-98/sound.rom",
"cores": [
"nekop2"
]
},
{
"dest": "np2/2608_bd.wav",
"sha1": "0a56c142ef40cec50f3ee56a6e42d0029c9e2818",
"size": 19192,
"repo_path": "bios/NEC/PC-98/2608_bd.wav",
"cores": [
"nekop2"
]
},
{
"dest": "np2/2608_sd.wav",
"sha1": "3c79663ef74c0b0439d13351326eb1c52a657008",
"size": 15558,
"repo_path": "bios/NEC/PC-98/2608_sd.wav",
"cores": [
"nekop2"
]
},
{
"dest": "np2/2608_top.wav",
"sha1": "aa4a8f766a86b830687d5083fd3b9db0652f46fc",
"size": 57016,
"repo_path": "bios/NEC/PC-98/2608_top.wav",
"cores": [
"nekop2"
]
},
{
"dest": "np2/2608_hh.wav",
"sha1": "12f676cef249b82480b6f19c454e234b435ca7b6",
"size": 36722,
"repo_path": "bios/NEC/PC-98/2608_hh.wav",
"cores": [
"nekop2"
]
},
{
"dest": "np2/2608_tom.wav",
"sha1": "9513fb4a3f41e75a972a273a5104cbd834c1e2c5",
"size": 23092,
"repo_path": "bios/NEC/PC-98/2608_tom.wav",
"cores": [
"nekop2"
]
},
{
"dest": "np2/2608_rim.wav",
"sha1": "c65592330c9dd84011151daed52f9aec926b7e56",
"size": 5288,
"repo_path": "bios/NEC/PC-98/2608_rim.wav",
"cores": [
"nekop2"
]
},
{
"dest": "np2kai/bios.rom",
"sha1": "1f5f7013f18c08ff50d7942e76c4fbd782412414",
"size": 65536,
"repo_path": "bios/IBM/PC/ibmpcjr/bios.rom",
"cores": [
"NP2kai"
]
},
{
"dest": "np2kai/font.bmp",
"sha1": "b4f14e58030ed40fff2dc312b58ea4440bdf8cc5",
"size": 524350,
"repo_path": "bios/NEC/PC-98/font.bmp",
"cores": [
"NP2kai"
]
},
{
"dest": "np2kai/sound.rom",
"sha1": "d5dbc4fea3b8367024d363f5351baecd6adcd8ef",
"size": 16384,
"repo_path": "bios/NEC/PC-98/sound.rom",
"cores": [
"NP2kai"
]
},
{
"dest": "np2kai/2608_bd.wav",
"sha1": "0a56c142ef40cec50f3ee56a6e42d0029c9e2818",
"size": 19192,
"repo_path": "bios/NEC/PC-98/2608_bd.wav",
"cores": [
"NP2kai"
]
},
{
"dest": "np2kai/2608_sd.wav",
"sha1": "3c79663ef74c0b0439d13351326eb1c52a657008",
"size": 15558,
"repo_path": "bios/NEC/PC-98/2608_sd.wav",
"cores": [
"NP2kai"
]
},
{
"dest": "np2kai/2608_top.wav",
"sha1": "aa4a8f766a86b830687d5083fd3b9db0652f46fc",
"size": 57016,
"repo_path": "bios/NEC/PC-98/2608_top.wav",
"cores": [
"NP2kai"
]
},
{
"dest": "np2kai/2608_hh.wav",
"sha1": "12f676cef249b82480b6f19c454e234b435ca7b6",
"size": 36722,
"repo_path": "bios/NEC/PC-98/2608_hh.wav",
"cores": [
"NP2kai"
]
},
{
"dest": "np2kai/2608_tom.wav",
"sha1": "9513fb4a3f41e75a972a273a5104cbd834c1e2c5",
"size": 23092,
"repo_path": "bios/NEC/PC-98/2608_tom.wav",
"cores": [
"NP2kai"
]
},
{
"dest": "np2kai/2608_rim.wav",
"sha1": "c65592330c9dd84011151daed52f9aec926b7e56",
"size": 5288,
"repo_path": "bios/NEC/PC-98/2608_rim.wav",
"cores": [
"NP2kai"
]
},
{
"dest": "np2kai/scsi.rom",
"sha1": "3d7166f05daad1b022fa04c2569e788580158095",
"size": 8192,
"repo_path": "bios/NEC/PC-98/scsi.rom",
"cores": [
"NP2kai"
]
},
{
"dest": "np2kai/sasi.rom",
"sha1": "b607707d74b5a7d3ba211825de31a8f32aec8146",
"size": 4096,
"repo_path": "bios/NEC/PC-98/sasi.rom",
"cores": [
"NP2kai"
]
},
{
"dest": "keropi/iplrom.dat",
"sha1": "0ed038ed2133b9f78c6e37256807424e0d927560",
"size": 131072,
"repo_path": "bios/Sharp/X68000/iplrom.dat",
"cores": [
"px68k"
]
},
{
"dest": "keropi/iplrom30.dat",
"sha1": "239e9124568c862c31d9ec0605e32373ea74b86a",
"size": 131072,
"repo_path": "bios/Sharp/X68000/iplrom30.dat",
"cores": [
"px68k"
]
},
{
"dest": "keropi/iplromco.dat",
"sha1": "77511fc58798404701f66b6bbc9cbde06596eba7",
"size": 131072,
"repo_path": "bios/Sharp/X68000/iplromco.dat",
"cores": [
"px68k"
]
},
{
"dest": "keropi/iplromxv.dat",
"sha1": "e33cdcdb69cd257b0b211ef46e7a8b144637db57",
"size": 131072,
"repo_path": "bios/Sharp/X68000/iplromxv.dat",
"cores": [
"px68k"
]
},
{
"dest": "keropi/cgrom.dat",
"sha1": "8d72c5b4d63bb14c5dbdac495244d659aa1498b6",
"size": 786432,
"repo_path": "bios/Sharp/X68000/cgrom.dat",
"cores": [
"px68k"
]
},
{
"dest": "scummvm/extra/MT32_CONTROL.ROM",
"sha1": "b083518fffb7f66b03c23b7eb4f868e62dc5a987",
"size": 65536,
"repo_path": "bios/Commodore/Amiga/mt32-roms/mt32_control.rom",
"cores": [
"ScummVM"
]
},
{
"dest": "scummvm/extra/MT32_PCM.ROM",
"sha1": "f6b1eebc4b2d200ec6d3d21d51325d5b48c60252",
"size": 524288,
"repo_path": "bios/Commodore/Amiga/mt32-roms/pcm_mt32.rom",
"cores": [
"ScummVM"
]
},
{
"dest": "scummvm/extra/CM32L_CONTROL.ROM",
"sha1": "a439fbb390da38cada95a7cbb1d6ca199cd66ef8",
"size": 65536,
"repo_path": "bios/Commodore/Amiga/mt32-roms/cm32l_control.rom",
"cores": [
"ScummVM"
]
},
{
"dest": "scummvm/extra/CM32L_PCM.ROM",
"sha1": "289cc298ad532b702461bfc738009d9ebe8025ea",
"size": 1048576,
"repo_path": "bios/Commodore/Amiga/mt32-roms/pcm_cm32l.rom",
"cores": [
"ScummVM"
]
},
{
"dest": "xmil/FNT0808.X1",
"sha1": "1c1a0d8c9f4c446ccd7470516b215ddca5052fb2",
"size": 2048,
"repo_path": "bios/Sharp/X1/FNT0808.X1",
"cores": [
"X Millennium"
]
} }
] ]
} }

View File

@@ -428,7 +428,7 @@ nav:
- PCSX-ReARMed: emulators/pcsx_rearmed.md - PCSX-ReARMed: emulators/pcsx_rearmed.md
- Launchers (1): - Launchers (1):
- Dolphin Launcher: emulators/dolphin_launcher.md - Dolphin Launcher: emulators/dolphin_launcher.md
- Other (24): - Other (25):
- ares: emulators/ares.md - ares: emulators/ares.md
- Beetle GBA (Mednafen): emulators/beetle_gba.md - Beetle GBA (Mednafen): emulators/beetle_gba.md
- BigPEmu: emulators/bigpemu.md - BigPEmu: emulators/bigpemu.md
@@ -446,6 +446,7 @@ nav:
- Ryujinx: emulators/ryujinx.md - Ryujinx: emulators/ryujinx.md
- shadps4: emulators/shadps4.md - shadps4: emulators/shadps4.md
- Supermodel: emulators/supermodel.md - Supermodel: emulators/supermodel.md
- ti99sim: emulators/ti99sim.md
- tsugaru: emulators/tsugaru.md - tsugaru: emulators/tsugaru.md
- VBA-M: emulators/vba_m.md - VBA-M: emulators/vba_m.md
- VICE: emulators/vice.md - VICE: emulators/vice.md

View File

@@ -1,231 +1,867 @@
# Platform Registry
# Central configuration for all supported platforms and their scraper sources.
# Adding a new platform = adding an entry here + creating its YAML config.
#
# status: active | archived
# active -- included in automated releases, scraped weekly/monthly
# archived -- config preserved, user can generate pack manually, excluded from CI releases
platforms: platforms:
retroarch: retroarch:
config: retroarch.yml config: retroarch.yml
status: active status: active
logo: "https://raw.githubusercontent.com/libretro/RetroArch/master/media/retroarch-vector_invader-only.svg" logo: https://raw.githubusercontent.com/libretro/RetroArch/master/media/retroarch-vector_invader-only.svg
scraper: libretro scraper: libretro
source_url: "https://raw.githubusercontent.com/libretro/libretro-database/master/dat/System.dat" source_url: https://raw.githubusercontent.com/libretro/libretro-database/master/dat/System.dat
source_format: clrmamepro_dat source_format: clrmamepro_dat
hash_type: sha1 hash_type: sha1
schedule: weekly schedule: weekly
cores: all_libretro cores: all_libretro
target_scraper: retroarch_targets target_scraper: retroarch_targets
target_source: "https://buildbot.libretro.com/nightly/" target_source: https://buildbot.libretro.com/nightly/
install: install:
detect: detect:
- os: linux - os: linux
method: config_file method: config_file
config: "$HOME/.var/app/org.libretro.RetroArch/config/retroarch/retroarch.cfg" config: $HOME/.var/app/org.libretro.RetroArch/config/retroarch/retroarch.cfg
parse_key: system_directory parse_key: system_directory
- os: linux - os: linux
method: config_file method: config_file
config: "$HOME/.config/retroarch/retroarch.cfg" config: $HOME/.config/retroarch/retroarch.cfg
parse_key: system_directory parse_key: system_directory
- os: darwin - os: darwin
method: config_file method: config_file
config: "$HOME/Library/Application Support/RetroArch/retroarch.cfg" config: $HOME/Library/Application Support/RetroArch/retroarch.cfg
parse_key: system_directory parse_key: system_directory
- os: windows - os: windows
method: config_file method: config_file
config: "%APPDATA%\\RetroArch\\retroarch.cfg" config: '%APPDATA%\RetroArch\retroarch.cfg'
parse_key: system_directory parse_key: system_directory
batocera: batocera:
config: batocera.yml config: batocera.yml
status: active status: active
logo: "https://raw.githubusercontent.com/batocera-linux/batocera-emulationstation/master/resources/splash_batocera.svg" logo: https://raw.githubusercontent.com/batocera-linux/batocera-emulationstation/master/resources/splash_batocera.svg
scraper: batocera scraper: batocera
source_url: "https://raw.githubusercontent.com/batocera-linux/batocera.linux/master/package/batocera/core/batocera-scripts/scripts/batocera-systems" source_url: https://raw.githubusercontent.com/batocera-linux/batocera.linux/master/package/batocera/core/batocera-scripts/scripts/batocera-systems
source_format: python_dict source_format: python_dict
hash_type: md5 hash_type: md5
schedule: weekly schedule: weekly
cores: [81, a5200, abuse, arduous, atari800, azahar, bennugd, bk, bluemsx, bsnes, bstone, cannonball, cap32, catacombgl, cdogs, cemu, cgenius, citron, clk, corsixth, demul, devilutionx, dhewm3, dice, dolphin, dosbox_pure, dxx-rebirth, easyrpg, ecwolf, eduke32, eka2l1, emuscv, etlegacy, fake08, fallout1-ce, fallout2-ce, fbneo, fceumm, flatpak, flycast, freechaf, freeintv, fury, fuse, gambatte, gearsystem, genesisplusgx, glide64mk2, gong, gsplus, gw, gzdoom, hatari, hcl, hurrican, hypseus-singe, ikemen, ioquake3, iortcw, jazz2-native, lindbergh-loader, lowresnx, lutro, mame, mame078plus, mednafen_lynx, mednafen_ngp, mednafen_supergrafx, mednafen_wswan, melonds, mgba, minivmac, model2emu, moonlight, mrboom, neocd, np2kai, nxengine, o2em, odcommander, openbor6412, openjazz, openjk, openjkdf2, openmohaa, opera, pce_fast, pcfx, pcsx2, pcsx_rearmed, pd777, picodrive, play, pokemini, potator, ppsspp, prboom, prosystem, puae, px68k, pygame, pyxel, quasi88, raze, reminiscence, rpcs3, ruffle, samcoupe, sameduck, scummvm, sdlpop, sh, shadps4, snes9x, solarus, sonic2013, sonic3-air, sonic-mania, steam, stella, superbroswar, supermodel, taradino, tgbdual, theforceengine, theodore, thextech, tic80, tr1x, tr2x, tsugaru, tyrian, tyrquake, uqm, uzem, vb, vecx, vice_x64, vircon32, virtualjaguar, vita3k, vox_official, vpinball, wasm4, wine-tkg, x1, x128, x16emu, xash3d_fwgs, xemu, xenia-canary, xpet, xplus4, xrick, xvic, yabasanshiro, yquake2, zc210] cores:
- '81'
- a5200
- abuse
- amiberry
- applewin
- arduous
- atari800
- azahar
- beetle-saturn
- bennugd
- bigpemu
- bk
- blastem
- bluemsx
- boom3
- bsnes
- bstone
- cannonball
- cap32
- catacombgl
- cdogs
- cemu
- cgenius
- citron
- clk
- corsixth
- demul
- desmume
- devilutionx
- dhewm3
- dice
- dolphin
- dosbox
- dosbox_pure
- duckstation
- dxx-rebirth
- easyrpg
- ecwolf
- eduke32
- eka2l1
- emuscv
- ep128emu-core
- etlegacy
- fake08
- fallout1-ce
- fallout2-ce
- fbneo
- fceumm
- flatpak
- flycast
- fmsx
- freechaf
- freeintv
- freej2me
- fsuae
- fury
- fuse
- gambatte
- gearcoleco
- gearsystem
- genesisplusgx
- glide64mk2
- gong
- gpsp
- gsplus
- gw
- gzdoom
- handy
- hatari
- hcl
- holani
- hurrican
- hypseus-singe
- ikemen
- ioquake3
- iortcw
- jazz2-native
- kronos
- lindbergh-loader
- lowresnx
- lutro
- mame
- mame078plus
- mamemess
- mednafen_lynx
- mednafen_ngp
- mednafen_psx
- mednafen_supergrafx
- mednafen_wswan
- melonds
- mesen
- mesen-s
- mgba
- minivmac
- model2emu
- moonlight
- mrboom
- mupen64plus-next
- neocd
- nestopia
- np2kai
- nxengine
- o2em
- odcommander
- openbor6412
- openjazz
- openjk
- openjkdf2
- openmohaa
- openmsx
- opera
- parallel_n64
- pce_fast
- pcfx
- pcsx2
- pcsx_rearmed
- pd777
- picodrive
- play
- pokemini
- potator
- ppsspp
- prboom
- prosystem
- puae
- puae2021
- px68k
- pygame
- pyxel
- quasi88
- raze
- redream
- reminiscence
- rpcs3
- ruffle
- ryujinx
- samcoupe
- same_cdi
- sameduck
- scummvm
- sdlpop
- sh
- shadps4
- smsplus
- snes9x
- solarus
- sonic-mania
- sonic2013
- sonic3-air
- squirreljme
- steam
- stella
- stella2014
- superbroswar
- supermodel
- swanstation
- taradino
- tgbdual
- theforceengine
- theodore
- thextech
- tic80
- tr1x
- tr2x
- tsugaru
- tyrian
- tyrquake
- uae4arm
- uqm
- uzem
- vb
- vba-m
- vecx
- vemulator
- vice
- vice_x128
- vice_x64
- vice_x64sc
- vice_xpet
- vice_xplus4
- vice_xscpu64
- vice_xvic
- vircon32
- virtualjaguar
- vita3k
- vitaquake2
- vox_official
- vpinball
- wasm4
- wine-tkg
- x1
- x128
- x16emu
- xash3d_fwgs
- xemu
- xenia
- xenia-canary
- xpet
- xplus4
- xrick
- xroar
- xvic
- yabasanshiro
- ymir
- yquake2
- zc210
target_scraper: batocera_targets target_scraper: batocera_targets
target_source: "https://github.com/batocera-linux/batocera.linux" target_source: https://github.com/batocera-linux/batocera.linux
install: install:
detect: detect:
- os: linux - os: linux
method: file_exists method: file_exists
file: /etc/batocera-version file: /etc/batocera-version
bios_path: /userdata/bios bios_path: /userdata/bios
recalbox: recalbox:
config: recalbox.yml config: recalbox.yml
status: active status: active
logo: "https://raw.githubusercontent.com/homarr-labs/dashboard-icons/main/svg/recalbox.svg" logo: https://raw.githubusercontent.com/homarr-labs/dashboard-icons/main/svg/recalbox.svg
scraper: recalbox scraper: recalbox
source_url: "https://gitlab.com/recalbox/recalbox/-/raw/master/board/recalbox/fsoverlay/recalbox/share_init/system/.emulationstation/es_bios.xml" source_url: https://gitlab.com/recalbox/recalbox/-/raw/master/board/recalbox/fsoverlay/recalbox/share_init/system/.emulationstation/es_bios.xml
source_format: xml source_format: xml
hash_type: md5 hash_type: md5
schedule: monthly schedule: monthly
target_scraper: null target_scraper: null
target_source: null target_source: null
cores: ["2048", 81, a5200, advancemame, amiberry, applewin, arduous, atari800, b2, beebem, bk, bluemsx, boom3, bsnes, bsneshd, cannonball, cap32, cdi2015, corsixth, craft, crocods, daphne, desmume, dice, dinothawr, dirksimple, dolphin, dolphin-gui, dosbox, dosbox_pure, duckstation, easyrpg, ecwolf, emuscv, fake08, fba2x, fbneo, fceumm, flycast, flycast-next, fmsx, freechaf, freeintv, frotz, fuse, gambatte, gearcoleco, geargrafx, gearsystem, genesisplusgx, genesisplusgx_ex, genesisplusgxwide, geolith, glide64mk2, gliden64, gliden64_20, gong, gpsp, gsplus, gw, handy, hatari, hatarib, holani, imageviewer, julius, kronos, lowresnx, lutro, mame0258, mame0278, mame2000, mame2003, mame2003_plus, mame2010, mame2015, mame2016, mednafen_lynx, mednafen_ngp, mednafen_pce_fast, mednafen_pcfx, mednafen_psx, mednafen_psx_hw, mednafen_saturn, mednafen_supafaust, mednafen_supergrafx, mednafen_vb, mednafen_wswan, melonds, mesen, mesen_s, meteor, mgba, minivmac, mojozork, moonlight, mrboom, mu, mupen64plus, mupen64plus_next, n64_gles2, neocd, nestopia, np2kai, nxengine, o2em, openbor, openlara, opera, oricutron, parallel_n64, pcsx2, pcsx_rearmed, pico8, picodrive, pisnes, pokemini, potator, ppsspp, prboom, prosystem, ps2, puae, px68k, quasi88, quicknes, race, rb5000, reicast, reminiscence, retro8, retrodream, rice, rice_gles2, sameboy, same_cdi, sameduck, scummvm, sdlpop, simcoupe, snes9x, snes9x2002, snes9x2005, snes9x2010, solarus, stella, stella2014, stonesoup, supermodel, swanstation, tamalibretro, tgbdual, theodore, thepowdertoy, ti99sim, tic80, tyrquake, uae4all, uae4arm, uzem, vecx, vice_x128, vice_x64, vice_x64sc, vice_xcbm2, vice_xcbm5x0, vice_xpet, vice_xplus4, vice_xscpu64, vice_xvic, virtualjaguar, vitaquake2, vitaquake3, vitavoyager, vpinball, vvvvvv, wasm4, x1, x128, x64, x64sx, xcbm2, xcbm5x0, xemu, xpet, xplus4, xrick, xroar, xscpu64, xvic, yabasanshiro, yabause] cores:
- '2048'
- '81'
- a5200
- advancemame
- amiberry
- applewin
- arduous
- atari800
- b2
- beebem
- bk
- bluemsx
- boom3
- bsnes
- bsneshd
- cannonball
- cap32
- cdi2015
- corsixth
- craft
- crocods
- daphne
- desmume
- dice
- dinothawr
- dirksimple
- dolphin
- dolphin-gui
- dosbox
- dosbox_pure
- duckstation
- easyrpg
- ecwolf
- emuscv
- fake08
- fba2x
- fbneo
- fceumm
- flycast
- flycast-next
- fmsx
- freechaf
- freeintv
- frotz
- fuse
- gambatte
- gearcoleco
- geargrafx
- gearsystem
- genesisplusgx
- genesisplusgx_ex
- genesisplusgxwide
- geolith
- glide64mk2
- gliden64
- gliden64_20
- gong
- gpsp
- gsplus
- gw
- handy
- hatari
- hatarib
- holani
- imageviewer
- julius
- kronos
- lowresnx
- lutro
- mame
- mame0258
- mame0278
- mame2000
- mame2003
- mame2003_plus
- mame2010
- mame2015
- mame2016
- mamemess
- mednafen_lynx
- mednafen_ngp
- mednafen_pce_fast
- mednafen_pcfx
- mednafen_psx
- mednafen_psx_hw
- mednafen_saturn
- mednafen_supafaust
- mednafen_supergrafx
- mednafen_vb
- mednafen_wswan
- melonds
- mesen
- mesen_s
- meteor
- mgba
- minivmac
- mojozork
- moonlight
- mrboom
- mu
- mupen64plus
- mupen64plus_next
- n64_gles2
- neocd
- nestopia
- np2kai
- nxengine
- o2em
- openbor
- openlara
- opera
- oricutron
- parallel_n64
- pcsx2
- pcsx_rearmed
- pico8
- picodrive
- pisnes
- pokemini
- potator
- ppsspp
- prboom
- prosystem
- ps2
- puae
- px68k
- quasi88
- quicknes
- race
- rb5000
- reicast
- reminiscence
- retro8
- retrodream
- rice
- rice_gles2
- same_cdi
- sameboy
- sameduck
- scummvm
- sdlpop
- simcoupe
- snes9x
- snes9x2002
- snes9x2005
- snes9x2010
- solarus
- stella
- stella2014
- stonesoup
- supermodel
- swanstation
- tamalibretro
- tgbdual
- theodore
- thepowdertoy
- ti99sim
- tic80
- tyrquake
- uae4all
- uae4arm
- uzem
- vecx
- vice_x128
- vice_x64
- vice_x64sc
- vice_xcbm2
- vice_xcbm5x0
- vice_xpet
- vice_xplus4
- vice_xscpu64
- vice_xvic
- virtualjaguar
- vitaquake2
- vitaquake3
- vitavoyager
- vpinball
- vvvvvv
- wasm4
- x1
- x128
- x64
- x64sx
- xcbm2
- xcbm5x0
- xemu
- xpet
- xplus4
- xrick
- xroar
- xscpu64
- xvic
- yabasanshiro
- yabause
install: install:
detect: detect:
- os: linux - os: linux
method: file_exists method: file_exists
file: /usr/bin/recalbox-settings file: /usr/bin/recalbox-settings
bios_path: /recalbox/share/bios bios_path: /recalbox/share/bios
retrobat: retrobat:
config: retrobat.yml config: retrobat.yml
status: active status: active
logo: "https://raw.githubusercontent.com/RetroBat-Official/retrobat/main/system/resources/retrobat_logo_notext.png" logo: https://raw.githubusercontent.com/RetroBat-Official/retrobat/main/system/resources/retrobat_logo_notext.png
scraper: retrobat scraper: retrobat
source_url: "https://raw.githubusercontent.com/RetroBat-Official/emulatorlauncher/master/batocera-systems/Resources/batocera-systems.json" source_url: https://raw.githubusercontent.com/RetroBat-Official/emulatorlauncher/master/batocera-systems/Resources/batocera-systems.json
source_format: json source_format: json
hash_type: md5 hash_type: md5
schedule: weekly schedule: weekly
cores: [81, a5200, abuse, arduous, atari800, azahar, bennugd, bk, bluemsx, bsnes, bstone, cannonball, cap32, catacombgl, cdogs, cemu, cgenius, citron, clk, corsixth, demul, devilutionx, dhewm3, dice, dolphin, dosbox_pure, dxx-rebirth, easyrpg, ecwolf, eduke32, eka2l1, emuscv, etlegacy, fake08, fallout1-ce, fallout2-ce, fbneo, fceumm, flatpak, flycast, freechaf, freeintv, fury, fuse, gambatte, gearsystem, genesisplusgx, glide64mk2, gong, gsplus, gw, gzdoom, hatari, hcl, hurrican, hypseus-singe, ikemen, ioquake3, iortcw, jazz2-native, lindbergh-loader, lowresnx, lutro, mame, mame078plus, mednafen_lynx, mednafen_ngp, mednafen_supergrafx, mednafen_wswan, melonds, mgba, minivmac, model2emu, moonlight, mrboom, neocd, np2kai, nxengine, o2em, odcommander, openbor6412, openjazz, openjk, openjkdf2, openmohaa, opera, pce_fast, pcfx, pcsx2, pcsx_rearmed, pd777, picodrive, play, pokemini, potator, ppsspp, prboom, prosystem, puae, px68k, pygame, pyxel, quasi88, raze, reminiscence, rpcs3, ruffle, samcoupe, sameduck, scummvm, sdlpop, sh, shadps4, snes9x, solarus, sonic2013, sonic3-air, sonic-mania, steam, stella, superbroswar, supermodel, taradino, tgbdual, theforceengine, theodore, thextech, tic80, tr1x, tr2x, tsugaru, tyrian, tyrquake, uqm, uzem, vb, vecx, vice_x64, vircon32, virtualjaguar, vita3k, vox_official, vpinball, wasm4, wine-tkg, x1, x128, x16emu, xash3d_fwgs, xemu, xenia-canary, xpet, xplus4, xrick, xvic, yabasanshiro, yquake2, zc210] cores:
- '81'
- a5200
- abuse
- arduous
- ares
- atari800
- azahar
- bennugd
- bk
- bluemsx
- bsnes
- bstone
- cannonball
- cap32
- catacombgl
- cdogs
- cemu
- cgenius
- citron
- clk
- corsixth
- demul
- devilutionx
- dhewm3
- dice
- dolphin
- dosbox_pure
- dxx-rebirth
- easyrpg
- ecwolf
- eduke32
- eka2l1
- emuscv
- etlegacy
- fake08
- fallout1-ce
- fallout2-ce
- fbalpha2012
- fbalpha2012_neogeo
- fbneo
- fceumm
- flatpak
- flycast
- freechaf
- freeintv
- freej2me
- fury
- fuse
- gambatte
- geargrafx
- gearsystem
- genesisplusgx
- glide64mk2
- gong
- gsplus
- gw
- gzdoom
- hatari
- hcl
- hurrican
- hypseus-singe
- ikemen
- ioquake3
- iortcw
- jazz2-native
- lindbergh-loader
- lowresnx
- lutro
- mame
- mame078plus
- mamemess
- mednafen_lynx
- mednafen_ngp
- mednafen_supergrafx
- mednafen_wswan
- melonds
- mgba
- minivmac
- model2emu
- moonlight
- mrboom
- mupen64plus_next
- neocd
- np2kai
- nxengine
- o2em
- odcommander
- openbor6412
- openjazz
- openjk
- openjkdf2
- openmohaa
- opera
- parallel_n64
- pce_fast
- pcfx
- pcsx2
- pcsx_rearmed
- pd777
- picodrive
- play
- pokemini
- potator
- ppsspp
- prboom
- prosystem
- puae
- px68k
- pygame
- pyxel
- quasi88
- raze
- reminiscence
- rpcs3
- ruffle
- samcoupe
- sameduck
- scummvm
- sdlpop
- sh
- shadps4
- snes9x
- solarus
- sonic-mania
- sonic2013
- sonic3-air
- squirreljme
- steam
- stella
- superbroswar
- supermodel
- taradino
- tgbdual
- theforceengine
- theodore
- thextech
- tic80
- tr1x
- tr2x
- tsugaru
- tyrian
- tyrquake
- uqm
- uzem
- vb
- vecx
- vice_x64
- vircon32
- virtualjaguar
- vita3k
- vox_official
- vpinball
- wasm4
- wine-tkg
- x1
- x128
- x16emu
- xash3d_fwgs
- xemu
- xenia-canary
- xpet
- xplus4
- xrick
- xroar
- xvic
- yabasanshiro
- yquake2
- zc210
target_scraper: null target_scraper: null
target_source: null target_source: null
install: install:
detect: detect:
- os: windows - os: windows
method: path_exists method: path_exists
path: "%USERPROFILE%\\RetroBat\\bios" path: '%USERPROFILE%\RetroBat\bios'
emudeck: emudeck:
config: emudeck.yml config: emudeck.yml
status: active status: active
logo: "https://raw.githubusercontent.com/dragoonDorise/EmuDeck/main/icons/EmuDeck.png" logo: https://raw.githubusercontent.com/dragoonDorise/EmuDeck/main/icons/EmuDeck.png
scraper: emudeck scraper: emudeck
source_url: "https://raw.githubusercontent.com/dragoonDorise/EmuDeck/main/functions/checkBIOS.sh" source_url: https://raw.githubusercontent.com/dragoonDorise/EmuDeck/main/functions/checkBIOS.sh
source_wiki: "https://raw.githubusercontent.com/EmuDeck/emudeck.github.io/main/docs/tables/" source_wiki: https://raw.githubusercontent.com/EmuDeck/emudeck.github.io/main/docs/tables/
source_format: bash_script+csv source_format: bash_script+csv
hash_type: md5 hash_type: md5
schedule: weekly schedule: weekly
target_scraper: emudeck_targets target_scraper: emudeck_targets
target_source: "https://github.com/dragoonDorise/EmuDeck" target_source: https://github.com/dragoonDorise/EmuDeck
# dragoonDorise/EmuDeck = official repo (creator's account, 3.4k stars)
# EmuDeck/emudeck.github.io = official wiki (org account)
install: install:
detect: detect:
- os: linux - os: linux
method: config_file method: config_file
config: "$HOME/.config/EmuDeck/settings.sh" config: $HOME/.config/EmuDeck/settings.sh
parse_key: emulationPath parse_key: emulationPath
bios_subdir: bios bios_subdir: bios
- os: linux - os: linux
method: path_exists method: path_exists
path: "$HOME/Emulation/bios" path: $HOME/Emulation/bios
- os: windows - os: windows
method: config_file method: config_file
config: "%APPDATA%\\EmuDeck\\settings.ps1" config: '%APPDATA%\EmuDeck\settings.ps1'
parse_key: "$emulationPath" parse_key: $emulationPath
bios_subdir: bios bios_subdir: bios
standalone_copies: standalone_copies:
- file: prod.keys - file: prod.keys
targets: targets:
linux: linux:
- "$HOME/.local/share/yuzu/keys" - $HOME/.local/share/yuzu/keys
- "$HOME/.local/share/eden/keys" - $HOME/.local/share/eden/keys
- "$HOME/.config/Ryujinx/system" - $HOME/.config/Ryujinx/system
windows: windows:
- "%APPDATA%\\yuzu\\keys" - '%APPDATA%\yuzu\keys'
- "%APPDATA%\\eden\\keys" - '%APPDATA%\eden\keys'
- file: aes_keys.txt - file: aes_keys.txt
targets: targets:
linux: linux:
- "$HOME/Emulation/bios/citra/keys" - $HOME/Emulation/bios/citra/keys
lakka: lakka:
config: lakka.yml config: lakka.yml
status: active status: active
logo: "https://raw.githubusercontent.com/libretro/retroarch-assets/master/src/xmb/flatui/lakka.svg" logo: https://raw.githubusercontent.com/libretro/retroarch-assets/master/src/xmb/flatui/lakka.svg
scraper: libretro scraper: libretro
inherits_from: retroarch inherits_from: retroarch
cores: all_libretro cores: all_libretro
schedule: weekly schedule: weekly
target_scraper: lakka_targets target_scraper: lakka_targets
target_source: "https://buildbot.libretro.com/nightly/" target_source: https://buildbot.libretro.com/nightly/
install: install:
detect: detect:
- os: linux - os: linux
method: os_release method: os_release
id: lakka id: lakka
bios_path: /storage/system bios_path: /storage/system
retrodeck: retrodeck:
config: retrodeck.yml config: retrodeck.yml
status: active status: active
logo: "https://raw.githubusercontent.com/RetroDECK/RetroDECK/main/res/icon.svg" logo: https://raw.githubusercontent.com/RetroDECK/RetroDECK/main/res/icon.svg
scraper: retrodeck scraper: retrodeck
source_url: "https://github.com/RetroDECK/components" source_url: https://github.com/RetroDECK/components
source_format: github_component_manifests source_format: github_component_manifests
hash_type: md5 hash_type: md5
schedule: monthly schedule: monthly
cores: [azahar, cemu, dolphin, duckstation, gzdoom, mame, melonds, openbor, pcsx2, pico-8, ppsspp, primehack, retroarch, rpcs3, ruffle, solarus, vita3k, xemu, xroar] cores:
- azahar
- cemu
- clk
- dolphin
- duckstation
- gsplus
- gzdoom
- mame
- melonds
- openbor
- pcsx2
- pico-8
- ppsspp
- primehack
- retroarch
- rpcs3
- ruffle
- solarus
- vita3k
- xemu
- xroar
target_scraper: null target_scraper: null
target_source: null target_source: null
# Each component/<name>/component_manifest.json declares BIOS requirements
# Scraper enumerates top-level dirs via GitHub API, fetches each manifest directly
install: install:
detect: detect:
- os: linux - os: linux
method: path_exists method: path_exists
path: "$HOME/.var/app/net.retrodeck.retrodeck" path: $HOME/.var/app/net.retrodeck.retrodeck
bios_path: "$HOME/retrodeck/bios" bios_path: $HOME/retrodeck/bios
romm: romm:
config: romm.yml config: romm.yml
status: active status: active
logo: "https://avatars.githubusercontent.com/u/168586850" logo: https://avatars.githubusercontent.com/u/168586850
scraper: romm scraper: romm
source_url: "https://raw.githubusercontent.com/rommapp/romm/master/backend/models/fixtures/known_bios_files.json" source_url: https://raw.githubusercontent.com/rommapp/romm/master/backend/models/fixtures/known_bios_files.json
source_format: json source_format: json
hash_type: sha1 hash_type: sha1
schedule: monthly schedule: monthly
inherits_from: emulatorjs # cores inherited from emulatorjs.yml inherits_from: emulatorjs
target_scraper: null target_scraper: null
target_source: null target_source: null
install: install:
detect: detect:
- os: linux - os: linux
method: path_exists method: path_exists
path: /romm/library/bios path: /romm/library/bios
cores:
- atari800
- clk
- directxbox
- dolphin
- dolphin_launcher
- ecwolf
- ep128emu
- ep128emu_core
- freej2me
- hatari
- ishiiruka
- lrps2
- minivmac
- nekop2
- np2kai
- o2em
- pcsx2
- play
- pokemini
- primehack
- px68k
- scummvm
- squirreljme
- x1
- xemu
retropie: retropie:
config: retropie.yml config: retropie.yml
status: archived # Last release: v4.8 (March 2022) - no update in 4 years status: archived
logo: "https://avatars.githubusercontent.com/u/11378204" logo: https://avatars.githubusercontent.com/u/11378204
scraper: null scraper: null
cores: all_libretro cores: all_libretro
schedule: null schedule: null
target_scraper: retropie_targets target_scraper: retropie_targets
target_source: "https://retropie.org.uk/stats/pkgflags/" target_source: https://retropie.org.uk/stats/pkgflags/
install: install:
detect: detect:
- os: linux - os: linux
method: path_exists method: path_exists
path: "$HOME/RetroPie/BIOS" path: $HOME/RetroPie/BIOS
bizhawk: bizhawk:
config: bizhawk.yml config: bizhawk.yml
status: active status: active
logo: "https://raw.githubusercontent.com/TASEmulators/BizHawk/master/Assets/bizhawk.ico" logo: https://raw.githubusercontent.com/TASEmulators/BizHawk/master/Assets/bizhawk.ico
scraper: bizhawk scraper: bizhawk
source_url: "https://raw.githubusercontent.com/TASEmulators/BizHawk/master/src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs" source_url: https://raw.githubusercontent.com/TASEmulators/BizHawk/master/src/BizHawk.Emulation.Common/Database/FirmwareDatabase.cs
source_format: csharp_firmware_database source_format: csharp_firmware_database
hash_type: sha1 hash_type: sha1
schedule: monthly schedule: monthly
cores: [gambatte, mgba, sameboy, melonds, snes9x, bsnes, beetle_psx, beetle_saturn, beetle_pce, beetle_pcfx, beetle_wswan, beetle_vb, beetle_ngp, opera, stella, picodrive, ppsspp, handy, quicknes, genesis_plus_gx, ares, mupen64plus_next, puae, prboom, virtualjaguar, vice_x64, mame] cores:
- applewin
- ares
- azahar
- beetle_ngp
- beetle_pce
- beetle_pcfx
- beetle_psx
- beetle_saturn
- beetle_vb
- beetle_wswan
- bsnes
- citra
- citra2018
- citra_canary
- clk
- fbneo
- freechaf
- freeintv
- gambatte
- genesis_plus_gx
- handy
- mame
- melonds
- mgba
- mupen64plus_next
- numero
- o2em
- opera
- panda3ds
- picodrive
- ppsspp
- prboom
- prosystem
- puae
- quicknes
- sameboy
- snes9x
- stella
- trident
- vecx
- vice_x64
- virtualjaguar
target_scraper: null target_scraper: null
target_source: null target_source: null
install: install:
detect: detect:
- os: windows - os: windows
method: path_exists method: path_exists
path: "%USERPROFILE%\\BizHawk\\Firmware" path: '%USERPROFILE%\BizHawk\Firmware'
- os: linux - os: linux
method: path_exists method: path_exists
path: "$HOME/.config/BizHawk/Firmware" path: $HOME/.config/BizHawk/Firmware

File diff suppressed because it is too large Load Diff

View File

@@ -662,11 +662,6 @@ systems:
- name: prod.keys - name: prod.keys
destination: prod.keys destination: prod.keys
required: true required: true
wiiuroms:
files:
- name: keys.txt
destination: keys.txt
required: true
nintendo-wii-u: nintendo-wii-u:
files: files:
- name: keys.txt - name: keys.txt

View File

@@ -1,170 +1,10 @@
platform: RetroBat platform: RetroBat
version: 7.5.3 version: 7.5.3
homepage: "https://www.retrobat.org" homepage: https://www.retrobat.org
source: "https://raw.githubusercontent.com/RetroBat-Official/emulatorlauncher/master/batocera-systems/Resources/batocera-systems.json" source: https://raw.githubusercontent.com/RetroBat-Official/emulatorlauncher/master/batocera-systems/Resources/batocera-systems.json
base_destination: bios base_destination: bios
hash_type: md5 hash_type: md5
verification_mode: md5 verification_mode: md5
case_insensitive_fs: true
cores:
- 81
- a5200
- abuse
- arduous
- atari800
- azahar
- bennugd
- bk
- bluemsx
- bsnes
- bstone
- cannonball
- cap32
- catacombgl
- cdogs
- cemu
- cgenius
- citron
- clk
- corsixth
- demul
- devilutionx
- dhewm3
- dice
- dolphin
- dosbox_pure
- dxx-rebirth
- easyrpg
- ecwolf
- eduke32
- eka2l1
- emuscv
- etlegacy
- fake08
- fallout1-ce
- fallout2-ce
- fbneo
- fceumm
- flatpak
- flycast
- freechaf
- freeintv
- fury
- fuse
- gambatte
- gearsystem
- genesisplusgx
- glide64mk2
- gong
- gsplus
- gw
- gzdoom
- hatari
- hcl
- hurrican
- hypseus-singe
- ikemen
- ioquake3
- iortcw
- jazz2-native
- lindbergh-loader
- lowresnx
- lutro
- mame
- mame078plus
- mednafen_lynx
- mednafen_ngp
- mednafen_supergrafx
- mednafen_wswan
- melonds
- mgba
- minivmac
- model2emu
- moonlight
- mrboom
- neocd
- np2kai
- nxengine
- o2em
- odcommander
- openbor6412
- openjazz
- openjk
- openjkdf2
- openmohaa
- opera
- pce_fast
- pcfx
- pcsx2
- pcsx_rearmed
- pd777
- picodrive
- play
- pokemini
- potator
- ppsspp
- prboom
- prosystem
- puae
- px68k
- pygame
- pyxel
- quasi88
- raze
- reminiscence
- rpcs3
- ruffle
- samcoupe
- sameduck
- scummvm
- sdlpop
- sh
- shadps4
- snes9x
- solarus
- sonic2013
- sonic3-air
- sonic-mania
- steam
- stella
- superbroswar
- supermodel
- taradino
- tgbdual
- theforceengine
- theodore
- thextech
- tic80
- tr1x
- tr2x
- tsugaru
- tyrian
- tyrquake
- uqm
- uzem
- vb
- vecx
- vice_x64
- vircon32
- virtualjaguar
- vita3k
- vox_official
- vpinball
- wasm4
- wine-tkg
- x1
- x128
- x16emu
- xash3d_fwgs
- xemu
- xenia-canary
- xpet
- xplus4
- xrick
- xvic
- yabasanshiro
- yquake2
- zc210
systems: systems:
3do: 3do:
files: files:
@@ -425,12 +265,12 @@ systems:
md5: 281f20ea4320404ec820fb7ec0693b38 md5: 281f20ea4320404ec820fb7ec0693b38
atari7800: atari7800:
files: files:
- name: "7800 BIOS (E).rom" - name: 7800 BIOS (E).rom
destination: "7800 BIOS (E).rom" destination: 7800 BIOS (E).rom
required: true required: true
md5: 397bb566584be7b9764e7a68974c4263 md5: 397bb566584be7b9764e7a68974c4263
- name: "7800 BIOS (U).rom" - name: 7800 BIOS (U).rom
destination: "7800 BIOS (U).rom" destination: 7800 BIOS (U).rom
required: true required: true
md5: 0763f1ffb006ddbe32e52d497ee848ae md5: 0763f1ffb006ddbe32e52d497ee848ae
- name: ProSystem.dat - name: ProSystem.dat
@@ -548,6 +388,40 @@ systems:
- name: bbcmc_flop.xml - name: bbcmc_flop.xml
destination: mame/hash/bbcmc_flop.xml destination: mame/hash/bbcmc_flop.xml
required: true required: true
bk:
files:
- name: B11M_BOS.ROM
destination: bk/B11M_BOS.ROM
required: true
md5: fe4627d1e3a1535874085050733263e7
- name: B11M_EXT.ROM
destination: bk/B11M_EXT.ROM
required: true
md5: dc52f365d56fa1951f5d35b1101b9e3f
- name: BAS11M_0.ROM
destination: bk/BAS11M_0.ROM
required: true
md5: 946f6f23ded03c0e26187f0b3ca75993
- name: BAS11M_1.ROM
destination: bk/BAS11M_1.ROM
required: true
md5: 1e6637f32aa7d1de03510030cac40bcf
- name: DISK_327.ROM
destination: bk/DISK_327.ROM
required: true
md5: 5015228eeeb238e65da8edcd1b6dfac7
- name: BASIC10.ROM
destination: bk/BASIC10.ROM
required: true
md5: 3fa774326d75410a065659aea80252f0
- name: FOCAL10.ROM
destination: bk/FOCAL10.ROM
required: true
md5: 5737f972e8638831ab71e9139abae052
- name: MONIT10.ROM
destination: bk/MONIT10.ROM
required: true
md5: 95f8c41c6abf7640e35a6a03cecebd01
loopy: loopy:
files: files:
- name: casloopy.zip - name: casloopy.zip
@@ -845,34 +719,30 @@ systems:
md5: a6f31483d1da4558cc19025e21f95c1d md5: a6f31483d1da4558cc19025e21f95c1d
jaguar: jaguar:
files: files:
- name: "[BIOS] Atari Jaguar (World).j64" - name: '[BIOS] Atari Jaguar (World).j64'
destination: "[BIOS] Atari Jaguar (World).j64" destination: '[BIOS] Atari Jaguar (World).j64'
required: true required: true
md5: bcfe348c565d9dedb173822ee6850dea md5: bcfe348c565d9dedb173822ee6850dea
laseractive: laseractive:
files: files:
- name: "[BIOS] LaserActive PAC-N1 (Japan) (v1.02).bin" - name: '[BIOS] LaserActive PAC-N1 (Japan) (v1.02).bin'
destination: "laseractive/[BIOS] LaserActive PAC-N1 (Japan) (v1.02).bin" destination: laseractive/[BIOS] LaserActive PAC-N1 (Japan) (v1.02).bin
required: true required: true
md5: f69f173b251d8bf7649b10a9167a10bf md5: f69f173b251d8bf7649b10a9167a10bf
- name: "[BIOS] LaserActive PAC-N10 (US) (v1.02).bin" - name: '[BIOS] LaserActive PAC-N10 (US) (v1.02).bin'
destination: "laseractive/[BIOS] LaserActive PAC-N10 (US) (v1.02).bin" destination: laseractive/[BIOS] LaserActive PAC-N10 (US) (v1.02).bin
required: true required: true
md5: f0fb8a4605ac7eefbafd4f2d5a793cc8 md5: f0fb8a4605ac7eefbafd4f2d5a793cc8
- name: "[BIOS] LaserActive PCE-LP1 (Japan) (v1.02).bin" - name: '[BIOS] LaserActive PCE-LP1 (Japan) (v1.02).bin'
destination: "laseractive/[BIOS] LaserActive PCE-LP1 (Japan) (v1.02).bin" destination: laseractive/[BIOS] LaserActive PCE-LP1 (Japan) (v1.02).bin
required: true required: true
md5: 761fea207d0eafd4cfd78da7c44cac88 md5: 761fea207d0eafd4cfd78da7c44cac88
- name: "Pioneer LaserActive Sega PAC Boot ROM v1.02 (1993)(Pioneer - Sega)(JP)(en-ja).bin" - name: '[BIOS] LaserActive PAC-S10 (US) (v1.04).bin'
destination: "laseractive/Pioneer LaserActive Sega PAC Boot ROM v1.02 (1993)(Pioneer\ destination: laseractive/[BIOS] LaserActive PAC-S10 (US) (v1.04).bin
\ - Sega)(JP)(en-ja).bin"
required: true required: true
md5: a5a2f9aae57d464bc66b80ee79c3da6e - name: '[BIOS] LaserActive PAC-S1 (Japan) (v1.05).bin'
- name: "Pioneer LaserActive Sega PAC Boot ROM v1.04 (1993)(Pioneer - Sega)(US).bin" destination: laseractive/[BIOS] LaserActive PAC-S1 (Japan) (v1.05).bin
destination: "laseractive/Pioneer LaserActive Sega PAC Boot ROM v1.04 (1993)(Pioneer\
\ - Sega)(US).bin"
required: true required: true
md5: 0e7393cd0951d6dde818fcd4cd819466
lynx: lynx:
files: files:
- name: lynxboot.img - name: lynxboot.img
@@ -916,11 +786,11 @@ systems:
required: true required: true
mastersystem: mastersystem:
files: files:
- name: "[BIOS] Sega Master System (USA, Europe) (v1.3).sms" - name: '[BIOS] Sega Master System (USA, Europe) (v1.3).sms'
destination: "[BIOS] Sega Master System (USA, Europe) (v1.3).sms" destination: '[BIOS] Sega Master System (USA, Europe) (v1.3).sms'
required: true required: true
- name: "[BIOS] Sega Master System (Japan) (v2.1).sms" - name: '[BIOS] Sega Master System (Japan) (v2.1).sms'
destination: "[BIOS] Sega Master System (Japan) (v2.1).sms" destination: '[BIOS] Sega Master System (Japan) (v2.1).sms'
required: true required: true
msx: msx:
files: files:
@@ -1205,13 +1075,13 @@ systems:
md5: 64a95a4a884cf4cc15a566b856603193 md5: 64a95a4a884cf4cc15a566b856603193
ngp: ngp:
files: files:
- name: "[BIOS] SNK Neo Geo Pocket (Japan, Europe) (En,Ja).ngp" - name: '[BIOS] SNK Neo Geo Pocket (Japan, Europe) (En,Ja).ngp'
destination: "[BIOS] SNK Neo Geo Pocket (Japan, Europe) (En,Ja).ngp" destination: '[BIOS] SNK Neo Geo Pocket (Japan, Europe) (En,Ja).ngp'
required: true required: true
ngpc: ngpc:
files: files:
- name: "[BIOS] SNK Neo Geo Pocket (Japan, Europe) (En,Ja).ngp" - name: '[BIOS] SNK Neo Geo Pocket (Japan, Europe) (En,Ja).ngp'
destination: "[BIOS] SNK Neo Geo Pocket (Japan, Europe) (En,Ja).ngp" destination: '[BIOS] SNK Neo Geo Pocket (Japan, Europe) (En,Ja).ngp'
required: true required: true
odyssey2: odyssey2:
files: files:
@@ -1319,7 +1189,7 @@ systems:
destination: bios.min destination: bios.min
required: true required: true
md5: 1e4fb124a3a886865acb574f388c803d md5: 1e4fb124a3a886865acb574f388c803d
ps2: sony-playstation-2:
files: files:
- name: ps2-0230a-20080220.bin - name: ps2-0230a-20080220.bin
destination: pcsx2/bios/ps2-0230a-20080220.bin destination: pcsx2/bios/ps2-0230a-20080220.bin

View File

@@ -191,6 +191,30 @@ def load_platform_config(platform_name: str, platforms_dir: str = "platforms") -
system.setdefault("files", []).append(gf) system.setdefault("files", []).append(gf)
existing.add(key) existing.add(key)
# Merge cores from _registry.yml if the registry has a broader list.
# The scraped YAML may have an incomplete cores list; the registry is
# our curated source and supplements it. This affects all consumers:
# generate_pack, verify, generate_truth, diff_truth.
registry_path = os.path.join(platforms_dir, "_registry.yml")
if os.path.exists(registry_path):
reg_real = os.path.realpath(registry_path)
if reg_real not in _shared_yml_cache:
with open(registry_path) as f:
_shared_yml_cache[reg_real] = yaml.safe_load(f) or {}
reg = _shared_yml_cache[reg_real]
reg_entry = reg.get("platforms", {}).get(platform_name, {})
reg_cores = reg_entry.get("cores")
if reg_cores is not None:
cfg_cores = config.get("cores")
if reg_cores == "all_libretro":
config["cores"] = "all_libretro"
elif isinstance(reg_cores, list) and isinstance(cfg_cores, list):
# Union: registry supplements scraped cores
merged_set = {str(c) for c in cfg_cores} | {str(c) for c in reg_cores}
config["cores"] = sorted(merged_set)
elif isinstance(reg_cores, list) and cfg_cores is None:
config["cores"] = reg_cores
_platform_config_cache[cache_key] = config _platform_config_cache[cache_key] = config
return config return config
@@ -735,6 +759,15 @@ def resolve_platform_cores(
for c in core_set for c in core_set
if c in core_to_profile if c in core_to_profile
} }
# Support "all_libretro" as a list element: combines all libretro
# profiles with explicitly listed standalone cores (e.g. RetroDECK
# ships RetroArch + standalone emulators)
if "all_libretro" in core_set or "retroarch" in core_set:
result |= {
name for name, p in profiles.items()
if "libretro" in p.get("type", "")
and p.get("type") != "alias"
}
else: else:
# Fallback: system ID intersection with normalization # Fallback: system ID intersection with normalization
norm_plat_systems = {_norm_system_id(s) for s in config.get("systems", {})} norm_plat_systems = {_norm_system_id(s) for s in config.get("systems", {})}
@@ -765,7 +798,7 @@ MANUFACTURER_PREFIXES = (
"snk-", "panasonic-", "nec-", "epoch-", "mattel-", "fairchild-", "snk-", "panasonic-", "nec-", "epoch-", "mattel-", "fairchild-",
"hartung-", "tiger-", "magnavox-", "philips-", "bandai-", "casio-", "hartung-", "tiger-", "magnavox-", "philips-", "bandai-", "casio-",
"coleco-", "commodore-", "sharp-", "sinclair-", "atari-", "sammy-", "coleco-", "commodore-", "sharp-", "sinclair-", "atari-", "sammy-",
"gce-", "interton-", "texas-instruments-", "gce-", "interton-", "texas-instruments-", "videoton-",
) )
@@ -797,6 +830,7 @@ SYSTEM_ALIASES: dict[str, str] = {
"atarist": "atari-st", "atarist": "atari-st",
"sega32x": "sega-32x", "sega32x": "sega-32x",
"segastv": "sega-stv", "segastv": "sega-stv",
"ti994a": "ti99",
} }
@@ -881,6 +915,39 @@ def filter_systems_by_target(
return filtered return filtered
def expand_platform_declared_names(config: dict, db: dict) -> set[str]:
"""Build set of file names declared by a platform config.
Enriches the set with canonical names and aliases from the database
by resolving each platform file's MD5 through by_md5. This handles
cases where a platform declares a file under a different name than
the emulator profile (e.g. Batocera ROM1 vs gsplus ROM).
"""
declared: set[str] = set()
by_md5 = db.get("indexes", {}).get("by_md5", {})
files_db = db.get("files", {})
for system in config.get("systems", {}).values():
for fe in system.get("files", []):
name = fe.get("name", "")
if name:
declared.add(name)
md5 = fe.get("md5", "")
if not md5:
continue
# Skip multi-hash and zippedFile entries (inner ROM MD5, not file MD5)
if "," in md5 or fe.get("zippedFile"):
continue
sha1 = by_md5.get(md5.lower())
if not sha1:
continue
entry = files_db.get(sha1, {})
db_name = entry.get("name", "")
if db_name:
declared.add(db_name)
for alias in entry.get("aliases", []):
declared.add(alias)
return declared
# Validation and mode filtering -extracted to validation.py for SoC. # Validation and mode filtering -extracted to validation.py for SoC.
# Re-exported below for backward compatibility. # Re-exported below for backward compatibility.

View File

@@ -28,7 +28,7 @@ sys.path.insert(0, os.path.dirname(__file__))
from common import ( from common import (
MANUFACTURER_PREFIXES, MANUFACTURER_PREFIXES,
build_target_cores_cache, build_zip_contents_index, check_inside_zip, build_target_cores_cache, build_zip_contents_index, check_inside_zip,
compute_hashes, fetch_large_file, group_identical_platforms, compute_hashes, expand_platform_declared_names, fetch_large_file, group_identical_platforms,
list_emulator_profiles, list_platform_system_ids, list_registered_platforms, list_emulator_profiles, list_platform_system_ids, list_registered_platforms,
filter_systems_by_target, list_system_ids, load_database, filter_systems_by_target, list_system_ids, load_database,
load_data_dir_registry, load_emulator_profiles, load_platform_config, load_data_dir_registry, load_emulator_profiles, load_platform_config,
@@ -371,12 +371,8 @@ def _collect_emulator_extras(
by_path_suffix = db.get("indexes", {}).get("by_path_suffix", {}) by_path_suffix = db.get("indexes", {}).get("by_path_suffix", {})
# Build set of filenames already covered (platform baseline + first pass extras) # Build set of filenames already covered (platform baseline + first pass extras)
covered_names: set[str] = set() # Enriched with canonical names from DB via MD5 (handles platform renaming)
for sys_id, system in config.get("systems", {}).items(): covered_names = expand_platform_declared_names(config, db)
for fe in system.get("files", []):
n = fe.get("name", "")
if n:
covered_names.add(n)
for e in extras: for e in extras:
covered_names.add(e["name"]) covered_names.add(e["name"])

View File

@@ -92,6 +92,27 @@ SYSTEM_SLUG_MAP = {
"dos": "dos", "dos": "dos",
"videopac": "philips-videopac", "videopac": "philips-videopac",
"pokemini": "nintendo-pokemon-mini", "pokemini": "nintendo-pokemon-mini",
"gsplus": "apple-iigs",
"apple2": "apple-ii",
"apple2gs": "apple-iigs",
"ps3": "sony-playstation-3",
"psvita": "sony-playstation-vita",
"coco": "coco",
"dragon32": "dragon32",
"dragon64": "dragon64",
"mc10": "mc10",
"msx2+": "microsoft-msx",
"msxturbor": "microsoft-msx",
"spectravideo": "spectravideo",
"tvc": "videoton-tvc",
"enterprise": "enterprise-64-128",
"vis": "tandy-vis",
"supracan": "supracan",
"jaguar": "atari-jaguar",
"jaguarcd": "atari-jaguar",
"switch": "nintendo-switch",
"wii": "nintendo-wii",
"xbox360": "microsoft-xbox-360",
} }
@@ -308,6 +329,13 @@ class Scraper(BaseScraper):
num = tag.removeprefix("batocera-") num = tag.removeprefix("batocera-")
if num.isdigit(): if num.isdigit():
batocera_version = num batocera_version = num
if not batocera_version:
# Preserve existing version when fetch fails (offline mode)
existing = Path(__file__).resolve().parents[2] / "platforms" / "batocera.yml"
if existing.exists():
with open(existing) as f:
old = yaml.safe_load(f) or {}
batocera_version = str(old.get("version", ""))
cores, standalone = self._fetch_cores() cores, standalone = self._fetch_cores()
result = { result = {

View File

@@ -274,7 +274,7 @@ class Scraper(BaseScraper):
system_col = self._clean_markdown((row[key] or "")) system_col = self._clean_markdown((row[key] or ""))
break break
slug = None slug = None
for part in re.split(r'[`\s]+', folder_col): for part in re.split(r'[`\s/]+', folder_col):
part = part.strip().strip('`').lower() part = part.strip().strip('`').lower()
if part and part in SYSTEM_SLUG_MAP: if part and part in SYSTEM_SLUG_MAP:
slug = SYSTEM_SLUG_MAP[part] slug = SYSTEM_SLUG_MAP[part]

View File

@@ -27,6 +27,14 @@ SOURCE_URL = (
GITHUB_REPO = "RetroBat-Official/retrobat" GITHUB_REPO = "RetroBat-Official/retrobat"
# Map RetroBat system keys to our normalized system IDs
SYSTEM_SLUG_MAP = {
"ps2": "sony-playstation-2",
"ps3": "sony-playstation-3",
"psvita": "sony-playstation-vita",
"gsplus": "apple-iigs",
}
class Scraper(BaseScraper): class Scraper(BaseScraper):
"""Scraper for RetroBat batocera-systems.json.""" """Scraper for RetroBat batocera-systems.json."""
@@ -83,7 +91,7 @@ class Scraper(BaseScraper):
requirements.append(BiosRequirement( requirements.append(BiosRequirement(
name=name, name=name,
system=sys_key, system=SYSTEM_SLUG_MAP.get(sys_key, sys_key),
md5=md5 or None, md5=md5 or None,
destination=file_path, destination=file_path,
required=True, required=True,

View File

@@ -38,8 +38,14 @@ def _enrich_hashes(entry: dict, db: dict) -> None:
sha1 = entry.get("sha1", "") sha1 = entry.get("sha1", "")
md5 = entry.get("md5", "") md5 = entry.get("md5", "")
# Hashes can be lists (multi-hash) — use first string value
if isinstance(sha1, list):
sha1 = sha1[0] if sha1 else ""
if isinstance(md5, list):
md5 = md5[0] if md5 else ""
record = None record = None
if sha1 and db.get("files"): if sha1 and isinstance(sha1, str) and db.get("files"):
record = db["files"].get(sha1) record = db["files"].get(sha1)
if record is None and md5: if record is None and md5:
by_md5 = db.get("by_md5", {}) by_md5 = db.get("by_md5", {})
@@ -323,9 +329,46 @@ def _diff_system(truth_sys: dict, scraped_sys: dict) -> dict:
"scraped_required": s_req, "scraped_required": s_req,
}) })
# Truth files not matched -> missing # Collect unmatched files from both sides
for fe in truth_sys.get("files", []): unmatched_truth = [
if fe["name"].lower() not in matched_truth_names: fe for fe in truth_sys.get("files", [])
if fe["name"].lower() not in matched_truth_names
]
unmatched_scraped = {
s_key: s_entry for s_key, s_entry in scraped_index.items()
if s_key not in truth_index
}
# Hash-based fallback: detect platform renames (e.g. Batocera ROM → ROM1)
# If an unmatched scraped file shares a hash with an unmatched truth file,
# it's the same file under a different name — a platform rename, not a gap.
rename_matched_truth: set[str] = set()
rename_matched_scraped: set[str] = set()
if unmatched_truth and unmatched_scraped:
# Build hash → truth file index for unmatched truth files
truth_hash_index: dict[str, dict] = {}
for fe in unmatched_truth:
for h in ("sha1", "md5", "crc32"):
val = fe.get(h)
if val and isinstance(val, str):
truth_hash_index[val.lower()] = fe
for s_key, s_entry in unmatched_scraped.items():
for h in ("sha1", "md5", "crc32"):
s_val = s_entry.get(h)
if not s_val or not isinstance(s_val, str):
continue
t_entry = truth_hash_index.get(s_val.lower())
if t_entry is not None:
# Rename detected — count as matched
rename_matched_truth.add(t_entry["name"].lower())
rename_matched_scraped.add(s_key)
break
# Truth files not matched (by name, alias, or hash) -> missing
for fe in unmatched_truth:
if fe["name"].lower() not in rename_matched_truth:
missing.append({ missing.append({
"name": fe["name"], "name": fe["name"],
"cores": list(fe.get("_cores", [])), "cores": list(fe.get("_cores", [])),
@@ -335,13 +378,14 @@ def _diff_system(truth_sys: dict, scraped_sys: dict) -> dict:
# Scraped files not in truth -> extra # Scraped files not in truth -> extra
coverage = truth_sys.get("_coverage", {}) coverage = truth_sys.get("_coverage", {})
has_unprofiled = bool(coverage.get("cores_unprofiled")) has_unprofiled = bool(coverage.get("cores_unprofiled"))
for s_key, s_entry in scraped_index.items(): for s_key, s_entry in unmatched_scraped.items():
if s_key not in truth_index: if s_key in rename_matched_scraped:
entry = {"name": s_entry["name"]} continue
if has_unprofiled: entry = {"name": s_entry["name"]}
extra_unprofiled.append(entry) if has_unprofiled:
else: extra_unprofiled.append(entry)
extra_phantom.append(entry) else:
extra_phantom.append(entry)
result: dict = {} result: dict = {}
if missing: if missing:

View File

@@ -31,10 +31,11 @@ from pathlib import Path
sys.path.insert(0, os.path.dirname(__file__)) sys.path.insert(0, os.path.dirname(__file__))
from common import ( from common import (
build_target_cores_cache, build_zip_contents_index, check_inside_zip, build_target_cores_cache, build_zip_contents_index, check_inside_zip,
compute_hashes, filter_systems_by_target, group_identical_platforms, compute_hashes, expand_platform_declared_names, filter_systems_by_target,
list_emulator_profiles, list_system_ids, load_data_dir_registry, group_identical_platforms, list_emulator_profiles, list_system_ids,
load_emulator_profiles, load_platform_config, md5sum, md5_composite, load_data_dir_registry, load_emulator_profiles, load_platform_config,
require_yaml, resolve_local_file, resolve_platform_cores, md5sum, md5_composite, require_yaml, resolve_local_file,
resolve_platform_cores,
) )
yaml = require_yaml() yaml = require_yaml()
@@ -261,13 +262,9 @@ def find_undeclared_files(
data_names: set[str] | None = None, data_names: set[str] | None = None,
) -> list[dict]: ) -> list[dict]:
"""Find files needed by cores but not declared in platform config.""" """Find files needed by cores but not declared in platform config."""
# Collect all filenames declared by this platform # Collect all filenames declared by this platform, enriched with
declared_names: set[str] = set() # canonical names from DB via MD5 (handles platform renaming)
for sys_id, system in config.get("systems", {}).items(): declared_names = expand_platform_declared_names(config, db)
for fe in system.get("files", []):
name = fe.get("name", "")
if name:
declared_names.add(name)
# Collect data_directory refs # Collect data_directory refs
declared_dd: set[str] = set() declared_dd: set[str] = set()

View File

@@ -31,6 +31,7 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "scripts"))
import yaml import yaml
from common import ( from common import (
build_zip_contents_index, check_inside_zip, compute_hashes, build_zip_contents_index, check_inside_zip, compute_hashes,
expand_platform_declared_names,
group_identical_platforms, load_emulator_profiles, load_platform_config, group_identical_platforms, load_emulator_profiles, load_platform_config,
md5_composite, md5sum, parse_md5_list, resolve_local_file, md5_composite, md5sum, parse_md5_list, resolve_local_file,
resolve_platform_cores, safe_extract_zip, resolve_platform_cores, safe_extract_zip,
@@ -269,6 +270,12 @@ class TestE2E(unittest.TestCase):
{"ref": "test-data-dir", "destination": "TestData"}, {"ref": "test-data-dir", "destination": "TestData"},
], ],
}, },
"sys-renamed": {
"files": [
{"name": "renamed_file.bin", "destination": "renamed_file.bin",
"md5": f["correct_hash.bin"]["md5"], "required": True},
],
},
}, },
} }
with open(os.path.join(self.platforms_dir, "test_md5.yml"), "w") as fh: with open(os.path.join(self.platforms_dir, "test_md5.yml"), "w") as fh:
@@ -490,6 +497,19 @@ class TestE2E(unittest.TestCase):
with open(os.path.join(self.emulators_dir, "test_subdir_core.yml"), "w") as fh: with open(os.path.join(self.emulators_dir, "test_subdir_core.yml"), "w") as fh:
yaml.dump(emu_subdir, fh) yaml.dump(emu_subdir, fh)
# Emulator whose file is declared by platform under a different name
# (e.g. gsplus ROM vs Batocera ROM1) — hash-based matching should resolve
emu_renamed = {
"emulator": "TestRenamed",
"type": "standalone",
"systems": ["sys-renamed"],
"files": [
{"name": "correct_hash.bin", "required": True},
],
}
with open(os.path.join(self.emulators_dir, "test_renamed.yml"), "w") as fh:
yaml.dump(emu_renamed, fh)
# --------------------------------------------------------------- # ---------------------------------------------------------------
# THE TEST -one method per feature area, all using same fixtures # THE TEST -one method per feature area, all using same fixtures
# --------------------------------------------------------------- # ---------------------------------------------------------------
@@ -3251,6 +3271,146 @@ class TestE2E(unittest.TestCase):
self.assertEqual(div["extra_unprofiled"][0]["name"], "phantom.bin") self.assertEqual(div["extra_unprofiled"][0]["name"], "phantom.bin")
self.assertNotIn("extra_phantom", div) self.assertNotIn("extra_phantom", div)
def test_173_cross_ref_hash_matching(self):
"""Platform file under different name matched by MD5 is not undeclared."""
config = load_platform_config("test_md5", self.platforms_dir)
profiles = load_emulator_profiles(self.emulators_dir)
undeclared = find_undeclared_files(config, self.emulators_dir, self.db, profiles)
names = {u["name"] for u in undeclared}
# correct_hash.bin is declared by platform as renamed_file.bin with same MD5
# hash-based matching should suppress it from undeclared
self.assertNotIn("correct_hash.bin", names)
def test_174_expand_platform_declared_names(self):
"""expand_platform_declared_names enriches with DB canonical names."""
config = load_platform_config("test_md5", self.platforms_dir)
result = expand_platform_declared_names(config, self.db)
# renamed_file.bin is declared directly
self.assertIn("renamed_file.bin", result)
# correct_hash.bin is the DB canonical name for the same MD5
self.assertIn("correct_hash.bin", result)
# ---------------------------------------------------------------
# Registry merge + all_libretro expansion + diff hash fallback
# ---------------------------------------------------------------
def test_175_registry_merge_cores(self):
"""load_platform_config merges cores from _registry.yml."""
from common import _platform_config_cache
# Platform YAML with 1 core
config = {
"platform": "TestMerge",
"cores": ["core_a"],
"systems": {"test-system": {"files": []}},
}
with open(os.path.join(self.platforms_dir, "testmerge.yml"), "w") as f:
yaml.dump(config, f)
# Registry with 2 cores (superset)
registry = {
"platforms": {
"testmerge": {
"config": "testmerge.yml",
"status": "active",
"cores": ["core_a", "core_b"],
}
}
}
with open(os.path.join(self.platforms_dir, "_registry.yml"), "w") as f:
yaml.dump(registry, f)
_platform_config_cache.clear()
loaded = load_platform_config("testmerge", self.platforms_dir)
cores = [str(c) for c in loaded["cores"]]
self.assertIn("core_a", cores)
self.assertIn("core_b", cores)
def test_176_all_libretro_in_list(self):
"""resolve_platform_cores expands all_libretro/retroarch in a list."""
from common import resolve_platform_cores, load_emulator_profiles
# Create a libretro profile and a standalone profile
for name, ptype in [("lr_core", "libretro"), ("sa_core", "standalone")]:
profile = {
"emulator": name,
"type": ptype,
"cores": [name],
"systems": ["test-system"],
"files": [],
}
with open(os.path.join(self.emulators_dir, f"{name}.yml"), "w") as f:
yaml.dump(profile, f)
profiles = load_emulator_profiles(self.emulators_dir)
# Config with retroarch + sa_core in cores list
config = {"cores": ["retroarch", "sa_core"]}
resolved = resolve_platform_cores(config, profiles)
self.assertIn("lr_core", resolved) # expanded via retroarch
self.assertIn("sa_core", resolved) # explicit
def test_177_diff_hash_fallback_rename(self):
"""Diff detects platform renames via hash fallback."""
from truth import diff_platform_truth
truth = {
"systems": {
"test-system": {
"_coverage": {"cores_profiled": ["c"], "cores_unprofiled": []},
"files": [
{"name": "ROM", "required": True, "md5": "abcd1234" * 4,
"_cores": ["c"], "_source_refs": []},
],
}
}
}
scraped = {
"systems": {
"test-system": {
"files": [
{"name": "ROM1", "required": True, "md5": "abcd1234" * 4},
],
}
}
}
result = diff_platform_truth(truth, scraped)
# ROM and ROM1 share the same hash — rename, not missing+phantom
self.assertEqual(result["summary"]["total_missing"], 0)
self.assertEqual(result["summary"]["total_extra_phantom"], 0)
def test_178_diff_system_normalization(self):
"""Diff matches systems with different IDs via normalization."""
from truth import diff_platform_truth
truth = {
"systems": {
"sega-gamegear": {
"_coverage": {"cores_profiled": ["c"], "cores_unprofiled": []},
"files": [
{"name": "bios.gg", "required": True, "md5": "a" * 32,
"_cores": ["c"], "_source_refs": []},
],
},
}
}
scraped = {
"systems": {
"sega-game-gear": {
"files": [
{"name": "bios.gg", "required": True, "md5": "a" * 32},
],
},
}
}
result = diff_platform_truth(truth, scraped)
self.assertEqual(result["summary"]["systems_uncovered"], 0)
self.assertEqual(result["summary"]["total_missing"], 0)
self.assertEqual(result["summary"]["systems_compared"], 1)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main() unittest.main()