Commit Graph
339 Commits
Author SHA1 Message Date
Abdessamad Derraz 1c537c3a30 fix: keep mame refresh to profiles on mame's tree 2026-08-08 13:52:25 +02:00
Abdessamad Derraz 731096cf12 chore: refresh mame bios refs from 0.289 2026-08-08 13:50:25 +02:00
Abdessamad Derraz 1232e43e7a chore: recale refs after the parsing fixes 2026-08-08 13:44:47 +02:00
Abdessamad Derraz fa6de11133 feat: parse colon continuations and header stems 2026-08-08 13:44:03 +02:00
Abdessamad Derraz 587aefd282 fix: name the external project on every dosbox ref 2026-08-08 13:41:28 +02:00
Abdessamad Derraz dde5509a39 chore: recale refs followed to their subject 2026-08-08 13:40:37 +02:00
Abdessamad Derraz 17da2ae76f feat: follow refs to a unique declared value 2026-08-08 13:39:54 +02:00
Abdessamad Derraz 31c4bee36b fix: point amiberry kickstart refs at candidates 2026-08-08 13:36:51 +02:00
Abdessamad Derraz c42209fa96 fix: point three refs at their real locations 2026-08-08 13:35:19 +02:00
Abdessamad Derraz 82b510de0d fix: relocate gear family bios refs 2026-08-08 13:23:06 +02:00
Abdessamad Derraz 642e9ea9ca fix: mark ecwolf data as standalone only 2026-08-08 13:20:54 +02:00
Abdessamad Derraz 89fe022196 chore: recale reviewed refs for three cores 2026-08-08 12:54:03 +02:00
Abdessamad Derraz 1fda81fb52 feat: record ares laseractive firmware hashes 2026-08-08 12:47:41 +02:00
Abdessamad Derraz b65ff255cb chore: recale reviewed refs for two cores 2026-08-08 12:38:47 +02:00
Abdessamad Derraz 7c8958e02b chore: recale refs with their annotations kept 2026-08-08 12:36:00 +02:00
Abdessamad Derraz ba898063c6 chore: recale refs settled by the new anchors 2026-08-08 12:25:42 +02:00
Abdessamad Derraz 9982748e49 fix: realign refs with their pinned revision 2026-08-08 12:17:11 +02:00
Abdessamad Derraz ace32054f5 chore: recale profile refs onto upstream head 2026-08-08 12:12:29 +02:00
Abdessamad Derraz 4d34cac45f chore: anchor profile refs to source commits 2026-08-08 11:52:28 +02:00
Abdessamad Derraz b82b64472a chore: anchor profile refs to source commits 2026-08-08 11:47:37 +02:00
Abdessamad Derraz 7bb9c61037 feat: profile eleven standalone emulators 2026-08-08 11:17:29 +02:00
Abdessamad Derraz aaba118edb fix: quote numeric rom names in mame sets 2026-08-08 11:17:21 +02:00
Abdessamad Derraz 5bc8033688 feat: profile scph5903 for beetle psx 2026-08-08 11:17:21 +02:00
Abdessamad Derraz 8fdc8128b8 refactor: drop unopened flycast bios archives 2026-08-08 08:11:58 +02:00
Abdessamad Derraz 8aceb64e1a feat: profile five standalone emulators 2026-08-08 08:11:53 +02:00
Abdessamad Derraz 09c43be11a fix: rename fbneo archives to runtime names 2026-08-08 06:37:37 +02:00
Abdessamad Derraz 56baa3f23f feat: profile cpcemu and dosbox variants 2026-08-08 06:19:38 +02:00
Abdessamad Derraz ed45cd4a76 fix: drop advancemame language file entry 2026-08-08 06:19:38 +02:00
Abdessamad Derraz cdd2905c63 fix: name fbneo archives as the code opens them 2026-08-08 06:19:38 +02:00
Abdessamad Derraz 38d8e78eb3 chore: drop es-de frontend profile 2026-08-08 04:58:59 +02:00
Abdessamad Derraz 4fac3bb0f6 feat: profile eight standalone emulators 2026-08-08 04:24:23 +02:00
Abdessamad Derraz a0ca5f208a feat: validate emulator profiles in CI 2026-08-08 04:24:11 +02:00
Abdessamad Derraz 8230aacc15 feat: add neo geo cd support to geolith profile 2026-08-07 19:04:32 +02:00
Abdessamad Derraz 0150bcb3ed fix: retype test and game cores 2026-08-07 16:46:57 +02:00
Abdessamad Derraz 587aadde08 fix: coerce numeric hashes to strings 2026-08-07 15:30:37 +02:00
Abdessamad Derraz 4870418232 feat: add upstream core aliases from rocknix packages 2026-08-06 18:47:31 +02:00
Abdessamad Derraz 864da27fa0 chore: refresh fbneo bios sets from upstream 2026-08-06 16:41:47 +02:00
Abdessamad Derraz 9c72a540e2 feat: add mesence emulator profile 2026-08-06 10:39:58 +02:00
Abdessamad Derraz e90095abd9 fix: resolve bios case collisions
Delete duplicate lowercase variants (identical MD5) of 12 files
that prevented clean checkout on case-insensitive filesystems
(Windows, macOS).

Canonical chosen per upstream source code:
- Atari 2600 KV*.WAV: uppercase (stella2023 hardcode)
- Vectrex VEC_Minestorm.vec: lowercase (BizHawk hardcode)
- MSX MSX{,2,2EXT}.ROM: uppercase (fMSX hardcode, 6/7 platforms)
- Doom DOOM2.WAD: uppercase (matches dir convention)

Add aliases to stella2014 and clk profiles so resolution still
finds the canonical source. Correct retrodeck Vectrex casing to
match upstream. Merge Commodore/Vic-20 into VIC-20.

Add tests/test_no_case_collisions.py as a CI guard.

Closes #49
2026-04-18 10:01:29 +02:00
Abdessamad Derraz 1d191ff190 chore: drop empty hash placeholders 2026-04-18 09:01:04 +02:00
Abdessamad Derraz 5a6b54c195 refactor: extract sizes to structured fields 2026-04-18 09:01:01 +02:00
Abdessamad Derraz e5ef253892 feat: add vice rom hashes from source 2026-04-18 09:00:58 +02:00
Abdessamad Derraz 4ba8648ec2 feat: enrich bsnes with system and hashes 2026-04-18 09:00:55 +02:00
Abdessamad Derraz 73ccb216f5 feat: align gap analysis coherence, add 7 BIOS files, unsourceable field
cross_reference.py: add bios_mode/agnostic/load_from filters, archive
grouping, unsourceable field support. verify.py: case-insensitive
by_name lookup, storage:release in_repo, unsourceable skip, trailing
slash fix. generate_site.py: enriched all_declared, platform-relevant
profile filtering, proper in_repo resolution on emulator pages,
acknowledged gaps section.

New BIOS: delta2.rom (XRoar), tilekey.dat + sprites.sif (NXEngine),
Gram Kracker.ctg + cf7+.ctg + ti-pcard.ctg (ti99sim), desc.dat
(SDLPAL). Profiles: hle_fallback on tilekey.dat/key.txt, unsourceable
on 7 files with source-verified reasons.
2026-04-02 15:35:24 +02:00
Abdessamad Derraz 9e184f76fc fix: swanstation ps1_rom.bin accepts multiple sizes
SwanStation accepts PS1 (512KB), PS2 (4MB), and PS3 (0x3E66F0)
BIOS sizes but only uses the first 512KB. MD5 validates the
extracted content, not the full file. List all accepted sizes
to eliminate the false size mismatch discrepancy.

validation.py: support size as list in emulator profiles.
generate_site.py: handle list sizes in emulator page display.

All 18 original hash mismatches are now resolved: 0 discrepancies.
2026-04-02 07:39:30 +02:00
Abdessamad Derraz 0401d058a1 feat: add by_sha256 index, fix reporting attribution
generate_db: add by_sha256 index for O(1) variant lookup.
verify: _find_best_variant uses indexed sha256 instead of O(n) scan.
validation: check_file_validation returns (reason, emulators) tuple,
attributing mismatch only to emulators whose check actually failed.
beetle_psx: remove incorrect size field for ps1_rom.bin (code does
not validate size, swanstation is sole size authority).
2026-04-02 00:59:01 +02:00
Abdessamad Derraz 2326306f2b fix: adler32 byteswap for dolphin dsp validation
Dolphin computes adler32 on byte-swapped (16-bit) data, not raw
file bytes. Add adler32_byteswap flag to dolphin/primehack/ishiiruka
profiles and support it in validation.py.

Reduces hash mismatch discrepancies from 18 to 2.
2026-04-01 22:51:39 +02:00
Abdessamad Derraz b56f8dd05f feat: add archive_prefix for core-specific BIOS subdirectories
Closes #43

FBNeo and Kronos expect BIOS archives in core-specific subdirectories
(system/fbneo/, system/kronos/). RetroArch firmware check uses .info
paths which include these prefixes, so files at root show as Missing.

Add archive_prefix field to emulator profiles. The pack code now places
archive copies in the prefixed subdirectory while keeping root copies
for cores that expect them there (e.g. Geolith for neogeo.zip).
2026-03-31 09:17:54 +02:00
Abdessamad Derraz 038c3d3b40 feat: enrich MAME/FBNeo profiles with upstream BIOS contents
auto-fetched from mamedev/mame 0.287 and finalburnneo/FBNeo v1.0.0.2.
mame: +20 new BIOS root sets, 96 entries enriched with contents.
mamearcade: 47 entries enriched with contents.
mamemess: 20 entries enriched with contents.
fbneo: +13 new ROM entries from upstream BIOS sets.
2026-03-30 21:39:02 +02:00
Abdessamad Derraz d415777f2c feat: add PS3UPDAT.PUP to rpcs3 profile
storage: large_file, validated via SCEUF magic + HMAC-SHA1
per entry (PUP.cpp:23-77). also adds missing standard fields
(cores, core_classification, upstream), removes non-standard
firmware_file/validation/firmware_version fields.
2026-03-30 15:06:51 +02:00