Commit Graph
4260 Commits
Author SHA1 Message Date
Abdessamad Derraz f5140aad0c fix: declare the higan Super GameBoy.sfc folder
higan and nSide look program.rom up in the option's folder, SGB.sfc/,
then Super GameBoy.sfc/. Only the SGB1.sfc/ and SGB2.sfc/ folders were
entries, and both names are files bsnes, Mesen-S and ares read from the
same system directory, so no pack could give the higan cores a Super
Game Boy. SGB.sfc/ collides with SuperSnes9x's sgb.sfc on a
case-insensitive file system. Super GameBoy.sfc/ collides with nothing.
2026-11-05 11:50:27 +01:00
Abdessamad Derraz d7d6f3e412 fix: one hash mismatch rule for diff and export
diff_truth read sha1, md5 and crc32 and let one shared value settle the
entry, while export_native corrected each of the four fields on its own.
contradicted_hashes is now the single decision both read.
2026-11-05 11:50:09 +01:00
Abdessamad Derraz 92ee0cf118 fix: align freshness details in one column 2026-11-05 11:49:45 +01:00
Abdessamad Derraz 1718813728 fix: skip a platform without the --system asked
--all --system built every pack asked for and exited 1 on a platform
that has no such system. The scope is now decided before the lock:
skipped under --all, refused under --platform (finding 15).
2026-11-05 11:49:41 +01:00
Abdessamad Derraz 651b1404db fix: skip the core-info row when offline 2026-11-05 11:49:31 +01:00
Abdessamad Derraz 1a7389076d fix: file the xbox dashboard under the console
x1-box and hakuX both import the retail partition C tree. It sat in
hakuX's tree, so for x1-box the C/xbox.xtf tail was set aside as foreign
and the name step served Xenia's Xbox 360 dashboard font. xbox.xtf and
xboxdash.xbe now live in bios/Microsoft/Xbox/C/ and resolve by path for
both. msdash.xbe stays: its bytes are cxbx-reloaded's xboxdash.xbe, whose
path the RetroBat manifest names.
2026-11-05 11:49:27 +01:00
Abdessamad Derraz f195e714c4 fix: name a missing pack in the consistency step 2026-11-05 11:48:51 +01:00
Abdessamad Derraz 4d46587693 fix: name a Python built without ssl or zlib 2026-11-05 11:48:50 +01:00
Abdessamad Derraz f285c32d67 feat: validate every file of a folder 2026-11-05 11:48:31 +01:00
Abdessamad Derraz 7b6b22351a fix: show no digest for a file never read 2026-11-05 11:48:31 +01:00
Abdessamad Derraz 6876fe7ec3 docs: show the profile check CI runs 2026-11-05 11:47:48 +01:00
Abdessamad Derraz 7f31cf37cf fix: split only the systems the target runs
--split --target asked for a part per declared system, and each one
the target drops ended on a refusal naming it unknown (finding 14).
2026-11-05 11:47:37 +01:00
Abdessamad Derraz c7df790744 fix: one system scope for verify and the packs
A system the target leaves no core for was verified 0/0 with exit 0,
and generate_pack blamed the platform for lacking it. Both read
platform_scope_systems and system_scope_error now (findings 13, 14).
2026-11-05 11:47:03 +01:00
Abdessamad Derraz 43711a2507 feat: name --from-pack in the pack README 2026-11-05 11:46:46 +01:00
Abdessamad Derraz f78da21656 fix: say why the games index did not download 2026-11-05 11:46:40 +01:00
Abdessamad Derraz 0c92fb6705 fix: suggest the closest data directory key 2026-11-05 11:46:30 +01:00
Abdessamad Derraz cfc2515909 fix: check the zipped_file member before composite
A one-member archive whose member carries the zipped_file md5 under
another name has that md5 as its composite. The name step returned it as
md5_composite_exact, which slots and the site take as content proof, while
Batocera looks the member up by name and finds nothing.
2026-11-05 11:45:58 +01:00
Abdessamad Derraz b79e551b88 fix: keep scratch paths out of pack probe records 2026-11-05 11:45:55 +01:00
Abdessamad Derraz 0c384e0446 fix: say when retroarch.cfg cannot be read 2026-11-05 11:45:53 +01:00
Abdessamad Derraz 0b8e4b4767 fix: build the site before the CI test suite 2026-11-05 11:45:49 +01:00
Abdessamad Derraz ecb56c43e5 fix: link every platform's launcher citations 2026-11-05 11:45:24 +01:00
Abdessamad Derraz f69bd7cbd5 fix: read the database size of a declared hash
A platform declaration that names only an md5 left the size check
undecided, and an undecided same-named match overrode a profile's
system:. The size the database holds for that md5 now refutes it: clk's
Oric basic10.rom no longer joins Batocera's BK list.
2026-11-05 11:44:40 +01:00
Abdessamad Derraz 9ae0ede21d fix: check --target before the output lock
A mistyped target waited on the dist lock and the data directory refresh
before it was refused (finding 62).
2026-11-05 11:44:22 +01:00
Abdessamad Derraz ba150de469 fix: name RomM's size rule in every check label 2026-11-05 11:43:55 +01:00
Abdessamad Derraz a434c1a8a0 fix: add a retropie file to its own system's list
Only the first BIOS clause of a help string was read, so naomi2.zip and
segasp.zip went into flycast's Dreamcast sentence. A file now joins the
clause whose names the platform files under its system, or is not added.
2026-11-05 11:43:54 +01:00
Abdessamad Derraz 8ef4eb47fc fix: refuse a target --verify-packs cannot honour
An unknown target, or one the platform does not publish, was dropped and
the full pack verified under it with rc 0 (finding 34).
2026-11-05 11:43:53 +01:00
Abdessamad Derraz 2a243985c0 fix: rename extracted BIOS files into place 2026-11-05 11:43:03 +01:00
Abdessamad Derraz 609710e2d7 fix: say a platform has no hardware targets
The error named platforms/targets/<name>.yml, which read as a file
missing from the repository (finding 63).
2026-11-05 11:42:46 +01:00
Abdessamad Derraz 08cf4dd914 fix: skip other casings in a foreign tree
reminiscence's Flashback module reunion resolved to skyline's
zoneinfo/Indian/Reunion through the case-insensitive name step, and the
emulator pack shipped the time-zone file. Another casing found only in
another emulator's tree says nothing about the entry.
2026-11-05 11:42:29 +01:00
Abdessamad Derraz 34293f7bbb fix: give each download.sh run its own staging 2026-11-05 11:41:48 +01:00
Abdessamad Derraz f3fe6f58b4 fix: name the path of a file read at two places
MyMinUI printed the same MISSING line twice for Bios/FBN/ and Bios/NG/
sfiii2a.zip (finding 78).
2026-11-05 11:41:46 +01:00
Abdessamad Derraz e54d146954 fix: keep install lists unfiltered on --target 2026-11-05 11:41:34 +01:00
Abdessamad Derraz 4e5b48ddbe fix: keep the md5 a mister entry already holds
A BiosDB entry is one record: md5, size and url describe one dump. The
first md5 the truth accepts replaced an accepted one with no change
reported. The exporter now writes record_hash, as RomM and System.dat do.
2026-11-05 11:41:18 +01:00
Abdessamad Derraz 666883ad53 fix: print missing core files under their count
They came after the held-but-not-packed line and read as files
installed with their emulator (finding 79).
2026-11-05 11:41:02 +01:00
Abdessamad Derraz df5de91b37 fix: clean download.sh staging on a failed part 2026-11-05 11:41:00 +01:00
Abdessamad Derraz 34319a56e2 chore: test the bundled rule on the collection 2026-11-05 11:40:56 +01:00
Abdessamad Derraz 0418df5337 fix: truth region is the union of every reader
The first core to tag a file set its region. The pack's region index takes
the union of the tags and voids it on an untagged reader: the truth now
applies the same rule (psxonpsp660.bin, epr-17952a.ic8).
2026-11-05 11:40:41 +01:00
Abdessamad Derraz 5e4becf876 fix: count each reason a held file is not packed
The first entry's reason stood for the whole count: 16 Lakka files
under one cause that 2 of them carried (findings 23 and 76).
2026-11-05 11:40:40 +01:00
Abdessamad Derraz 28a8eec1c4 fix: skip scratch downloads in the restore scan 2026-11-05 11:40:17 +01:00
Abdessamad Derraz 6e77da4b82 fix: write every platform count in the summary
A platform with one entry had no number, so the named counts did not
add up to the total (finding 81).
2026-11-05 11:39:25 +01:00
Abdessamad Derraz d38cd58036 feat: scrape recalbox rom folders per board
GitLab refused the hundred raw reads per IP. A GitLab directory is now
read from one archive request, else a shallow sparse git fetch, and the
cache keeps its file list so offline runs know what is absent.

Each board builds system.ini against its defconfig: a core whose package
the board does not enable is dropped (pisnes was the SNES default
everywhere), and a system with no core is not built. The row names the
default most boards share, board_defaults the others. A files: list
names whole files and is carried as files through the index and the
installer.

A folder no name resolves, run by a core of several machines, now holds
those machines: thomson, multivision and pcv2 had no fallback, so their
games got no file. Arcade-indexed cores keep naming files per set.
2026-11-04 16:48:34 +01:00
Abdessamad Derraz a05fc599d9 fix: read recalbox board sections as romfs does
board_cores walked only the plain [core.N] sections and replaced a board
section whole. romfs2 systemholder.py reads a slot present as
[core.N.<board>] alone (gb and gbc bsnes on x86_64) and each key from the
board section, then <key>.<board>, then the plain key. The committed
target lists are unchanged on all seven boards.
2026-11-04 16:48:34 +01:00
Abdessamad Derraz 9d3458d47a chore: merge generated page refresh 2026-11-04 05:54:14 +01:00
Abdessamad Derraz 33add072cb chore: merge installer page refresh 2026-11-04 05:52:02 +01:00
Abdessamad Derraz fa9fbbed9e fix: a cited module may be a package
python -m runs a package by its __main__.py: scripts.scraper.romfolders is one.
2026-11-04 05:51:40 +01:00
Abdessamad Derraz 8848f3e6f6 chore: merge tools page refresh 2026-11-04 05:49:49 +01:00
Abdessamad Derraz 058bb13884 docs: list pipeline step 4e
The games index step came in with main. The installer samples test now reads step 7 in the list form the pipeline steps test holds.
2026-11-04 05:45:29 +01:00
Abdessamad Derraz 0bd206da4d chore: merge main into Sony pages 2026-11-04 05:11:58 +01:00
Abdessamad Derraz 1077d77125 fix: reset console pages in the index tests
A Sony fixture split by console recorded its pages in the shared map, and the index tests that ran after it linked PlayStation to the split page. They now start from an empty map, and the fixture clears it when done.
2026-11-04 04:47:01 +01:00
Abdessamad Derraz 36788a3cac fix: hold the site tests to Sony console pages
Tests that built a maker's page with sections used Sony, which now gives each console a page: they use Sega, which keeps its sections. A Sony fixture split by console leaked its recorded pages into the index tests that followed. Built-page checks read the cards on the console pages and the opening lines on the Sony summary.
2026-11-04 04:21:26 +01:00