Commit Graph
3787 Commits
Author SHA1 Message Date
Abdessamad Derraz 4d2b7ecb6b fix: put a platform's Tested block first
Placed after the meta card, the Tested heading ended the Reference section and the part-page links below it lost their level label.
2026-10-28 02:07:35 +01:00
Abdessamad Derraz d7fa441e1e chore: merge the oracle branch 2026-10-28 01:52:08 +01:00
Abdessamad Derraz f78aacac29 fix: hold pack_probe to the repository's checks
run_cli entry point, --platform through platform_arg with -p and the registry's suggestion, help on every option, typed probe_lock, options documented, the module in the testing guide. The platform Tested rows fold under one line, run output joined without semicolons, and the measurements page section fits its start-level budget.
2026-10-28 01:51:52 +01:00
Abdessamad Derraz f500c44c60 chore: record Saturn pack probes with the oracle 2026-10-28 00:54:51 +01:00
Abdessamad Derraz 882ce55635 fix: keep the Tested block in the house style
The details box takes a plain border instead of a side stripe, dots are rounded squares instead of pills, the strip's label joins variants with full stops, and one file tried reads as 1 file.
2026-10-28 00:11:56 +01:00
Abdessamad Derraz bcef6f41bb chore: apply tested fields to swanstation 2026-10-27 23:38:17 +01:00
Abdessamad Derraz f61a522d84 chore: apply tested fields to beetle_psx 2026-10-27 23:38:17 +01:00
Abdessamad Derraz 10bc19a402 chore: add the rejudged PlayStation measurements
Beetle PSX, Beetle PSX HW and SwanStation rerun under the oracle with the Japanese BIOS menu as an error screen: a Japanese BIOS under a US disc is now a BIOS error.
2026-10-27 23:38:17 +01:00
Abdessamad Derraz 83712af0ce chore: merge the oracle branch 2026-10-27 23:30:30 +01:00
Abdessamad Derraz 3ce6911a7a chore: merge main 2026-10-27 23:30:30 +01:00
Abdessamad Derraz 0a289a73c3 chore: record PlayStation probes with verdicts 2026-10-27 23:30:30 +01:00
Abdessamad Derraz f2d474d866 feat: add the PCSX2 missing BIOS dialog screen
PCSX2 standalone shows a dialog and runs nothing without a BIOS: record 2026-10-27-fac0b52c9475 of the regions branch, reviewed on its PNG.
2026-10-27 23:19:57 +01:00
Abdessamad Derraz 64af0a5d83 feat: let a reference name its variant
A reference taken from a check names the variant that ran the full set, and the test judges that variant's repetitions.
2026-10-27 23:08:30 +01:00
Abdessamad Derraz c639a1b3e5 feat: test the oracle against its own records
Every reference block's run, judged again with the oracle as committed, boots in each repetition. Beetle Saturn's three BIOS lines are BIOS errors, the Japanese menu screens are error screens, and the PlayStation cores carry no error pattern.
2026-10-27 23:01:10 +01:00
Abdessamad Derraz 44e0816235 chore: merge the inert Tested text 2026-10-27 22:58:36 +01:00
Abdessamad Derraz 905e3853df fix: render pack probe output as text
Run output on a platform's Tested block is escaped for HTML, MDX and Markdown. inline_html links only http(s) and relative targets, quotes escaped. Pack probe runs stay off the emulator pages, shown on the platform's.
2026-10-27 22:58:36 +01:00
Abdessamad Derraz dc53f50f67 fix: render run output in the Tested block as text
Every value a run produced (claim, method, statement, host, flags, variant labels, core, content and file names) is escaped with quotes and its braces made inert for MDX, never read as Markdown. A record link is written only for an http(s) or relative target. Reference runs fold with the tests from before the oracle.
2026-10-27 22:57:23 +01:00
Abdessamad Derraz a2d30046f2 feat: show platform probes in the Tested markup 2026-10-27 22:54:38 +01:00
Abdessamad Derraz d7e17491f0 chore: merge the per-run probe lock 2026-10-27 22:53:16 +01:00
Abdessamad Derraz f257e7015f chore: record pack probes of three platforms 2026-10-27 22:53:16 +01:00
Abdessamad Derraz e7de3e5084 feat: add the Japanese BIOS menu error screen
A US disc under the Japanese BIOS ends on the BIOS main menu on Beetle PSX and SwanStation: the BIOS refused the disc. Reviewed on its PNG.
2026-10-27 22:35:50 +01:00
Abdessamad Derraz 186a9ccef3 feat: add Beetle Saturn's BIOS error patterns
Three log lines after which retro_load_game fails, read from mednafen/ss/ss.c at 2ce77e20.
2026-10-27 22:30:27 +01:00
Abdessamad Derraz 086b3739d9 feat: add the region reference frames
Puzzle Bobble 2 (Japan) and Bust-A-Move 2 (Europe) on the PlayStation cores, and the three Saturn editions on Beetle Saturn, each frame reviewed on its PNG. Beetle Saturn's BIOS error lines, read from ss.c, are its error patterns.
2026-10-27 22:30:20 +01:00
Abdessamad Derraz ed61e42f3f fix: bind only proven Python trees in the sandbox
The interpreter bind took each link's grandparent, so ~/.local/bin/python3 exposed all of ~/.local inside the sandbox. A tree is now bound only when it is a Python prefix (lib/pythonX.Y) or a venv (pyvenv.cfg), never / or the home folder or above it. Every other link is bound as a single file, and a path inside a bound tree is not bound again, since bwrap cannot mount over a link in a read-only tree.
2026-10-27 22:09:12 +01:00
Abdessamad Derraz dd64434122 chore: merge main 2026-10-27 22:05:47 +01:00
Abdessamad Derraz e90fb85050 fix: bind the interpreter into the probe sandbox
The sandbox bound only /usr, /lib and /bin. On the CI runner setup-python puts Python under /opt/hostedtoolcache, so the worker could not start and every core_probe and campaign run crashed (7 tests, plus their replay without jsonschema). A venv, pyenv or uv do the same. The interpreter's prefix and every link on the way to it are now bound read-only, each at its own path. Reproduced with uv's Python 3.13 outside /usr, 92 tests pass under it and under the system Python.
2026-10-27 22:05:34 +01:00
Abdessamad Derraz 06ca83bdca fix: one short hash length across the site
Merging the card and platform branches left two SHORT_HASH definitions, 8 and 12. The later one silently won, so the platform rows showed 12 characters while their tests expected 8. One constant now, 12, the card anchor's length. The copy-button selector skips buttons that carry their own data-copy, and the tests follow the merged markup.
2026-10-27 22:02:41 +01:00
Abdessamad Derraz 3a5b95eb31 docs: name the terminals clicks were checked in 2026-10-27 22:00:23 +01:00
Abdessamad Derraz 917ab7c94b chore: merge platform file rows 2026-10-27 21:46:44 +01:00
Abdessamad Derraz 793b16cf67 chore: merge folded cards and one install command 2026-10-27 21:45:48 +01:00
Abdessamad Derraz e7d33caa3f feat: platform file rows that open full width
Each file is a details whose summary is the row: name, folder when it is not the bare name, status chip. The short hash sits on one copy button beside it, since a summary is itself a control. Opened, the evidence runs across the list. A list with no folder drops the column. Code spans in the evidence are plain text.

The lists split by the share of a page they render to (elements against 10,000, bytes against 600,000) instead of Markdown length. With its parts, Batocera goes from 12 pages, 18,854 elements and 1.21 MB to 10 pages, 13,671 and 1.11 MB. A part that folds back into its platform page redirects there, from the record in website/src/data/platform-parts.json.
2026-10-27 21:41:00 +01:00
Abdessamad Derraz 30fc471d23 chore: apply tested fields to swanstation 2026-10-27 21:27:27 +01:00
Abdessamad Derraz 2eb1f78f32 chore: apply tested fields to pcsx_rearmed 2026-10-27 21:27:27 +01:00
Abdessamad Derraz 87f8b477fb chore: apply tested fields to pcsx1 2026-10-27 21:27:27 +01:00
Abdessamad Derraz 037e9e33b4 chore: apply tested fields to beetle_psx 2026-10-27 21:27:27 +01:00
Abdessamad Derraz 4270b601bb chore: add the PlayStation oracle measurements
Reference runs, then the full set, no BIOS and negative variants of Bust-A-Move 2 (USA) on Beetle PSX, Beetle PSX HW, SwanStation, PCSX-ReARMed and PCSX1, each judged by the boot oracle.
2026-10-27 21:27:25 +01:00
Abdessamad Derraz cd92fe5b4d feat: let validation carry campaign evidence
The emulator schema allows evidence under validation, and a test holds the settled fields of the rule table to the schema's evidence keys.
2026-10-27 21:27:16 +01:00
Abdessamad Derraz e370970363 feat: write a finding again on new evidence
A finding line is written again when the records behind it change, so an open finding cites the oracle runs rather than a frame comparison. A contradicted validation shows the checks the runs prove, content and size, beside the profile's list.
2026-10-27 21:16:54 +01:00
Abdessamad Derraz 0e2e014a96 chore: merge the long list tables 2026-10-27 21:15:17 +01:00
Abdessamad Derraz 1409a8db6a feat: list long file pages as filtered tables
MAME's card pages, GroovyMAME and yaps2 read 13,000 to 16,700 words of
cards. Each entry is now a table row (name, members, status, short
hash) that opens to its card in a details block, with the site's filter
box and row counter. Pages from 150 entries and every split part use it.
Visible words: mame-files-1 16,680 to 1,612, groovymame 14,396 to 1,876.

A row costs about five elements, so a part holds 180 cards: MAME goes
from 8 parts to 9, the largest at 567 KB and 8,989 elements.

Each wanted list (TOSEC, No-Intro, Redump) opens on its counts, then one
table folded under a filter box that opens it, in place of a block per
DAT. Only the names are searched: indexed descriptions and hashes put
the PlayStation page ahead of the PlayStation 2 one.

A filtered row stayed visible on a phone: a stacked row's display:block
outweighed the hidden attribute on every stacked table.
2026-10-27 21:14:04 +01:00
Abdessamad Derraz 7433d49666 fix: tell core_probe the lock is held 2026-10-27 21:03:05 +01:00
Abdessamad Derraz 9327d3f97f docs: two campaign passes share one state 2026-10-27 21:02:20 +01:00
Abdessamad Derraz c63aa07fb8 fix: give the setup list the site's select arrow
The install box's select had a rule of its own that dropped the arrow
and read as a text field. It now takes the shared select rule and
--rb-select-arrow in both themes.
2026-10-27 21:02:19 +01:00
Abdessamad Derraz 5fd691a7db docs: say which lock a campaign pass keeps 2026-10-27 21:02:15 +01:00
Abdessamad Derraz fabd431adb feat: take the host probe lock per run
core_probe takes probe.lock itself around one execution, load check included, and releases it when the run ends. A campaign pass never holds it between runs, so two passes interleave. RETROBIOS_PROBE_LOCK names another file, RETROBIOS_PROBE_LOCK_HELD says the caller holds it. Tests use their own lock file.
2026-10-27 21:02:03 +01:00
Abdessamad Derraz d035a26828 fix: take the probe lock per run
pack_probe holds ~/.local/state/retrobios/probe.lock around each core_probe run and releases it between runs, so a platform pass never blocks other probes for its whole length.
2026-10-27 21:00:51 +01:00
Abdessamad Derraz a8340614b8 chore: merge origin/main 2026-10-27 20:57:27 +01:00
Abdessamad Derraz 13fc0b90db feat: gate pasted hashes in the site search
A pasted MD5, CRC32 or SHA256 of scph5501.bin goes through the search
box's hash lookup to the card on the PlayStation page. 54 queries.
2026-10-27 20:56:14 +01:00
Abdessamad Derraz 8adb84696d feat: fold card hashes, one install command
System and emulator file cards show the name, size, download, a short
SHA1 with a copy button, the setups and the emulators. The full hashes
and the other facts sit in one closed fold, each hash with a copy button.

A system's install box shows one command under the OS tabs for the
setup picked in a list, remembered across pages. Without the script the
list of every command shows, open. The Markdown the page budgets are
measured on is unchanged, so no card moves.
2026-10-27 20:56:07 +01:00
Abdessamad Derraz 1d13b424a7 fix: expect the not installable count in game data 2026-10-27 20:45:42 +01:00