Commit Graph
1917 Commits
Author SHA1 Message Date
Abdessamad Derraz 92d639253a refactor: drop sixteen unused imports 2026-10-18 08:52:19 +02:00
Abdessamad Derraz 92fb885341 fix: accept platform names as the site prints them 2026-10-18 08:49:41 +02:00
Abdessamad Derraz 02cacb1b87 fix: drop a PS2 ROM2 copy filed as ROM2.BIN
It was the SCPH-70004 v12 ROM2 under a Galaksija name, kept only because
System.dat gives Galaksija's ROM2.BIN that hash. ROCKNIX installed it as a
stray ROM2.BIN; it now gets the dump under the name its BIOS pairs with.
2026-10-18 08:47:27 +02:00
Abdessamad Derraz 61b37408f1 feat: name the folder a PR's BIOS belongs in 2026-10-18 08:44:41 +02:00
Abdessamad Derraz 7bd2579022 fix: stop calling a held file its own duplicate 2026-10-18 08:41:32 +02:00
Abdessamad Derraz fd6db086d3 fix: keep full lists in check_freshness JSON 2026-10-18 08:40:44 +02:00
Abdessamad Derraz 6dc373fcfd fix: refuse two output forms in diff_truth 2026-10-18 08:40:01 +02:00
Abdessamad Derraz b23f5b04ad fix: refuse a --bios-dir that does not exist 2026-10-18 08:39:27 +02:00
Abdessamad Derraz 4240c98359 fix: name a missing database in one error line 2026-10-18 08:34:09 +02:00
Abdessamad Derraz 9579f6c449 fix: name platforms and core misses in the summary 2026-10-18 08:31:16 +02:00
Abdessamad Derraz dd86124165 fix: name platform and folder in the sudo advice 2026-10-18 08:29:50 +02:00
Abdessamad Derraz 09e51c2f0a fix: retry the installer's file and target lists 2026-10-18 08:27:54 +02:00
Abdessamad Derraz fe35de9607 fix: name RETROBIOS_REF when a list is too old 2026-10-18 08:25:26 +02:00
Abdessamad Derraz ebf44d523b fix: make the closed-pipe test meet a full pipe 2026-10-18 08:23:38 +02:00
Abdessamad Derraz 7310f9ad54 chore: regenerate README 2026-10-18 08:22:56 +02:00
Abdessamad Derraz 2433ef30c0 fix: read verify's verdict call across lines
The source check matched the call on one line; passing the RomM hash rule
split it, and the check failed although verify still applies the rule.
2026-10-18 08:22:56 +02:00
Abdessamad Derraz e75482777d fix: leave aliases out of the fileless audit 2026-10-18 07:41:54 +02:00
Abdessamad Derraz e660022628 docs: say why openlara reads nothing it is given
OpenLara asks for the system directory to keep its own shader and cache
files under openlara/cache, which it writes and reads back itself.
2026-10-18 07:41:12 +02:00
Abdessamad Derraz 592f8fef2d fix: exit 2 when the BIOS folder cannot be made 2026-10-18 07:40:32 +02:00
Abdessamad Derraz ad3dfa6770 feat: profile and collect b2's standalone ROMs
The standalone b2 loads its machine ROMs from assets/roms; the profile
declared none because the libretro port embeds them. 44 entries from
tom-seddon/b2 e1c9b84, 31 ROMs collected, 12 already held.
2026-10-18 07:39:21 +02:00
Abdessamad Derraz dedcf32192 fix: report a failed bootstrap download plainly 2026-10-18 07:38:52 +02:00
Abdessamad Derraz 0f52c18eca fix: let every installer prompt be quit 2026-10-18 07:34:20 +02:00
Abdessamad Derraz 7531ccad8f fix: refuse a profile_sync filter matching nothing 2026-10-18 07:33:11 +02:00
Abdessamad Derraz 2362466903 fix: suggest a region for an unknown spelling 2026-10-18 07:32:46 +02:00
Abdessamad Derraz a8c23ad11d docs: number pipeline steps as the run prints them 2026-10-18 07:31:43 +02:00
Abdessamad Derraz 1305516e87 docs: say --offline cuts release asset downloads 2026-10-18 07:30:56 +02:00
Abdessamad Derraz d84f81874b docs: say why emucv and eightyone read nothing
Both cores ask for the system directory. emucv never reads the answer
back, and eightyone serves every ROM from its embedded table and only
writes zxpand-eeprom.bin there. The reasons were in their notes, not in
the exclusion_note the fileless audit accepts as an answer.
2026-10-18 07:30:25 +02:00
Abdessamad Derraz 3116a57617 docs: document every option the scripts accept
Fifty options appeared in no page. fileless_audit also gains --all, so
its example sweeps instead of naming three settled profiles, and it and
download.py --info now fail on an unknown name or an unreachable source.
2026-10-18 07:29:16 +02:00
Abdessamad Derraz 23ed3e92ab docs: mend a torn sentence in the tools page 2026-10-18 07:25:06 +02:00
Abdessamad Derraz ae3dc63bc3 fix: accept RomM files on size and any hash
RomM's verify_file_hashes compares the size, then md5, sha1 or crc. We
compared md5 alone, so a fixture entry with one mistyped hash was left out
of the pack RomM would accept it from. The rule is declared in romm.yml
and read by verify, the builder and the manifest.
2026-10-18 07:24:33 +02:00
Abdessamad Derraz 731faee6e1 docs: tie the tools page counts to their artifacts 2026-10-18 07:20:34 +02:00
Abdessamad Derraz 2977615f99 docs: list every exporter and target scraper 2026-10-18 07:19:58 +02:00
Abdessamad Derraz d6d03617db fix: exit 1 when a hash lookup finds nothing
The documented example looked up a test fixture hash, printed NOT FOUND
and exited 0. The docs now use a hash the database holds and say which
line forms a hash file accepts.
2026-10-18 07:19:01 +02:00
Abdessamad Derraz 84a144be66 docs: send RetroPie users to the RetroPie pack 2026-10-18 07:17:19 +02:00
Abdessamad Derraz 6d48d9e71e fix: report the emulator cross_reference is asked
A mistyped --emulator exited 0 with no profile found, and a correct one
with no gaps was left out of its own report, totalled across all
emulators. The name is now checked, the emulator always printed, and
--list-emulators added for the suggestion to point at.
2026-10-18 07:16:30 +02:00
Abdessamad Derraz 195fb92036 fix: name the platform a typo meant in every CLI
slots ended a mistyped --platform on a traceback; generate_truth,
refresh_data_dirs and auto_fetch exited 0 having done nothing for it.
All six now stop on require_platform before any work.
2026-10-18 07:14:38 +02:00
Abdessamad Derraz 803f9dce96 fix: hash only files that share a size
identity.py read the whole 18 GB tree on every pipeline. A file whose
size no other file shares cannot have a duplicate.
2026-10-18 07:12:59 +02:00
Abdessamad Derraz 90b39ed955 chore: regenerate install manifests
Lakka package names joined the profiles' cores, and Lakka now has a
per-device target list.
2026-10-18 07:06:33 +02:00
Abdessamad Derraz 2db83a5e01 feat: confront added profiles in CI
profile_sync --strict exits 1 when a profile has refs to review. The
validation workflow runs it on every profile a pull request or a push to
main adds, so a profile whose refs miss their value no longer lands green.
2026-10-18 06:29:14 +02:00
Abdessamad Derraz 572a2d20de feat: check a release against its record
A count of assets misses a failed upload beside a stray file and a part
re-uploaded from an older build. check_release.py holds each asset's
GitHub sha256 against SHA256SUMS.txt and release.json, and the release
process publishes the draft only on its clean exit.
2026-10-18 06:26:39 +02:00
Abdessamad Derraz 694d1defc0 fix: file truth models by each platform's target
Lakka builds an image named switch while RetroArch files switch as
nintendo-switch. One canonical name taken across the registry put
Lakka's model under RetroArch's target. generate_truth now writes each
platform under its own target name, and diff_truth --target reads it.
2026-10-18 06:24:07 +02:00
Abdessamad Derraz c3162dcd27 feat: scrape Lakka per-device core lists
Lakka builds LIBRETRO_CORES minus the exclusions each project, device
and GLES image adds. Without a list, --target refused Lakka and its RPi1
pack carried firmware for cores the image does not build.
2026-10-18 06:24:01 +02:00
Abdessamad Derraz bac91d0824 fix: stop asking for dumps the collection can make
The Wanted page listed 79 dumps the collection already produces,
such as a Kickstart's byte-swapped words or the halves of a C128
character ROM. The pipeline now records which missing dumps can be
derived, in derivable.json, and the page moves them to a section of
their own that names the held file and the transform.
2026-10-18 06:16:16 +02:00
Abdessamad Derraz fd4c118a38 fix: count a catalogued dump once across its DATs
Several DATs list the same dump, as No-Intro's three FM-7 sets do
for their system ROMs, and the provenance report counted it once per
listing: 2485 missing announced for 2284 distinct dumps, on the site
as well. Dumps are now counted by identity, each keeping the DATs
that list it.
2026-10-18 06:11:12 +02:00
Abdessamad Derraz e1b6aad51b fix: refuse abbreviated flags in every script
argparse completed a prefix into the only flag starting with it:
slots.py --emulator read profiles from a directory named after the
emulator and reported nothing, and pipeline.py --all built every pack
variant. Every parser now refuses an abbreviation.
2026-10-18 05:30:58 +02:00
Abdessamad Derraz 88a3bb8953 fix: let auto_fetch read lists and keep held files
auto_fetch stopped on any profile listing several accepted hashes,
and filed a fetched file in the first folder sharing one word of its
system, overwriting a same-named revision held there. Hash fields are
read as sets, a folder must match the whole system slug, and another
revision goes to .variants/ beside the file already held.
2026-10-18 05:30:10 +02:00
Abdessamad Derraz cc7f9fbdac docs: say what the pack installers really do
The EmuDeck pack README promised standalone keys set up
automatically, which needs --standalone-copies, and named a Citra
folder the installer never uses. The RetroArch README gave Windows
users a shell command only, and RetroPie's sent a PC to a Linux
partition it cannot open. Each guide now matches the installer.
2026-10-18 05:28:31 +02:00
Abdessamad Derraz 8d0b6d5f93 fix: find RetroArch in Steam libraries and ES-DE
The installer looked for retroarch.exe in C:\RetroArch-Win64 and
Program Files\RetroArch only, so a RetroArch under Program Files\
RetroArch-Win64, in a Steam library on another drive, or in an
installed ES-DE's Emulators folder went undetected. All three are
searched; Steam libraries come from Steam's own library list.
2026-10-18 05:26:39 +02:00
Abdessamad Derraz d0312428e4 fix: let the parity test pass a complete system
The system pack parity test guarded against an empty parse by
requiring files to stay missing, so it would fail once the MSX and
Neo Geo gaps are collected. It now requires both reports to have run
and the pack's own missing count to match the lines it parsed.
2026-10-18 05:24:10 +02:00
Abdessamad Derraz d3dd045c04 fix: let --write run the report it writes from
romset_recipes --identify --write ran only the identification, so
the reconstructions --write saves were never computed and the run
exited 0 having written nothing. --write now implies --missing.
2026-10-18 05:21:06 +02:00