Commit Graph
2423 Commits
Author SHA1 Message Date
Abdessamad Derraz 63be8cc3bc fix: find tab-indented batocera-systems entries
The entry pattern required four spaces of indent. EmuELEC indents 23 systems with one tab, so render appended each again whole and the published export carried 21 duplicated keys, the md5 fills only in the second copy. Any indent opens an entry now, and an entry written again keeps its own. The EmuELEC export is regenerated: one copy of each system, the amiga entry also gaining the eight WHDLoad Kickstarts the profiles added since 2026-10-22.
2026-11-06 08:39:40 +01:00
Abdessamad Derraz 420162c79b fix: rank uncheckable profiles first in triage
--strict fails on a profile no declared repository answers for, yet --triage scored it 0 under the clean profiles and left it out of the count to review. It now weighs as a pin to set again and is counted.
2026-11-06 08:37:36 +01:00
Abdessamad Derraz 63fafaf0f9 fix: read teknoparrot and simple64 from mirrors
teknogods/TeknoParrotUI and simple64/simple64 answer 404 on the API and the web, and neither organisation lists them now. simple64's README at the pin archives the project for gopher64. Each profile declares upstream_gone and a fork that keeps its default branch at the analysed commit: thecrixux/TeknoParrotUI master is b75872ad, simple64-vault/simple64 main is d8c969c7. realign_prose reads a source declared gone through that mirror, which unblocks five teknoparrot notes citations that anchor unchanged.
2026-11-06 08:37:12 +01:00
Abdessamad Derraz a0ecca0024 fix: collect abbreviated prose citations
A location written without its file, (:507), reads in the file named last in the scalar, either cited or named as 'path:' before a list. A dotless file cited with its directory (tools/errorgen:20) is a citation too. devilutionx, corsixth, starship, plastic, eden-nightly, theforceengine, lightspark and higan_sfc gain 33 citations that bump and realign now follow. Two read that way pointed at another file and now name theirs: devilutionx assets.cpp:511-518, corsixth app.lua:1591.
2026-11-06 08:33:16 +01:00
Abdessamad Derraz 8dc3ac82c7 fix: date each prose citation on its own
realign_prose dated a whole field from the last commit that changed any of its citations. idtech4a++ corrected two notes citations by hand in the commit that advanced its pin, so the untouched Game.java:69-72 and GameResourceUrl.java:14-118 read as written under the current pin and were never offered again. Each citation is now followed through the history on its own. The two idtech4a++ ranges move to 72-75 and 15-121, read at ce49510f.
2026-11-06 08:24:49 +01:00
Abdessamad Derraz 7a03578dd9 fix: count name holders with case folded
A hashless profile entry adopted the only exact holder of its name as the file its aliases designate. dosbox's SC-55 ROM2.BIN found Galaksija's ROM2.BIN, and ROM2_ST.BIN was indexed against a 4 KiB BASIC ROM while SC-55's rom2.bin sat under the same folded name. The name now has to designate one file once case is folded, a primary and its own variants counted as one.
2026-11-06 08:21:47 +01:00
Abdessamad Derraz 6695efeebe fix: scope slot labels to system and region
slots reads content_alternatives too, so a content-found label is settled only by a dump of its own system and region slot.
2026-11-06 08:16:08 +01:00
Abdessamad Derraz 807ffa0ca9 fix: let content labels accept their region slot
verify judged a found_by: content entry by its label alone and called ROCKNIX's scph1001.bin (v2.0) a rustation sha256 mismatch, though rustation declares and boots that dump. A label now accepts the dumps its core takes for the same system and declared region.
2026-11-06 08:16:08 +01:00
Abdessamad Derraz b550b9780c fix: judge content-found cores by any dump
A core with found_by: content reads no file by the destination's name. Any dump its profile accepts for the system settles the slot: Batocera, KNULLI and ROCKNIX ship scph1001.bin v2.0, which DuckStation and rustation accept under scph1001_v20.bin.
2026-11-06 08:12:25 +01:00
Abdessamad Derraz 19898cb6ea chore: merge site and docs fixes, third pass 2026-11-06 06:38:47 +01:00
Abdessamad Derraz df801fd311 chore: merge resolver and export fixes 2026-11-06 05:54:29 +01:00
Abdessamad Derraz 7cf5af2d7b docs: name Lakka among the cards found by itself
install.py tells a Lakka card by its retroarch.cfg since f8702a19f. The
FAQ and the README now name it with the other cards.
2026-11-06 05:53:19 +01:00
Abdessamad Derraz c6713118bc fix: launcher test names packages as the scraper
PlatformRecords stripped lr- to compare package records with cores. The scraper now names a libretro package with core_name(), lr-dosbox-pure as dosbox_pure, so the test reads the same function.
2026-11-06 05:21:55 +01:00
Abdessamad Derraz 83076818b0 chore: merge origin/main 2026-11-06 05:18:32 +01:00
Abdessamad Derraz 7a98d73d79 chore: merge engine fixes, third pass 2026-11-06 05:06:59 +01:00
Abdessamad Derraz acd2ef31fd fix: keep the Run by row out of the search
Setup names on 530 emulator pages lowered their weight in the index and
ranked the data page first for batocera folder and retroarch system
folder. The row is left out of the search, as the card's setup lists are.
2026-11-06 04:41:13 +01:00
Abdessamad Derraz 5621737c29 fix: name an emulator's packs once per page
A Packed line on each file card put the MAME parts, BizHawk, blueMSX,
FBNeo and GroovyMAME over the 10,000 element budget. The Run by row of
the page already names the setups that pack the emulator's files.
2026-11-06 04:32:04 +01:00
Abdessamad Derraz 350cd6d600 feat: keep the address of a file that left
files/?sha1= of a file the collection no longer holds answered that no
file the site knows has the hash. generate_db.py now records each sha1 a
rebuild drops in retired.json, with the day and the file in its place,
backfilled from the history since 0d586ef6b (4,139 files). The lookup
answers with it and leads to the successor's card.
2026-11-06 04:24:44 +01:00
Abdessamad Derraz 578050b8e5 docs: keep the SD card answer within its budget
Naming MiSTer took the FAQ four words over its pinned ceiling. The
sentence keeps every card the installer finds and drops the words that
repeated it.
2026-11-06 04:23:11 +01:00
Abdessamad Derraz a1ec6d2428 fix: synth ROMs of dosbox-staging found by content
libmt32emu scans the ROM folder and identifies every file with identifyROMFile (src/midi/mt32_lasynth_model.cpp:68-91 at fa1856c0), and the Nuked SC-55 plugin loads with RomLoader::Hashing, matching SHA-256 against its table. The 50 MT-32 and Sound Canvas entries now carry found_by: content, so the truth no longer says dosbox-staging opens their labels.
2026-11-06 04:20:06 +01:00
Abdessamad Derraz f6acd96c78 fix: teknoparrot's COH-H image is found by content
The entry documents the pcsx2x6 component, whose FindBiosImage (pcsx2/ps2/BiosTools.cpp:268-291 at 583f0e90) takes the first 4 to 8 MB romdir image whatever its name. pcsx2x6.yml already said so, and the RetroBat truth gave the file two identities. The guard no longer needs an agnostic flag to read an entry.
2026-11-06 04:15:08 +01:00
Abdessamad Derraz b2e2fb7ebb fix: the emucorex PS2 image is found by content
FindBiosImage (pcsx2/ps2/BiosTools.cpp:278-302 under app/src/main/cpp/pcsx2 at bda532f3) keeps the first 2 to 8 MB file with a romdir, whatever its name, as upstream PCSX2 does. The guard reads entry-level agnostic flags too, which is how it surfaced.
2026-11-06 04:12:41 +01:00
Abdessamad Derraz b23931e14d feat: find archive members by their CRC32
The lookup held a member only where a profile's contents: declares it,
so 26,014 of the 33,403 members of collection archives answered nothing.
Each member's CRC32 is now an archive-member record leading to its
archive's card, read from the central directory, and files/ names the
archive holding it.
2026-11-06 04:12:20 +01:00
Abdessamad Derraz d7903e1a31 fix: arcade images in armsx2 are found by content
FindArcadeBiosFor (pcsx2/ps2/BiosTools.cpp:366-419 at 7f914418) scans the BIOS folder for 2 to 8 MB COH-H images and picks by EXTINFO serial, never by name. r27v1602f.8g, r27v1602f.7d and COH-H31000.BIN now carry found_by: content, and the truth no longer says armsx2 opens those names. The guard covers the 2 MB lower bound.
2026-11-06 04:10:38 +01:00
Abdessamad Derraz 0aa5dd8487 docs: name MiSTer among the cards found by itself
install.py tells a MiSTer card by its MiSTer binary and menu.rbf since
73b82375d. installer.md said so, the FAQ and the README did not, and sent a
MiSTer user to --dest the card's root, where nothing reads the files.
2026-11-06 04:09:07 +01:00
Abdessamad Derraz 302f2a1df9 docs: name launcher records among removal proofs
tools.md listed what keeps a platform entry out of removal_candidates
without the platform's launchers: records, which candidates.py checks
right after a path (_PROOF_ORDER).
2026-11-06 04:07:55 +01:00
Abdessamad Derraz bce590d70b docs: describe the RetroBat nosgba package plainly
The note said RetroBat leaves out DSI-SD.ZIP and still carries the v3.04 executable. It now states what the package holds. The prose test refuses a platform name followed by such a phrase in a profile.
2026-11-06 04:07:34 +01:00
Abdessamad Derraz 5df3a707e6 docs: say what the emuscv BIOS check does
The note judged the CHECKBIOS handling instead of describing it. It now says what memory.cpp:80 does: the MD5 comparison runs only for YES_VAL, so AUTO accepts any content. A rejected BIOS is filled with 0xFF (line 97), not zeroed.
2026-11-06 04:07:22 +01:00
Abdessamad Derraz 548a1bc636 docs: regenerate installer samples with manifests
testing-guide listed the generated artifacts without derivable.json and
the run samples of wiki/installer.md, and tools.md gave the manifest
command alone. The nightly's commit rules also had no place for the two
files its offline pipeline rewrites, so autorun stopped on them.
2026-11-06 04:06:45 +01:00
Abdessamad Derraz 3cb1d9c06a fix: keep the -sa name in ROCKNIX targets
The target scraper stripped -sa from every standalone package while the platform scraper keeps both spellings. vice-standalone, scummvm-standalone and supermodel3 answer to vice-sa, scummvm-sa and supermodel-sa only, so every targeted ROCKNIX build left them out. Both now read standalone_emulators(), and the targets are rescraped at tag 20261001.
2026-11-06 04:05:10 +01:00
Abdessamad Derraz ffc4632bb1 docs: describe a platform list without judging it
adding-a-platform said a platform's list leaves files out. It now says
the files its list does not name.
2026-11-06 04:05:06 +01:00
Abdessamad Derraz 87f6211983 fix: one core name per RetroPie package
The platform scraper kept lr-dosbox-pure as dosbox-pure, which matched the standalone DOSBox Pure Unleashed profile, while the target scraper wrote dosbox_pure. Both now read core_name(), and platforms/retropie.yml is rescraped at its pinned revision 46128cd2: only the libretro core names change, and six Unleashed files leave the RetroPie manifest.
2026-11-06 04:03:36 +01:00
Abdessamad Derraz 28d310d8bc fix: preselect RetroArch in a system's install box
The box showed the first setup by name, AmberELEC on 17 system pages,
under Windows tabs. It now selects RetroArch, which runs on every system
the box has a tab for, else a setup the release publishes a ZIP for.
2026-11-06 04:02:14 +01:00
Abdessamad Derraz 39e6afbeb2 fix: a size kept in bios_db.json is not removed
When the truth accepts the BiosDB hash but none of its sizes fits, the MiSTer render keeps the entry's size beside the hash, and the report still counted a size removed. A size the truth does not state is no longer reported as changed.
2026-11-06 04:00:47 +01:00
Abdessamad Derraz 290c0b73ff fix: a container md5 leaves a zippedFile md5 alone
Batocera and KNULLI check a zippedFile item's md5 against the member inside the archive. A profile's container md5 for the archive would have replaced it as a correction. The item's md5 is now read as Recalbox's composite md5 is: neither compared with the container's nor overwritten by it.
2026-11-06 04:00:15 +01:00
Abdessamad Derraz 6427e46e25 fix: an empty or HTML original fails the export
fetch checked archives only, so a System.dat served as an HTML page with 200, or a 0-byte cache, reached render() as a file with no entries. System.dat, es_bios.xml, RetroBat and RomM then rebuilt the platform's file from our data and reported OK. Such an original is now refused, before it is cached and when read from the cache, and a format that needs its original fails when none was read.
2026-11-06 03:59:07 +01:00
Abdessamad Derraz 6015552fb2 fix: offer Lakka's card route from Linux only
Lakka keeps /storage on the card's ext4 partition (Lakka-LibreELEC
4696b48f scripts/mkimage:72, 95), which Windows and macOS do not open, and
its page offered them a card route. card_run is now [linux], and a page
with no Windows route says only Linux opens the card.
2026-11-06 03:58:38 +01:00
Abdessamad Derraz d5e61308e1 fix: additions join the native id their cores read
A platform system spanning several native ids with no native_id filed every addition under the id that sorts first: RetroDECK's arcade wrote MAME device archives as FBNeo BIOS, RetroBat's Amiga put A500 kickstarts under amiga1200. An addition now joins the id whose declared files its cores read, and one the cores do not settle is counted and not written.
2026-11-06 03:57:39 +01:00
Abdessamad Derraz 7d2c393118 fix: provenance gaps read held names by index
profile_needs decided held-ness from each record's own name. np2pi's KANJI2.ROM, held as the PC-88 n88knj2.rom, was listed missing and paired with a Fujitsu dump. It now reads by_name as verify does, and an unsourceable entry is not held by a homonym, which lists xm7's KANJI.ROM.
2026-11-06 03:53:26 +01:00
Abdessamad Derraz d1bf77a09c fix: write PS2 companions as PCSX2 opens them
PCSX2 stats <bios>.rom1 then <stem>.rom1, case-sensitive on Linux (BiosTools.cpp:214-229), and so does PCSX2 1.6 for erom. The pack wrote the stored SCPH-70004.ROM1, never found. A companion entry also seeded a scan of its own with a 4 MB bound and swept cheats, GameIndex.yaml and DVD firmware to the BIOS root. A companion now scans its image's folder for its own extension only, any size, since the code reads min(size, filesize), and is written as the code spells it.
2026-11-06 03:52:47 +01:00
Abdessamad Derraz 422de84ac8 chore: ask for the Lakka card in the platform menu
The manual platform menu test expected /storage/system for Lakka on a computer. Lakka is a card setup now, so the menu finds its card's STORAGE part: the default-folder case uses RetroPie, and a Lakka case checks the card.
2026-11-06 03:51:54 +01:00
Abdessamad Derraz cead17429b fix: compare narrowed emulator packs in step 5 2026-11-06 03:51:52 +01:00
Abdessamad Derraz 7e504e8469 fix: show and count data archive downloads
A data tree's archive came with no progress line, and the run ended on the BIOS bytes alone (310.5 KB where 82 MB arrived). Its download now draws the progress line and adds its bytes and time to the end line, a cut attempt taken back. It writes no progress event: those count the download event's files.
2026-11-06 03:51:36 +01:00
Abdessamad Derraz 657e3bc55b docs: say what archived means on the RetroPie page
The RetroPie guide note still tied the archived status to a scraping
schedule no tool runs. The doc test now reads _guides.yml too.
2026-11-06 03:51:05 +01:00
Abdessamad Derraz 2f81aa9c0f fix: write region names in pack READMEs as labels
packreadme title-cased each slug, printing asia-ntsc as Asia Ntsc.
region.label() holds the words the site already used, and both read it.
2026-11-06 03:50:49 +01:00
Abdessamad Derraz 00aac8dc72 docs: say what catalog.json lists
index.json called the catalog every published file, while the one-item
documents of emulators/, platforms/, systems/ and lookup/ are in none of
its items. The description and the data page now say so.
2026-11-06 03:48:37 +01:00
Abdessamad Derraz 7f6ba6952c feat: verify reports the required-only pack 2026-11-06 03:45:07 +01:00
Abdessamad Derraz 225cdaff22 fix: show exact sizes where the code compares them
A size validated by the emulator is shown with its bytes on the emulator
page, and a collection card's badge gives the exact size, in whole KB or
MB only when it is one. raze's three DUKE3D.GRP read 42.3 MB alike.
2026-11-06 03:44:57 +01:00
Abdessamad Derraz 2ecbea56b5 fix: skip data trees a read-only folder refuses
A BIOS folder this user cannot write no longer tries each data tree's archive and blames its URL with a raw errno. The tree is counted failed for the same cause as the BIOS files, so the summary keeps its one line and its advice.
2026-11-06 03:44:17 +01:00
Abdessamad Derraz a82e9b6f7f fix: system report reads the claims the pack reads 2026-11-06 03:42:42 +01:00