Commit Graph
997 Commits
Author SHA1 Message Date
Abdessamad Derraz ee6e7558f9 refactor: assign each module constant once 2026-09-04 10:19:04 +02:00
Abdessamad Derraz 626c012a6b docs: document split packs and region filtering 2026-09-04 10:18:14 +02:00
Abdessamad Derraz 361b958f41 feat: download packs published as split volumes 2026-09-04 10:18:14 +02:00
Abdessamad Derraz d368b37165 docs: surface region filtering in the readme 2026-09-04 08:31:05 +02:00
Abdessamad Derraz 11c4a6a945 docs: answer the installer questions on the page 2026-09-04 08:31:05 +02:00
Abdessamad Derraz b1d1eeab06 docs: give the installer a page of its own 2026-09-04 06:55:23 +02:00
Abdessamad Derraz f2346d6001 docs: keep only the latest release 2026-09-04 04:40:50 +02:00
Abdessamad Derraz 9669ae06d2 docs: publish a release only once its assets are up 2026-09-04 04:16:58 +02:00
Abdessamad Derraz 7ff6ea20d1 docs: one pack per platform, the complete one 2026-09-04 04:10:15 +02:00
Abdessamad Derraz 26df60db75 chore: build releases locally, retire the ci build 2026-09-04 03:37:01 +02:00
Abdessamad Derraz 3d7852cdb7 chore: refuse a busy output before any work 2026-09-04 03:11:11 +02:00
Abdessamad Derraz 3adb34d322 fix: let a run name its host os 2026-09-04 02:57:46 +02:00
Abdessamad Derraz e2863b13ca chore: regenerate database, manifests and readme 2026-09-03 23:21:17 +02:00
Abdessamad Derraz 0cff7f1156 fix: serve the drop mame4droid 0.139 pins 2026-09-03 23:21:17 +02:00
Abdessamad Derraz 3e6e7690de chore: read skyline from its archived revision 2026-09-03 22:45:17 +02:00
Abdessamad Derraz 38820416e4 feat: collect project64 cheats, languages and scsi rom 2026-09-03 22:43:58 +02:00
Abdessamad Derraz 1f5f18219f feat: collect the sound canvas va engine and data 2026-09-03 22:42:12 +02:00
Abdessamad Derraz 59d3b0683a refactor: let cached branch tips expire 2026-09-03 22:29:48 +02:00
Abdessamad Derraz b362d81910 feat: profile hatari on main and hatarib 2026-09-03 22:28:59 +02:00
Abdessamad Derraz ce739761fb feat: collect the x68030 and xm6 typeg data files 2026-09-03 22:26:09 +02:00
Abdessamad Derraz 1ede72edb7 feat: collect apple iie, atari and multiface roms 2026-09-03 22:18:28 +02:00
Abdessamad Derraz 6ccba5e31f feat: collect mister, namco 246 and apple iie roms 2026-09-03 22:14:35 +02:00
Abdessamad Derraz 20da2e1bca feat: derive the six ctf sc-55mkii program roms 2026-09-03 22:08:13 +02:00
Abdessamad Derraz f62e986192 docs: keep the abc note inside its entry 2026-09-03 22:06:51 +02:00
Abdessamad Derraz 3c85f51314 feat: profile nuance, pcee2 and pokketstation 2026-09-03 22:06:30 +02:00
Abdessamad Derraz df7346b3e0 docs: say which built-ins the derived files export 2026-09-03 22:06:30 +02:00
Abdessamad Derraz cbb81fb176 feat: collect desktop emulator bundle files 2026-09-03 22:05:27 +02:00
Abdessamad Derraz 8c686dee48 feat: profile nine new buildbot cores 2026-09-03 22:04:14 +02:00
Abdessamad Derraz cad82f9103 fix: serve the drop mame4droid 2024 pins 2026-09-03 22:04:14 +02:00
Abdessamad Derraz 3efe87f42b feat: collect the fpse, epsxe and mastergear assets 2026-09-03 22:04:14 +02:00
Abdessamad Derraz de1b4c4e6a refactor: resolve subproject paths by suffix 2026-09-03 21:54:47 +02:00
Abdessamad Derraz 068b66de89 feat: collect dos printer fonts and xbox keys 2026-09-03 21:54:29 +02:00
Abdessamad Derraz 131d133025 chore: keep the zoneinfo aliases out of dedup 2026-09-03 21:49:42 +02:00
Abdessamad Derraz 2fec61a7d3 feat: collect the swf player, skyline and super3 assets 2026-09-03 21:48:24 +02:00
Abdessamad Derraz c1835d15ae refactor: judge binary and linked citations 2026-09-03 21:48:23 +02:00
Abdessamad Derraz 39f61d0527 chore: refresh platform lists and targets by hand 2026-09-03 18:08:02 +02:00
Abdessamad Derraz 47e25138b2 feat: name the two mednafen files a setting points at 2026-09-03 17:53:32 +02:00
Abdessamad Derraz 562e3fb20c feat: serve the pc engine cards to turbografx-cd 2026-09-03 17:51:34 +02:00
Abdessamad Derraz 1b3575fa48 feat: add the 48k cpc images and disk ii p6 rom 2026-09-03 17:51:34 +02:00
Abdessamad Derraz 75f4542ea8 refactor: scope validation to a platform's cores 2026-09-03 17:51:34 +02:00
Abdessamad Derraz b4b925ebff fix: name the rustation images by their hashes 2026-09-03 17:51:08 +02:00
Abdessamad Derraz 3d9df87dd0 fix: follow linked dirs and ask for a platform 2026-09-03 17:51:08 +02:00
Abdessamad Derraz d66e891051 chore: retire the weekly platform sync 2026-09-03 17:34:22 +02:00
Abdessamad Derraz 4da8eaa0b1 feat: declare the upstream names of 26 profiles
Each name is attested by a buildbot .info file, a hardware target core
list or an ES-DE find rule. Two of them resolved to no profile at all:
dosbox_staging, declared by Batocera on three targets, and
freeintvtsoverlay, shipped as FreeIntvTSOverlay_libretro.info.

vba_m keeps no cores list: no upstream calls it that. It is a legacy key
folded into vbam, which already carries the buildbot name vba-m.
2026-08-23 18:06:22 +02:00
Abdessamad Derraz 81c7093834 feat: resolve bare paths in the xenios profile
Re-read at 87b176a: refs anchored from the repo root, locale bundle
loader, spa.bin resolution in the content manager, iOS patch export and
embedded.mobileprovision.
2026-08-23 17:16:11 +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 b75f4979a3 fix: declare the ctg that ti99sim actually builds
Five cartridge hashes matched no file the collection holds. A .ctg is
not a dump: convert-ctg builds it from the .dat descriptor in the
repository and the pre-0.174 MAME images scripts/setup fetches, so the
question was not which dump is right but what the pinned source
produces.

Built at the pinned commit and replayed through the canonical recipe,
three of them reproduce the held file bit for bit: cf7+.ctg,
ti-pcard.ctg and Gram Kracker.ctg. The declared values reproduce
nothing, so the declarations were the error.

TI-994A.ctg and ti-disk.ctg are what Recalbox pins by md5, and v0.16.0
builds something else. Two legitimate versions: the primary stays
Recalbox's, the v0.16.0 output joins .variants/ under its hash prefix,
and the declaration points at what it describes. All five now resolve
sha1_exact.
2026-08-23 14:13:36 +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 3a266be7a5 fix: keep the contributors when the request fails
The contributors block is the only part of the README that comes from
the network, and a refused request returned an empty list, which deleted
the section. That happened during a pipeline run and the result was
committed; the freshness check then regenerated the section and failed
on the difference.

An unavailable list now republishes the one already there and says so.
Losing it is a worse answer than a stale one, and it makes an offline
regeneration additive rather than destructive. Reverting the change and
simulating the same outage empties the section again.
2026-08-23 09:59:26 +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