Commit Graph
50 Commits
Author SHA1 Message Date
Abdessamad Derraz 26ce416163 chore: regenerate database, manifests and readme 2026-10-06 02:47:55 +02:00
Abdessamad Derraz 27610c1d33 chore: regenerate database, manifests and readme 2026-10-06 01:22:56 +02:00
Abdessamad Derraz f010e737c5 chore: regenerate database, manifests and readme 2026-10-05 22:55:32 +02:00
Abdessamad Derraz 757fad69bc feat: store pcsx2 achievement sound under its tail 2026-10-05 22:22:22 +02:00
Abdessamad DerrazandClaude Opus 5.5 a3d5e6c048 chore: regenerate database, manifests and readme
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 02:51:23 +02:00
Abdessamad Derraz 8f8817a6f3 chore: regenerate database, manifests and readme 2026-10-04 23:48:32 +02:00
Abdessamad Derraz ded1b49b98 chore: regenerate database, manifests and readme 2026-10-04 22:49:58 +02:00
Abdessamad Derraz d0279fe4d5 chore: regenerate database, manifests and readme 2026-10-04 20:16:18 +02:00
Abdessamad Derraz 08bce47668 fix: keep install manifests and release assets true 2026-09-14 01:17:49 +02:00
Abdessamad Derraz 691ccbfca7 feat: make the native export round-trip a platform file 2026-09-05 17:32:48 +02:00
Abdessamad Derraz e2863b13ca chore: regenerate database, manifests and readme 2026-09-03 23:21:17 +02:00
Abdessamad Derraz 27e722d8f3 chore: remove 177 duplicate copies
dedup.py removes a copy only when another file has the same SHA-1 and
the same name, keeping the higher-priority path, so resolution by hash
still finds the content. Verified rather than assumed: all 17268
manifest entries ship the same bytes as before, no destination gained
or lost, only the source paths consolidate. Every deleted path's content
is still held elsewhere.

12.1 MB and 48 empty directories go with them. The index and the
published artefacts are regenerated on top.
2026-08-23 14:14:14 +02:00
Abdessamad Derraz 232ef1a6b8 fix: let the constrained declaration win in manifests too
A destination can be declared by more than one system, bare in one and
hash-constrained in another. generate_pack resolves that with
_preferred_entries so the constrained sibling claims the destination;
generate_manifest never did, and named whatever answered to the name.

RetroDECK's bios/d2fdc.zip is the case: declared with an md5 in the
arcade system and bare under apple-ii. The pack carried the right
archive, 262 bytes reached through the MAME clone map, while the
manifest sent install.py to a 256-byte Apple II ROM. Downloading the
ZIP and running the installer gave different files.

A test now hashes every manifest entry a platform pins and compares it
against what the platform declares: 3295 entries, on the platforms whose
frontend reads the bytes. It accepts any of several declarations for one
destination, the member-composite MD5 Recalbox pins for arcade archives,
and Batocera's 29-character prefixes. Reinstating the old manifest entry
fails it.
2026-08-23 12:14:56 +02:00
Abdessamad Derraz 31b0cab1d3 chore: regenerate the index and the published figures
Rebuilt from the complete state: 8923 files indexed, 436 emulators, and
coverage up on every platform that gained a profile. The gap count falls
from 9 to 7, the three that closed being the C128 kernal, the Cave Story
build and Supermodel's Games.xml.

Whole pipeline green on this revision: database, provenance, recipes,
data directories, hash scrapers, truth, verify, packs, manifests,
consistency and pack integrity across the twelve platforms.
2026-08-23 09:37:25 +02:00
Abdessamad Derraz 3f248d7be1 chore: regenerate the install manifests
The published manifests still described what the builder produced before
today's fixes. RetroArch's listed 55 files from another emulator's tree -
an Android package's banner, icons and Noto fonts - to be installed into
a BIOS directory, and omitted the six regional DSi NAND dumps a
filename-agnostic core accepts.

Across the twelve platforms: 199 files no longer listed, 36 newly
listed. Generated from the committed profile set and the committed
database so the revision stays consistent with itself.
2026-08-23 08:02:16 +02:00
Abdessamad Derraz 52ace172b4 chore: refresh database, manifests and readme
The findable gap moves from five to nine: the files the builder drops
under a digest mode are reported absent instead of counted as held.
2026-08-12 05:52:37 +02:00
Abdessamad Derraz cffb067a59 chore: refresh database, manifests and readme 2026-08-11 19:06:19 +02:00
Abdessamad Derraz b890998a94 chore: refresh database, manifests and readme 2026-08-11 14:45:18 +02:00
Abdessamad Derraz dbb055f4ac feat: add the thomson cd90-640 controller rom
Clock Signal loads it from Thomson/cd90-640.rom.
2026-08-11 05:45:46 +02:00
Abdessamad Derraz e32ae3a558 chore: refresh database, manifests and readme
The database drops the duplicate PS3UPDAT.PUP entry and regains
adler32 on every file. RetroPie gains an install manifest, so the
download table reports its size instead of a dash.
2026-08-11 01:13:36 +02:00
Abdessamad Derraz 0d4a4b3355 chore: refresh database, manifests and readme
7779 files. Regenerated after the archive renames, the Triforce filing
and the fourteen acquired runtimes.
2026-08-10 13:37:25 +02:00
Abdessamad Derraz af52c7ed24 chore: rebuild manifests and docs 2026-08-08 11:31:05 +02:00
Abdessamad Derraz a3cb6c59ae chore: rebuild database, manifests and docs 2026-08-08 11:18:37 +02:00
Abdessamad Derraz c860dd7666 chore: rebuild database, manifests and docs 2026-08-08 08:21:29 +02:00
Abdessamad Derraz 69d53c97c9 feat: add launchbox detection to installer 2026-08-08 04:24:17 +02:00
Abdessamad Derraz 110400043e chore: regenerate database and manifests 2026-08-07 19:04:33 +02:00
Abdessamad Derraz fe41c237a2 chore: regenerate manifests and readme 2026-08-07 14:43:13 +02:00
Abdessamad Derraz 79306f462d fix: drop empty placeholder file 2026-08-06 20:13:53 +02:00
Abdessamad Derraz 2f75ea7c83 chore: regenerate database and manifests 2026-08-06 16:41:55 +02:00
Abdessamad Derraz 653c414ed2 chore: regenerate database and manifests 2026-08-06 10:40:18 +02:00
Abdessamad Derraz 07d117b157 chore: regenerate database and manifests 2026-08-06 05:00:50 +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 8f93ee2239 feat: flatten zips, standalone copies, retropie grouping 2026-04-03 12:04:55 +02:00
Abdessamad Derraz 2f11542ed3 chore: regenerate manifests, site, and docs after new BIOS files 2026-04-02 15:56:24 +02:00
Abdessamad Derraz f4626ce3bd Add MSX2J ROM and update manifests
Add MSX2J.rom (sha1: 0081ea0d25bc5cd8d70b60ad8cfdc7307812c0fd, size: 32768) to multiple install manifests and the RetroDECK bios list. Update generated timestamps and adjust total_files/total_size counts in batocera, lakka, recalbox, retroarch, retrobat, and retrodeck manifests. Also bump README verified file count and regenerate the auto-generated timestamp to reflect the new entry.
2026-04-02 10:44:25 +02:00
Abdessamad Derraz 9bbd39369d fix: alias-only files missing from full packs
find_undeclared_files was enriching declared_names with DB aliases,
filtering core extras that were never packed by Phase 1 under that
name. Pass strict YAML names to _collect_emulator_extras so alias-
only files (dc_bios.bin, amiga-os-310-a1200.rom, scph102.bin, etc.)
get packed at the emulator's expected path. Also fix truth mode
output message and --all-variants --verify-packs quick-exit bypass.
2026-04-01 18:39:36 +02:00
Abdessamad Derraz 7beb651049 fix: correct core extras placement for retrodeck and romm packs
RetroDECK: core extras with subdirectory paths (e.g. vice/C64/,
fbneo/, dc/) were placed outside bios/ because the prefix was only
inferred for bare filenames. Add _detect_extras_prefix() to infer
the dominant BIOS prefix from YAML destinations.

RomM: core extras landed flat at bios/{file} instead of the required
bios/{platform_slug}/{file}. Add _detect_slug_structure() to detect
per-system slug layouts and _map_emulator_to_slug() to route each
extra to the correct slug subfolder.

Also skip manifest writes when only the generated timestamp changed,
preventing unnecessary diffs in install/*.json.
2026-04-01 11:08:01 +02:00
Abdessamad Derraz 5eeaf87a3a fix: resolve all untested and missing bios across platforms
Batocera: fix sc3000.rom md5 (no dump matches upstream hash),
remove erroneous bk0010.zip mame entries (upstream confirmed
mame needs no bios for bk), add PSP2UPDAT.PUP correct version.
Recalbox: add MSX2R2.ROM from blueMSX v2.82.
RetroDECK: fix stale peribox_ev/gen.zip md5 hashes.

Regenerate database, manifests, readme.
2026-04-01 01:42:39 +02:00
Abdessamad Derraz ab3255b0c7 chore: regenerate readme, manifests after md5 resolution fix 2026-03-31 14:37:52 +02:00
Abdessamad Derraz eb354128e2 fix: consistency check allows pack to resolve more than verify 2026-03-31 13:46:12 +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 2aca4927c0 chore: regenerate database, readme, manifests, site 2026-03-30 14:19:00 +02:00
Abdessamad Derraz d3a2224dd2 chore: regenerate database, readme, manifests, site 2026-03-30 09:42:39 +02:00
Abdessamad Derraz 95e16c9e7a Add Adam/Advision/APF systems and update metadata
Add support for Coleco Adam, Entex Adventure Vision and APF M-1000 BIOS/ROM sets in MAME and MESS metadata (multiple Adam device MCU ROMs and optional FDC/SPI variants, Advision and APF BIOS entries). Update generated metadata across the repo: README coverage numbers and per-platform coverage rows, database generated timestamp and totals (total_files 7245), and various install manifests (notably batocera.json) with new timestamps, adjusted file counts/sizes, SHA1s, repo_path fixes and an added adam_fdc_320kb.zip entry. Also update notes to reflect the new system ROM sets in the emulators entries.
2026-03-29 16:07:15 +02:00
Abdessamad Derraz 44cb444a7b chore: regenerate install manifests after path fixes 2026-03-29 10:13:02 +02:00
Abdessamad Derraz 1825fff893 fix: repo_path fallback by name for normalized zips 2026-03-28 19:11:36 +01:00
Abdessamad Derraz 0419c6a780 fix: generate manifest aliases for grouped platforms 2026-03-28 18:58:24 +01:00
Abdessamad Derraz 6243271ab3 fix: regenerate manifests without base_dest prefix 2026-03-28 18:47:38 +01:00
Abdessamad Derraz 080cc8f19d fix: manifest dest paths relative to bios dir 2026-03-28 18:42:19 +01:00
Abdessamad Derraz 8777706a01 chore: generate initial install manifests 2026-03-28 18:29:01 +01:00