Commit Graph
3925 Commits
Author SHA1 Message Date
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 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 d955e86a5b docs: list the games index test modules 2026-11-03 17:56:16 +01:00
Abdessamad Derraz c2ad67e4fa feat: publish the games index with install lists 2026-11-03 17:45:03 +01:00
Abdessamad Derraz eaf0fbdd19 chore: merge main 2026-11-03 17:37:46 +01:00
Abdessamad Derraz 1aa36258b2 feat: scrape the rom folders of each setup 2026-11-03 17:37:33 +01:00
Abdessamad Derraz 87354043c9 fix: tests follow joined sgb ids and ps3 search
nintendo-sgb and nintendo-super-game-boy are one id now, so the flat
declared-set test uses two ids no alias joins. The search weighs "3" as
nothing: "playstation 3 bios" is held to the top three results.
2026-11-03 17:36:00 +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 8844b30fb2 fix: read the folder tail on a crowded screen 2026-11-03 15:32:42 +01:00
Abdessamad Derraz 7b8b191a0c fix: read a wrapped folder without line breaks 2026-11-03 15:29:02 +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 081a1c24e5 chore: merge accepted cores and one tick list 2026-11-03 15:07:55 +01:00
Abdessamad Derraz 5175c53b3e chore: a failure is named once in line mode 2026-11-03 15:04:58 +01:00
Abdessamad Derraz 1cc12d8e2a docs: which-pack names the folder in fewer words 2026-11-03 14:56:45 +01:00
Abdessamad Derraz 5cb4db61d8 chore: advance fbneo to da14132
libretro/FBNeo 32958a8 to da14132, upstream 697e385 to c110542, through
profile_sync --rebase-refs then --bump-commit. core_version v1.0.0.03
read again from src/burn/version.h: unchanged.

BIOS entries between the two pins: d_cps3.cpp adds the sfiii2a driver
(SF3 2nd Impact, Asia 970930) with its own SH-2 BIOS,
sfiii2_asia.29f400.u2 (crc32 4518d589), filed like the other CPS-3
chips. The 19 CPS-3 refs after it move by 15 lines. d_neogeo.cpp,
d_pgm.cpp, d_spectrum.cpp, d_nes.cpp, d_ngp.cpp and d_snes.cpp change
game sets only, no BIOS set.

locate_archive now tries system/fbneo/romdata/ first while a RomData
file starts. The notes list it, and drop rom_path.opt, which no file of
src/burner/libretro reads.
2026-11-03 14:48:56 +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 27bd4f1a50 fix: one failure line per file, tests stay local 2026-11-03 14:31:49 +01:00
Abdessamad Derraz 2478c2a96c fix: tick lists wrap, tests follow the new keys 2026-11-03 14:24:51 +01:00
Abdessamad Derraz 485df3714a chore: merge main 2026-11-03 14:21:22 +01:00
Abdessamad Derraz d8ee7439f5 chore: tests follow the tick lists and found cards 2026-11-03 14:21:22 +01:00
Abdessamad Derraz 48fa8abf44 chore: audit 24 and 17 cases, host kept out 2026-11-03 10:45:18 +01:00
Abdessamad Derraz bb634661d5 chore: advance beetle_saturn to 30f4c12
The pin moves past the merged Video CD card PR (libretro/beetle-saturn-libretro#99). The core now reads the Video CD player out of mpeg_card.bin with command 0xE2, so the entry and the notes no longer say the image is never read. Refs rebased, core_version still v1.32.1 at libretro.c:58. source-paths.json gains the new pin and the Kenji-NX pin that was missing.
2026-11-03 10:41:16 +01:00
Abdessamad Derraz 6454de8772 docs: check and copy samples printed by install.py 2026-11-03 10:22:59 +01:00
Abdessamad Derraz 3d96f968e1 chore: merge main 2026-11-03 10:19:54 +01:00
Abdessamad Derraz 28d91e2eea fix: settle test taps past float rounding 2026-11-03 10:16:09 +01:00
Abdessamad Derraz c186b168bc docs: which-pack names the folder question 2026-11-03 10:14:09 +01:00
Abdessamad Derraz c7f4484151 fix: armed taps and offline list named by setup 2026-11-03 10:13:37 +01:00
Abdessamad Derraz 2ca8491f0a fix: rerun reads, backups and failed lines 2026-11-03 10:13:24 +01:00
Abdessamad Derraz 12a3dc34ab fix: cores, tick lists and cards as the run reads
Work in progress of code_audit_24 and tui_audit_17: the Cores screen
chooses among the cores the run accepts (set_aside event), one rule
for the three tick lists, the dest error said on the result, ArkOS
cards found by their games part.
2026-11-03 10:11:37 +01:00
Abdessamad Derraz e9ef630b3a docs: regenerate the installer page samples 2026-10-28 17:23:34 +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
Abdessamad Derraz 7e7befd7a3 fix: one box height per diagram row 2026-10-28 16:59:25 +01:00
Abdessamad Derraz ea214d9c01 fix: every core ticked while none narrows the run
Cores drew every box empty when no core narrows the run, read as nothing
chosen. Every core is now drawn ticked, an untick keeps the others, All
and None work as on Choose systems, and the plan, Options and line mode
say all cores or N of M cores. A run with failures counts once, the
failed files said as failed.
2026-10-28 16:51:14 +01:00
Abdessamad Derraz a4faf536dd fix: a games part is its system's card
Closes every finding of code_audit_23 and tui_audit_16: AmberELEC and
EmuELEC cards found as theirs, ArkOS cards told by bgmusic or
launchimages, counts that agree and read a copy of the right size before
calling it in place, one terminal width, line mode in the screen's order
and words, a tap shown armed, and which-pack naming the first screen.
2026-10-28 16:34:55 +01:00
Abdessamad Derraz 93e66a7c5d chore: merge generated installer page samples 2026-10-28 16:28:19 +01:00
Abdessamad Derraz c1a02ef24f fix: print installer page samples from install.py
The dry run, the Batocera walkthrough and the narrowing line of
wiki/installer.md were typed by hand and went stale with each list.
generate_installer_doc.py now runs install.py against the committed
lists in a sandbox, dated by each list, and the pipeline runs it at
step 7.
2026-10-28 16:22:04 +01:00
Abdessamad Derraz 27b945ba4c chore: merge proven cards and one vocabulary 2026-10-28 15:01:11 +01:00
Abdessamad Derraz e20e06e29d fix: which-pack order reads the screen's words 2026-10-28 15:00:34 +01:00
Abdessamad Derraz 297a57837f fix: pages say what the installer shows
The site, the README and the wiki take the screen's row names and the
--check pass line from install.py, and the wiki's line menu example is
written by generate_installer_doc from the function line mode runs.
which-pack describes the full screen the one-liner opens instead of a line
menu typed by hand. The systems question lays out in 80 columns under
Python 3.8, whose pty reports no width, and a test no longer reads the
host's drives.
2026-10-28 15:00:21 +01:00
Abdessamad Derraz 9314edb0be fix: one vocabulary and one count in both modes
Line mode says the screen's words for the files in place, missing or to
replace, counts the data files in its last line, names what the --from
folders hold before Enter, says Copying and the result's count once, and ends
every result with the same-choice command. Each data tree is hashed once per
run. A wrapped command reads one rule for PowerShell, a pack path keeps its
file name, folder lines keep one indent, and the systems question fits its
terminal. On the screen a tap on the focused Install row arms it, the Game
data row keeps the focus, a choice in place opens on Choose systems, a pack
holding none of the files offers no Install, and the 40x12 plan keeps its
version note.
2026-10-28 14:02:46 +01:00
Abdessamad Derraz 9911321227 fix: a card is told by what its system writes
A drive is a handheld's games part only when it holds the folders ArkOS,
AmberELEC or EmuELEC write there, and never a disk Windows or Linux calls
fixed. A data drive or a stick with a bios folder is listed with a note,
never taken under Enter. Two cards are named in the plural, and the
settle of a new screen runs from when it is drawn.
2026-10-28 13:28:01 +01:00
Abdessamad Derraz 9dd770f4bf fix: retry a bad data download, keep the site step
The buildbot answered once with something that was not ScummVM.zip. refresh_data_dirs gave up at once, Generate the site was skipped, and 228 site tests failed in its place. A failed or unreadable download is now tried three times, with waits of 5 and 20 s, and an empty archive still fails at once. The site step runs after a failed fetch, which stays red on its own step.
2026-10-28 12:33:23 +01:00
Abdessamad Derraz 647952b210 chore: merge settled taps and found cards 2026-10-28 12:32:49 +01:00