The target scraper treated every select in Config.in as unconditional
and never set the symbols Buildroot sets, so nearly every board listed
the same 171 cores and xroar, which needs OpenGL, reached none. Selects
now fire from their own config, to a fixed point, from the flags each
board file sets, with Buildroot's arch and OpenGL provider rules read at
the commit Batocera pins. A board that builds no image is no target.
Batocera 43.1 ships vkQuake, vkQuake2, vkQuake3 and a Supermodel held
at 0eef09ba for the Raspberry Pi 4; none had a profile, so a targeted
pack dropped them. Each profile is read from the commit Batocera
builds. Collected with them: the Quake 1.06 id1/pak0.pak, the same file
in the shareware and registered releases, and the Games.xml that
Supermodel revision installs.
RetroDECK filed coco as tandy-coco and Dragon as dragon-32-64, MiSTer
filed COCO3 as tandy-coco and Recalbox kept its raw ids, so none of
them met xroar's coco, coco3 and dragon64 and its ROMs reached no
system. The scraper maps now agree and a test holds every shared
native id to one system.
The truth model merged a pathless entry into another core's entry of
the same name even when their contents disagreed, so the export wrote
one core's size next to the other core's md5.
BizHawk embeds ares as Ares64, its N64 core, whose 64DD IPL its own
FirmwareDatabase declares. Mapped to the whole ares profile, it pulled
thirty systems into the BizHawk pack and made slots accuse
FirmwareDatabase.cs of a wrong MSX.rom it never declared for ares.
Two --from-md5 runs with different hash lists wrote the same file, the
second replacing the first, and a pack limited to thirty systems built
a name longer than a file name may be. The custom pack now carries a
digest of its hash list, and a long system list keeps its first system,
a count and a digest, as the emulator pack does.
Lakka and RetroPie keep the files that differ by case from a platform
name, core extras go to the claim that pins its content, and LRPS2
reads its own GameIndex.
VICE picks its C128 national kernals by MachineType and its Japanese
C64, VIC-20 and SCPU64 ROMs by the model the user sets; no code
selects them by territory, and the tags covered only some of the
national models.
blueMSX loads a national machine only when the user picks one; the
libretro core offers generic machine types and never selects MSXJ.rom
or MSXBR.rom by territory. The 27 tags made false claims and region
drops the data directory refilled anyway.
Dolphin files the Australian country code under Region::PAL, whose
IPL lives in GC/EUR. Tagged europe alone, --region australia dropped
it and kept the American IPL, which Dolphin never reads for those
discs.
verify counted a declaration whose hash the frontend refuses as
occupying its path, while the builder leaves it out and a core file
takes the place; the report then called that core file missing from
the pack. It now reads the builder's verdict. The hidden-extras tests
move to RetroArch and RetroBat, which still fold case, and test the
same-bytes twin again instead of skipping.
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.
hypseus-singe asks for gamecontrollerdb.txt by name alone and, first
in profile order, took the BIOS root of Batocera, RetroBat and
RetroPie with C-Dogs' small table while Solarus pins its own by sha1.
A destination two cores claim now goes to the one naming its content.
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 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.