Commit Graph
2118 Commits
Author SHA1 Message Date
Abdessamad Derraz d1ff233990 fix: profile_sync reports in English
The summary line and the markdown table header were the only French strings among the project's command output.
2026-10-20 00:29:57 +02:00
Abdessamad Derraz 9011f1c863 fix: reprofile visual-pinball at e4a79a5
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.
2026-10-20 00:29:17 +02:00
Abdessamad Derraz 53a1c6e0d8 fix: reprofile j2me-loader at 752b93a
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.
2026-10-20 00:29:17 +02:00
Abdessamad Derraz 8edaca0925 fix: reprofile linapple at 86bee1c
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.
2026-10-20 00:29:17 +02:00
Abdessamad Derraz 7eb4a36711 fix: step 5 compares the cores' share of a pack
The consistency check compared the platform's own files only. It now also compares verify's core files and game data with the builder's count of files taken from the cores.
2026-10-20 00:28:40 +02:00
Abdessamad Derraz 89050ea5d9 fix: count core files as the pack places them
The report counted claims, not files: several cores claim one path (rom.key by three Amiga cores, openbios.bin with and without a region) and the builder ships one file there. RetroArch read 1130 core files, 48 more than its pack. Game data ignored the in_pack marker, so RomM read 351 game data files in a pack that holds none. verify now takes both counts from its replay of the builder's placement, one per pack path.
2026-10-20 00:28:40 +02:00
Abdessamad Derraz 6bfd73f4f8 fix: a truncated tree does not prove a file gone
When the forge truncates the HEAD tree, the rename search cannot see every path, yet a bare filename it did not find was reported GONE. eden's fs_paths.h and path_util.cpp exist under src/common/fs/. Such a citation is now AMBIGUOUS with the reason, as the realign path already says unclear and never absent.
2026-10-20 00:15:39 +02:00
Abdessamad Derraz d62ada2e6e fix: read a citation wrapped before its colon
jgenesis, ioquake3, yquake2, playdiaemu, samcoupe, skyline and plastic wrap a citation as `path.ext` then `:N-M` on the next line. The collector only joined a line ending with a colon or comma, so these runs were never compared and a bump moved the pin past them silently. They are now read, as wrapped runs that hold the pin until rewritten.
2026-10-20 00:14:43 +02:00
Abdessamad Derraz 95d5c7b1ce chore: regenerate manifests and README
ares now ships its own MSX and Mega-CD revisions beside the platforms' files, and the SDL folder joins the systems pages.
2026-10-20 00:12:43 +02:00
Abdessamad Derraz e1c1fffdaf fix: follow the shared lookup in the judge guard
The core extras loop reaches validated_choice through ExtraResolver.resolve now, so the guard follows that call instead of counting direct calls.
2026-10-20 00:12:43 +02:00
Abdessamad Derraz 5e84244cb9 fix: a game folder copy yields to a neutral one
hypseus-singe, flycast-dojo, lindbergh-loader and vvvvvv read gamecontrollerdb.txt without naming a hash. The name step only set aside copies in other emulators' trees, so a copy in a game's folder under Game Engines/ ranked with any neutral one, and index order handed them C-Dogs' 98-line database. A game folder's copy now ranks after a neutral copy. The community SDL_GameControllerDB is collected at commit ff333823 (git blob 25146be7) as that neutral copy.
2026-10-19 23:16:38 +02:00
Abdessamad Derraz f50773a89f fix: the path step checks the size the code reads
The name step refuses a candidate outside the size an entry validates, but the path step returned any hashless file at the tail as path_exact, a proof slots arbitration trusts. A 32 KB cpc6128.rom at ZEsarUX's tail would have been served for its 48 KB composite. No profile hits it today.
2026-10-19 23:14:47 +02:00
Abdessamad Derraz adaa1eba87 fix: a shared tail is proof only in the own tree
PCSX2x6 reads bin/resources/GameIndex.yaml, an arcade database keyed by NM gameid. The shortened tail resources/GameIndex.yaml matched four files, and the resolver set aside the three in other emulators' trees before measuring ambiguity, so PCSX2's console database passed for path proof and shipped in the PCSX2x6 pack. Ambiguity is now read before that filtering. A tail indexed from an identical copy is kept even when the database records the other copy's path.

PCSX2x6's GameIndex.yaml and RedumpDatabase.yaml are collected from its repository at the pinned 583f0e90 (git blobs ed8232e3 and 8669b3af).
2026-10-19 23:14:24 +02:00
Abdessamad Derraz 843f0ddc0e fix: ares labels name ares's own dumps
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.
2026-10-19 23:11:44 +02:00
Abdessamad Derraz 8fd8437351 refactor: share the core file lookup with verify
verify replayed the builder's placement of core files with a bare name lookup, without the archive index, the data directories or the core's own choice of copy. It compared other bytes than the pack's (blueMSX's MSX2P.rom from bios/ against the data tree's copy) and let an unresolved file take a path the builder leaves free. ExtraResolver now holds the builder's lookup and both call it.
2026-10-19 23:08:12 +02:00
Abdessamad Derraz 2bd9f8a264 fix: verify applies storage tiers like the pack
The builder never looks up a user_provided entry (it writes instructions in its place) nor an external one (fetched from its URL at build time). verify resolved both by name, so a same-named file in bios/ made it credit a file the pack does not carry.
2026-10-19 23:02:54 +02:00
Abdessamad Derraz 1ea6b9d070 fix: a refused file is held, not present
On a hash platform the builder leaves out a file whose declared hash the local copy contradicts, but the README coverage added every UNTESTED file to the present count. RetroDECK read 2,008/2,008 for a pack carrying 2,007. verify now lists the destinations the builder refuses, and the coverage subtracts them.
2026-10-19 23:00:31 +02:00
Abdessamad Derraz 16f6ef8cbf feat: record the commit a branch scrape read
Six platforms are read from a branch: System.dat, batocera-systems.json, checkBIOS.sh, the MiSTer BiosDB, the RetroPie scriptmodules and the RetroDECK component manifests. Their YAML named the branch, so the native export patched whatever the branch had become since the scrape. Each scraper now resolves the branch head once, reads every file at that commit and writes it into source. The export follows a recorded tarball and a recorded tree as it already followed a raw file URL.
2026-10-19 22:50:45 +02:00
Abdessamad Derraz eafb73bf55 feat: name the romset that carries a wanted dump
17 TOSEC ZX Spectrum ROMs reported missing ship inside MAME's spectrum.zip from 0.190 to 0.289, while the collection holds only FBNeo's one-member archive of that name. provenance_report --missing and the site's wanted list now name the set, the member and the versions, matched by crc32 and size and by sha1 where both sides carry one.
2026-10-19 08:29:31 +02:00
Abdessamad Derraz 53f9746bfa fix: count a core file only where it is packed
verify kept its own copy of the placement rule and missed the flat RomM folder, so the report still counted 543 unreachable files as packed. It now asks the builder's ExtraPlacement. The README fraction counted every held core file, including those a platform cannot place or that a same-named packed file hides. It now counts what the pack holds.
2026-10-19 07:44:12 +02:00
Abdessamad Derraz 7d1e9f8816 fix: keep RomM files where its player reads them
RomM lists a platform's firmware folder without descending (base_handler.py:1002, recursive=False) and EmulatorJS writes the chosen file, or each zip member, under its bare name. 543 files of the RomM pack sat below a folder where no core could read them. The registry now marks RomM's folder flat, and such files are omitted with the reason below_platform_folder in the manifest and the installer.
2026-10-19 06:57:36 +02:00
Abdessamad Derraz c7f18e84c3 feat: read RomM cores from its player maps
RomM merges a nightly core map into the stable one when netplay is on, so it launches azahar, bsnes and genesis_plus_gx_wide, which the inherited EmulatorJS list left out. The scraper now reads both maps from the tagged frontend source and fails if either is missing. The cited mednafen_pce mapping is at index.ts:481-482 in 5.4.0.
2026-10-19 06:57:32 +02:00
Abdessamad Derraz 6553833a26 fix: spell the glyph class as escapes
Tracked, the test read its own character class as an offender.
2026-10-19 06:50:48 +02:00
Abdessamad Derraz 4231902a6c docs: write prose without dashes or semicolons
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.
2026-10-19 06:47:31 +02:00
Abdessamad Derraz 583031eda5 refactor: plain documentation theme for the site
No gradient banner, no coloured stripes or dots beside cards, no lifting cards, pill badges or small-caps headers. File blocks are separated by a rule, tables keep the theme's own size, and headings no longer repeat the site name the header bar already shows. Classes nothing emits were removed.
2026-10-19 05:34:52 +02:00
Abdessamad Derraz 44ac56b4d6 fix: date prose by its citations, not its wording
A note reworded around unchanged citations took the rewording commit as its writing revision. That commit's pin is current, so citations a bump had left behind stopped being reported. A sentence end now separates a project word from the citation before it, like a comma.
2026-10-19 05:31:57 +02:00
Abdessamad Derraz f19dcba545 fix: keep cmd.exe off the terminal under WSL
Reading the Windows variables through cmd.exe let it consume the answer typed at the first prompt: a WSL run exited 0 with nothing installed.
2026-10-19 05:15:52 +02:00
Abdessamad Derraz 3bb178bb74 fix: read the data-tree count in the parity test
The system pack summary counts data-tree members apart since emulator packs separate them; the parity test's pattern stopped matching on msx and snk-neogeo-mvs.
2026-10-19 05:03:00 +02:00
Abdessamad Derraz 0d586ef6bf feat: give every file an address by content 2026-10-19 04:40:21 +02:00
Abdessamad Derraz a389b5fa2b fix: publish each profile document in the envelope 2026-10-19 04:35:54 +02:00
Abdessamad Derraz 49e7119b1c feat: name the file each platform page transcribes 2026-10-19 04:35:08 +02:00
Abdessamad Derraz 2abef61acd feat: describe each data directory on its page 2026-10-19 04:34:33 +02:00
Abdessamad Derraz dfc4d24ae8 fix: claim a source pin only where one exists 2026-10-19 04:34:07 +02:00
Abdessamad Derraz 4d360c3cc1 fix: show the sha256 a platform declares 2026-10-19 04:33:38 +02:00
Abdessamad Derraz 435564c728 feat: identify each emulator part and its card 2026-10-19 04:33:11 +02:00
Abdessamad Derraz 58a5783d14 fix: show a version per build as text 2026-10-19 04:32:28 +02:00
Abdessamad Derraz 6490cc6613 fix: link source paths as the profiles write them 2026-10-19 04:31:49 +02:00
Abdessamad Derraz 56105fc108 fix: align the columns of the listings 2026-10-19 04:31:03 +02:00
Abdessamad Derraz 7577ec4c18 fix: count the profiles the named listing shows 2026-10-19 04:30:38 +02:00
Abdessamad Derraz 41e33032f7 fix: close the slots report on its totals 2026-10-19 04:30:15 +02:00
Abdessamad Derraz b8667721b2 refactor: compare archive members in one place 2026-10-19 04:29:41 +02:00
Abdessamad Derraz beabe77b80 fix: say what the installer found and stopped on
--check names each missing or corrupt file, a read-only folder is reported once, Ctrl+C before the downloads stops cleanly, stdout keeps its order in a log, and the local check shows its progress.
2026-10-19 04:28:31 +02:00
Abdessamad Derraz 17db8f2b77 chore: regenerate install manifests
EmuDeck's RetroArch cores, the config files and BizHawk executable rules the registry now publishes, and the placeholder scan.
2026-10-19 04:25:22 +02:00
Abdessamad Derraz 04deb95a35 docs: give every command-line option a help text 2026-10-19 04:23:34 +02:00
Abdessamad Derraz 18cca66e58 fix: hold the empty sweep to the no-pack rule
The older test read an --all check of an empty directory as a pass; it checked nothing, which the verify-packs rule now refuses.
2026-10-19 04:23:26 +02:00
Abdessamad Derraz 6d860a0df6 fix: refuse --verify-packs misuse before locking 2026-10-19 04:20:05 +02:00
Abdessamad Derraz 6008fe352c fix: rebuild the database named in the error 2026-10-19 04:19:12 +02:00
Abdessamad Derraz 642896346f docs: say what verify --strict fails on 2026-10-19 04:18:55 +02:00
Abdessamad Derraz 90d29411f4 fix: name the ref when a file list is missing 2026-10-19 04:18:12 +02:00
Abdessamad Derraz 4bfe4eef2c docs: name both methods a scraper must define 2026-10-19 04:16:52 +02:00