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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The Vulkan renderer merge (75 commits): no ROM loading change. The CMakeLists.txt organization and app name definitions moved down six lines (647-648).
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.
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.
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.
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.
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.
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.
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.
A profile pinned to one platform's build (pin_frozen) answers after the emulator, as a frozen_snapshot does: Flycast now answers dc bios missing ahead of Reicast and Flycast 2021 LE. terms weighs 30, so the version table answers which mame version first, and the gate now asks for rank 1 there. The search field test names the five fields, since round 4 item 2.4 put the title meta on the h1.
terms weighs 20, so the version table outranks MAME parts. The FAQ carries ios, iphone, ipad, the file page check my dump, and a console's regional lead names it (the PlayStation BIOS). The FAQ quotes the bootstrap's fingerprint message again. The troubleshooting page, which answers the dc/ trap, joins the pages that answer dc bios missing. The gate starts node without its compile cache.
Root pages nothing produced are swept, so a table moved to a platform page no longer keeps the address its redirect needs. Data tree pages name their readers, board crumbs end on the Arcade page once, fba2012 is headed FB Alpha 2012, test profiles get no page, and the installer glance lists --declared-only and --offline. sitesources.py goes through run_cli.
The deploy job sets NODE_DISABLE_COMPILE_CACHE for the build and the search gate, and lighthouse.py passes it to its children. The paths list gains generate_event_schema.py, which the site build imports.
Inline code of 30 characters or fewer is marked rb-short at build time and the options table rb-options. The search UI loads on first use. Title, crumbs and footer leave the search index, and consoles and terms weigh as a title.
The lookup reads every hash of a matched file, so its MD5, SHA1, CRC32 and SHA256 give one answer. The OS tabs open on the visitor's system unless a choice is saved, and the sidebar shows the current page.