Recalbox checks geolith/neocd.zip by the composite md5 of its members,
which is front-sp1.bin then top-sp1.bin: the Front and Top Loader
BIOS geolith reads inside neocd.zip, both already collected. The
archive is rebuilt as a TorrentZip variant and Recalbox's last
missing BIOS resolves.
Core lists now come from each platform's own sources: ROCKNIX gains
its standalone emulators, RetroBat drops the Batocera ports it never
ran, Recalbox reads its two MAME releases.
The registry list added clk and gsplus, which RetroDECK does not ship
as components, current or archived, and overrode the list the scraper
reads from the component manifests.
ROCKNIX was declared libretro-only although it packages duckstation,
dolphin, ppsspp and 33 other emulators standalone, and its BIOS list
was read on the next branch under the latest release's version. The
scraper now reads the release tag and lists RetroArch plus every
standalone package.
Recalbox compiles libretro/mame at 0.258 and 0.278 itself; typed
libretro, both profiles were resolved for every all_libretro platform
although the buildbot RetroArch installs from has neither. A profile
now names the platforms that build it (built_by), and is reached only
when a platform lists it by name.
RetroBat's platform file carried no core list, and a registry list
copied from Batocera stood in with ports RetroBat never runs and none
of its standalone emulators marked as such. The scraper now reads
es_systems.cfg at the release tag: libretro cores, and every other
emulator as standalone.
RetroBat starts Sonic 3 A.I.R., Sonic Mania, the RSDK v3/v4 ports,
Xash3D and SimCoupe as sonic3air, sonicmania, sonicretrocd,
sonicretro, xash3d and simcoupe; the profiles now list those names so
a RetroBat core list reaches them.
es_bios.xml names only the cores that need a BIOS, so a hand-kept
registry list stood in, with mame and mamemess that Recalbox does not
ship and without vice, ymir, vircon32 and others it does. The scraper
now reads each system.ini of recalbox-romfs2 at the scraped tag, and
the registry list is gone.
Recalbox ships libretro/mame built at 0.258 and at 0.278, and no
profile described either release. mame_hash_scraper gains --release,
which reads the BIOS root sets at one mamedev tag and writes a profile
pinned to it; mame0258 and mame0278 are generated from it, every
source_ref anchored at its tag.
Batocera's cores were read from configgen-defaults.yml, one per system,
and a hand-kept registry list overrode even that; DOSBox Staging,
melonDS DS and nine other cores a user can pick in ES were outside the
pack, while mamemess, which Batocera does not ship, was in. The
scraper now reads es_systems.yml, the registry list is gone, and the
target scraper names standalone emulators (amiberry, fsuae, vice)
instead of only the machines listed under them.
The emulator pack recorded only loose files as a path's occupant, so a
path an archive or data tree had filled was reported missing even with
the same bytes in the ZIP, and an archive several profiles ask for was
counted once per profile. verify registered neither, and credited one
profile's file at a path holding another's. Both now record archives
and tree members in pack order; --system snk-neogeo-mvs went from 113
missing in the pack and 51 in verify to 59 on both sides.
realign_prose read a failing git log as an empty history and stopped
silently at an unreadable revision, so the stale-prose check answered
"nothing to move" and let --bump-commit through. It now reports such
citations to read again instead of passing them.
Step 2 refreshed the data directories, then the pack build and the
manifest build refreshed them again, so a tree tracking a moving
branch could differ between the pack and the manifest. generate_pack
gains --no-refresh-data, which packs the cached trees and still
fetches release assets; the online pipeline passes it to both builds.
The RetroArch and Lakka pack was built under RetroArch's own name and
renamed afterwards, which overwrote then carried away a --platform
retroarch pack in the same directory, and failed on Windows where
os.rename refuses an existing target.
--system snes joined 23 emulator names into the ZIP name and died
with ENAMETOOLONG before writing anything. The system pack now passes
its own name in, and an --emulator selection too long to join keeps
its first name, a count and a digest of the selection.
The profile described an Odin edition no branch carries any more. At
the pinned commit core.c embeds VXTBIOS, VXTX and the EGA BIOS, never
asks for the system directory, and writes its FreeDOS image to the
save directory; an INI machine can load a ROM from a path it names.
The libretro pin carries nesbox/TIC-80 as a submodule at ae1195a9.
Without upstream_commit the comparison read nesbox at the profiled
date, and the cited lines pointed at comments: valid_extensions and
need_fullpath are 339-340 there, serialization 1203-1243.
EightyOne lists the Spanish and French Spectrum ROMs in a per-model
drop-down (Source/HW_.cpp) and the user picks one: the code never
selects them by territory, so --region france dropped the five Spanish
ROMs and --region spain the French one.
Only the "MSX2 - Arabic" machine config loads Shared Roms/PAINT.rom;
the Al Alamiah machines load their own copies and no Japanese machine
loads it at all. Tagged japan, it lost to CLK's msx-american.rom under
--region us and RetroDECK's md5 check reported it missing.