quoije 8fa8dc4ba9 Fix Scenes freeze and Languages up/down navigation
- VsmxInterpreter.interpretFunction: save/restore pc/exit/stack/callStates so
  re-entrant event firing (FireEventAnim, timers, movie callbacks) no longer
  truncates the outer script. This is what left ss_btn_mm without focus
  (Scenes appeared frozen: no selection, input ignored while audio continued).
- Add default geometric focus traversal for buttons with no direction handler:
  Controller.moveFocus picks the nearest visible focusable object. The PSP does
  this natively; English/Francais buttons have no onUp/onDown events in the RCO
  and relied on it.
- Track page visibility (BaseObject.displayed, set by PageObject.open/close) so
  traversal skips closed pages and collapsed (alpha 0) columns.
- Make BaseObject.trigger null-safe.
2026-09-17 18:48:24 -04:00

useless-umd-player

grrr

AI Generated

a standalone player for PSP UMD Video ISO images: open a disc, render its real menu, and play the movie (H.264 video + ATRAC3+ audio) with mouse and keyboard/media-key controls.

Status: playable. Opens a UMD Video ISO, plays the real RCO menu (rendered from the disc), and plays the movie (H.264 video + ATRAC3+ audio).

Build

Requires JDK 21 (Gradle auto-provisions it).

./gradlew build

Run the player

./gradlew ui:run --args="/path/to/disc.iso"

Controls:

  • ↑ ↓ ← → — navigate the menu
  • Enter — select
  • M — back to the menu
  • S — skip the current intro/track
  • Space / P — pause
  • F11 — fullscreen

CLI

The cli module has inspection/debug commands:

./gradlew cli:run --args="dump /path/to/disc.iso"          # metadata + playlist
./gradlew cli:run --args="rco <iso> UMD_VIDEO/RESOURCE/EN100000.RCO"  # menu data
./gradlew cli:run --args="play <iso> <streamName>"         # headless A/V sync test

License

GPL-3.0-or-later — see LICENSE.

S
Description
umd video player to enjoy limited dvd menus in 720x480 pixels
Readme GPL-3.0
875 KiB
Languages
Java 100%