Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
Read the cores in the Recalbox 10.1.1 x86_64 image (sha1 b3d80ff0). The
sugarbox2 core, built from the token-gated v1.5, holds the 59 blobs of the
public v0.9 RomData.cpp byte for byte and opens the same paths: only its
on-screen keyboard placement differs. eightyone and exel-hence hold every
compiled embedded array of their public tags.
eightyone, exel-hence and sugarbox2 live in Recalbox's own package repos
and no other platform ships them. eightyone's pin v1.2 is the tag Recalbox
10.1.1 builds while v1.3 is out, so it is held; exel-hence is held on v0.9.
sugarbox2's built tag v1.5 is token-gated and stays on the public v0.9.
Profiles, the wiki, comments, docstrings, command output and schema descriptions carried em-dashes, clause-joining semicolons, unicode arrows, box-drawing banners and check-mark glyphs. Each sentence was rewritten rather than having its character swapped. Hashes, paths, source_ref values and every cited file:line are unchanged, which a comparison of each parsed profile against the previous revision confirms.
validate_pr comments now say PASS and FAIL in words, and source_ref values in a profile's structured blocks render as code. test_prose_style fails if any of these comes back, in tracked files or in the generated site.
Both cores ask for the system directory. emucv never reads the answer
back, and eightyone serves every ROM from its embedded table and only
writes zxpand-eeprom.bin there. The reasons were in their notes, not in
the exclusion_note the fileless audit accepts as an answer.
Recalbox builds seven board images with different emulators. The new
target scraper reads each board's defconfig against the package every
system.ini core names. The names that reached no profile are mapped to
the projects Recalbox builds or profiled from their source, and the
mupen64plus video plugins are set aside.