PS5-style UI — OPL build + PS5 theme
PS5-style UI for Open PS2 Loader: GS backdrop blur, a framerate-independent
animation engine, five new theme element types, and a PS5 theme that composes
them.
Install
- Copy
OPNPS2LD.ELFto your device and boot it. - Unzip
thm_PS5.zipinto<device>/THM/so you end up with
<device>/THM/thm_PS5/conf_theme.cfg.
Thethm_prefix is required — OPL only recognises theme folders that
carry it, and skips the rest silently. - Settings → Interface → Theme → PS5.
- Settings → Interface → Cover Art: On. It is off by default, and without
it the shelf, the logo and the backdrop have nothing to draw.
The theme reads the per-game art an OPL art pack already provides: _BG for the
backdrop, _LGO for the logo, _COV for the covers. Games missing a piece fall
back gracefully — a missing cover becomes a plate with the title.
Left and right walk the games; up and down change device page. That is the
opposite of the classic vertical list, and it is deliberate: the shelf lays the
games out horizontally.
What is in it
- Backdrop blur on the GS, no shaders: a reduction pyramid plus ping-pong
bilinear taps, in an isolated module. Costs 224 KiB of VRAM, claimed lazily —
a theme that draws no glass never pays for it. - Time-based animation. The
1 - exp(-rate*dt)form makes it independent of
framerate, so a 200 ms transition lasts 200 ms in PAL at 50 Hz too. - New theme elements:
FrostedPanel,CardShelf,CoverWallpaper,
ItemTitle, plus an optionalhover_colortheme key. - EE-side cover rescaler. OPL uploads covers at native resolution, up to
1,440 KiB each; a shelf of them would not fit in the console. Covers are
box-filtered to a 128x192 CT16 tile at load time, on the IO thread. - Two upstream freezes fixed. Both are null-pointer dereferences that
predate this work and need no new element to trigger: a theme with no
ItemsList, or one usinguse_default=0without shipping its own PNGs. They
are isolated in a single commit so they can be taken upstream on their own.
Nothing existing changes. The new element types are appended to the end of the
type table and nothing is reordered, so any theme that does not name them
renders exactly as before.
Testing status
Runs on a real PS2 (NTSC, composite, CRT) and in PCSX2. In the emulator the
debug overlay reads 59.9 fps and 1632 KiB TEXMAN, but PCSX2 models neither
GS fill cost nor TexManager pressure, so do not read that as a performance
result.
Still open, and worth reporting if you hit it: frame rate on hardware, DMA
re-upload thrashing, PAL, and FAT vs SLIM. Build with make DEBUG=1 for the
overlay that answers them.
