Skip to content

Latest commit

 

History

History
60 lines (42 loc) · 1.89 KB

File metadata and controls

60 lines (42 loc) · 1.89 KB

NWiiRecomp

Static recompilation and runtime toolkit for Nintendo Wii U executables.

(The first recompiler that really works)

nWiiURecomp Discord

Blackline Interactive YouTube


What is this?

nWiiURecomp translates Nintendo Wii U (.rpx, .rpl) executables into native C++ code. The output is a standalone executable that runs natively without instruction-level emulation. Hardware interactions are handled by a High-Level Emulation (HLE) runtime layer.

A Note on Our Approach: nWiiURecomp features a fully custom-built rasterizer, shader generator, and HLE runtime tailored specifically for Cafe OS and the Latte GPU.


Project Structure

nWiiURecomp/
├── nWiiUAnalyzer/   — RPX/RPL parser and function boundary analyzer
├── nWiiURecomp/     — Offline static recompiler (PPC → C++)
├── nWiiURuntime/    — Cross-platform runtime + Cafe OS / Latte GPU HLE library
└── nWiiUStudio/     — GUI debugging and inspection tool (Raylib + ImGui)

What Works

Analyzer (nWiiUAnalyzer)

  • RPX section parsing.
  • Disassembly and function boundary discovery.

Recompiler (nWiiURecomp)

  • Translates PowerPC 750CL instructions to C++.
  • Tail-call detection and goto-based local branch inlining.

Runtime (nWiiURuntime)

  • Cafe OS: Initial RPX loading, ELF parsing.
  • Latte GPU: PM4 packet handling stub.