A labor of love by Hunter Davis. This page is generated from the same PS1 build that players run: the headless DuckStation harness boots the disc, waits for the game to settle, presses controller buttons, and captures each menu screen from the emulator framebuffer.

The point is not just documentation. It is a test. If Start stops opening the menu, if Circle stops backing out, if a sub-screen runs off the panel, or if a future refactor breaks controller input, this page stops regenerating cleanly.

The route

The default capture script starts in normal screensaver playback, waits 30 seconds, opens the pause menu, then walks each major screen with D-pad, Cross, and Circle. It intentionally captures catalog entry pages once, not every gag or visitor row.

Regenerating

./scripts/ps1-menu-input-harness.sh

The runner temporarily writes BOOTMODE.TXT and PADSCRIPT.TXT, rebuilds the PS1 image, runs DuckStation regtest headlessly, copies the first captured frame at or after every delayed JCPADSHOT marker into site/assets/img/help/menu/, and rewrites this page.

Related references: Pause menu, Freeplay and debug mode, and Regression testing.