Commit Graph
240 Commits
Author SHA1 Message Date
Abdessamad Derraz ca307a4ef1 feat: keep a profile checkable when its forge goes
Four Switch profiles were unverifiable and said so on stderr every pass.
yuzu and suyu answer 451, citron's host stopped resolving, and
git.eden-emu.dev returns 403 to anything that is not a browser. Each
aborted its own report, so nothing could be said about any of them, and
the noise repeated on every run over the whole corpus.

A withdrawn forge is now a fact rather than a failure. GoneError covers
451, 410 and a host that does not resolve; none is retried, since three
attempts with backoff end in the same place. Those profiles land in
their own summary bucket, out of the review backlog where nobody could
act on them anyway. A 403 stays what it was, a refusal, because small
Forgejo instances behind anti-bot filters issue it routinely.

A profile can now name a source_mirror, consulted after source and
upstream so a live primary always decides attribution. Reaching it took
two more changes: a repository that refuses is muted for the rest of the
pass instead of ending it, keyed by host as well as slug because a
mirror carries the same slug on another forge; and a refused miss is not
cached, or the mute would answer for the mirror that was about to be
asked.

eden now reads from its Codeberg copy, which holds the same head and the
pinned commit: 5 refs, all anchored, where the profile could not be
checked at all. yuzu, suyu and citron have no mirror that serves
content, and now say so once instead of failing loudly.
2026-09-04 15:35:00 +02:00
Abdessamad Derraz 7e0f27161f feat: reprofile visual-pinball onto FileLocator
VPX moved file location into one class. FileLocator holds the read-only
application path and the preferences path, and picks between two layout
modes from where the application ini sits: AppPrefData splits static
data, settings and tables across three roots, AppOnly keeps everything
in the application folder. The profile still described m_szMyPath and
m_szMyPrefPath, identifiers the tree no longer carries.

Script lookup changed shape with it. SearchScript walks ten locations
case-insensitively, rooted on the table's own folder rather than the
working directory, where the profile documented seven. The editor's
completion parser left that search entirely: ParseVPCore opens core.vbs
at the Scripts subfolder alone and warns when it is absent.

The PinMAME root now prefers a pinmame folder beside the table before
the global setting and the platform default. vpx.html is served by the
web server, the LiveUI no longer naming it.

Four PinMAME citations read as external again: the project word is only
recognised behind a list delimiter, and one of them sat behind "at".
41 refs, 37 anchored, 4 external, none left to read.
2026-09-04 15:09:36 +02:00
Abdessamad Derraz 0710ea4d45 feat: document the arcade BIOS emucorex now takes
MIN_BIOS_SIZE fell from 4 MB to 2 MB (BiosTools.cpp:16), which is what
admits the Namco System 246/256 COH-H chip dumps: those are 2 MB where a
console image is 4. The profile still declared the old floor, so it
described a gate the code had stopped applying.

Three changes travel with it. A COH-H board is region 11 rather than 8.
Its description is built from the EXTINFO serial, because Sony left the
version and date fields identical across those BIOSes, and the three
serials the code names resolve to System 256, System 246 Rack C and the
COH-H board. The ROM window is zero-filled before the read so its unused
upper half cannot retain the previous image.

The picker follows: .7d and .8g are accepted extensions, r27v1602f a
name hint. Both dumps are already in the collection, byte-identical to
the r27v1602f members of the MAME sys246 and sys256 sets, and the .7d is
the same content as 246C.bin, which Redump catalogues as Namco System
246 Rack C with the very serial the new code maps.

97 refs, all anchored, pin moved to the revision they describe.
2026-09-04 15:04:13 +02:00
Abdessamad Derraz 54fe5383f1 chore: recale bsnes-jg onto its pin
The cited blocks moved by seven lines and their bodies changed only
where bfunction gave way to std::function: {&DSP1::read, &dsp1} is now
memfn(&DSP1::read, &dsp1). Which ROM is loaded, under what name, size
and hash, is untouched. Diff read before the recale.
2026-09-04 14:59:49 +02:00
Abdessamad Derraz 8e873c5b91 feat: reprofile linapple against its restructured tree
LinApple 3.0.0 moved every ROM out of hand-written byte arrays into
res/roms/*.rom, which scripts/generate_roms.sh compiles into
EmbeddedRoms.cpp behind an ENABLE_ROM_* macro. The bytes survived the
move: every hash this profile recorded against the old string literals
matches the image that replaced it.

The macros are what matters. ENABLE_ROM_CLONE_BASE64A,
ENABLE_ROM_CLONE_PRAVETS and ENABLE_ROM_CLONE_TK3000E are OFF in the
default build, so Base64A, Pravets 82/8M/8C and TK-3000 //e refuse to
start: mem_initialize finds no rom_data, names the cmake flag and the
--rom option, and returns -1. Five system ROMs the user has to supply,
none of them documented until now. The collection already held them.

Also new: icon.bmp, which the SDL frontends read from disk through the
data search path, and the J-Plus system ROM the old profile did not
list. The tree behind the old refs is gone, so the notes describe the
one that replaced it: five frontends, src/core, src/apple2, and a
program_dir still declared and never assigned.

38 refs, all anchored. 9 of 9 files present.
2026-09-04 14:58:55 +02:00
Abdessamad Derraz 11da070128 chore: recale the profile refs onto their pins
Upstream moved under 145 profiles: 679 refs shifted and 452 followed a
renamed file, against 6,483 that still anchor where they were written.
The recale rewrites the located ranges only, keeping the annotations and
the sentences that carry them, and 106 pins advance in the same commit
because refs and source_commit name one revision or the profile
describes two at once.

Nothing here was guessed. The 183 refs that are CHANGED, GONE or
AMBIGUOUS are untouched, and the 57 profiles holding them keep their old
pin until someone reads the diff: profile_sync refuses to recale a
profile while any of its refs needs a re-read. trident kept its pin too,
its annotated ref being one the writer will not rewrite.
2026-09-04 14:41:44 +02:00
Abdessamad Derraz 3e6e7690de chore: read skyline from its archived revision 2026-09-03 22:45:17 +02:00
Abdessamad Derraz b362d81910 feat: profile hatari on main and hatarib 2026-09-03 22:28:59 +02:00
Abdessamad Derraz ce739761fb feat: collect the x68030 and xm6 typeg data files 2026-09-03 22:26:09 +02:00
Abdessamad Derraz 1ede72edb7 feat: collect apple iie, atari and multiface roms 2026-09-03 22:18:28 +02:00
Abdessamad Derraz f62e986192 docs: keep the abc note inside its entry 2026-09-03 22:06:51 +02:00
Abdessamad Derraz 3c85f51314 feat: profile nuance, pcee2 and pokketstation 2026-09-03 22:06:30 +02:00
Abdessamad Derraz df7346b3e0 docs: say which built-ins the derived files export 2026-09-03 22:06:30 +02:00
Abdessamad Derraz cbb81fb176 feat: collect desktop emulator bundle files 2026-09-03 22:05:27 +02:00
Abdessamad Derraz 8c686dee48 feat: profile nine new buildbot cores 2026-09-03 22:04:14 +02:00
Abdessamad Derraz cad82f9103 fix: serve the drop mame4droid 2024 pins 2026-09-03 22:04:14 +02:00
Abdessamad Derraz 3efe87f42b feat: collect the fpse, epsxe and mastergear assets 2026-09-03 22:04:14 +02:00
Abdessamad Derraz 068b66de89 feat: collect dos printer fonts and xbox keys 2026-09-03 21:54:29 +02:00
Abdessamad Derraz 2fec61a7d3 feat: collect the swf player, skyline and super3 assets 2026-09-03 21:48:24 +02:00
Abdessamad Derraz 47e25138b2 feat: name the two mednafen files a setting points at 2026-09-03 17:53:32 +02:00
Abdessamad Derraz b4b925ebff fix: name the rustation images by their hashes 2026-09-03 17:51:08 +02:00
Abdessamad Derraz 4da8eaa0b1 feat: declare the upstream names of 26 profiles
Each name is attested by a buildbot .info file, a hardware target core
list or an ES-DE find rule. Two of them resolved to no profile at all:
dosbox_staging, declared by Batocera on three targets, and
freeintvtsoverlay, shipped as FreeIntvTSOverlay_libretro.info.

vba_m keeps no cores list: no upstream calls it that. It is a legacy key
folded into vbam, which already carries the buildbot name vba-m.
2026-08-23 18:06:22 +02:00
Abdessamad Derraz 81c7093834 feat: resolve bare paths in the xenios profile
Re-read at 87b176a: refs anchored from the repo root, locale bundle
loader, spa.bin resolution in the content manager, iOS patch export and
embedded.mobileprovision.
2026-08-23 17:16:11 +02:00
Abdessamad Derraz b75f4979a3 fix: declare the ctg that ti99sim actually builds
Five cartridge hashes matched no file the collection holds. A .ctg is
not a dump: convert-ctg builds it from the .dat descriptor in the
repository and the pre-0.174 MAME images scripts/setup fetches, so the
question was not which dump is right but what the pinned source
produces.

Built at the pinned commit and replayed through the canonical recipe,
three of them reproduce the held file bit for bit: cf7+.ctg,
ti-pcard.ctg and Gram Kracker.ctg. The declared values reproduce
nothing, so the declarations were the error.

TI-994A.ctg and ti-disk.ctg are what Recalbox pins by md5, and v0.16.0
builds something else. Two legitimate versions: the primary stays
Recalbox's, the v0.16.0 output joins .variants/ under its hash prefix,
and the declaration points at what it describes. All five now resolve
sha1_exact.
2026-08-23 14:13:36 +02:00
Abdessamad Derraz e42d0815c1 feat: add thirty emulator profiles and their data
Thirty profiles from the ES-DE batch, each source-verified by the
session that wrote it and passing the schema and semantic checks. Five
declare no files at all and say why in notes referenced to the code:
NGP.emu, openbor, Plastic, Swan.emu and XeniOS.

Twenty-eight files come with them, every one declared by the profile
that needs it and matching the hash it declares, with no duplicate of
anything already held: the NetherSX2 Turnip Classic assets, the Speccy
machine ROMs, the Virtual Boy homebrew the app bundles, Snes9x EX+'s
bundled game, and sixtyforce's Overrides.plist, which carries a size
and no hash because the binary never checks one.

supermodel gains the four data files it reads from its install tree,
hakux marks its controller map unsourceable now that the asset manager
is known to read inside the package, and nethersx2 sheds the two core
aliases that belong to the Turnip profiles.
2026-08-23 09:05:35 +02:00
Abdessamad Derraz 97f7cc1738 feat: collect the scph-90006 board dump 2026-08-12 06:13:10 +02:00
Abdessamad Derraz 50b22d34fc feat: build the 3ds client certificate from a console otp 2026-08-12 05:38:37 +02:00
Abdessamad Derraz 4a9269ae0e feat: collect the nes palettes and the gngeo data 2026-08-12 05:12:52 +02:00
Abdessamad Derraz 1fd5f40ef6 feat: add six emulator profiles 2026-08-12 03:15:05 +02:00
Abdessamad Derraz ac9ce4d2cc feat: realign prose refs across fourteen profiles 2026-08-12 03:11:47 +02:00
Abdessamad Derraz 48a432d79c feat: collect the game genie rom in both loader forms 2026-08-12 01:43:35 +02:00
Abdessamad Derraz 4b9c89466a feat: serve the cmd drive roms under the vice names 2026-08-12 01:35:12 +02:00
Abdessamad Derraz bd8fb75722 feat: collect three coh-h board dumps 2026-08-12 01:32:13 +02:00
Abdessamad Derraz 1251589940 chore: drop the unsourceable flag on collected files 2026-08-12 01:17:07 +02:00
Abdessamad Derraz eece892a73 feat: collect the ps4 system modules and the mame support data 2026-08-12 01:07:44 +02:00
Abdessamad Derraz d0395f4226 feat: collect the xbox dashboard tree and the eeprom 2026-08-12 00:55:24 +02:00
Abdessamad Derraz fa5b1130ec chore: drop the unsourceable flag on the vita databases 2026-08-12 00:35:14 +02:00
Abdessamad Derraz b24c5cdb91 feat: refine eighteen profiles and drop a duplicate
cheat.zip under mame4droid was byte-identical to the Arcade copy and
resolves by hash from there.
2026-08-11 20:30:27 +02:00
Abdessamad Derraz e66a89d1be feat: collect the trs-80 rom images and the ines assets 2026-08-11 19:33:32 +02:00
Abdessamad Derraz 9dfe73d37a feat: collect the schweber demo unit image 2026-08-11 19:02:57 +02:00
Abdessamad Derraz f3d912f3d3 feat: profile five more emulators and refine seven 2026-08-11 18:54:15 +02:00
Abdessamad Derraz 6e5b15911f chore: drop the unsourceable flag on collected files 2026-08-11 18:12:59 +02:00
Abdessamad Derraz 5c61a30880 feat: collect the pcsx2 fonts and directx redistributables 2026-08-11 17:17:23 +02:00
Abdessamad Derraz 4eea2db101 feat: profile three java me front-ends 2026-08-11 16:56:20 +02:00
Abdessamad Derraz ed0c44be4a feat: profile idtech4a++, ines and infinity 2026-08-11 15:56:45 +02:00
Abdessamad Derraz a0abe939f9 feat: profile haku x 2026-08-11 14:40:33 +02:00
Abdessamad Derraz 17b4537bde feat: profile sixteen android and pinball front-ends
ES-DE standalone batch: PSX, DS, GBA, GBC, Xbox, Dolphin and pinball
front-ends, each read from its own source or shipped binary.
2026-08-11 14:21:29 +02:00
Abdessamad Derraz a372f2abf3 feat: keep one bios per slot on declared order 2026-08-11 13:34:15 +02:00
Abdessamad Derraz 4ffc11b4cf feat: document the pre-v7 happy 810 images 2026-08-11 09:41:06 +02:00
Abdessamad Derraz d272d07b82 feat: collect the altirra and amstrad firmware sets 2026-08-11 09:35:28 +02:00