AI harness for breathing new life into forgotten games.
This repo doesn't distribute any ISOs or copyrighted content, but it does contain reverse-engineered rust code that "shims" the original game executables. This allows you to modify parts of the game in rust as long as you have a legitimate copy.
You need:
- A game disc image (ISO), placed under
./ps2/<game>/. - PS2 BIOS files dumped from your own console. Mount the directory
containing them at
/root/.config/PCSX2/bios— PCSX2 will not boot anything without them. - Wayland
- An opencode config at
~/.config/opencodewith credentials for theanthropicprovider. The image pinsanthropic/claude-opus-5-5as its model.
Check this list: https://www.retroreversing.com/ps2-unstripped
If your game was shipped with debug symbols, the reversing process will be quite easy for the agent.
docker build -t remaster-ps2 ps2/
docker run -it --rm \
--device /dev/dri \
--shm-size=256m \
-v $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY:/tmp/runtime/wayland-0 \
-v $PWD/ps2/game_dir:/workspace \
-v ~/.config/opencode:/root/.config/opencode \
-v /path/to/your/bios:/root/.config/PCSX2/bios \
remaster-ps2The container starts opencode directly. The image's managed config
(/etc/opencode/opencode.json) takes precedence over your mounted config for
the model, permissions (everything allowed; the container is the boundary), and
the bundled MCP servers and skills. Just invoke the /remaster-ps2 skill to
get started. The agent will extract the ISO and begin reversing interesting
parts of the game into a rust-based "shim". Finally it will add new content and
enhance the existing assets. Progress is tracked in README.md so sessions can
be resumed.
For reversing, the image bundles REA as an MCP
server driving Ghidra 12 headless with the
Emotion Engine extension,
so the agent decompiles the game's R5900 code rather than reading raw
disassembly, and takes the function bounds for its resplice splices from
there. Expect the first Ghidra import of an ELF to take a minute; nothing
needs to be configured on the host.
The agent will repeatedly launch PCSX2 in a separate window on your screen. This allows the agent to manipulate the game autonomously as it works. You can still interact with the game to help the agent. For some games, the agent is painfully slow, so it helps to just tell it "I did X for you in-game".