Commit Graph
49 Commits
Author SHA1 Message Date
Abdessamad Derraz 5b083c45b5 feat: export md5 lists the pinned checker reads
The script exporters (Batocera, ROCKNIX, KNULLI, AmberELEC, EmuELEC)
read the checker of the pinned original: when checkBios hands an
item's md5 to a function that tests it with isinstance(..., list),
as md5Matches does since batocera.linux 6b08b873, an entry whose
emulator code accepts several dumps is written with all of them, and
an addition that needed several becomes writable. Items with altmd5
keep a string, since checkBios wraps them in a list of its own.

No cached original reads lists today, so every export is unchanged.
The report records a list as a list, counts the lists written, and
records a list the truth extends without contradicting it.
2026-10-23 08:06:58 +02:00
Abdessamad Derraz 5ec1208a83 fix: write romm keys with a bare file name
RomM lists the platform firmware folder without recursing and looks each file up as slug:file_name (models/firmware.py, base_handler.list_files at 5.4.0). An addition named with a directory (fuse/48.rom) is not written.
2026-10-21 09:51:32 +02:00
Abdessamad Derraz 4205bc2233 fix: count one retrobat addition per path
The render writes one biosFiles item per path, as checkBios reads one md5 per item. A second addition at a held path was dropped from the file and still counted added (78 announced, 75 written).
2026-10-21 09:50:46 +02:00
Abdessamad Derraz 4a6b654bdc fix: keep a romm entry whole without a size
RomM compares file_size_bytes with the entry's size before any hash. A
new hash the truth gives no size for went out beside the old size and
was reported as a size removal. The entry now stays as written and the
correction is withheld and named.
2026-10-21 05:13:46 +02:00
Abdessamad Derraz 6d38e597db fix: keep a RetroPie list's comma before its and
quasi88 writes its list "N88KNJ2.ROM, and N88SUB.ROM". Extended with
N88EXT0.ROM, which QUASI88kai reads, it came back as "N88SUB.ROM and
N88EXT0.ROM": every list was rewritten in one idiom. A list that puts a
comma before its final and keeps it.
2026-10-20 22:38:32 +02:00
Abdessamad Derraz cbe769e74c fix: read all RetroPie helps, propose only its own
Eight scriptmodules write "bios" in lower case (xm7, np2pi, quasi88,
minivmac, px68k...) and none was examined. A module reported "left as
is" for a name no profile documents was written all the same: the skip
had no continue. The cap of six names came from that case-sensitive
reading, where xm7 writes thirteen: a sentence now grows no longer than
the longest RetroPie writes. lr- was stripped whatever the build, so the
standalone minivmac package matched the libretro profile, which reads
another file. A file of a system RetroPie lacks is proposed to no
package: lr-geargrafx adds pcengine only (lr-geargrafx.sh:41-42) and
was given the LaserActive's pac-n1.bin and pac-n10.bin.
2026-10-20 18:12:56 +02:00
Abdessamad Derraz a5d7a6572d fix: ask for no file the emulator installs
The pack leaves out what an emulator installs itself
(validation.deliverable); the truth did not. RetroPie's gngeopi help
asked users to copy gngeo_data.zip, which make install puts in the
package's data directory, and amiberry's whdboot tree, scummvm's extra
data and dosbox-x's FREECG98.BMP went into platform lists as files to
bring.

The truth applies deliverable per platform and per build: an entry
nobody has to bring is kept and marked bundled, never added, still
corrected where the platform declares it. A rebuilt archive is
installed only when every member is. The runner written beside an
addition is the build that needs the file (_brought_by), and the
RetroPie sentence names only what its package's core must be given.
2026-10-20 17:39:21 +02:00
Abdessamad Derraz f957b5f893 fix: open no System.dat section libretro lacks
libretro titles each section with the system as it spells it,
"Commodore - Amiga". An addition for a system it has no section for
opened one under our slug: 21 sections came out as commodore-c64,
quake, laseractive or xrick, which no libretro DAT carries. An addition
now lands only in a section the original holds and is otherwise counted
as left out, so the export keeps the original's 66 sections. A platform
entry is always written, under its own section.
2026-10-20 17:21:16 +02:00
Abdessamad Derraz de66807bf3 fix: test that a removed size is reported
Locks the counter added for neocdz.zip: the platform's size with no truth size is a removal the summary names.
2026-10-20 01:25:36 +02:00
Abdessamad Derraz 19a7128ec6 fix: compare md5 when keeping Recalbox text
The attribute pattern took letters only, so md5 never entered the comparison and an element whose digest the truth corrects kept Recalbox's text. A test written before the change caught it. The RetroDECK fixture now names the core that reads its addition, as the placement rule requires.
2026-10-20 01:25:25 +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 66caa0e363 fix: read batocera entries as literals
A comment after an entry swallowed the closing brace, so gba was rewritten with its emulator gate lost. The entry is now read with literal_eval, which also stops executing the platform's text.
2026-10-18 20:37:38 +02:00
Abdessamad Derraz eac2eaec83 fix: count only the hash changes an export writes
RomM kept hashes the truth contradicts beside the corrected one, RetroDECK kept a cleared md5, Recalbox counted changes on an element it writes back whole, and two record formats counted fills no record could hold.
2026-10-18 20:36:47 +02:00
Abdessamad Derraz 213d19ed27 fix: refuse an unparseable platform original 2026-10-18 14:57:28 +02:00
Abdessamad Derraz 090369cb20 fix: refuse a truth file older than the profiles 2026-10-18 14:33:26 +02:00
Abdessamad Derraz 76d3c987d4 fix: name the corrections an export withholds 2026-10-18 14:32:30 +02:00
Abdessamad Derraz 2173db889b fix: count values the RomM export normalises 2026-10-18 14:31:52 +02:00
Abdessamad Derraz 070e90eb64 fix: count an appended RetroDECK revision apart 2026-10-18 14:31:03 +02:00
Abdessamad Derraz c254115647 fix: keep a MiSTer record whole without an md5 2026-10-18 14:30:16 +02:00
Abdessamad Derraz 6458a927d4 fix: refuse multi-md5 additions in RetroBat 2026-10-18 14:29:46 +02:00
Abdessamad Derraz 1e2f4e810b fix: never extend a RetroPie list of examples 2026-10-18 14:29:06 +02:00
Abdessamad Derraz 0754d3b64f fix: name each exported addition's core
Batocera, ROCKNIX and Recalbox find a file through the core that wants
it. Additions now carry that core under the platform's own name: the
emulator/core pair checkBios reads (ROCKNIX's from its emulators
package), or Recalbox's core attribute. One with no nameable core, or
filed in a system gated on another core, is counted as not stated.
2026-10-17 19:34:30 +02:00
Abdessamad Derraz ec4a06e872 fix: name a System.dat addition by its path 2026-10-17 11:54:05 +02:00
Abdessamad Derraz c6cac0ad1b fix: read exportable through the exporter instance 2026-10-16 15:57:43 +02:00
Abdessamad Derraz 3719de71b1 fix: run the export count tests under main 2026-10-16 15:48:55 +02:00
Abdessamad Derraz cedf6ccbdd fix: count size and cleared hash changes 2026-10-16 15:48:33 +02:00
Abdessamad Derraz 5c75e7b971 fix: test retrobat through the shared md5 rule 2026-10-16 15:46:15 +02:00
Abdessamad Derraz ff5e5145fd fix: keep recalbox and libretro entries on export 2026-10-16 05:20:09 +02:00
Abdessamad Derraz 06ca898838 fix: keep retrobat entries the export does not model 2026-10-16 05:16:07 +02:00
Abdessamad Derraz 8380f63f97 fix: write one romm entry per key 2026-10-10 12:11:16 +02:00
Abdessamad Derraz b00352754c fix: keep retropie's list idiom when extending 2026-10-10 11:16:21 +02:00
Abdessamad Derraz b5f9095633 fix: write retrodeck additions beside homonyms 2026-10-10 10:57:57 +02:00
Abdessamad Derraz 8fb65b8e97 fix: exporters keep what the maintainer wrote 2026-10-09 22:45:57 +02:00
Abdessamad Derraz cb5ce96103 fix: quote system.dat names as the original does 2026-10-06 12:16:23 +02:00
Abdessamad Derraz e787fcee8e fix: leave bizhawk's declared sha1 to bizhawk 2026-10-06 12:15:50 +02:00
Abdessamad Derraz ecdfbdf64f fix: never pair files whose contents or dirs differ 2026-10-06 12:15:40 +02:00
Abdessamad Derraz 500535b7a6 fix: state no size for several accepted sizes 2026-10-06 12:04:24 +02:00
Abdessamad Derraz f3d01aeeeb refactor: split this round's fixes into small helpers 2026-10-06 11:16:06 +02:00
Abdessamad Derraz a848730a80 fix: count mister corrections only where it writes 2026-10-06 09:41:53 +02:00
Abdessamad Derraz aac09aa6ad fix: count bizhawk corrections only where it writes 2026-10-06 09:41:28 +02:00
Abdessamad Derraz d085fd895b fix: write emudeck corrections, count only what lands 2026-10-06 09:41:04 +02:00
Abdessamad Derraz e4616f7098 fix: never let a romm addition replace their entry 2026-10-06 09:40:09 +02:00
Abdessamad Derraz c9689ebad7 fix: keep platform hashes the truth does not contradict 2026-10-06 09:39:07 +02:00
Abdessamad Derraz 226a5df74a refactor: hoist test imports, rank pairs at module level 2026-10-06 06:38:35 +02:00
Abdessamad Derraz 64516f2bdc fix: propose retropie names per core, never into or-lists 2026-10-06 05:01:10 +02:00
Abdessamad Derraz 0e7ed498e3 fix: keep recalbox notes its own 2026-10-06 05:00:36 +02:00
Abdessamad Derraz 9a8c60e12e fix: correct one retrodeck revision, not all of them 2026-10-06 05:00:24 +02:00
Abdessamad Derraz 683ba4ef62 fix: export one file's identity, never two mixed 2026-10-06 05:00:02 +02:00
Abdessamad Derraz 95d10ee812 fix: count what each export format writes 2026-10-06 01:22:56 +02:00