Commit Graph
26 Commits
Author SHA1 Message Date
Abdessamad Derraz 9c07dabfae refactor: one proof line per claim
Records that back the same field or issue claim share one line. Each
line says what the runs showed: the BIOS the core ran, the file strace
saw opened, or what a maintainer watched in an issue's run
(tests/campaign/observations.yml). A run with nothing to state stays
off the page.
2026-10-28 08:08:16 +01:00
Abdessamad Derraz 05192f43c7 feat: read each core's BIOS fallback from its log
fallback_patterns and load_patterns for Beetle PSX and HW, SwanStation, PCSX-ReARMed and Flycast, each read from the core's source at its pin. Beetle maps OpenBIOS when its firmware is missing and loads a file of another sha1 all the same. SwanStation names the image it uses or falls back to, and its OpenBIOS. PCSX-ReARMed loads another region's file before its HLE BIOS.
2026-10-28 05:19:49 +01:00
Abdessamad Derraz f850ac36ee chore: merge pack probes
# Conflicts:
#	scripts/generate_site.py
#	scripts/sitemeasurements.py
#	wiki/testing-guide.md
#	wiki/tools.md
2026-10-28 03:28:41 +01:00
Abdessamad Derraz 83712af0ce chore: merge the oracle branch 2026-10-27 23:30:30 +01:00
Abdessamad Derraz f2f890602d chore: add the PCSX2 Rez reference frame
Reviewed by the oracle agent on the PNGs of record 2026-10-27-fac0b52c9475.
2026-10-27 23:29:43 +01:00
Abdessamad Derraz e826d581f9 chore: merge the PCSX2 error screen 2026-10-27 23:29:28 +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 5b8b96e306 chore: add DuckStation reference frames
Reviewed by the oracle agent on the PNGs of record 2026-10-27-9bc8fbcebc85, variant scph5501.bin.
2026-10-27 23:19:11 +01:00
Abdessamad Derraz d893823fe1 chore: merge the reference variant key 2026-10-27 23:18:30 +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 e6f7ea8f07 chore: merge the region reference frames 2026-10-27 23:07:23 +01:00
Abdessamad Derraz d7e17491f0 chore: merge the per-run probe lock 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 f8b54cc53a chore: merge the per-run probe lock 2026-10-27 21:07:57 +01:00
Abdessamad Derraz 5184b55b82 chore: merge the oracle pages 2026-10-27 19:24:19 +01:00
Abdessamad Derraz 70c3bbd853 feat: settle a file only when the run uses it
hle_fallback needs the file to change the run: Beetle PSX hashes every file of its folder, so opened is not used. PCSX-ReARMed hides the BIOS logo by default: its BIOS load line stands for the bios stage. A check runs again only when the oracle entries of its content and core change, and the rules run on every pass from the kept records.
2026-10-27 17:58:48 +01:00
Abdessamad Derraz 417ed86405 chore: merge the boot oracle work 2026-10-27 17:20:35 +01:00
Abdessamad Derraz d6537d5838 feat: list test games per system and region
The content list now covers the BIOS-required systems in order of the users a missing BIOS stops, one game per region where a profile ties the BIOS to a territory (PS1, Saturn, Mega CD, Master System, N64, GameCube, DS), the same title in each region so the screens compare. Systems no catalog romfetch reads covers are listed under uncovered with the set or game wanted and romfetch's error code.
2026-10-27 16:17:45 +01:00
Abdessamad Derraz b95bf466e8 feat: add the PlayStation reference frames
Bust-A-Move 2 (USA) on Beetle PSX, Beetle PSX HW, SwanStation, PCSX-ReARMed and PCSX1, each frame reviewed on its PNG. A boot needs a screen of the game: the BIOS screens alone are not one.
2026-10-27 15:52:29 +01:00
Abdessamad Derraz 49b47355b9 chore: merge the boot oracle 2026-10-27 15:45:52 +01:00
Abdessamad Derraz e4c7ded489 feat: judge each probe run with a boot oracle
core_probe writes record version 4. Each run is boots, bios_error, crash, hang or unknown, from reference frames, core error patterns and screens, and the process status. A crash or a timeout is a verdict now, rebuilt from the events the worker streamed. --vary accepts @zeros:SIZE and @head:SIZE:PATH, and run takes --repeat.
2026-10-27 15:45:22 +01:00
Abdessamad Derraz f0320a2bd9 feat: test packs the way a user installs them
pack_probe.py lays a platform's BIOS folder out from its pack, or with install.py --dest, and starts each test game through core_probe with that folder, mapping every file the core opened to the pack entry that put it there.
2026-10-27 15:37:40 +01:00
Abdessamad Derraz 37d2c14e1d chore: keep campaign prose to the style rules
No clause semicolons in the campaign docstring and content list, and a help text for every option.
2026-10-27 13:02:15 +01:00
Abdessamad Derraz ee7319d838 feat: add the real-condition campaign runner
campaign.py takes buildbot nightlies (or a build of the pinned commit), the test content of tests/campaign/content.yml through romfetch, and runs core_probe for the files, boot, path, alias, variants and bench checks. A fixed rule table settles hle_fallback, required, path and aliases with the record ids as evidence, the rest goes to measurements/findings.jsonl. Resumable state, load, disk and budget guards, retries, content reference counting with an LRU cap, and an autorun job after the nightly.
2026-10-27 11:38:01 +01:00