The name step tried the destination's basename alongside the entry's
own names. With dsi_nand.bin absent from a checkout, nand.bin from
dsi/nand.bin let the Wii NAND outrank the entry's own DSi variant, and
the site named melonDS Nightly a reader of it. The basename is now tried
only when no own name answers.
FileConsumers also resolved profile entries without the archive members
the emulator pack passes, so gngeopi and neo-emu were credited with the
MAME neogeo.zip instead of the archive their pack carries.
A profile entry without a hash matched the collection by name, but
only primary names were looked up, and which copy of identical bytes is
primary follows path order. After the refile, project64's
64DD_IPL_v12_JPN.bin was a copy, so 64dd_ipl_J.bin and 64dd_ipl_U.bin left
the name index. The lookup now counts every copy's name, and a name held
by two contents still names neither.
The start line keeps entries read for the section's own system, groups a section holding several, names files the way most setups do, links an Arcade-filed set the system requires and says when no file is needed. Cards of MAME and FBNeo sets name the releases whose recipe matches their members. Console headings lose their icon, Arcade gets its own group on the index, and install boxes count toward the weight that splits a heavy manufacturer page.
The new answers are shortened and the safety list, shown in full on the home page, is linked from each setup page instead of repeated. The setup ceiling stays at 220.
Romset row and line on MAME and FinalBurn pages, files an app ships
under their own badge and section, collection counts under the table,
empty or constant summary columns dropped, short hashes with the full
value in the title, the profile card and cards past Required folded,
data directory pages kept out of the search.
Setup pages name the setup version the ZIP was made from, offer a partial install, answer a file in place but reported missing, and link the offline install. Get your files folds its tables into one closed block with part buttons. The setup comparison moves to the verification modes page. New Linux handhelds guide page.
The CSV and SQLite carry zipped_file and the Recalbox flags, contracts
leave registry keys in a registry field and validate, every envelope
carries commit, lookup URLs are site-absolute, systems.json and
cores.json answer an id, the Data page shows the manifest fields and a
folder check, and platform overviews link emulators by name.
Commands no longer allow a cut anywhere inside a word on phones. Sidebar top-level links match their children at 14 px. OS tabs keep one row and scroll. Badge links in file cards keep a 24 px target. Card hashes are 13 px at every width. Get your files tables share their column widths, part links stay on one line. Short hash cells and the Reason column get their styles.
DS and DSi split into Nintendo DS and Nintendo DSi. 64DD, Mega-CD,
ZXSpectrum, VSmile, BBC and Game Engines/DOOM merge into the folder
of the same console. Same-named dumps with other bytes are kept:
BBC Micro's earlier zips in .variants/, the vsmilem set in vsmilem/,
the Doom II 1.666 IWAD in v1.666/, BizHawk's DSi firmware in bizhawk/.
Galaksija and Vircon get a console folder, sdlpal's desc.dat joins
its tree, VICE's PET and CBM-II ROMs leave C128 with their vice/ tail.
Database and manifests regenerated together. Verify and cross
reference give the same result once moved paths are mapped.
A reviewed SYSTEM_PARENTS table leads variants (WonderSwan Color, Neo Geo MVS, MSX2) to the section holding their files, an Arcade heading that reads the name exactly is accepted, and system_search_aliases() gives the platforms' native ids for search. 260 of 636 ids linked before, 338 after.
The script exporters (Batocera, ROCKNIX, KNULLI, AmberELEC, EmuELEC)
read the checker of the pinned original: when checkBios hands an
item's md5 to a function that tests it with isinstance(..., list),
as md5Matches does since batocera.linux 6b08b873, an entry whose
emulator code accepts several dumps is written with all of them, and
an addition that needed several becomes writable. Items with altmd5
keep a string, since checkBios wraps them in a list of its own.
No cached original reads lists today, so every export is unchanged.
The report records a list as a list, counts the lists written, and
records a list the truth extends without contradicting it.
batocera.linux 6b08b873 lets a biosFiles item declare its md5 as a
list of strings, and checkBios accepts a file matching any of them.
The scrapers join the values with commas, as for Recalbox, and record
md5_list so the export writes the list back as a list, byte for byte.
Reads website/dist: page weight and element budgets, sidebar labels,
tips, crumbs, stacked phone tables on reader pages, dates in words, and
the integration items of the round (logo, emulator letters, system
links, the getting-started redirect, Served by in existence mode).
The wanted lists of the provenance page and the files to source of the
gaps page move to pages of their own, cut in parts past 300 KB of
Markdown. System pages split from 300 KB and emulator cards from 220 per
page. A moved card keeps its anchor through the files/?sha1= lookup.
--check names why each flagged file is refused and where each core
opens it, and names a pack part missing from the folder from the
markers split_pack writes. --from-pack installs from a downloaded
pack or its parts with no network request, --manifest reads a saved
file list, both checking every hash. The end of a run names the
system or core that pulls most of the download when narrowing saves
over half.
verify_entry_existence returned no path, so RetroArch, Lakka and
RetroPie pages showed no Served by line. It now returns the resolved
path as the hash modes do. verify.py --all prints the same bytes and
its JSON is unchanged.
A system link followed the folder its files sit in: emerson-arcadia-2001
reached the Saturn and sega-naomi the Dreamcast. It now goes to the
section system_name() reads, or stays a plain name. Console headings
carry an explicit id, so Sega's Mega-CD no longer shares mega-cd.
The decoration pass now forwards the logo front matter, pointed at the
local copy. The emulators index lists every profile under the initial
the sidebar draws, so each letter link lands on its section.
Platform pages link each reader's source line at its pinned revision, name the collection file that serves each entry, show launcher records with their lines, name systems with the id beside them and the list they were read from in words. The largest system lists move to pages of their own so a platform page stays under 500 KB.
Gaps: plain numbers with a bar, a badge only for missing required firmware, Files to source as a heading. Cross-reference: counts per platform, one page per platform, one row per upstream project. Exports: gaps listed once, status, category and the serving file in the CSVs and SQLite, the commit in each API envelope, the provenance Wanted list as CSV. Catalog dates in words on the provenance page.
A platform entry that declares a hash is now answered by the profile entries accepting it. Batocera's scph1001.bin (md5 dc2b9bf8, v2.0) cited DuckStation's bios.cpp:36, the v2.2 line. A same-named entry is kept, marked by name, only when none accepts the hash and its own hashes do not contradict it. Categories are unchanged: verify --all prints the same report.