Abdessamad Derraz
fea0338062
fix: revert agent modifications to fuse.yml and qemu.yml
...
Agents added MD5/SHA1 hashes to fuse.yml computed from downloaded
files, not from source code (ground truth violation: validation
is [size] only). Agents added firmware entries to qemu.yml without
source code verification. Profiles must reflect code, not files.
2026-03-28 17:36:39 +01:00
Abdessamad Derraz
3092d73122
fix: cross-reference checks data/ directories for false positives
...
_find_in_repo and _name_in_index now scan data/ in addition to
bios/ via database.json. Eliminates 129 false positives from
game data migrated to data/ (OpenTyrian, ScummVM, SDLPAL, Cave
Story, Syobon Action). True missing: 782 -> 653.
2026-03-28 17:31:22 +01:00
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
7dc8428ac1
refactor: fix cross-reference archive grouping and path resolution
...
Group archived files by archive unit in find_undeclared_files instead
of reporting individual ROMs. Add path-based fallback for descriptive
names (e.g. "SeaBIOS (128 KB)" resolves via path: bios.bin). Update
_collect_extras to use archive name for pack resolution. Regenerate
database with new bios files. 6 new E2E tests covering archive
in_repo, missing archives, descriptive names, and pack extras.
2026-03-28 14:00:08 +01:00
Abdessamad Derraz
1ee8623b2e
feat: add 47 missing bios files and fix cross-reference false positives
...
Add BIOS files for CLK (Apple II, Mac, Atari ST, Enterprise, MSX,
Commodore, Thomson, PC, Acorn), FBNeo (CPS3 redearthn/sfiii2h),
and QEMU variants. Sources: Asimov mirror, MAME chip extraction,
86Box, Theodore, XRoar upstream, official QEMU repo.
Fix cross-reference in verify.py to group archived files by archive
unit instead of reporting individual ROMs as missing. Add path-based
fallback for descriptive names. Update generate_pack.py extras to
use archive name for resolution. 6 new E2E tests.
MISSING required: 321 -> 6 (zero false positives).
2026-03-28 13:59:48 +01:00
Abdessamad Derraz
543cb504bb
fix: skip file/directory path conflicts in pack generation
2026-03-28 12:57:30 +01:00
Abdessamad Derraz
645dc013a4
feat: add qemu bios hash variants
2026-03-28 12:33:03 +01:00
Abdessamad Derraz
5b5b304288
feat: add dragon and coco clone bios variants
2026-03-28 12:33:02 +01:00
Abdessamad Derraz
e07842ac4b
chore: add pyproject.toml for uv/pip compatibility
2026-03-28 12:33:00 +01:00
Abdessamad Derraz
366695b764
Update README.md
2026-03-28 12:12:05 +01:00
Abdessamad Derraz
460c49dbcb
fix: bizhawk scraper lowercase sha1 + complete bios
2026-03-28 11:49:52 +01:00
Abdessamad Derraz
a5285a9fc0
feat: add ti83 v1.10 and doom2.wad, zero platform missing
...
TI-83 v1.10 ROM from TOSEC archive (sha1 verified).
DOOM II WAD from archive.org for prboom libretro core.
All platforms now at 0 missing files.
2026-03-28 11:40:06 +01:00
Abdessamad Derraz
84d344450f
feat: add vice, qemu, pcem, freedoom, x16, iigs, dsi bios
...
VICE: basic, chargen, kernal for x64sdl libretro core.
QEMU: SeaBIOS 1.16.3 + VGA BIOS from system package.
PCem: MDA font ROM from PCem v17 ROM set.
Freedoom: freedoom1.wad + freedoom2.wad for prboom.
Commander X16: rom.bin R49 from x16-rom releases.
Apple IIGS: ROM01 from asimov mirrors.
DSi: NDS_Bios7i, NDS_Bios9i, DSi_Firmware, SGB_(JU).
2026-03-28 11:32:58 +01:00
Abdessamad Derraz
dd689bbd2a
feat: add name aliases for bizhawk platform resolution
...
Copy existing BIOS files under BizHawk-expected names:
MCD_eu_100.bin, MCD_jp_100p.bin, PSX_DTLH2000.bin,
MSX_4000bios.rom, MSX_8020-20bios.rom.
2026-03-28 10:29:13 +01:00
Abdessamad Derraz
1f65662fd2
feat: add ~110 missing bios files from archive.org and bizhawk
...
Sources: emularity_bios_v1, mame-bios-0.282, mame-bios-devices,
mame251, MAME216, bizhawk-firmware-2.11.0, neogeo_bios, retrobat.
Neo Geo: neogeo.zip upgraded 6 to 38 files, ngp.zip added.
Arcade: dsp1-4, jojoa/jojoba/jojobar1, fdsbios, decocass, neocdz.
Multi-platform: 3DO, Atari 7800/Lynx, C64, Channel F, ColecoVision,
Vectrex, Intellivision, GB/GBC/GBA, NDS, N64DD, SNES DSP/Satellaview,
PC Engine CD, PC-FX, SMS, Game Gear, Mega Drive, Mega-CD, Saturn STV,
Videopac, MSX, Amiga, ZX Spectrum, TI-83.
2026-03-28 10:26:30 +01:00
Abdessamad Derraz
b854f71b44
feat: add bizhawk platform config
2026-03-28 09:45:12 +01:00
Abdessamad Derraz
2738a4d326
feat: add bizhawk scraper for FirmwareDatabase.cs
2026-03-28 09:41:52 +01:00
Abdessamad Derraz
b75f2b2a43
feat: add sha1 verification mode for bizhawk
2026-03-28 09:35:13 +01:00
Abdessamad Derraz
f1855641c5
docs: add granular pack options to tools reference
2026-03-28 09:29:31 +01:00
Abdessamad Derraz
2666ebd9b7
chore: regenerate readme and database timestamps
2026-03-28 09:24:01 +01:00
Abdessamad Derraz
22a1e7caf4
fix: sync NstDatabase.xml hashes in platform configs
2026-03-28 09:19:37 +01:00
Abdessamad Derraz
67186448a2
fix: verify and add manifests to split packs
2026-03-28 08:43:41 +01:00
Abdessamad Derraz
70891314d3
fix: include core extras in split packs
2026-03-28 08:29:37 +01:00
Abdessamad Derraz
97b9900f62
chore: update NstDatabase.xml from upstream nestopia
...
Closes #40
2026-03-28 08:24:13 +01:00
Abdessamad Derraz
a1aa97a70e
fix: include core extras in split packs
2026-03-28 08:06:22 +01:00
Abdessamad Derraz
97b1c2c08a
feat: add --from-md5 lookup and pack builder
2026-03-28 01:02:25 +01:00
Abdessamad Derraz
0624e9d87e
test: add validation tests for pack arg combos
2026-03-28 00:59:02 +01:00
Abdessamad Derraz
3ded72f72b
feat: add --group-by manufacturer for split packs
2026-03-28 00:45:12 +01:00
Abdessamad Derraz
94a28f5459
feat: add --split flag for per-system packs
2026-03-28 00:43:20 +01:00
Abdessamad Derraz
837ac80cca
refactor: deduplicate manufacturer prefix list
2026-03-28 00:39:28 +01:00
Abdessamad Derraz
43cb7a9884
feat: allow --platform + --system combination
2026-03-28 00:36:51 +01:00
Abdessamad Derraz
020ff148c2
feat: add --required-only flag to generate_pack
2026-03-28 00:32:58 +01:00
Abdessamad Derraz
5cbd461a97
docs: update readme and database for ground truth feature
2026-03-27 23:55:30 +01:00
Abdessamad Derraz
6cbdd4c40c
test: add integration tests for ground truth full chain
2026-03-27 23:41:06 +01:00
Abdessamad Derraz
37acc8d0fc
feat: add --verbose flag and ground truth rendering
2026-03-27 23:38:43 +01:00
Abdessamad Derraz
2cf1398786
feat: attach ground truth to emulator verification results
2026-03-27 23:33:53 +01:00
Abdessamad Derraz
6b14b5e2b1
feat: attach ground truth to platform verification results
2026-03-27 23:30:49 +01:00
Abdessamad Derraz
6d959ff2b0
feat: add per-emulator ground truth to validation index
2026-03-27 23:25:42 +01:00
Abdessamad Derraz
3672912de7
chore: clean up sc3000 variant swap, update database
2026-03-27 22:50:54 +01:00
Abdessamad Derraz
569781c104
fix: rename misleading exclusion label in verify report
2026-03-27 22:44:05 +01:00
Abdessamad Derraz
7f265b3cb2
refactor: split pack check into baseline and cores with clear counts
2026-03-27 20:37:48 +01:00
Abdessamad Derraz
3ea1e09cb0
feat: verify core extras presence in pack alongside baseline
2026-03-27 19:41:47 +01:00
Abdessamad Derraz
89d6dd2eee
feat: add platform conformance check to pack verification
2026-03-27 19:21:29 +01:00
Abdessamad Derraz
acd2daf7c1
fix: filter pattern placeholders, skip standalone exclusions for standalone platforms
2026-03-27 18:30:18 +01:00
Abdessamad Derraz
0ad8324d46
refactor: clearer verify report for core files coverage
2026-03-27 18:11:26 +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
59d7582c0e
fix: swap sc3000.zip primary to batocera-compatible dump
2026-03-27 16:50:10 +01:00
Abdessamad Derraz
e94ce6b194
feat: source 10 missing bios variants for romm and retrobat coverage
2026-03-27 16:00:10 +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
a117b13b49
fix: data directory path construction avoids double slash duplicates
2026-03-27 12:42:21 +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
106130ca52
refactor: extract _norm_system_id, apply to resolve_platform_cores fallback
2026-03-27 12:23:18 +01:00
Abdessamad Derraz
79f2d82072
feat: add batocera standalone overrides for wine-dependent emulators
2026-03-27 12:18:08 +01:00
Abdessamad Derraz
c8cba9d519
fix: add beetle_supergrafx, caprice32, mess2016 aliases
2026-03-27 12:00:27 +01:00
Abdessamad Derraz
6b87c75e11
fix: add upstream buildbot aliases to 18 emulator profiles
2026-03-27 11:57:10 +01:00
Abdessamad Derraz
21fa98c82f
fix: add missing buildbot aliases to avoid false target skips
2026-03-27 11:43:29 +01:00
Abdessamad Derraz
1bde69f173
fix: add mednafen_wswan alias to beetle_wswan profile
2026-03-27 11:26:47 +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
17631f741c
fix: normalize system IDs for target filtering cross-platform matching
2026-03-27 11:14:24 +01:00
Abdessamad Derraz
cdc71525d0
feat: add emulator profiles and update docs
2026-03-27 10:29:38 +01:00
Abdessamad Derraz
74f48b8881
Add emulator profiles and update docs
...
Add new emulator profiles (ares, BigPEmu, Eden, Model2, PrimeHack, Supermodel, Suyu, Xenia Canary, Yuzu) under emulators/*.yml with metadata, notes, file lists and exclusion/hle details. Update README counts (emulators/systems/files summary and auto-generated timestamp) and bump generated_at in database.json. Adjust mkdocs.yml navigation counts and add Yuzu entry to the Emulators nav.
2026-03-26 13:22:11 +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
6402b77374
fix: filter baseline systems by target-available cores
2026-03-26 09:54:28 +01:00
Abdessamad Derraz
a3de47dd88
fix: normalize core names in emudeck and retropie scrapers
2026-03-26 09:44:11 +01:00
Abdessamad Derraz
7e8491fdf7
fix: resolve upstream core names to profile keys via reverse index
2026-03-26 09:42:08 +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
16b4dcc270
feat: rewrite retropie scraper using scriptmodules
2026-03-26 09:31:37 +01:00
Abdessamad Derraz
15e8c0eccb
feat: add Vita target via libretro-super recipes
2026-03-26 09:31:34 +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
03a9fa3276
fix: batocera targets scraper es_systems path and condition parser
...
- Fix es_systems.yml URL (batocera-emulationstation -> batocera-es-system)
- Replace if/endif block parser with select-if condition parser that
matches the actual Config.in structure (select PACKAGE if CONDITION)
- Add Kconfig boolean condition checker (handles &&, ||, !, parentheses)
- Add meta-flag expansion (X86_64_ANY, GLES3, ROCKCHIP_GLES3, etc.)
iterated to fixpoint for chained derivations
- Fix es_systems.yml parser for the actual dict format with requireAnyOf
2026-03-26 09:16:06 +01:00
Abdessamad Derraz
2980100fba
feat: add static target files for retrobat, retrodeck, romm
2026-03-26 08:56:00 +01:00
Abdessamad Derraz
6b86c543af
feat: add emudeck and retropie target scrapers
2026-03-26 08:55:58 +01:00
Abdessamad Derraz
8e91552b16
feat: add batocera per-board emulator target scraper
2026-03-26 08:55:54 +01:00
Abdessamad Derraz
c6ab8e9c3a
feat: add target scraper infra and retroarch buildbot scraper
2026-03-26 08:55:50 +01:00
Abdessamad Derraz
ac66f0b73b
feat: add target fields to registry, create targets directory
2026-03-26 08:51:54 +01:00
Abdessamad Derraz
de58f3f28e
feat: add --platform and --target to cross_reference.py
2026-03-26 08:48:41 +01:00
Abdessamad Derraz
89054084b7
feat: target-aware fingerprint in group_identical_platforms
2026-03-26 08:48:40 +01:00
Abdessamad Derraz
ea9cd93e83
feat: propagate --target through pipeline.py
2026-03-26 08:48:34 +01:00
Abdessamad Derraz
5ac14079d6
feat: add --target and --list-targets to generate_pack.py
2026-03-26 08:48:31 +01:00
Abdessamad Derraz
1e939f1470
feat: add --target and --list-targets to verify.py
2026-03-26 08:48:29 +01:00
Abdessamad Derraz
1c34790737
feat: propagate target_cores through find_undeclared_files, find_exclusion_notes, verify_platform, _collect_emulator_extras
2026-03-26 08:44:44 +01:00
Abdessamad Derraz
e17d771710
feat: add target_cores filter to resolve_platform_cores
...
Optional target_cores parameter intersects the resolved core set,
enabling per-target filtering without changing existing call sites.
Includes 2 E2E tests covering intersection and None pass-through.
2026-03-26 08:42:08 +01:00
Abdessamad Derraz
0549b8945e
feat: add load_target_config and list_available_targets to common.py
...
Loads per-platform target YAML files from platforms/targets/,
resolves aliases and applies add_cores/remove_cores from _overrides.yml.
Includes 7 E2E tests covering alias resolution, overrides, and error paths.
2026-03-26 08:41:37 +01:00
Abdessamad Derraz
8ac64d6143
docs: add build guide and documentation site section to readme
...
Quick start commands for generating packs by platform, emulator, or
system. Documentation site section explains what users can find there.
2026-03-26 07:15:01 +01:00
Abdessamad Derraz
bbe4936cf2
feat: add 12 batocera standalone profiles, update 3 existing
...
New profiles: citron (Switch), clk (multi-system), demul (Hikaru),
eka2l1 (Symbian/N-Gage), gsplus (Apple IIGS), lexaloffle (PICO-8),
openmsx (MSX), ryujinx (Switch), shadps4 (PS4), tsugaru (FM Towns),
x16emu (Commander X16), xroar (Dragon/CoCo), zc210 (Zelda Classic).
Updated: amiberry, fsuae (standalone Amiga), ymir (Saturn standalone).
2026-03-26 07:01:16 +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
44dc946217
docs: add romm to platform references
2026-03-25 23:19:52 +01:00
Abdessamad Derraz
d2cc9b8f29
feat: add doom engine wad files, emulatorjs base config
2026-03-25 23:12:53 +01:00
Abdessamad Derraz
1ad10eddb7
feat: include platform version in pack filenames
2026-03-25 18:55:35 +01:00
Abdessamad Derraz
69131f4ad1
fix: emulator validation is informational, not a platform failure
2026-03-25 17:34:56 +01:00
Abdessamad Derraz
c61d40d8ef
docs: rewrite readme for clarity and discoverability
2026-03-25 17:18:43 +01:00
Abdessamad Derraz
82ed2c5e62
fix: deploy-pages v5 does not exist, revert to v4
2026-03-25 16:57:01 +01:00
Abdessamad Derraz
38059e0fdf
chore: regenerate database, readme, mkdocs nav
2026-03-25 16:49:49 +01:00
Abdessamad Derraz
dfd8f8657c
feat: re-profile 4 emulators, add ymir
2026-03-25 16:49:49 +01:00
Abdessamad Derraz
4b09205bc9
fix: zero warnings on mkdocs build, update actions to v4/v5
2026-03-25 16:30:08 +01:00
Abdessamad Derraz
c5b267a6fb
fix: anchor mismatches in platform and emulator index pages
2026-03-25 16:23:25 +01:00
Abdessamad Derraz
851f53ba7f
refactor: extract wiki to source files, use deploy-pages action
2026-03-25 16:02:11 +01:00
Abdessamad Derraz
6e237e3b6d
chore: regenerate database, readme, mkdocs nav
2026-03-25 15:54:17 +01:00
Abdessamad Derraz
9765bbc3da
feat: add site deploy workflow, triggers only on content changes
2026-03-25 15:53:20 +01:00