38 profiles published outside a forge now name the page that announces their releases, so profile_sync and check_freshness see a new version. EDuke32 and Fury take the synthesis build label as core_version, the name the project gives that build.
SheepShaver opens ROM or Mac OS ROM, decodes a CHRP-BOOT image and requires a nanokernel ID it knows. By name its entry was served the 128 KB Apple IIGS ROM, which it rejects. Mac OS ROM 1.4 is taken byte for byte from the System Folder of Apple's iMac Software Restore CD 691-2313-A (archive.org, ISO sha1 as listed). Its LZSS payload decodes to 4 MB with the NewWorld nanokernel ID, and a size floor derived from the decoder keeps the IIGS ROM out.
Basilisk II opens a file named ROM, checks its size, its version word and the code PatchROM rewrites, and no hash. By name the only candidate was the 128 KB Apple IIGS ROM, which the size gate rejects, so the pack shipped nothing. The collection's mac.rom (Performa/Quadra 630, version 0x067c) passes every gate, and the entry now names it as an alias. KEGS and GSplus keep the IIGS file.
DOSBox Pure builds every Sound Canvas companion name from the ROM1 file the user picks and reads the third wave ROM only for an SC-55 mk1 or CM-300 (midi_sc55.h:71-124). The profile put every model in the SC-55/ folder holding the mkII set, so WAVEROM3 could never be met. The mkII group stays there, and the v1.00 mk1 set the collection holds gets its own folder under the names the code builds from sc55_rom1.bin.
DSperate reads TWLFontTable.dat for DSiWare run without a NAND. The file sits in nand:/sys/ of the DSi NAND dumps the collection holds. Decrypted with the console ID and CID in each dump's nocash footer, as DSperate's own NAND reader does, the four western and Japanese consoles give one table, the Chinese and Korean ones their own: 863296, 581664 and 162688 bytes, the sizes and sha1 already known for them.
POM2 reads nine Virtual ][ sounds from roms/virtual_ii_sons/. All nine are inside VirtualII.dmg from virtualii.com (13.3). The five AIFF files are taken as they are. The four .raw files are signed 16-bit little-endian mono at 44100 Hz, as Virtual ]['s own playback code declares them, and are wrapped in a WAV header, the data chunk being the raw file byte for byte. pom2 verifies 78/78.
The buildbot now publishes gametank, a libretro port of GameTankEmulator by SundownerSport. The console has no boot ROM and the core opens no system file, only its flash save in the save directory. Every buildbot core name must reach a profile, or target filtering skips it.
simple64 picks the PAL PIF for the European and Australian country codes, and New Zealand carts carry one of them. Citra MMJ's AUS font archives serve the region sold in Australia and New Zealand alike. Tagged australia, a leaf New Zealand is not under, --region new-zealand dropped them. They are tagged oceania, as every other PAL file is.
jgenesis picks it for GenesisRegion::Americas, md-emu for boot byte 0x7a, ares for an NTSC-U disc: one code for every disc of the Americas, Brazilian Tec Toy releases included. The three tagged it north-america alone, so --region brazil dropped the BIOS those discs need. genesis_plus_gx and picodrive already carried both.
Nixie's layouts at vpinball e4a79a5, PinMAME memmaps at tomlogic/pinball-memory-maps 68c1b337 and game definitions at vpinball/pinmame-game-defs 6eece7e5: the subset every platform build copies into third-party/. 1,280 files, each matched to its upstream git blob, documented as three directory entries.
The five native libraries the reprofile added, and the assets and libraries whose copies dated from 1.8.2-open, now come from the official build of 752b93a (release continuous, CI run 39297510978, signing certificate de1bd54d as on 1.8.2). Assets match the repository blobs byte for byte. The profile carries their hashes, and the bundled-identity table now records each fall exactly.
ScoreView became Nixie with .nix layouts, B2SLegacy was removed, the PinMAME plugin ships memmaps/ and gamedefs/, the HRTF file is bundled, fonts are looked up by TextRenderer and a table gets a .info file. PinMAME refs are re-read at 5386aa17, the revision the build fetches.
The native build split into m3g/ and micro3d/ makefiles, micro3d moved to ru.woesss.j2me.micro3d, c++_shared now loads ahead of every native module and MIDI can play through a user sound bank (EAS or TinySoundFont). appcenter.cer is no longer read. The new libraries are marked unsourceable until the release's own copies are collected.
Upstream moved the mouse card firmware into MouseRom.h behind ENABLE_PERIPHERAL_MOUSE, renamed the generated ROM symbols from g_rom_* to rom_*, added a hard disk controller with its own firmware and an XDG fallback for the data path. Every reference is re-read at the new pin, and Master.dsk carries the hashes the upstream build test pins.
ares matches its firmware by sha256 and opens no file by name, so its entry names are labels. Five reused names that other cores give to different dumps (MSX.ROM, MSX2.ROM, bios_CD_E/J/U.bin). On RetroBat that put ares's revision where the platform pins another, slots blamed the platform's declaration, and the pack dropped ares's own dump behind the platform's file. The labels now name the dumps the hashes identify.
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.
GC/EUR/IPL.bin fell through to its bare name and the union of five regions, so a Batocera or standalone Dolphin pack never reduced it. The GameCube IPLs of four Dolphin-family profiles now name their system, as the MMJR profiles do.
Upstream reads any .rom/.bin, .fls/.nor, .nand and .nand0 in the model directory and refuses two files in one slot. The pc1000.fls alias described a name that would now stop the PC1000.
Upstream compiles Opera Boot into the core as the default BIOS and reads opera-boot.bin from the system directory. Every retail BIOS becomes optional; opera-boot.bin is collected from the opera-boot release, identical to the embedded image.
The refs described upstream's libretro.c while source_commit named the fork, where the loader moved to src/ and a missing ROM now shuts the core down cleanly. A bump no longer advances a pin no ref resolves in.
A /tree/<branch>/<dir> URL was read as one branch name, so the
repository never resolved. Each prefix is tried, shortest first.
A repository that answers nothing now says so, or reports the
declared upstream_gone.
The new-format hiscore.dat was served by name to cores whose parser reads
only legacy lines. Eight cores now pin the hiscore.dat their own
repository ships, four revisions newly collected.
System.dat pins the 2 KiB X1 font as xmil/IPLROM.X1T, where xmil reads
a 32 KiB Turbo IPL. A held copy of the exact size a profile declares now
proves its claim against a file of another size, so the existence packs
ship the IPL. The font's duplicate under the IPL name is removed.
The standalone b2 loads its machine ROMs from assets/roms; the profile
declared none because the libretro port embeds them. 44 entries from
tom-seddon/b2 e1c9b84, 31 ROMs collected, 12 already held.
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.
Lakka builds LIBRETRO_CORES minus the exclusions each project, device
and GLES image adds. Without a list, --target refused Lakka and its RPi1
pack carried firmware for cores the image does not build.
ep128emu loads brd.rom when the content name carries the TOSEC tag
[req brd-rom], whatever the user's country, as it loads hun.rom for
[req zrom]. The Germany region on brd.rom described a territory
choice the code never makes.
NP2kai's two rhythm engines open different spellings, lowercase for
the built-in one and uppercase for fmgen, and nothing folds case,
so the uppercase names are files of their own rather than aliases.
fmgen's 2608_RYM.WAV fallback is opened without the directory and
is no longer claimed under np2kai/.
A prose citation whose text lived under several pins stayed in
read again until the text changed, so fixnes, zesarux and emucorex,
exact at their pins, would have refused every later bump.
prose_written_at names the pin a reader confirmed; it settles the
readings and never overrides a history with one candidate.
reicast documents the revision Recalbox's reicast.mk pins, far
behind master. Compared to HEAD it reported refs nobody could act
on; pin_frozen now says why the pin is held.
A comment named the Bluetooth directory twice, a path no revision
holds, and every firmware ref sat ten lines above the case it meant.
Each now cites its case and return at the pinned commit. The schema
check reads profiles as text and refuses a citation that repeats
its own directories.
The profile documents BAM 1.5-408 but the collection held the
1.5-360 BAM.dll and renderingengine.dll, served by name. ravarcade
still serves BAM_v1.5-408.zip; its two DLLs become the primaries,
with hashes, and the 1.5-360 builds stay as variants.
The entry documents the 0.29 notes and declared no hash, so the
0.23 notes in the C-BIOS machine folder were served by name. The
file comes from MSX.emu's res/firmware at the profile's pin.
naomi_roms.h opens each BIOS archive member by filename, one per
region. Without the names, a copy of hod2bios.zip lacking
epr-21329.ic27 counted as the archive and Japan games had no BIOS.
Annotations and text after a located head were discarded before
anchoring, so a citation written there never moved with its pin:
zesarux cited two macros four lines off. The leftover text of every
source_ref is now scanned as prose, and the two citations are fixed.
Sixteen prose citations wrote "file fn() lines N-M", a form the pin
tracker never reads, and four had fallen behind their pins. Each is now
a repository path with the span read at the profile's pin, and a test
refuses the untracked form.