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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.