Abdessamad Derraz
3d5d5b601c
feat: mass BIOS collection (+1020 files, 7520 total)
...
Add ~1500 BIOS, firmware and game data files sourced from
24 parallel agents. Migrate game engine data (ScummVM,
SDLPAL, OpenTyrian, Cave Story, Syobon Action) from bios/
to data/ via _data_dirs.yml. Add Roland MT-32/CM-32L ROMs
to bios/Roland/. Upload large files (EDK2, SDLPAL, ScummVM,
arcade ZIPs, EasyRPG soundfont) to large-files release.
New coverage: QEMU firmware (67), PCem (137), VICE (53),
Cemu Wii U (58), shadPS4 (14), Amiga (24), MAME ZIPs (724),
O2EM voice (270), Azahar 3DS (4), EightyOne ZX81 (35),
Stella KidVid (14), XRoar (12), and 77 emulators total.
2026-03-28 16:51:43 +01:00
Abdessamad Derraz
460c49dbcb
fix: bizhawk scraper lowercase sha1 + complete bios
2026-03-28 11:49:52 +01:00
Abdessamad Derraz
b854f71b44
feat: add bizhawk platform config
2026-03-28 09:45:12 +01:00
Abdessamad Derraz
22a1e7caf4
fix: sync NstDatabase.xml hashes in platform configs
2026-03-28 09:19:37 +01:00
Abdessamad Derraz
29749898f8
fix: correct sc3000, plus3 and plus3e hashes in platform configs
2026-03-27 17:47:39 +01:00
Abdessamad Derraz
181248b6db
fix: case-sensitive packs for linux platforms, remove empty bios placeholder
2026-03-27 12:58:08 +01:00
Abdessamad Derraz
8f1c7e47de
fix: emudeck scraper outputs cores field, base_scraper uses generate_platform_yaml
2026-03-27 12:27:51 +01:00
Abdessamad Derraz
79f2d82072
feat: add batocera standalone overrides for wine-dependent emulators
2026-03-27 12:18:08 +01:00
Abdessamad Derraz
5d6760d120
fix: populate romm target cores, normalize system IDs in filter
2026-03-27 11:15:41 +01:00
Abdessamad Derraz
cdc71525d0
feat: add emulator profiles and update docs
2026-03-27 10:29:38 +01:00
Abdessamad Derraz
0a1880f606
fix: filter baseline by platform-scoped cores, include retroarch cores in emudeck targets
2026-03-26 10:20:43 +01:00
Abdessamad Derraz
a3de47dd88
fix: normalize core names in emudeck and retropie scrapers
2026-03-26 09:44:11 +01:00
Abdessamad Derraz
bccea60f8d
fix: add vita via recipe, rewrite retropie scraper via github api
2026-03-26 09:32:22 +01:00
Abdessamad Derraz
14eaff73f7
feat: add retroarch target aliases to overrides
2026-03-26 09:25:39 +01:00
Abdessamad Derraz
dfb7d9a25a
fix: correct scraper paths and patterns, populate target files
2026-03-26 09:18:39 +01:00
Abdessamad Derraz
2980100fba
feat: add static target files for retrobat, retrodeck, romm
2026-03-26 08:56:00 +01:00
Abdessamad Derraz
ac66f0b73b
feat: add target fields to registry, create targets directory
2026-03-26 08:51:54 +01:00
Abdessamad Derraz
3f676b75e8
feat: standalone emulator support for batocera and multi-platform name mapping
...
resolve_platform_cores() builds reverse index from profile cores: field,
fixing 17 name mismatches across Batocera, RetroBat, and Recalbox
(genesisplusgx, pce_fast, pcfx, vb, mame078plus, vice cores, etc.).
standalone_path field on file entries + standalone_cores on platform
YAMLs enable mode-aware pack generation. find_undeclared_files() uses
standalone_path for cores the platform runs standalone, filters by
mode: libretro/standalone per file.
batocera.yml gains standalone_cores (92 entries from configgen-defaults).
generate_readme.py dynamically lists platforms from registry.
3 profiles updated for standalone type/path (mame, hatari, mupen64plus_next).
78 E2E tests pass, pipeline verified.
2026-03-26 00:44:21 +01:00
Abdessamad Derraz
d2cc9b8f29
feat: add doom engine wad files, emulatorjs base config
2026-03-25 23:12:53 +01:00
Roël Couwenberg
32b391ef69
feat: Addition of a RomM package ( #37 )
...
* feat: Initial addition of the RomM scraper and package
* docs: Added RomM to the verification modes table
* chore: Clean up scraper by removing workaround code from main() and an unused system translation map
2026-03-25 19:24:59 +01:00
Abdessamad Derraz
ebb55a445b
feat: re-profile 40 emulators, harden CI workflows
...
profile emulators pd777 through tic80, add frozen snapshots
(puae2021, snes9x2002/2005/2010, stella2014/2023).
CI: replace github-script with gh CLI, add test execution,
job-level permissions, propagate changed output, pin jsonschema.
2026-03-25 07:00:17 +01:00
Abdessamad Derraz
13a2938dc7
fix: correct 338 retrodeck hashes (sha1 truncation + stale mame 0.285)
2026-03-20 23:40:09 +01:00
Abdessamad Derraz
30c104ac8e
fix: correct Jaguar BIOS MD5 in retrodeck platform
2026-03-20 13:05:09 +01:00
Abdessamad Derraz
21bc225cac
fix: resolve truncated md5 in batocera scraper
...
Batocera upstream has a truncated 29-char MD5 for zx48.rom.
The scraper now resolves truncated hashes via prefix match
against database.json, preventing schema validation failures.
2026-03-19 23:52:25 +01:00
Abdessamad Derraz
6ee162f8fb
chore: add MAME and RetroDECK ROM sets
2026-03-19 23:26:49 +01:00
monster-penguin
1fcb948a00
Add RetroDECK Platform Support ( #36 )
...
* Add files via upload
* Add files via upload
* Update _registry.yml
2026-03-19 17:10:37 +01:00
Abdessamad Derraz
6a21a99c22
feat: platform-core registry for exact pack generation
...
resolve_platform_cores() links platforms to their cores via
three strategies: all_libretro, explicit list, system ID
fallback. Pack generation always includes core requirements
beyond platform baseline. Case-insensitive dedup prevents
conflicts on Windows/macOS. Data dir strip_components fixes
doubled paths for Dolphin and PPSSPP caches.
2026-03-19 16:10:43 +01:00
Abdessamad Derraz
86dbdf28e5
feat: core profiles, data_dirs buildbot, cross_ref fix
...
profiles: amiberry (new), amiarcadia, atari800, azahar, b2,
bk, blastem, bluemsx, freeintv updated with source refs,
upstream field, mode field, data_directories.
_data_dirs.yml: buildbot source for retroarch platforms,
strip_components for nested ZIPs, freeintv-overlays fixed.
cross_reference.py: data_directories-aware gap analysis,
suppresses false gaps when emulator+platform share refs.
refresh_data_dirs.py: ZIP strip_components support,
for_platforms filter, ETag freshness for buildbot.
scraper: bluemsx single ref, freeintv overlays injection.
generate_pack.py: warning on missing data directory cache.
2026-03-18 21:20:02 +01:00
Abdessamad Derraz
b3b279ccf3
docs: document data directories in README
2026-03-18 16:14:25 +01:00
Abdessamad Derraz
9b537492c0
feat: scraper injects data_directories refs into retroarch.yml
2026-03-18 16:06:56 +01:00
Abdessamad Derraz
68b1c575ae
feat: add data directory registry
2026-03-18 15:56:50 +01:00
Abdessamad Derraz
bb307aa250
feat: archive full dolphin-emu/Sys, add DSP/font/IPL paths to pack
...
dolphin-emu/Sys/ folder (2562 files) from libretro/dolphin Data/Sys.
retroarch.yml: DSP firmware (dsp_coef.bin, dsp_rom.bin), fonts
(font_western.bin, font_japanese.bin) at dolphin-emu/Sys/GC/ paths.
ref: DolphinLibretro/Boot.cpp:72-73, HW/DSPLLE/DSPHost.cpp,
HW/EXI/EXI_DeviceIPL.cpp. pack: 452 files, 0 missing.
2026-03-18 15:16:20 +01:00
Abdessamad Derraz
e5681c4ae8
feat: dolphin IPL.bin paths, scraper dedup by (name, destination)
...
dolphin: gc-ntsc-12.bin mapped to dolphin-emu/Sys/GC/<region>/IPL.bin
ref: DolphinLibretro/Boot.cpp:72-73, CommonPaths.h:139
scraper EXTRA_SYSTEM_FILES dedup now by (name, destination) to allow
same source file at multiple destinations.
retroarch pack: 448 files, 0 missing.
2026-03-18 15:08:26 +01:00
Abdessamad Derraz
4bffc23ab5
feat: 0 HIGH issues, xrick system, np2kai FONT.ROM, coleco.rom alias
...
verified against source: fuse flat (not fuse/), ep128emu/roms/ (not rom/).
added xrick system, np2kai FONT.ROM uppercase variant, coleco.rom alias.
quasi88 alt naming verified in quasi88-libretro/src/LIBRETRO/libretro.c:108-117.
61 systems, 445 files, 0 missing on all platforms.
2026-03-18 15:01:52 +01:00
Abdessamad Derraz
71e506e708
fix: ep128emu roms/ path (not rom/), fuse flat verified in source
...
ep128emu: corrected to ep128emu/roms/ per core.cpp:56,59.
fuse: verified in src/compat/paths.c — core searches flat, not fuse/.
docs are wrong on fuse/ prefix. removed from retroarch shared groups.
all refs updated to exact source lines.
added quasi88 alt names, vircon32, MacII.ROM casing.
2026-03-18 14:55:13 +01:00
Abdessamad Derraz
c09abe0179
feat: complete medium audit fixes, add vircon32, quasi88 alt names
...
scraper: add MacII.ROM casing fix, Vircon32 system, QUASI88 alt
naming convention (n88_0/1/2/3.rom alongside N88EXT*.ROM).
retroarch pack: 445 -> 450 files, 60 systems, 0 missing.
all choices traced to original emulator source code.
2026-03-18 14:50:07 +01:00
Abdessamad Derraz
1d6a0b9ebc
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.
2026-03-18 14:46:32 +01:00
Abdessamad Derraz
2afc31e40a
feat: scraper-generated retroarch.yml with shared group conformance
...
retroarch.yml regenerated by libretro_scraper with CORE_SUBDIR_MAP
(dc/, np2kai/, keropi/) and shared groups (fuse, kronos, ep128emu,
quasi88, np2kai, keropi). common.py dedup by (name, destination)
to allow same file at flat + subdirectory paths.
ep128emu shared group added for Enterprise system.
RetroArch pack grows from 398 to 428 files.
ref: each subdirectory traced to original emulator source code —
see platforms/README.md and _shared.yml comments.
2026-03-18 14:41:00 +01:00
Abdessamad Derraz
3802237209
feat: add fuse shared group, scraper injects fuse/ prefix for ZX Spectrum
2026-03-18 14:29:25 +01:00
Abdessamad Derraz
c71378a71c
feat: shared groups, scraper subdir prefixes, arcade + emulator profiles
...
shared groups in _shared.yml: np2kai, keropi, quasi88, kronos, ep128emu
with source references for each subdirectory requirement.
libretro_scraper: CORE_SUBDIR_MAP applies subdirectory prefixes at
generation time (np2kai/, keropi/, dc/). EXTRA_SYSTEMS adds QUASI88.
SYSTEM_SHARED_GROUPS injects includes for kronos/np2kai/keropi.
new BIOS: CPS3 (23 ZIPs), Cannonball OutRun (40 ROMs), PCem PC BIOS
(73 files), VICE Commodore ROMs, Spectrum ZIPs, dc_bios.bin, X1 fonts.
new emulator profiles: redream, melonds_ds, lrps2 with doc vs source
notes. platforms/README.md documents shared groups architecture.
2026-03-18 13:49:59 +01:00
Abdessamad Derraz
09ebaa9316
fix: retropie logo from github avatar, remove *.png gitignore
2026-03-18 11:26:46 +01:00
Abdessamad Derraz
81278bd2e4
fix: system icons (systematic theme), retropie logo
2026-03-18 11:25:14 +01:00
Abdessamad Derraz
300e5d7439
fix: redesign home page UX, fix broken retropie logo
2026-03-18 11:09:36 +01:00
Abdessamad Derraz
6885681c65
feat: add platform logos to registry and site
2026-03-18 10:55:47 +01:00
Abdessamad Derraz
040ea9f217
fix: resolve_file skips MD5 lookup for zipped_file entries
...
Same guard as verify.py: when zipped_file is set, the md5 is for the
inner ROM, not the container ZIP. Direct MD5 lookup resolved to the
standalone ROM file instead of the ZIP parent.
Fixes: ep64.zip/ep128.zip (Enterprise) written as raw ROM data instead
of ZIP archives in Batocera pack. Also fixes any other zipped_file entry
where the inner ROM MD5 matched a standalone file in the database.
Also: update Dinothawr.zip SHA1 in retroarch.yml to match actual file.
2026-03-18 06:27:35 +01:00
Abdessamad Derraz
4faae161b4
feat: implement --include-extras with hybrid core detection
...
generate_pack.py now merges Tier 2 emulator files into platform packs:
- Auto-detects cores from platform YAML "core:" fields (31 for RetroArch)
- Also reads manual "emulators:" list from _registry.yml (for Batocera etc)
- Union of both sources = complete emulator coverage per platform
- Files already in platform pack are skipped (Tier 1 wins)
Results with --include-extras:
RetroArch: 395 -> 654 files (+259 emulator extras)
Batocera: 359 -> 632 files (+273 emulator extras)
Pack naming: BIOS_Pack.zip (normal) vs Complete_Pack.zip (with extras)
2026-03-18 05:39:13 +01:00
Abdessamad Derraz
9052a6b750
feat: add emulator profiles and cross-reference engine (tier 2)
...
New two-tier architecture:
- Tier 1: Platform configs (what the UI checks) - unchanged
- Tier 2: Emulator profiles (what the code actually loads)
11 emulator profiles from source code analysis:
cemu, citra, dolphin, duckstation, flycast,
melonds, pcsx2, ppsspp, rpcs3, vita3k, xemu
Each profile documents every file the emulator loads with
source code references (file:line), hashes, and notes.
New scripts/cross_reference.py computes gaps between what
platforms declare and what emulators need.
Current gap: 200 undeclared files, 24 already in repo.
DuckStation alone recognizes 105 PS1/PS2 BIOS variants.
generate_pack.py gains --include-extras flag (future use).
_registry.yml maps platforms to their emulators.
2026-03-17 20:08:27 +01:00
Abdessamad Derraz
29d475b8b7
feat: add emudeck platform support, 126/164 verified
2026-03-17 13:33:07 +01:00
Abdessamad Derraz
851a14e49a
add retrobat platform support (scraper, config, verify)
2026-03-17 11:38:52 +01:00
Abdessamad Derraz
13c561888d
v2: automated BIOS platform with full pipeline
...
Reorganized 6 branches into bios/Manufacturer/Console/.
Scrapers for RetroArch, Batocera, Recalbox, and libretro core-info.
Platform-aware verification replicating native logic per platform.
Pack generation with dedup, alias resolution, variant support.
CI/CD: weekly auto-scrape, auto-release, PR validation.
Large files (>50MB) stored as GitHub Release assets, auto-fetched at build time.
2026-03-17 10:54:39 +01:00