Commit Graph
300 Commits
Author SHA1 Message Date
Abdessamad Derraz 68960b1457 feat: collect the pom2 dumps and floppy samples 2026-09-14 05:55:31 +02:00
Abdessamad Derraz 5bd98fbe3a feat: profile pom2 2026-09-14 05:18:31 +02:00
Abdessamad Derraz a0b2263bae feat: let a profile say its pin is held on purpose
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.
2026-09-05 10:50:53 +02:00
Abdessamad Derraz 88c7e213b6 chore: recale aps3e onto its pin 2026-09-05 10:42:29 +02:00
Abdessamad Derraz c9db10147d chore: cite the JNI table aps3e registers its imports in
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.
2026-09-05 10:42:28 +02:00
Abdessamad Derraz bc7f131b6f fix: compare a citation without the spacing its author chose
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.
2026-09-05 10:41:58 +02:00
Abdessamad Derraz 02edf40d8f fix: let the fallback mapping reach the largest file cited
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.
2026-09-05 10:17:37 +02:00
Abdessamad Derraz e0c60f2f5a feat: FBNeo stopped looking in per-type subdirectories
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.
2026-09-05 09:28:17 +02:00
Abdessamad Derraz ab2e40402e chore: advance mame and re-point its romset refs
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.
2026-09-05 09:27:06 +02:00
Abdessamad Derraz 537dbcf8fc feat: drop the AMR library kemulator no longer loads
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.
2026-09-05 09:26:14 +02:00
Abdessamad Derraz cb24094078 chore: four refs onto lines that carry the claim
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.
2026-09-05 09:24:35 +02:00
Abdessamad Derraz 3cb9e4e558 chore: name the projects these three cite
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.
2026-09-05 09:23:43 +02:00
Abdessamad Derraz 5d2d8a5aa6 chore: label the decompiled release starboard reads
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.
2026-09-05 09:23:00 +02:00
Abdessamad Derraz 92d347cd36 chore: six more, refs and pins together
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.
2026-09-05 09:22:00 +02:00
Abdessamad Derraz 2a7e7d4237 chore: six more profiles on the tree they describe
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.
2026-09-05 09:20:40 +02:00
Abdessamad Derraz bc005ddd7a chore: follow three profiles to the revision they describe
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.
2026-09-05 09:19:38 +02:00
Abdessamad Derraz 6d836f9db6 chore: cite lines that carry something
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.
2026-09-05 09:18:39 +02:00
Abdessamad Derraz fc47b9cbfe chore: give four profiles a path and a pin that match
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.
2026-09-05 09:17:51 +02:00
Abdessamad Derraz 0a5c287325 chore: recale reminiscence onto its pin 2026-09-05 09:02:17 +02:00
Abdessamad Derraz 2ad0ee7671 chore: pin the reminiscence upstream and cite findPathIndex
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.
2026-09-05 09:02:17 +02:00
Abdessamad Derraz 492d03bcff chore: recale rpcs3 onto its pin 2026-09-05 09:01:35 +02:00
Abdessamad Derraz c9472af628 chore: cite the lines rpcs3 names its emulator selfs on
Both refs pointed at blank lines. ps1_newemu.self and psp_emulator.self
are set as argv[0] at 2114 and 2142.
2026-09-05 09:01:35 +02:00
Abdessamad Derraz e66d1ff66a chore: recale groovymame and re-point its MAME refs
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.
2026-09-05 09:01:14 +02:00
Abdessamad Derraz 0763e54993 chore: recale jgenesis onto its pin 2026-09-05 09:00:27 +02:00
Abdessamad Derraz 2f9fabb619 chore: cite the right tree for three profiles
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.
2026-09-05 09:00:19 +02:00
Abdessamad Derraz 11284e5ffa chore: recale beetle_psx onto its pin 2026-09-05 08:59:25 +02:00
Abdessamad Derraz c0992c71e7 chore: cite what beetle_psx carries and what it borrows
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.
2026-09-05 08:59:23 +02:00
Abdessamad Derraz dc01a39e51 chore: cite what these two forks actually carry
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.
2026-09-05 08:57:47 +02:00
Abdessamad Derraz 449dbafa58 chore: follow the ardens bootloader selection
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.
2026-09-05 08:57:02 +02:00
Abdessamad Derraz 3afad2a7f5 chore: recale gearlynx onto its pin 2026-09-05 08:56:24 +02:00
Abdessamad Derraz b17ce03dd9 chore: follow the gearlynx no-bios guard out of the header
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.
2026-09-05 08:56:24 +02:00
Abdessamad Derraz 38fc933162 chore: put four pins on the revisions their refs describe
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.
2026-09-05 08:55:28 +02:00
Abdessamad Derraz 1245bb6eed chore: name the shipped artefact ssf and aethersx2 read
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.
2026-09-05 08:46:40 +02:00
Abdessamad Derraz 06aa4a9646 chore: recale openlara onto its pin 2026-09-05 08:46:01 +02:00
Abdessamad Derraz 26cf0181c8 chore: name the platform openlara's main.cpp belongs to
OpenLara carries twenty-seven main.cpp, one per platform, and the bare
name matched them all. This profile is the libretro core, so the file is
src/platform/libretro/main.cpp, where the extension list, retro_load_game
and the system directory probe sit at the lines cited.
2026-09-05 08:46:00 +02:00
Abdessamad Derraz 4b1a86e97c chore: recale ruffle onto its pin 2026-09-05 08:45:43 +02:00
Abdessamad Derraz 6e65b542bb docs: ruffle reads a face through freetype now
The freetype feature joined the desktop defaults, and load_fontdb_font
takes a renderer and an atlas set: on Linux the face goes through
FreetypeFontRenderer, and the memory map of the file is the other
branch. Which faces are asked for is unchanged, and still no name, path,
size or hash is fixed anywhere.
2026-09-05 08:45:38 +02:00
Abdessamad Derraz ed40d04b49 chore: recale gargoyle onto its pin 2026-09-05 08:45:06 +02:00
Abdessamad Derraz 7459c2d73b docs: name the interpreter gargoyle now defaults to
scarier handles both Adrift 4 and Adrift 5 and is what the two default
to; scare and FrankenDrift each cover one format and win only where the
build asked for them. The profile still named scare and FrankenDrift as
the pair.
2026-09-05 08:44:58 +02:00
Abdessamad Derraz 5d3420dee8 chore: recale blastem onto the tree it describes
libblastem.c doubled in length and read_bundled_file moved from 661 to
1297; the TMSS fatal_error left genesis.c:1933, which is blank, for
3043. The refs described none of it. Pin moved with them, 6 anchored.
2026-09-05 08:44:25 +02:00
Abdessamad Derraz 96920785ad feat: take the shader pack idtech4a++ expects now
Three refs cited paths under Q3E/src/main/jni that the repository does
not carry: xash3d-fwgs and SeriousSamClassic are git submodules, so the
parent tree holds pointers and nothing else. They read as the separate
repositories they are, which is what the external form is for.

Reading the last two changed blocks turned up the substance.
ETQW_GLSL_SHADER_VERSION went from .3 to .6, and the bundled
zzz_etqwbase.pk4 grew from 136061 to 141815 bytes: the size, md5 and
sha1 the profile recorded describe the pack that was replaced. The new
one is in, the old one kept as a variant for builds that still expect
it, and GameResourceUrl gained two Quake 4 mod entries along the way.

70 refs, 68 anchored and 2 external, none left to read.
2026-09-05 04:56:53 +02:00
Abdessamad Derraz 6582c3237e fix: name the stale pin when the file is only shorter
The diagnostic caught a ref whose file was missing at the pin. nestopia
showed the other shape: the file is there and the line is not yet. Its
palette and database loads were cited at 2041 and 2063, which is where
HEAD carries them, against a pin four hundred lines shorter, and that
reported as a plain GONE with nothing to act on.

A cited line past the end of the pinned file that fits HEAD is the same
finding as before and now says so. nestopia's pin moved to the revision
its refs describe: 8 refs, all anchored.
2026-09-05 01:31:10 +02:00
Abdessamad Derraz 3fdbe3767d chore: recale np2kai onto its pin 2026-09-05 01:23:43 +02:00
Abdessamad Derraz e4f6e70434 chore: cite the line np2kai builds its sample names on
The four rhythm entries pointed at fmgen_opna.cpp:1434, a blank line at
the pin as well as at HEAD. What they mean is the block above it, where
2608_ is joined to the rhythm name and .WAV and the file is opened.
2026-09-05 01:23:35 +02:00
Abdessamad Derraz 09406ba5d4 chore: put mariani back on its pin 2026-09-04 18:48:33 +02:00
Abdessamad Derraz ffb479e6a3 chore: recale mariani onto its pin
The two changed blocks are BOOL, TRUE and FALSE giving way to bool, true
and false, and MemInitializeCustomROM losing its void parameter list.
Which ROM is read and how is untouched. 67 refs, all anchored.
2026-09-04 18:44:08 +02:00
Abdessamad Derraz 6f27a296f7 feat: refuse a citation no repository can hold
kenji-nx cited tmp/es-de/ANDROID.md:470-474, a path from the machine of
whoever profiled it. No revision of any declared repository holds it, so
profile_sync could only report it missing, every pass, forever, and no
amount of reading would ever settle it.

validate_schemas now refuses a scratch directory, an absolute path, a
Windows drive path and one climbing out of the tree, and names the
offending citation rather than the scalar that carries it. Offline, so it
runs on every push and every pull request rather than waiting for a
network pass.

The ES-DE citation reads as external now, which is what it always was.
kenji-nx is at 37 refs, all anchored: the three changed blocks were var
giving way to explicit types.
2026-09-04 18:26:27 +02:00
Abdessamad Derraz d124f6c516 feat: watch the profiles that declare no files
An empty file list is the one assertion here that ages unwatched. Nothing
can go missing and no ref can drift, so nothing notices when a core that
embedded everything grows a path. virtualjaguar said "No external BIOS
files are required or loaded by this core" while its source had grown
eleven filenames read from the system directory, and only a reading
found it.

fileless_audit looks for the request itself, the system directory ask, in
the sources each profile already cites. Over the 151 fileless profiles it
named eleven, of which two were covered by data_directories, six carried
an exclusion_note, and three had nothing written down at all: craft
writes its world database in that directory, dice stores the answer in a
variable no other file in the tree names, lutro hands it to the Lua game.
Each now says so.

The check settles: declared files, a declared directory, or a written
answer all end it, so what it reports is the set nobody has read yet. A
test holds the corpus at zero.
2026-09-04 18:13:53 +02:00
Abdessamad Derraz 2ea745a062 feat: virtualjaguar reads BIOS files now, so declare them
The profile said "No external BIOS files are required or loaded by this
core" and carried an empty file list. The core reads up to eleven names
from the system directory today.

Staging left retro_load_game for stage_cart_boot_rom, which tries a file
before the embedded array. BT_CUSTOM, a value the enum did not carry
when this was profiled, searches six cart boot ROM names across three
directories; BT_M_SERIES tries jagboot_m.rom. Both need 0x20000 bytes,
the size copied to jagMemSpace + 0xE00000.

The Jaguar CD BIOS is the larger addition: three name groups over five
directories, accepted at exactly 0x40000 bytes and recognised by CRC32
against 687068D5 retail and 55A0669C developer. The group order follows
virtualjaguar_cd_bios_type, then generic names, then the other type,
since a lone file of the wrong type still beats the embedded copy.

None is required, every path falls back to an embedded array. What they
buy is the real dump instead of the reimplementation. The collection
holds the cart boot ROM under boot.rom; both CD BIOSes and jagboot_m.rom
are absent and now show as gaps rather than as nothing at all.
2026-09-04 17:54:05 +02:00
Abdessamad Derraz f85236fa1e chore: recale geargrafx onto its pin
The profile mixed vintages: most refs carried pin-era line numbers while
the Game Express note already named the HEAD position, which reads as a
blank line at the pin. Everything now describes one revision. The only
content change in the cited blocks is LoadMediaFromZipFile taking a
softpatching flag, which decides nothing about which BIOS is read.
2026-09-04 17:50:55 +02:00