nethersx2-turnip-classic documents the shim rules of the revision it
pins, and says so in prose: the classic build is that revision. Compared
to HEAD it reported the same two changes every pass, and recaling would
have repointed its refs at rules this build never had.
pin_frozen says the freeze is deliberate, and the profile is then judged
against its own revision, exactly as one pinned to a superseded tag
already was. Recale and bump are refused for it, which is what makes the
declaration safe to trust.
Both refs pointed past the end of the file at the pinned revision: the
firmware and edat entries are registered at 1045 and 1052, which is
where install_firmware and install_edat are bound.
A recale rewrites the located tokens and leaves the sentence alone, so a
prose run keeps `a.c:228, 1439-1443` while the rendered form drops the
space. Comparing the two literally made a run that had just been written
look unwritten, pending_recale counted it, and bump_commit refused for
ever.
mariani was held back by three of them: it recaled twenty-five refs and
could never advance its pin, which is the desync the all-or-nothing rule
forbids. 67 refs, all anchored.
openbor.c is 55k lines at the pin and 57k at HEAD, over a ceiling of
40k, so its ref reported CHANGED with nothing to act on: the mapping was
never attempted. Diffing that pair takes nine seconds, and the fallback
only runs once exact anchoring has failed, which is rare.
The ceiling now sits above it and still stops a pathological pair from
stalling a sweep of every profile. savesettings moved from 2675 to 2940
and the range maps cleanly.
The BIOS search dropped the arcade and consoles subdirectories under
both the rom directory and system/fbneo. Seven places to put a BIOS ZIP
became four, and both profiles still documented the old list, which is
the kind of thing a user follows.
fbneo's gba_bios.bin also cited a line in the middle of a battery
allocation; its RomDesc entry, which carries the name and the crc32, is
at 538.
The pin moved with the recale, so twenty-eight romset refs stopped
naming the line declaring their set; mame_ref_audit moved them.
pegasus.zip cited the word ROM_START where a line number goes, which
resolves against nothing: its declaration is at 575.
KEmulator replaced the native amrdecoder with a pure Java port of
opencore-amr and says so in AMRDecoder.java: no platform specific binary
is shipped or loaded any more. The profile still asked for it under nine
names across four platforms.
hatari and scummvm cited a line just past the option they mean.
fluid.soundfont, the fake SDL switch, the mt32.romdir assignment: each
was cited a few lines past itself. future-pinball-fploader's PuPVideo
part carried no artefact, so it read as a path.
jaxe pointed at a libretro core-info file, lindbergh-loader at a
Batocera generator, oricutron at the ES-DE user guide. None is in the
tree each names.
Every part of its ref names a class from the shipped app, not a file in
the repository, and only the first carried the release label; the
continuations were looked up in the tree. race, xendroid, zesarux and
sdl2trs only needed their pin to catch up.
boytacean cited a line a hundred past the CGB boot selection and cap32 a
blank one after the bios directory is built. b2 carried the owner and
repository in front of its path, which matched two roms.cpp. crocods,
armsx2 and amiberry only needed their pin to catch up.
gopher2600 and gearsystem cited a blank line one past the fingerprint
comparison and the SG-1000 bootrom guard. fuse cited a glob, which
resolves against nothing: the two machines it means are named now.
gsplus, gopher64 and geolith carried refs from a newer tree than their
pin.
melonds_ds cited the bios9 load and the tool offered the bios7 line one
above it; the ref names bios9.bin, so it goes to 306. m2000's P2000.c
gained a serial-support branch inside the ROM patch loop. Pins moved
with the refs in all three.
Four refs pointed at blank lines or a closing brace: get_bios,
pif_bootrom_hle_execute, the key mapping block and the neocd system
subdirectory constant are one line off in each case.
xenia, tyrquake and solarus cited bare or unprefixed files and carried
line numbers from a newer tree than their pin named; each now names the
path and the revision together. tic80's wrapper repository holds nothing
but a licence, a readme and the core submodule, so the runtime claim
cites the submodule declaration and the project it points at.
fs.cpp:52 is blank; the case-insensitive match is in findPathIndex at
53-56. The upstream carried no commit, so it was pinned by profiled_date
to a revision where resource.cpp sat three lines off.
The pin advanced with the recale, so twenty-five romset refs stopped
naming the line that declares their set at the new revision.
mame_ref_audit found and moved them; 147 agree, 180 refs anchored.
dinothawr's libretro.cpp became libretro.c and its refs already carried
the new line numbers, so the pin followed. groovymame cited a Batocera
package recipe and jgenesis a RetroBat generator, neither of which lives
in the tree each names; both read external now.
psx.cpp is not in this fork, only headers, and the declared upstream is
a website rather than a forge: the size rejection is Mednafen's and
reads external now, beside the fork's own BIOS_SIZE_STD. The MAME
provenance of the checksums is external too, and the lists themselves
are in libretro.c, which is where libretro.cpp went.
same_cdi's cdi.cpp is 494 lines; the profile cited 574-640 and 662-820,
which are upstream MAME's numbers. The fork carries four sets and none
of the Quizard game ROMs, and the refs say so now.
fsuae cited fsuaePaths.py and fsuaeGenerator.py against libretro-fsuae,
where they have never been: they are Batocera's, which is what the note
already said in prose.
The block moved and the profile's line numbers stayed. The selection now
reads program_state.flashcart_loaded and program_state.cfg.boot_to_menu
at 151-181, choosing between the menu and game bootloader for each
fxport pin. Pin moved with the refs.
The guard left gearlynx_core_inline.h for gearlynx_core.cpp, and the
line the tool proposed in its place is SynchronizeComLynx. Following the
content rather than the offer puts it at 249-253.
mgba and vitaquake2 carried refs written against a newer tree than their
source_commit named, which the diagnostic reports rather than leaving as
a plain miss. vba_next is the other shape: CPUInit sits at gba.cpp:5137
in upstream VBA-M and always has, but the profile declared no
upstream_commit, so the upstream was pinned by profiled_date to a
revision where that file was shorter.
aps3e was left alone: its pin is behind for two refs and HEAD has moved
far enough that advancing costs seven more.
Both cite files that ship in a release and exist in no revision of any
declared repository: SSF's Document/Readme.txt, and the MacOS binary and
Resources folder of the AetherSX2 app bundle. Cited behind the project's
own name the resolver looked for them in the tree; behind a label that
is not a repository they read as what they are.