Games and modsPartialSource available
Target: Naruto Shippuden: Ultimate Ninja 5

Recompiled Naruto Shippuden: Ultimate Ninja 5 (PS2) into a native port for Nintendo Switch and macOS with Claude

Platform
Nintendo Switch, macOS, Windows
Outcome
Partial

Evidence at a glance

Loading source evidence…

What was done

This project creates a native port of Naruto Shippuden: Ultimate Ninja 5 for Nintendo Switch and macOS by statically recompiling MIPS code to C++. It uses ps2-web-recomp and PS2Recomp to replace PS2 hardware with native code, achieving playable status on macOS.

The un5-nx project is a native port of the PAL PlayStation 2 game Naruto Shippuden: Ultimate Ninja 5 (SLES-55605) for the Nintendo Switch, macOS, and Windows. The project statically recompiles the game's MIPS code into C++ using ps2-web-recomp and PS2Recomp. This process replaces PS2 hardware emulation with native code. The author reports that the project is in an experimental phase. On macOS (Apple silicon), the game is playable, including intro movies, menus, battles, and Master Mode, typically running at 50 frames per second. On the Nintendo Switch, the game builds into an NRO file but currently runs slowly due to software GS rendering on a single core. Claude (Anthropic) is credited as the executor for research, reverse engineering, tooling, builds, and documentation. The project maintains a plan to address various phases of development, with specific fixes for PS2Recomp and ps2-web-recomp documented in the repository. The author notes that the main ELF lacks a symbol table, and Ghidra is used to identify functions. The project relies on various tools for decompilation, cross-referencing, and shader management, including custom scripts to sync code and VU1 programs between the game and the native runner.

Sources: Source 1, Source 2

Reproduce it

setup

Requirements include Xcode command line tools, CMake, Ninja, Python 3, and a PAL ISO of the game. Use tools/setup_ps2webrecomp.sh to clone and patch the recompiler, then use tools/un5_play.sh to play and capture overlays.

Community

Ask a question, share what worked, or follow the next milestone.

Your library