Commit Graph
1905 Commits
Author SHA1 Message Date
Abdessamad Derraz 4efd64be70 feat: publish a Logiqx DAT per setup 2026-11-05 12:13:47 +01:00
Abdessamad Derraz 398246b064 feat: link the change reports and the wanted CSV 2026-11-05 12:11:12 +01:00
Abdessamad Derraz ef477036d6 docs: say the lookup takes a checksum tool's line 2026-11-05 12:10:07 +01:00
Abdessamad Derraz 9c17943996 feat: read the hash out of a checksum tool's line 2026-11-05 12:09:55 +01:00
Abdessamad Derraz ea2e0b10c4 fix: find an archive by the ROM a list pins in it 2026-11-05 12:08:26 +01:00
Abdessamad Derraz 7fea45fc54 fix: look data directory files up by every hash 2026-11-05 12:01:53 +01:00
Abdessamad Derraz 3a306d0970 feat: link each missing file to its platform entry 2026-11-05 12:00:45 +01:00
Abdessamad Derraz fbad34adbd fix: badge only the platforms that read a file 2026-11-05 11:59:32 +01:00
Abdessamad Derraz 5e9c2c87b6 fix: link prose citations of two-repo profiles 2026-11-05 11:57:58 +01:00
Abdessamad Derraz 8dcf531625 fix: report pinned trees the source record lacks 2026-11-05 11:57:01 +01:00
Abdessamad Derraz 8d0ba26a0f docs: show --required-only in the README 2026-11-05 11:53:11 +01:00
Abdessamad Derraz 442d49e4e1 chore: drop the scheduled campaign job 2026-11-05 11:50:35 +01:00
Abdessamad Derraz 6876fe7ec3 docs: show the profile check CI runs 2026-11-05 11:47:48 +01:00
Abdessamad Derraz 43711a2507 feat: name --from-pack in the pack README 2026-11-05 11:46:46 +01:00
Abdessamad Derraz ecb56c43e5 fix: link every platform's launcher citations 2026-11-05 11:45:24 +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 e54d146954 fix: keep install lists unfiltered on --target 2026-11-05 11:41:34 +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 8848f3e6f6 chore: merge tools page refresh 2026-11-04 05:49:49 +01:00
Abdessamad Derraz 0bd206da4d chore: merge main into Sony pages 2026-11-04 05:11:58 +01:00
Abdessamad Derraz 531edaa1ad feat: give every Sony console its own page
A section shares its page's search fields, and "playstation 3 bios" found the PlayStation page before the Sony page that held the PS3. CONSOLE_PAGES splits Sony by console whatever the size. The search gate now expects the PlayStation 3 page in the top two for that query, the order of words being something Pagefind does not weigh, and the page first for "ps3 bios".
2026-11-04 03:55:07 +01:00
Abdessamad Derraz fd7dd0efe5 fix: games tools write whole files, name options
The games importers wrote through fixed .part names, the new options had
no help text, and romfolders stopped on the first setup the offline cache
lacked. RetroArch's rom folder map is regenerated from its source spec
(path null, as the schema says). The installer's Python 3.8 job imports
the games tests without pyyaml, so the region rules load lazily.
2026-11-03 22:46:17 +01:00
Abdessamad Derraz af2e930d32 chore: merge games on card installer mode 2026-11-03 21:06:04 +01:00
Abdessamad Derraz 8ba0a8c3f6 chore: merge main 2026-11-03 19:12:38 +01:00
Abdessamad Derraz 2e9175a8e9 feat: install for the games on the card
--for-games reads the card's rom folders through install/games/ and keeps
what the games need: per system what its default core reads, one region
where the content proves it (crc32 and size, a disc serial, a header the
core reads), an arcade set's BIOS parents. A game not recognised gets
every BIOS of its system and is named. --required-only keeps only what
starts. The plan and the line menu open on it when the card holds games,
everything one press away. A cache keeps what reading a card found.
2026-11-03 18:51:21 +01:00
Abdessamad Derraz ff1f94e473 feat: read 0.78 era arcade parents from code
mame2000, mame2003 and mame2003-plus carry a DAT their code moved past. Their parents and BIOS sets now come from src/driver.c and src/drivers/ at the pin, named by the src tree sha. The DAT is still read to report gaps. FBNeo DATs are read one namespace each, console sets keyed by driver. A BIOS with no dumped ROM is no longer listed.
2026-11-03 18:46:45 +01:00
Abdessamad Derraz b69b33178b feat: publish board sets and sets with no bios
The games index now names, per arcade core, the game sets that load no
BIOS set and every BIOS set, so a set on a card the DAT does not know is
told apart from one that needs nothing. Each board default core of a rom
folder gets its own fallback set, and index.json maps every folder name
a setup uses to its systems, for a games folder on a computer.
2026-11-03 18:17:03 +01:00
Abdessamad Derraz 1271b338f4 fix: keep listxml machines larger than a read 2026-11-03 18:07:08 +01:00
Abdessamad Derraz c2ad67e4fa feat: publish the games index with install lists 2026-11-03 17:45:03 +01:00
Abdessamad Derraz 1aa36258b2 feat: scrape the rom folders of each setup 2026-11-03 17:37:33 +01:00
Abdessamad Derraz 249b189ec9 feat: index arcade sets by bios parent 2026-11-03 16:36:26 +01:00
Abdessamad Derraz dc337c893c feat: add region and per-game file rules 2026-11-03 16:36:26 +01:00
Abdessamad Derraz 8d8689c2e4 feat: import game catalogs and header rules 2026-11-03 16:36:22 +01:00
Abdessamad Derraz 0939cf4d77 fix: cut emulator parts by the words rows show
MAME's first card part showed 1,931 words against the 1,693 ceiling once
888 entries named their system: each row gained a "for <system>" badge
while parts were cut by card count. Parts are now cut by the words each
row shows with its card closed, balanced, at most 1,350 a part and still
at most 180 entries. MAME goes from 9 parts to 10, no part disappears.
2026-11-03 15:58:03 +01:00
Abdessamad Derraz c90c43fd46 chore: merge redump, mame and fbneo data fixes 2026-11-03 15:35:29 +01:00
Abdessamad Derraz a0c560479b fix: join platform system names to profiles
The rom folder survey joined 463 folders to their default core's whole
profile, no system of it matching. SYSTEM_ALIASES, the one table
_norm_system_id reads, now folds ten more spellings of one machine:
apple2gs, astrocade, astrocde, creativision, gamepocketcomputer,
nintendo-super-game-boy, cps1, cps2, cps3 and pgm. The profiles that
used them take the canonical id (mame, groovymame, mamemess, mame0258,
mame0278, bsnes, mesen-s, mesence, jollycv, fbalpha2012 and its three
CPS cores, fbneo_cps12), as test_system_ids requires.

With bsnes and bsnes-hd now filing SGB1.sfc under one system, their
claims fold onto one report entry. _names_content read only the first
claim, hashless, and nSide's SGB1.sfc/ tree took the path before the
file. A hash on any folded claim now counts: every pack keeps the
destinations it had.

The site drops the eight display names the canonical ids replace and
names tvgames. README counts 533 systems instead of 541.
2026-11-03 15:23:30 +01:00
Abdessamad Derraz ae8aae8469 fix: file mame sets under their systems
934 of the 1,563 mame.yml entries named no system and so served every
system of the profile: each MAME-run system's set was the whole profile.

The 65 BIOS root sets written by hand take the system groovymame.yml
gives the same 0.289 archive (sega-systemsp, konami-gx, taito-gnet and
41 more ids, added to systems:). The 19 XaviX sets take tvgames, the
directory MAME keeps xavix.cpp in. They seed the device walk.

mame_hash_scraper --devices files a device set under arcade when a
machine no entry places loads it: MAME starts such a machine from its
set name, as an arcade folder passes it. 1,106 of the 1,254 device sets
now carry arcade, alone or beside the systems of their placed machines.
qsound, ym2413 and ym2608, written by hand, take the same answer.

Left without a system: 41 device sets no machine of the listxml
instantiates (a software list slot selects them), and the hash/,
plugins/ and floppy/ trees every machine reads.
2026-11-03 15:23:03 +01:00
Abdessamad Derraz 1cc12d8e2a docs: which-pack names the folder in fewer words 2026-11-03 14:56:45 +01:00
Abdessamad Derraz aa0158c65a fix: read redump bios dats from /bios/<code>
redump.info moved its BIOS DAT links from /static/bios/<name>.dat to one
route per system (/bios/PSX, /bios/PS2, /bios/GC, /bios/XBOX), served as
an attachment. The scraper matched only the old shape and found nothing.
Both shapes are read now.

Refreshed snapshot: the PS2 DAT moved from 2026-06-16 to 2026-10-10,
191 entries become 225 (34 mechacon, DVD and font ROMs added, the
ps2-dvd-302c.bin sha1 corrected, five descriptions completed). Only
the provenance fields of database.json change.
2026-11-03 14:37:09 +01:00
Abdessamad Derraz 6454de8772 docs: check and copy samples printed by install.py 2026-11-03 10:22:59 +01:00
Abdessamad Derraz 50f9dd7f5f fix: pr checklist generates the site first
validate.yml generates the pages before the suite, and the site tests fail on a clone without them.
2026-11-03 10:17:09 +01:00
Abdessamad Derraz cfe9edb3a1 fix: gaps and cores pages count from the data
The gaps page said the exporter regenerates each platform's file, which it patches, and opened on 48 missing above a heading of 10 files. The provenance total sat above three lists that add up to more, and the cores page counted every profile as run by the platforms.
2026-11-03 10:17:09 +01:00
Abdessamad Derraz c186b168bc docs: which-pack names the folder question 2026-11-03 10:14:09 +01:00
Abdessamad Derraz 103417a343 fix: name website/ where docs/ was written 2026-11-03 10:12:40 +01:00
Abdessamad Derraz 1de4cb4516 fix: cleanup keeps the generated files of today 2026-11-03 10:12:40 +01:00
Abdessamad Derraz 57e0f306e8 chore: merge games parts and cores ticked
# Conflicts:
#	tests/test_doc_pages.py
2026-10-28 17:23:11 +01:00
Abdessamad Derraz 8e811582c1 fix: which-pack names the first screen in brief
The sentence fits the page's 400-word ceiling and its 20-word sentences.
A test reading the site generator skips under Python 3.8, as the others
do, and the core plan test names the cores --core gave.
2026-10-28 17:22:16 +01:00
Abdessamad Derraz a0c3247f11 feat: redraw the project logo from the site mark 2026-10-28 17:09:24 +01:00