mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-18 14:52:32 -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_files": 5563,
|
||||||
"total_size": 4908008969,
|
"total_size": 4908008969,
|
||||||
"files": {
|
"files": {
|
||||||
|
|||||||
@@ -220,6 +220,33 @@ systems:
|
|||||||
- name: qsound.zip
|
- name: qsound.zip
|
||||||
destination: qsound.zip
|
destination: qsound.zip
|
||||||
required: true
|
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
|
core: fbneo
|
||||||
manufacturer: Various
|
manufacturer: Various
|
||||||
docs: https://docs.libretro.com/library/fbneo/
|
docs: https://docs.libretro.com/library/fbneo/
|
||||||
@@ -331,6 +358,12 @@ systems:
|
|||||||
md5: 2c66f5911e5b42b8ebe113403548eee7
|
md5: 2c66f5911e5b42b8ebe113403548eee7
|
||||||
crc32: 3aa93ef3
|
crc32: 3aa93ef3
|
||||||
size: 8192
|
size: 8192
|
||||||
|
- name: BIOS.col
|
||||||
|
destination: BIOS.col
|
||||||
|
required: true
|
||||||
|
- name: bioscv.rom
|
||||||
|
destination: bioscv.rom
|
||||||
|
required: true
|
||||||
commodore-amiga:
|
commodore-amiga:
|
||||||
files:
|
files:
|
||||||
- name: kick33180.A500
|
- name: kick33180.A500
|
||||||
@@ -1237,6 +1270,18 @@ systems:
|
|||||||
md5: e45033d9b0fa6b0de071292bba7c9d13
|
md5: e45033d9b0fa6b0de071292bba7c9d13
|
||||||
crc32: 945f9dc9
|
crc32: 945f9dc9
|
||||||
size: 262144
|
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
|
core: desmume
|
||||||
manufacturer: Nintendo
|
manufacturer: Nintendo
|
||||||
docs: https://docs.libretro.com/library/desmume/
|
docs: https://docs.libretro.com/library/desmume/
|
||||||
@@ -1351,6 +1396,9 @@ systems:
|
|||||||
md5: d574d4f9c12f305074798f54c091a8b4
|
md5: d574d4f9c12f305074798f54c091a8b4
|
||||||
crc32: ec8a83b9
|
crc32: ec8a83b9
|
||||||
size: 256
|
size: 256
|
||||||
|
- name: sgb.boot.rom
|
||||||
|
destination: sgb.boot.rom
|
||||||
|
required: false
|
||||||
nintendo-snes:
|
nintendo-snes:
|
||||||
files:
|
files:
|
||||||
- name: cx4.data.rom
|
- name: cx4.data.rom
|
||||||
@@ -1766,6 +1814,9 @@ systems:
|
|||||||
md5: ac4e4b6522e200c0d23d371a8cecbfd3
|
md5: ac4e4b6522e200c0d23d371a8cecbfd3
|
||||||
crc32: e4d61811
|
crc32: e4d61811
|
||||||
size: 524288
|
size: 524288
|
||||||
|
- name: stvbios.zip
|
||||||
|
destination: kronos/stvbios.zip
|
||||||
|
required: true
|
||||||
core: kronos
|
core: kronos
|
||||||
manufacturer: Sega
|
manufacturer: Sega
|
||||||
docs: https://docs.libretro.com/library/kronos/
|
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.
|
# Arcade BIOS present in the repo but absent from System.dat.
|
||||||
# FBNeo expects them in system/ or system/fbneo/.
|
# FBNeo expects them in system/ or system/fbneo/.
|
||||||
# ref: fbneo/src/burner/libretro/libretro.cpp
|
# 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 = [
|
EXTRA_ARCADE_FILES = [
|
||||||
{"name": "namcoc69.zip", "destination": "namcoc69.zip", "required": True},
|
{"name": "namcoc69.zip", "destination": "namcoc69.zip", "required": True},
|
||||||
{"name": "namcoc70.zip", "destination": "namcoc70.zip", "required": True},
|
{"name": "namcoc70.zip", "destination": "namcoc70.zip", "required": True},
|
||||||
{"name": "namcoc75.zip", "destination": "namcoc75.zip", "required": True},
|
{"name": "namcoc75.zip", "destination": "namcoc75.zip", "required": True},
|
||||||
{"name": "msx.zip", "destination": "msx.zip", "required": True},
|
{"name": "msx.zip", "destination": "msx.zip", "required": True},
|
||||||
{"name": "qsound.zip", "destination": "qsound.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:
|
if "arcade" in systems:
|
||||||
existing = {f["name"] for f in systems["arcade"].get("files", [])}
|
existing = {f["name"] for f in systems["arcade"].get("files", [])}
|
||||||
@@ -291,6 +304,42 @@ class Scraper(BaseScraper):
|
|||||||
"required": True,
|
"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
|
# ep128emu shared group for Enterprise
|
||||||
if "enterprise-64-128" in systems:
|
if "enterprise-64-128" in systems:
|
||||||
systems["enterprise-64-128"].setdefault("includes", [])
|
systems["enterprise-64-128"].setdefault("includes", [])
|
||||||
|
|||||||
Reference in New Issue
Block a user