Commit Graph
145 Commits
Author SHA1 Message Date
Abdessamad Derraz 77dff6377e fix: keep fbneo per-rom refs and archive names 2026-08-10 16:47:20 +02:00
Abdessamad Derraz 76984e8bce feat: close the last anchored gaps
Four files, each with a verifiable origin.

logo.tga and logo_red.tga come from the loader's own resources/logo.h:
hook.c's fread maps FILE_LOGO_TGA to logoLL or logoLLRed depending on
which path was opened, one array per file, so the extraction is exact.
Both decode as valid RLE TGA at their declared lengths.

lgp.zip and timetrav.zip carry crc 0 in Hypseus and in Daphne upstream,
so MAME vouches for them instead. lgp maps onto MAME's set by base name,
confirmed by the five members whose bytes already agreed, and the four
that were missing came from the same set. timetrav is MAME's timetrv:
tt061891.bin, 262144 bytes, crc a3d44219.

The four Sega fonts stay open, and the profile now says why: the loader
embeds one 128x256 atlas and one metrics table answering all four paths,
so it substitutes for the originals rather than reproducing either.
2026-08-10 15:13:15 +02:00
Abdessamad Derraz b76edd2034 feat: add laserdisc romsets for hypseus singe
Sixty-nine of the seventy-one sets Hypseus Singe loads, assembled from
atoms retrieved from public archives and rebuilt with torrentzip under
the member names its source expects.

Every set is anchored: the profile already carried each member with its
CRC32, read from Hypseus' own source, so a candidate is either an exact
match or discarded. Sixty-seven verified that way. For gpworld and
firefoxa, Hypseus declares crc 0 and gives no anchor, so MAME's recipe
for the same game vouched for the bytes instead: 17/17 and 6/6.

lgp and timetrav stay out. Hypseus declares crc 0 for both, MAME covers
only 5 of lgp's 9 members and has no timetrav at all, so nothing can
vouch for them and half-verified is not verified.

The six Lindbergh font and logo files gain has_builtin: true. hook.c
serves them from resources/logo.h and resources/font.h unless built-ins
are disabled, so they are not a gap the collection can close.
2026-08-10 14:34:15 +02:00
Abdessamad Derraz 892bc34e21 refactor: fold vba_m into the vbam profile
vba_m carried md5 values taken from docs.libretro.com while its entries
declare validation: [size], which is what src/gba/GBA.cpp:3262-3272 and
src/gb/GB.cpp:2172-2192 actually check. Only the source decides a hash,
so they are gone.

The profile becomes an alias of vbam, and the buildbot name vba-m moves
into its cores: list so target filtering still resolves it.
2026-08-10 13:37:20 +02:00
Abdessamad Derraz 597a8ff919 fix: quote rom and core names in yaml
YAML 1.1 reads an unquoted 01 as the integer 1 and 81 as 81, so the
manager set stopped naming the file its driver opens and the API
published "cores": [2048] as a number where consumers match strings.

Ground truth from MAME 0.289 at the revision the profile cites:
src/mame/vtech/crvision.cpp:957 loads "01" and "23".

The root cause was the scraper: _hash_merge wrote these names through an
f-string, so quoting the profiles alone would be undone on the next
refresh. _yaml_scalar now quotes every name, archive and description it
writes.
2026-08-10 13:35:42 +02:00
Abdessamad Derraz 45f89cc6c0 feat: add region filters and profiles 2026-08-09 14:15:56 +02:00
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