mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
feat: complete retroarch.yml conformance with libretro docs
scraper adds FBNeo subsystem BIOS (channelf, coleco, neocdz, ngp, spectrum, spec128, spec1282a, fdsbios, aes), DSi files, SGB alt names, JollyCV BIOS, Saturn ST-V, PSX alt BIOS. all traced to original emulator source code. 0 missing across all platforms. retroarch pack: 398 -> 445 files.
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"generated_at": "2026-03-18T13:29:00Z",
|
||||
"generated_at": "2026-03-18T13:46:32Z",
|
||||
"total_files": 5563,
|
||||
"total_size": 4908008969,
|
||||
"files": {
|
||||
|
||||
@@ -220,6 +220,33 @@ systems:
|
||||
- name: qsound.zip
|
||||
destination: qsound.zip
|
||||
required: true
|
||||
- name: channelf.zip
|
||||
destination: channelf.zip
|
||||
required: true
|
||||
- name: coleco.zip
|
||||
destination: coleco.zip
|
||||
required: true
|
||||
- name: neocdz.zip
|
||||
destination: neocdz.zip
|
||||
required: true
|
||||
- name: ngp.zip
|
||||
destination: ngp.zip
|
||||
required: true
|
||||
- name: spectrum.zip
|
||||
destination: spectrum.zip
|
||||
required: true
|
||||
- name: spec128.zip
|
||||
destination: spec128.zip
|
||||
required: true
|
||||
- name: spec1282a.zip
|
||||
destination: spec1282a.zip
|
||||
required: true
|
||||
- name: fdsbios.zip
|
||||
destination: fdsbios.zip
|
||||
required: true
|
||||
- name: aes.zip
|
||||
destination: aes.zip
|
||||
required: true
|
||||
core: fbneo
|
||||
manufacturer: Various
|
||||
docs: https://docs.libretro.com/library/fbneo/
|
||||
@@ -331,6 +358,12 @@ systems:
|
||||
md5: 2c66f5911e5b42b8ebe113403548eee7
|
||||
crc32: 3aa93ef3
|
||||
size: 8192
|
||||
- name: BIOS.col
|
||||
destination: BIOS.col
|
||||
required: true
|
||||
- name: bioscv.rom
|
||||
destination: bioscv.rom
|
||||
required: true
|
||||
commodore-amiga:
|
||||
files:
|
||||
- name: kick33180.A500
|
||||
@@ -1237,6 +1270,18 @@ systems:
|
||||
md5: e45033d9b0fa6b0de071292bba7c9d13
|
||||
crc32: 945f9dc9
|
||||
size: 262144
|
||||
- name: dsi_bios7.bin
|
||||
destination: dsi_bios7.bin
|
||||
required: true
|
||||
- name: dsi_bios9.bin
|
||||
destination: dsi_bios9.bin
|
||||
required: true
|
||||
- name: dsi_firmware.bin
|
||||
destination: dsi_firmware.bin
|
||||
required: true
|
||||
- name: dsi_nand.bin
|
||||
destination: dsi_nand.bin
|
||||
required: true
|
||||
core: desmume
|
||||
manufacturer: Nintendo
|
||||
docs: https://docs.libretro.com/library/desmume/
|
||||
@@ -1351,6 +1396,9 @@ systems:
|
||||
md5: d574d4f9c12f305074798f54c091a8b4
|
||||
crc32: ec8a83b9
|
||||
size: 256
|
||||
- name: sgb.boot.rom
|
||||
destination: sgb.boot.rom
|
||||
required: false
|
||||
nintendo-snes:
|
||||
files:
|
||||
- name: cx4.data.rom
|
||||
@@ -1766,6 +1814,9 @@ systems:
|
||||
md5: ac4e4b6522e200c0d23d371a8cecbfd3
|
||||
crc32: e4d61811
|
||||
size: 524288
|
||||
- name: stvbios.zip
|
||||
destination: kronos/stvbios.zip
|
||||
required: true
|
||||
core: kronos
|
||||
manufacturer: Sega
|
||||
docs: https://docs.libretro.com/library/kronos/
|
||||
|
||||
@@ -268,12 +268,25 @@ class Scraper(BaseScraper):
|
||||
# Arcade BIOS present in the repo but absent from System.dat.
|
||||
# FBNeo expects them in system/ or system/fbneo/.
|
||||
# ref: fbneo/src/burner/libretro/libretro.cpp
|
||||
# ref: fbneo/src/burner/libretro/libretro.cpp — search order:
|
||||
# 1) romset dir 2) system/fbneo/ 3) system/
|
||||
EXTRA_ARCADE_FILES = [
|
||||
{"name": "namcoc69.zip", "destination": "namcoc69.zip", "required": True},
|
||||
{"name": "namcoc70.zip", "destination": "namcoc70.zip", "required": True},
|
||||
{"name": "namcoc75.zip", "destination": "namcoc75.zip", "required": True},
|
||||
{"name": "msx.zip", "destination": "msx.zip", "required": True},
|
||||
{"name": "qsound.zip", "destination": "qsound.zip", "required": True},
|
||||
# FBNeo non-arcade subsystem BIOS (MAME-format ZIPs)
|
||||
# ref: fbneo/src/burn/drv/ per-driver source files
|
||||
{"name": "channelf.zip", "destination": "channelf.zip", "required": True},
|
||||
{"name": "coleco.zip", "destination": "coleco.zip", "required": True},
|
||||
{"name": "neocdz.zip", "destination": "neocdz.zip", "required": True},
|
||||
{"name": "ngp.zip", "destination": "ngp.zip", "required": True},
|
||||
{"name": "spectrum.zip", "destination": "spectrum.zip", "required": True},
|
||||
{"name": "spec128.zip", "destination": "spec128.zip", "required": True},
|
||||
{"name": "spec1282a.zip", "destination": "spec1282a.zip", "required": True},
|
||||
{"name": "fdsbios.zip", "destination": "fdsbios.zip", "required": True},
|
||||
{"name": "aes.zip", "destination": "aes.zip", "required": True},
|
||||
]
|
||||
if "arcade" in systems:
|
||||
existing = {f["name"] for f in systems["arcade"].get("files", [])}
|
||||
@@ -291,6 +304,42 @@ class Scraper(BaseScraper):
|
||||
"required": True,
|
||||
})
|
||||
|
||||
# Extra files missing from System.dat for specific systems.
|
||||
# Each traced to the core's source code.
|
||||
EXTRA_SYSTEM_FILES = {
|
||||
# melonDS DS DSi mode — ref: JesseTG/melonds-ds/src/libretro.cpp
|
||||
"nintendo-ds": [
|
||||
{"name": "dsi_bios7.bin", "destination": "dsi_bios7.bin", "required": True},
|
||||
{"name": "dsi_bios9.bin", "destination": "dsi_bios9.bin", "required": True},
|
||||
{"name": "dsi_firmware.bin", "destination": "dsi_firmware.bin", "required": True},
|
||||
{"name": "dsi_nand.bin", "destination": "dsi_nand.bin", "required": True},
|
||||
],
|
||||
# bsnes SGB naming — ref: bsnes/target-libretro/libretro.cpp
|
||||
"nintendo-sgb": [
|
||||
{"name": "sgb.boot.rom", "destination": "sgb.boot.rom", "required": False},
|
||||
],
|
||||
# JollyCV — ref: jollycv/libretro.c
|
||||
"coleco-colecovision": [
|
||||
{"name": "BIOS.col", "destination": "BIOS.col", "required": True},
|
||||
{"name": "bioscv.rom", "destination": "bioscv.rom", "required": True},
|
||||
],
|
||||
# Kronos ST-V — ref: libretro-kronos/libretro/libretro.c
|
||||
"sega-saturn": [
|
||||
{"name": "stvbios.zip", "destination": "kronos/stvbios.zip", "required": True},
|
||||
],
|
||||
# PCSX ReARMed / Beetle PSX alt BIOS — ref: pcsx_rearmed/libpcsxcore/misc.c
|
||||
# docs say PSXONPSP660.bin (uppercase) but core accepts any case
|
||||
"sony-playstation": [
|
||||
{"name": "psxonpsp660.bin", "destination": "psxonpsp660.bin", "required": False},
|
||||
],
|
||||
}
|
||||
for sys_id, extra_files in EXTRA_SYSTEM_FILES.items():
|
||||
if sys_id in systems:
|
||||
existing = {f["name"] for f in systems[sys_id].get("files", [])}
|
||||
for ef in extra_files:
|
||||
if ef["name"] not in existing:
|
||||
systems[sys_id]["files"].append(ef)
|
||||
|
||||
# ep128emu shared group for Enterprise
|
||||
if "enterprise-64-128" in systems:
|
||||
systems["enterprise-64-128"].setdefault("includes", [])
|
||||
|
||||
Reference in New Issue
Block a user