Commit Graph
89 Commits
Author SHA1 Message Date
Abdessamad Derraz dd64434122 chore: merge main 2026-10-27 22:05:47 +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 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 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 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 20dc488e41 feat: list platform files as table rows
Each file of a platform list is one row: name, folder, status chip, a short hash on a button that copies it whole, and a details cell. The details hold every declared hash, the size, the served copy and the readers. A reference's role is one word (glue, port, upstream, build) defined once in a legend instead of a phrase after every reference.

Visible words: Batocera 2,433 to 2,332, AmberELEC 1,301 to 1,299, RomM 1,607 to 1,596, RetroArch 2,207 to 2,088, RetroDECK arcade part 2 19,127 to 2,104. Rows weigh more Markdown, so 38 more systems move to pages of their own under the existing budgets.
2026-10-27 20:44:05 +01:00
Abdessamad Derraz b6ed5ba0a1 feat: group tested rows by the file they vary
Rows sit under the file under test. A title names the game and what sets the test apart from the others of its file (build, clock, region, files tried), never cut. Zero counts leave the summary. A legend explains the dots. The chips say depends on the file and same with every file. Ran on shows the short host.
2026-10-27 19:48:16 +01:00
Abdessamad Derraz e7d0c0183c feat: show each test as one row with its proof
The Tested block opens on one summary line, then a row per test: a short title, a result chip, a dot per variant and the date. Method, claim, computer, core build and the record wait in the row's details. Tests from before the boot oracle fold under one line, benchmarks get their own table. beetle_saturn shows under 120 words before anything is opened.
2026-10-27 19:40:16 +01:00
Abdessamad Derraz da68f19411 refactor: keep one full record per line
Each line of measurements/<emulator>.jsonl now holds the whole run:
every repetition, core logs, per-frame hashes and raw timings. The gzip
data files, the data schema and the split and join code are gone, and
core_probe --record appends one line. record_version moves to 3.

The seven records are rewritten once: each new line equals its old line
joined with its data file, and rebuilds the first-layout file its id
hashes.
2026-10-27 09:57:39 +01:00
Abdessamad Derraz 571e50f2a8 refactor: read measurements from the local tree
The site compiles the index and the SQLite files from measurements/
instead of a pinned clone. The pin, the sync script, the CI clone steps,
the freshness area and its refresh handler are gone. core_probe --record
writes into measurements/ of the checkout by default, and a test fails
when a line or data file HEAD holds changed or vanished.
2026-10-27 09:11:12 +01:00
Abdessamad Derraz 087e5b4d73 feat: show measurements on the site
Each emulator with records gets a Tested block: claim, result, method, computer, core build and the permalink of its record at the pin. A Measurements page filters every test in the browser from the compact index, and the Data page lists measurements.sqlite with its tables. One SQLite file per emulator is linked from its page. wiki/measurements.md says how a test runs, held to the Start here budgets.

Both workflows fetch the pinned commit alone with git before the build, and the deploy fails without it.
2026-10-27 08:30:16 +01:00
Abdessamad Derraz 63d815977c docs: no semicolon in the search gate comment 2026-10-27 07:11:45 +01:00
Abdessamad Derraz fecc6d9d32 chore: merge round 5 search fixes 2026-10-27 06:54:51 +01:00
Abdessamad Derraz 07f785cfd7 fix: rank a console first for its own name
The PlayStation 2 page holds every word of "playstation bios" and pagefind ignores the words a page has that the query lacks, so its own body matches put it first. A console whose every word another system page's consoles also hold is now written again in an `exact` field (weight 20). File names reach the `files` field as their parts: whole names let "ds" reach twelve dsi_* names on the DSi page. `consoles` weighs 100 so an emulator named after its console (Saturn.emu) comes second, and `aliases` 10 so the Nintendo page keeps "gba bios". The gate runs both directions of the PlayStation, Game Boy, DS and Wii pairs and Saturn.
2026-10-27 06:54:08 +01:00
Abdessamad Derraz 58b23ebb6c chore: advance jazz2-native to ff9ddb7
AssetConverter dropped its table of known levels: an episode now owns
the levels its first level's exits reach, plus trainer (prince) and
psych3 (rescue), and a level is stored under its own name, so share1
becomes share/share1. Levels and tile sets convert on several threads.
Same Source/ and Content/ files, same lookup order.
2026-10-27 05:53:05 +01:00
Abdessamad Derraz cff75c9da4 chore: advance pom2 to dbf7673
Upstream now reads a Virtual ][ Contents/Resources folder as it is:
each take is also tried under its bare name and a .wav slot as the
headerless .raw (VirtualIISoundCatalog.h:47-66), macOS searches the
app bundle in /Applications and ~/Applications, a truncated AIFF is
rejected and AudioToolbox decodes .aiff on macOS
(VirtualIISoundLoader.h). Same nine takes, same paths.
2026-10-27 05:53:05 +01:00
Abdessamad Derraz 15f7c72077 feat: setup tab, letter crumbs, console words
get/ pages join the tab of the setup pages of the same name, so no page is excluded from every tab and the tabs keep their names. Groups filing emulators by first letter are no crumb. A console page carries "<name> BIOS" in its terms field. The search gate runs the console, checker, schema, license and iOS queries.
2026-10-27 05:39:59 +01:00
Abdessamad Derraz 06492ec6b8 chore: advance xenia-edge standalone to 7180422
Standalone pin d881a29 to 7180422, the latest release, now named in
core_version. Upstream identifies xbox.xex by its bounding path instead
of its PE name and answers the disc authentication IOCTL: the XeFu
files, paths and required flags are unchanged. Four lines added in
emulator.cc move the citations past IsXeFuDispatcher by four. The
libretro pin f23c14c is the head of its libretro branch.
2026-10-27 05:36:42 +01:00
Abdessamad Derraz fab8bddb7e chore: advance eka2l1 standalone to upstream head
Standalone pin d55da28 to cc30b45. The five commits touch the window
server and fbs bitmap code only: no file read, path or hash changes.
screen.cpp lost eight lines above the upscale shader call, so its
citation moves from 636-638 to 628-630. The libretro pin e39ccac is the
head of the libretro branch and 11f5b6c is still its merge base.
2026-10-27 05:36:42 +01:00
Abdessamad Derraz ce6b500214 chore: advance visual-pinball to upstream head
Pin 704f603 to 63770cd. The three new hashes in platforms/config.sh are
dependency revisions the build fetches: the bgfx patch, libaltsound and
libdof. libdof moved to 5c54ef7 with GetGlobalConfigPath unchanged at
src/DOF.cpp:36-45, and libaltsound still appends altsound/<rom> to the
base folder, so only the libdof revision in the notes changes.
prose_written_at records that the notes were read at the new pin.
2026-10-27 05:36:42 +01:00
Abdessamad Derraz d0de6dde30 fix: rebuild source paths from the written pins
load_emulator_profiles caches by directory, and the run had loaded the
profiles before writing them, so the record rebuilt after a write kept the
pins just replaced: linapple, then ten profiles in one advance. The cache
is cleared first. The record is rebuilt for those ten.
2026-10-27 05:24:04 +01:00
Abdessamad Derraz ed4580a2f7 chore: advance ymir standalone to fe439e9
v0.4.1-84. No cited file changed, no file name or hash gained since the pin.
2026-10-27 04:16:31 +01:00
Abdessamad Derraz b9030000a8 chore: hold raine on the retrobat release
RetroBat, the only platform that runs RAINE, installs raine.7z whose
raine.exe reports 0.97.5 and was built on 16 March 2025, the bump its
CHANGELOG.md records at line 176. Upstream tagged 0.97.6b since. The
mass pin advance had moved the profile to master. It goes back to
8e25d5d, the last commit before that build, with the refs written for it.
2026-10-27 03:55:02 +01:00
Abdessamad Derraz ce98763117 chore: record linapple tree at 7f4b608
The linapple advance committed a source-paths record written before its
last pin change, so the site's freshness test saw the old tree.
2026-10-27 03:12:49 +01:00
Abdessamad Derraz 55becb8aa4 chore: advance linapple to 7f4b608
The peripheral option is option(${opt_name} ... ON) at CMakeLists.txt:541;
the notes and the mouse card cited 538, a blank line one above it already
at the old pin.
2026-10-27 01:07:18 +01:00
Abdessamad Derraz e9d067d45b chore: advance seven profiles to upstream head 2026-10-27 01:05:04 +01:00
Abdessamad Derraz 9c93e8de73 chore: refresh source paths for the moved pins 2026-10-27 00:30:17 +01:00
Abdessamad Derraz 4a8bf1163e chore: refresh source paths for the moved pins 2026-10-27 00:24:40 +01:00
Abdessamad Derraz 90115ddea8 chore: refresh source paths for the moved pins 2026-10-27 00:08:12 +01:00
Abdessamad Derraz 2c2d7cd05b chore: advance 13 profiles to upstream head
profile_sync --rebase-refs --fresh, every guard held.
2026-10-27 00:05:56 +01:00
Abdessamad Derraz 08848ce405 chore: refresh source paths and manifests
After the re-profiled armsx1, armsx2, x1-box and rustynes releases.
Manifests generated twice, identical.
2026-10-26 23:24:57 +01:00
Abdessamad Derraz c94ce36ad3 chore: refresh source paths for the moved pins 2026-10-26 23:12:31 +01:00
Abdessamad Derraz a26a744372 chore: refresh source paths for the moved pins 2026-10-26 22:52:24 +01:00
Abdessamad Derraz 02fb76b850 chore: advance ymir standalone pin to a2c69d8
The Vulkan renderer merge (75 commits): no ROM loading change. The CMakeLists.txt organization and app name definitions moved down six lines (647-648).
2026-10-26 22:50:13 +01:00
Abdessamad Derraz 515c60f9ae chore: advance scummvm-standalone to 21955df
183 upstream commits. Ultima's data_archive.cpp was folded into Common::load_engine_data, which opens ultima.dat and checks its version.txt the same way (common/engine_data.cpp:273-279). No dists/ or gui/ file changed, so the bundled hashes hold. Adds japanesemacfonts.dat, which the Mac GUI reads for Japanese fonts and ScummVM does not ship.
2026-10-26 22:50:13 +01:00
Abdessamad Derraz 5f2570b144 chore: advance supermodel3 to 11726c4
The fork rebased on trzy 1481545 (Src/Version.h:32 now 0.3a-1481545-mm); the two commits touch tilegen timings, the PowerPC core and the GUI only. upstream_commit follows to 1481545. The 11726c4 release archives carry the same Games.xml, Music.xml and crosshair bitmaps. RetroPie builds the main branch tip on x86, so the pin follows HEAD; the ROCKNIX arm build stays a note, with the version it prints.
2026-10-26 22:50:13 +01:00
Abdessamad Derraz 387b1c0e13 chore: advance ymir standalone pin to 73d320b
One upstream commit touching CONTRIBUTING.md only; every ref anchors at 73d320b. The Emir libretro branch is still at 8174cbb.
2026-10-26 22:50:13 +01:00
Abdessamad Derraz c31580db04 docs: advance xenia-edge standalone pin to d881a29
101 upstream commits. Japanese glyphs now come from M PLUS 1p embedded with the Inter font (imgui_drawer.cc:481-498), so msgothic.ttc and the fontconfig CJK match are no longer read; XConfig gained a per-title random MAC address. Still no system file read. The libretro core is still at f23c14c.
2026-10-26 22:50:13 +01:00
Abdessamad Derraz dd6d6e15bd chore: advance supermodel pin to 1481545
Three upstream commits on tilegen write timings and the VF3 start-up: no cited file changed and every ref anchors at 1481545. Version.h still reads 0.3a-WIP. Libretro-Supermodel is still at 84bc106.
2026-10-26 22:50:13 +01:00
Abdessamad Derraz d06efb8a21 chore: advance eka2l1 standalone pin to d55da28
47 upstream commits. The ECam patch gained a Symbian 8.1a build (ecam_v81a.dll, [epoc81a] in ecam.dll.map) and per-version map sections; the mediaclientaudio and mediaclientvideo patch DLLs were rebuilt. Sizes and SHA-1 read from src/patch at d55da28. Firmware and ROM loading unchanged; the libretro branch is still at e39ccac.
2026-10-26 22:50:13 +01:00
Abdessamad Derraz 413ece4511 chore: refresh source paths for the new pins 2026-10-26 21:05:43 +01:00
Abdessamad Derraz 741d5fd025 chore: refresh the cited source path record 2026-10-26 21:01:49 +01:00
Abdessamad Derraz b24fc06e51 feat: download button on every file card
The Apple II page named its start files with no visible way to get one: the download sat after the collection path, fourth of a card's facts. Each card now carries a Download button in its title, each start-line name links to its card, and a card held on another part page is reached by its permanent link.
2026-10-26 21:01:49 +01:00
Abdessamad Derraz 0038533666 fix: mark short code inside mdx pages too 2026-10-24 03:05:12 +02:00
Abdessamad Derraz 670f9a614e chore: merge round 5 package ae53533548f57e22b 2026-10-24 01:27:26 +02:00
Abdessamad Derraz 89c6a151ae fix: one page grid, shorter stacked rows
Search box, column and table of contents are placed from one grid
width on every page. Long code in table cells breaks to fit, stacked
rows drop to one line per cell, and the button, search marker, choice
list and crumb spacing are aligned with the rest.
2026-10-24 00:53:08 +02:00
Abdessamad Derraz b967cb8d04 fix: short stacked labels, declared lookup hash 2026-10-24 00:47:51 +02:00