Commit Graph
2226 Commits
Author SHA1 Message Date
Abdessamad Derraz ceaca2bf1d chore: record what each platform installs
Each platform's own packages were read at the revision our data pins, for every emulator and core it ships: Batocera, Recalbox, RetroPie, ROCKNIX, Lakka, RetroDECK, RetroBat and EmuDeck. Files a package installs where the emulator reads them are recorded with installed_on, and files a release bundles but a package leaves out with not_bundled_on, so each platform's pack brings what its users lack and nothing they already have. The standalone profiles never checked before were held against their releases the same way. Batocera's imame4all is the mame2000 core. The primary neogeo.zip was a 7.7 KB placeholder no platform pins and no pack served: removed, the real dumps stay in .variants.
2026-10-20 07:17:05 +02:00
Abdessamad Derraz 954f213d42 fix: one id per card, and render the site locally
A copy filed under two consoles of one maker was listed twice with the same id, and a data directory listed the same bytes twice, so the site deploy refused 20 pages. The first card keeps the id. The pipeline only generated the pages, so it now renders them with mkdocs build --strict and runs validate_site as the deploy does. The resumed-speed test read the clock and failed on a slow runner, it now fixes the elapsed time.
2026-10-20 07:05:01 +02:00
Abdessamad Derraz 6df087e3e9 fix: a platform's own data trees leave its pack
The platform layer names data trees for its systems: retroarch.yml carries dolphin-sys and ppsspp-assets, and Lakka inherits them, while Lakka's core packages install both trees into the system directory. A profile records that with installed_on on its data directory, and the pack and the install manifest now leave those trees out for that platform.
2026-10-20 06:36:32 +02:00
Abdessamad Derraz 4227aee9b4 docs: explain why the pack leaves a file out
A file the emulator installs itself is left out of the packs, per build and per platform. The profiling guide documents bundled, installed_on and not_bundled_on, the FAQ says why a file the emulator reads may be missing from a pack, and an emulator page names the build that installs it and the platforms whose package differs.
2026-10-20 06:24:18 +02:00
Abdessamad Derraz f6ac473e78 docs: no double hyphen used as a dash
The home page's methodology list and a few comments wrote ' -- ' where a colon or parentheses belong.
2026-10-20 06:23:02 +02:00
Abdessamad Derraz 8b203e397c chore: mark what the new profiles' installs bring
The profiles written for RetroBat and RetroPie were checked the same way: UZDoom, LZDoom, SRB2 and AdvanceMAME data ship with their releases, RetroPie installs the shareware Doom, Quake III and Wolfenstein data, the Aleph One scenarios and 4DOS beside the ports it builds, RetroBat installs Jynx's ROMs, and Recalbox's uae4all core comes without the AROS ROMs.
2026-10-20 06:21:34 +02:00
Abdessamad Derraz 042ee955d6 feat: list data directory files and revision
A data directory appeared on its emulator page as a URL whose content moves, and the 2,534 files the packs ship from these trees were on no page. Each tree now shows the revision it was fetched at and its files with size and sha1, and the site lookup by sha1 resolves them. The page description reads the repository list the JSON-LD now carries.
2026-10-20 06:21:12 +02:00
Abdessamad Derraz 1ff2bfc3c0 fix: the API schema holds each endpoint's fields
The data page promises that v1 fields are only ever added, and the envelope schema left items unconstrained, so a renamed field passed validation. Each kind now lists the fields its items carry and their types.
2026-10-20 06:18:25 +02:00
Abdessamad Derraz 1bbb1d4749 fix: emulator JSON-LD names every repository read
The structured data of an emulator page published one repository and one commit. A profile whose builds live in two repositories, or a port with an upstream_commit, now lists each repository with its own pin.
2026-10-20 06:17:40 +02:00
Abdessamad Derraz 08396be3c6 fix: the collection DAT names sets by subfolder
The collection DAT named its sets "Sony - PlayStation", and the data page said it audits a copy of bios/. clrmamepro and RomVault looked for a folder of that name and reported the 330 sets missing. A Logiqx set name writes a subfolder with a backslash: Sony\PlayStation.
2026-10-20 06:17:16 +02:00
Abdessamad Derraz c64716d90e chore: drop comments that restate the next line
Each step of the site build carried a comment, a print and a function call saying the same thing.
2026-10-20 06:16:38 +02:00
Abdessamad Derraz 23b69d185c docs: write headings in sentence case
The gaps page and the Advanced usage, Verification modes, Release process and Testing guide pages titled in Title Case beside sentence-case pages. A test now reads every wiki heading.
2026-10-20 06:16:00 +02:00
Abdessamad Derraz bb19a6d5cf feat: profile what RetroBat and RetroPie run
100 emulator names the two platforms run had no profile, so their packs carried nothing for them. Each was read from the platform's own launcher or scriptmodule: the same program as an existing profile takes the name in cores:, a different build gets its own profile read from that version, a launcher or self-contained game goes to remove_cores, and the rest are new profiles written from their source or shipped binary. The files they need that the collection lacked are collected from the upstream distributions. Bungie and splitwolf trees are read by path and stay out of dedup.
2026-10-20 06:14:10 +02:00
Abdessamad Derraz 9f8a2a9fe2 chore: mark what each emulator install brings
Every bundled flag was checked against the release or the build recipe of the build that reads the file. A libretro core zip holds the core alone: fMSX, Nuance, ep128emu and PCEE2 files the source tree carries are no longer bundled, and blueMSX, ARMSX2, YAPS2, Cemu and Jazz2 entries are split per build. Files the release ships and the profile missed are now bundled (POM2, ZQuest Classic, EmuCoreX, Linux Loader). Platform packages that differ are named: Batocera installs hcl and Hurrican without their data, ROCKNIX ships touchHLE's Liberation Sans fonts only, Batocera and RetroPie install blueMSX's machines beside the core.
2026-10-20 06:11:39 +02:00
Abdessamad Derraz f7d57dd91d feat: a platform package can differ from upstream
bundled describes the emulator's own release, and a platform package can differ both ways: Batocera's hcl package installs the binary alone and sends users to fetch the data, while its blueMSX core package copies the machines and databases beside the core. not_bundled_on and installed_on name those platforms, and the builder reads them through one rule.
2026-10-20 06:11:10 +02:00
Abdessamad Derraz 36e30beac0 docs: give the troubleshooting topics headings
Twenty-one topics were bold lines ending in a colon: MkDocs gave them no anchor to link from an issue and left them out of the page contents. They are headings now, and the prose test refuses the form.
2026-10-20 06:08:03 +02:00
Abdessamad Derraz 0ade9c8339 docs: say what a pack holds in plain words
The README opened on a sales line. It now says what a pack holds: the files its emulators read, as their source code names them, minus what the emulators install themselves.
2026-10-20 06:07:18 +02:00
Abdessamad Derraz 2cba2383ca refactor: move the prose citation grammar
The site linked prose citations through profile_sync, which made the site build depend on the checker. The prose runs and their patterns move to sourceref, the grammar module both read, and profile_sync re-exports them.
2026-10-20 06:06:34 +02:00
Abdessamad Derraz a07821d810 feat: list files only an emulator install provides
A file installed with its emulator is already on the user's machine and the packs leave it out. bundled_only.py lists the collected copies nothing else needs: no platform declares them, no entry of any build needs them, no install manifest ships them.
2026-10-20 06:05:20 +02:00
Abdessamad Derraz ddc7432825 feat: packs leave out what the emulator installs
A file or tree installed with the emulator is already on the user's machine, so packs, install manifests and verify's pack count leave it out. bundled is scoped by mode like any entry: Dolphin's Sys and PPSSPP's assets ship with the standalone releases, not with the libretro cores, so they now follow the libretro build only and still reach RetroArch packs. PrimeHack, standalone only, ships its own Sys.
2026-10-20 06:04:10 +02:00
Abdessamad Derraz c589ed49b8 fix: the site says 1 file, not 1 files
Counts were printed with a fixed plural and the site said "1 files" 234 times, "1 issues" and "1 entries" too. A shared helper picks the noun, and the generated-pages prose test refuses the form.
2026-10-20 05:57:05 +02:00
Abdessamad Derraz 976b164536 feat: the gaps table names the accepted dump held
A hash mismatch row printed the hash the emulator accepts and stopped there, although the collection holds that exact dump for most rows. A column now links the held copy.
2026-10-20 05:55:41 +02:00
Abdessamad Derraz 49c7bacc46 fix: a file copy is listed on its folder's page
The database keeps one path per content, so a copy filed under another manufacturer was on no page of its own: the Channel F BIOS sat under Arcade > FBNeo and Fairchild had no system page. Every folder holding a copy now lists it, read from the full paths by_path_suffix records, and the index counts each content once.
2026-10-20 05:54:57 +02:00
Abdessamad Derraz 77ae9a7f74 fix: every accepted md5 is its own search word
Recalbox lists accepted md5s joined by commas, and platform pages printed the list as one code span. The site search took it for a single word, so 198 accepted values could not be found. Each value now has its own span.
2026-10-20 05:52:59 +02:00
Abdessamad Derraz dec0fdc163 feat: each citation names the code that asks
A profile that reads a libretro core and the original emulator cited both trees alike, and readers could not tell whether the core or the emulator asked for a file. A cited path now opens with source or upstream, the repository its lines are in. Emulator code a port carries is attributed upstream when the original holds the same value on the cited line.

profile_sync --attribute-refs writes the words from where the lines are found and follows a word already written. The site links each citation to that repository's pin, labels it libretro core or upstream emulator, and says on each file card whose code asks for it. A recale keeps the word, and mame_ref_audit reads the tree it names.
2026-10-20 05:52:13 +02:00
Abdessamad Derraz adea35e12a fix: a recale keeps the repository word of a ref
A source_ref written as `stella src/a.c:120` names the repository its lines are in. The path is read without the word, and --rebase-refs wrote the new span back without it, losing the attribution.
2026-10-20 05:46:09 +02:00
Abdessamad Derraz 10a1f475b0 feat: prose citations link to the pinned source
Notes, file notes and platform details carried file:line citations as plain text although profile_sync keeps each on the profile's pin. A citation now links when the profile reads one repository and the path is rooted or already used by a structured source_ref. Platform detail source_refs go through the same renderer as file cards.
2026-10-20 05:44:08 +02:00
Abdessamad Derraz c87610b921 chore: regenerate the install manifests 2026-10-20 05:41:59 +02:00
Abdessamad Derraz 01b310f724 fix: release_notes options say what they do 2026-10-20 05:12:01 +02:00
Abdessamad Derraz d7439de393 chore: re-profile the Pizza Boy cores
The native refs move to the newest genuine Basic builds (GBA 2.3.20, GBC 4.1.14, SC 1.2.14), which add a save-state check of the BIOS area and new zip handling. The Pro releases the store announces circulate only rebuilt, so the Pro Java reading stays on the last genuine build and the release is named in no_genuine_copy.
2026-10-20 04:59:01 +02:00
Abdessamad Derraz a20948d7d5 chore: record the iNES bundled identity count 2026-10-20 04:58:47 +02:00
Abdessamad Derraz 3c92823ba0 chore: no genuine MasterGear 4.9.13 found 2026-10-20 04:58:06 +02:00
Abdessamad Derraz 65c0f60ca0 chore: re-profile DroidArcadia 4.74 2026-10-20 04:58:06 +02:00
Abdessamad Derraz ed40e1a834 chore: re-profile SUPER ZSNES v0.320 2026-10-20 04:58:06 +02:00
Abdessamad Derraz a5da20d897 chore: re-profile BigPEmu 1.221
The binary reads two optional settings, BootROM and CDBIOS, each a path the user picks. The retail Jaguar CD BIOS is recognised by a 64-bit FNV-1a of its first 16 KB, which the collected dump matches.
2026-10-20 04:58:06 +02:00
Abdessamad Derraz 85f020794d chore: re-profile Speccy 5.9.13 2026-10-20 04:58:06 +02:00
Abdessamad Derraz 2c99e73d3c chore: re-profile iNES 6.1.12
6.1.12 no longer bundles ROOT.chts and its seven cheat sets: the cheat browser reads the home folder, then unpacks Downloads/iNES-Cheats.zip. The seven sets are collected from the author-signed 6.1.4 package, each file covered by its signature. Controls.png and the backdrop pictures the app reads are documented.
2026-10-20 04:58:05 +02:00
Abdessamad Derraz 17e35d1af9 feat: file cards name the packs that install them
A card named only the platforms whose own list declares the file. A RetroBat user looking up scph5501.bin found every platform but RetroBat, whose pack installs it for six cores. The cards now read the install manifests and add each pack that places the file, with the destination it gives it.
2026-10-20 04:56:23 +02:00
Abdessamad Derraz 91403aa149 fix: site systems match under every spelling
Platform pages matched emulators to systems by the exact id, so the RetroArch page listed none for sega-mega-drive (genesis_plus_gx says sega-megadrive), and listed every emulator of a system instead of those the platform runs. Emulator cards linked only ids a platform uses: 2,057 of 4,215 system lines had no link, now 327, the rest having no page. Ids are compared as _norm_system_id reads them, and a system only profiles name is placed by the files they file under it.
2026-10-20 04:55:16 +02:00
Abdessamad Derraz 2e0d3d626a docs: build RetroPie in the release pipeline run
The release built and checked the RetroPie pack with two commands after the pipeline, which left it out of the verify and pack consistency check. pipeline.py --include-archived builds and checks it with the rest.
2026-10-20 04:52:25 +02:00
Abdessamad Derraz 810396941d feat: write the release notes from the record
The pack table, its parts sentence and the install commands were typed by hand from figures release.json already held. A copied cell or an old collection total at the top is how issue 81 happened. release_notes.py renders them and appends the hand-written account of what changed.
2026-10-20 04:51:56 +02:00
Abdessamad Derraz 8bd2d319b2 feat: the pipeline runs the schema check first
PR validation runs validate_schemas.py --source-only and the pipeline did not, so a profile with an unquoted numeric core name passed every step and failed CI on push. It is step 0 now, skipped where jsonschema is not installed.
2026-10-20 04:50:04 +02:00
Abdessamad Derraz 8a44161810 chore: re-profile Linkboy 3.11.4
Linkboy 3.11.4 adds a cartridge logo check before the BIOS boot and a second built-in BIOS variant. My Boy! 2.1.1, My OldBoy! 2.0.3, FPse 13.0 and FPseNG 1.17 circulate only rebuilt: their profiles stay on the last genuine build and name the release.
2026-10-20 04:49:24 +02:00
Abdessamad Derraz 77389236e6 feat: record a release with no genuine copy
Paid Android emulators announce versions that circulate only rebuilt or re-signed. The profile stays on the newest unmodified build, and version_source.no_genuine_copy names the release searched for, so check_freshness stops flagging it until the page announces a later one.
2026-10-20 04:49:24 +02:00
Abdessamad Derraz 8d295273a5 fix: validate_pr checks the size a name expects
1024 bytes named scph5501.bin, a name every declaration sizes at 524288, were reported "File size OK" and offered a .variants slot at the repository root. The review now warns when no declaration of the name accepts the size, and places a variant beside the folder that holds the name.
2026-10-20 04:48:07 +02:00
Abdessamad Derraz b45f269b31 chore: re-profile ACE-DL 2026/10/16 2026-10-20 04:46:46 +02:00
Abdessamad Derraz 672c6ca4e0 chore: re-profile XM6 Pro-68k 260920 2026-10-20 04:46:46 +02:00
Abdessamad Derraz fcfc10b985 chore: re-profile XRoar 1.12.1
Refs moved to the 1.12.1 tree and its src/ layout. The new rom.c table names the crc32 of nine ROMs, two of which the code checks.
2026-10-20 04:46:46 +02:00
Abdessamad Derraz 1ae2854474 fix: a truth hash conflict is reported once
Generating the model for every platform met the same two GameIndex.yaml declarations once per platform, and check_freshness opened on six identical warnings.
2026-10-20 04:46:03 +02:00
Abdessamad Derraz 50790a2988 fix: the pipeline summary says what does not fail
check_buildbot does not fail the run, yet the summary printed it FAILED right above Pipeline COMPLETE. It now prints WARN and a line saying the difference does not fail the run. The total is aligned under the step durations.
2026-10-20 04:44:30 +02:00