A data directory copy found by name was returned without the size and
Adler-32 checks the name steps over bios/ apply. The verdict now runs
both, for the cache walk, the foreign-tree fallback and release assets.
Dolphin and its forks hash dsp_rom.bin and dsp_coef.bin together and
warn on any combination outside known_roms. The profiles now carry the
accepted pairs, and the resolver keeps both files inside the first pair
the collection holds whole: MMJR and Ishiiruka were served the free ROM
beside the official coefficients.
The declared-names test now builds its own platform: Batocera files the BK under elektronika-bk since its slug map was completed, so the real data no longer shows two ids for one name.
Both run on Linux but inherited RetroArch's case folding, so a core
file differing from a platform name only by case left their packs:
MesenCE's bios.col and np2kai's lowercase 2608_*.wav, which those
cores open with that exact case. They are now case-sensitive, the
shared groups fold only where the platform does, and Lakka gets its
own pack instead of sharing RetroArch's.
lrps2 names no hash for its GameIndex.yaml, and the only full-tail
copy was ARMSX2's: it counted as path proof and replaced the file
RetroArch pins on desktop targets, which have no ARMSX2. Upstream
PCSX2 took ARMSX2's patches.zip by name the same way. A copy in
another emulator's tree now proves nothing at any tail length, and
LRPS2's own GameIndex comes from the tree the buildbot publishes.
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.