v1.8.0 (4e899aa) searches the system directory, then the directory of
the loaded game, each for the loose BIOS and then stvbios.zip
(ss.cpp:1540-1582). Same files, sizes and hashes.
The pin 53f53e0 is the 1.0.9 tag commit, and the build names itself
from git describe (Common/Version.cpp). 1.0.9 ships a single Windows
zip whose Sys/ fonts and codehandler.bin match the declared hashes.
The 20251112 APKs are built from tag commit 9198dc2. HEAD 302b0c3 is a
sibling commit off the same base that only adds shader caches under
cache/, so src/ and every ref are identical at both.
The pin b2ff53f is release 2.5-4 (tag 65f1d85) plus a README commit, versionName 2.5 in app/build.gradle. Bare Java file names in the notes now carry their app/src/main/java path. No file changed.
The port now merges PCSX2 ab0b401f and embeds patches.zip, packed from the pcsx2_patches submodule (pcsx2/CMakeLists.txt:1183-1205, pcsx2/Patch.cpp:292-331). The resources copy is read only with PCEE2_EXTERNAL_RESOURCES set. Same files.
Disk images now open through the frontend VFS (Libretro/libretro.c:149-162, src/disk.c:13-65). No system file. core_version is the pin's commit date, the source carries only the git rev.
Same four files. A CD BIOS outside the two CRC32 constants is accepted on a plausible run address (libretro.c:5706-5781), and a custom cart boot ROM must be exactly 131072 bytes (libretro.c:6010-6050). core_version follows CORE_BASE_VERSION in the Makefile.
Same five firmware sets and CRCs. On Auto a 1.44 MB floppy now selects the HG, the first model with a three-mode drive (src/geartowns_core.cpp:1968-1976).
libjavam3g.so rebuilt from changed m3g render context sources, hashed
from the 1.8.2-dev-1973 build. The config screen now copies picked
shaders and sound banks into their directories.
Base directory falls back to a Steam, GOG or Epic install when it has no
game data. The embedded pak gained crosshairs and a console background.
QuakeEX.kpf documented: it serves rerelease localization when no loose copy exists.
supertux runs only on EmuELEC, which builds 37cddf24 (v0.6.3), and
advanced_drastic only on KNULLI, which builds eaf41ab. Both pins stay on
those builds.
chocolate-doom, supertuxkart and fheroes2 run only on EmuELEC, piemu only
on AmberELEC, alephone only on RetroPie. Each of those builds a fixed
revision (package.mk PKG_VERSION, or the release-20250829 tag), so the
pin stays on it and profile_sync judges the profile against itself.
Every cited block was read again at HEAD: no ref left to review, no
file name or hash literal added to a cited file since the pin
(--detect-new-files --watch-hashes), refs recaled with their pins.
Profiles built by a platform at a fixed commit, or whose bump would
leave prose under an older pin, stay where they were.
trident cites the Panda3DS fork 3dsTrident vendors as a submodule, now
its upstream at the submodule pin 69095ee6. pce-emu, uqm and stonesoup
wrote paths from a subdirectory (PCE.emu/, sc2/, crawl-ref/), nesoid
named two Java files without their directory; lines unchanged, each read
at the pin.
The pages no longer take a binary citation (DesktopKinect.dll, an
address continuing a BAM.dll range) for a source path, and a Forgejo
tree is read page by page: mirrors/Ryujinx holds 4704 entries, 1000 a
page.
core_version is v0.1-12070: git describe at 4122fed9 counts 12,070 commits past tag 0.1, as gen_scmversion.sh does. The NTSC-U licence string is quoted as system.cpp:959 spells it, with its two spaces.
Read at each pinned commit: Azahar, Citra, Citra 2018, Panda3DS, Trident,
FS-UAE and Stella read these below the frontend save directory, Dolphin
and Ishiiruka below <save>/User, Cemu its MLC below <save>/Cemu. Each
profile names its library_name. Citra Canary reads sysdata from the
host data directory: its pin moves to the canary branch it is built from.
The buildbot's azahar_libretro is built from azahar-emu/azahar: the
2026-10-22 nightly carries g_scm_rev f570b53f (master, 2026-10-16) and
the key blob of src/core/hw/default_keys.h byte for byte. The profile
now reads that repository at tag 2126.2, whose file-loading code matches
f570b53f apart from licence headers.
The libretro core keeps its user directory under <save_dir>/Azahar/,
falling back to <system_dir>/Azahar/, so path: carries the Azahar/
prefix and standalone_path: the user directory layout. The embedded
keys.txt is the 2126.2 blob (sha1 5288772b). azahar-sa is ROCKNIX's
name for the same standalone.
KNULLI builds the SDL2 frontend of johndoe6345789/azahar_libretro at
c8d39853 as its azahar binary, so that fork moves to azahar-sdl.yml
with built_by: [knulli].
svg_bios.u49 is listed in svgpcbBIOSRomDesc (d_pgm.cpp:923-929), which only
STDROMPICKEXT(svgpcb, svgpcb, svgpcbBIOS) at line 7035 pulls in. The FBNeo
DAT likewise places it in svgpcb, and pgm's own list (pgmRomDesc, lines
879-892) has six members. The fbneo profile now files it under svgpcb.zip.
bios/Arcade/Arcade/pgm.zip is rebuilt as TorrentZip from the six members of
the FBNeo pgm recipe. The build is byte for byte the copy that was in
.variants/pgm.zip.6bbbce09, which goes. The two unpinned seven-member
copies (.variants/pgm.zip.931a4971 and MAME/.variants/pgm.zip.6ade4934)
go too: every member is still held, svg_bios.u49 as
bios/Arcade/FBNeo/svg_bios.u49. The pinned copies (87cc944e in MAME/,
68ef99a1 in .variants/) are untouched.
MAME renamed the Galaxy Games BIOS root from galgbios to galgames in 0.288 (galgames.cpp:1301, listxml of 0.288 and 0.289). mame.yml and mamearcade.yml document 0.289 yet still listed galgbios.zip; mamearcade lacked galgames.zip, which mame.yml already had. The release profiles mame0258 and mame0278 keep galgbios.
macs2os_l.bin and macs2os_h.bin are NO_DUMP from 0.135u4 to 0.289, and
handle_missing_file counts a missing NO_DUMP ROM as a warning or known
bad, never an error. recel is NO_DUMP at 0.258 as well. mame.yml,
mamearcade.yml, mame0258.yml and mame0278.yml come from the scraper
rerun, which also carries the systems mame.yml gained since 10-17.
Both pairs from the Real3D SDK disc (_SETUP.1): Bayou 0x64130009 at
Assets/, Orlando 0x64130005 in .variants/. The .pmem size check against
the .cmem header keeps a pair from mixing models.
chex.deh and french.deh come from idgames (themes/chex/chexdeh.zip, utils/exe_edit/patches/french.zip), both released with no restriction by their author.