A .variants/ copy downloads as advision.zip.1c086064, its storage name:
raw.githubusercontent.com sends no Content-Disposition and the download
attribute is ignored across origins. A card whose download name differs
from the file name now says what to save it as, at a glance.
files/?hash= read the collection, platforms, emulators and retired files,
never the Wanted list: the SHA1 of Redump's ps2-dvd-212k.bin answered
that nothing the site knows has it. The lookup now carries a wanted
layer from the rows of provenance-wanted.csv, computed once for both,
and the page names the catalog that lists the dump.
install/launchers/index.json records the SHA-256 of install.py that
--add-app checks, and the page listed only the pins of install.sh and
install.ps1 as what a change to install.py rewrites.
Every card read "Not collectable" and the gaps page listed 259 entries as
acknowledged gaps verified from source code. unsourceable: only keeps a
same-named file from being served in the entry's place, and each entry
stays an acquisition target (wiki/profiling.md). The section now names
the catalog or romset that lists each file, from the provenance report
built with the profiles' needs: XM7's KANJI2.ROM is in No-Intro and in
MAME's fm7740sx.zip. The old anchor still leads to the section.
Three guards named generate_site.py or a fixed list of four modules, while
page text now lives in twelve site modules and packreadme.py. The list
is a glob. Read that way, the pack README said "all of theirs" twice.
Five generate_site helpers read ./emulators or ./platforms, and
has_release_pack read platforms relative to the working directory: run
from scripts/, a released setup's get page showed the No ZIP line.
siterender's fallbacks and sitediagrams read the repository too. All of
them now read siteinputs. platforms/_guides.yml stays the repository's:
siteguides loads it at import, before any flag is parsed.
The page-finishing pass reloaded the repository's database.json whatever
--db said, so a card held only by the given collection raised KeyError.
siteinputs holds the inputs generate_site was given.
PlatformRecords stripped lr- to compare package records with cores. The scraper now names a libretro package with core_name(), lr-dosbox-pure as dosbox_pure, so the test reads the same function.
The RetroDECK verify excerpt counted 1800 core files in the pack. Companion entries no longer sweep cheats, GameIndex.yaml and DVD firmware to the BIOS root, and the same run prints 1764.
Setup names on 530 emulator pages lowered their weight in the index and
ranked the data page first for batocera folder and retroarch system
folder. The row is left out of the search, as the card's setup lists are.
A Packed line on each file card put the MAME parts, BizHawk, blueMSX,
FBNeo and GroovyMAME over the 10,000 element budget. The Run by row of
the page already names the setups that pack the emulator's files.
files/?sha1= of a file the collection no longer holds answered that no
file the site knows has the hash. generate_db.py now records each sha1 a
rebuild drops in retired.json, with the day and the file in its place,
backfilled from the history since 0d586ef6b (4,139 files). The lookup
answers with it and leads to the successor's card.
libmt32emu scans the ROM folder and identifies every file with identifyROMFile (src/midi/mt32_lasynth_model.cpp:68-91 at fa1856c0), and the Nuked SC-55 plugin loads with RomLoader::Hashing, matching SHA-256 against its table. The 50 MT-32 and Sound Canvas entries now carry found_by: content, so the truth no longer says dosbox-staging opens their labels.
The entry documents the pcsx2x6 component, whose FindBiosImage (pcsx2/ps2/BiosTools.cpp:268-291 at 583f0e90) takes the first 4 to 8 MB romdir image whatever its name. pcsx2x6.yml already said so, and the RetroBat truth gave the file two identities. The guard no longer needs an agnostic flag to read an entry.
FindBiosImage (pcsx2/ps2/BiosTools.cpp:278-302 under app/src/main/cpp/pcsx2 at bda532f3) keeps the first 2 to 8 MB file with a romdir, whatever its name, as upstream PCSX2 does. The guard reads entry-level agnostic flags too, which is how it surfaced.
The lookup held a member only where a profile's contents: declares it,
so 26,014 of the 33,403 members of collection archives answered nothing.
Each member's CRC32 is now an archive-member record leading to its
archive's card, read from the central directory, and files/ names the
archive holding it.
FindArcadeBiosFor (pcsx2/ps2/BiosTools.cpp:366-419 at 7f914418) scans the BIOS folder for 2 to 8 MB COH-H images and picks by EXTINFO serial, never by name. r27v1602f.8g, r27v1602f.7d and COH-H31000.BIN now carry found_by: content, and the truth no longer says armsx2 opens those names. The guard covers the 2 MB lower bound.
install.py tells a MiSTer card by its MiSTer binary and menu.rbf since
73b82375d. installer.md said so, the FAQ and the README did not, and sent a
MiSTer user to --dest the card's root, where nothing reads the files.
tools.md listed what keeps a platform entry out of removal_candidates
without the platform's launchers: records, which candidates.py checks
right after a path (_PROOF_ORDER).
The note said RetroBat leaves out DSI-SD.ZIP and still carries the v3.04 executable. It now states what the package holds. The prose test refuses a platform name followed by such a phrase in a profile.
The note judged the CHECKBIOS handling instead of describing it. It now says what memory.cpp:80 does: the MD5 comparison runs only for YES_VAL, so AUTO accepts any content. A rejected BIOS is filled with 0xFF (line 97), not zeroed.
testing-guide listed the generated artifacts without derivable.json and
the run samples of wiki/installer.md, and tools.md gave the manifest
command alone. The nightly's commit rules also had no place for the two
files its offline pipeline rewrites, so autorun stopped on them.
The default setup named RetroArch in page code, which a test forbids. It
is now the setup whose guide runs under the most of the box's OS tabs,
then on the most systems, then one with a release ZIP.
The target scraper stripped -sa from every standalone package while the platform scraper keeps both spellings. vice-standalone, scummvm-standalone and supermodel3 answer to vice-sa, scummvm-sa and supermodel-sa only, so every targeted ROCKNIX build left them out. Both now read standalone_emulators(), and the targets are rescraped at tag 20261001.
The platform scraper kept lr-dosbox-pure as dosbox-pure, which matched the standalone DOSBox Pure Unleashed profile, while the target scraper wrote dosbox_pure. Both now read core_name(), and platforms/retropie.yml is rescraped at its pinned revision 46128cd2: only the libretro core names change, and six Unleashed files leave the RetroPie manifest.
The box showed the first setup by name, AmberELEC on 17 system pages,
under Windows tabs. It now selects RetroArch, which runs on every system
the box has a tab for, else a setup the release publishes a ZIP for.
When the truth accepts the BiosDB hash but none of its sizes fits, the MiSTer render keeps the entry's size beside the hash, and the report still counted a size removed. A size the truth does not state is no longer reported as changed.
Batocera and KNULLI check a zippedFile item's md5 against the member inside the archive. A profile's container md5 for the archive would have replaced it as a correction. The item's md5 is now read as Recalbox's composite md5 is: neither compared with the container's nor overwritten by it.
fetch checked archives only, so a System.dat served as an HTML page with 200, or a 0-byte cache, reached render() as a file with no entries. System.dat, es_bios.xml, RetroBat and RomM then rebuilt the platform's file from our data and reported OK. Such an original is now refused, before it is cached and when read from the cache, and a format that needs its original fails when none was read.
Lakka keeps /storage on the card's ext4 partition (Lakka-LibreELEC
4696b48f scripts/mkimage:72, 95), which Windows and macOS do not open, and
its page offered them a card route. card_run is now [linux], and a page
with no Windows route says only Linux opens the card.
A platform system spanning several native ids with no native_id filed every addition under the id that sorts first: RetroDECK's arcade wrote MAME device archives as FBNeo BIOS, RetroBat's Amiga put A500 kickstarts under amiga1200. An addition now joins the id whose declared files its cores read, and one the cores do not settle is counted and not written.
profile_needs decided held-ness from each record's own name. np2pi's KANJI2.ROM, held as the PC-88 n88knj2.rom, was listed missing and paired with a Fujitsu dump. It now reads by_name as verify does, and an unsourceable entry is not held by a homonym, which lists xm7's KANJI.ROM.
PCSX2 stats <bios>.rom1 then <stem>.rom1, case-sensitive on Linux (BiosTools.cpp:214-229), and so does PCSX2 1.6 for erom. The pack wrote the stored SCPH-70004.ROM1, never found. A companion entry also seeded a scan of its own with a 4 MB bound and swept cheats, GameIndex.yaml and DVD firmware to the BIOS root. A companion now scans its image's folder for its own extension only, any size, since the code reads min(size, filesize), and is written as the code spells it.
The manual platform menu test expected /storage/system for Lakka on a computer. Lakka is a card setup now, so the menu finds its card's STORAGE part: the default-folder case uses RetroPie, and a Lakka case checks the card.