The Paper Mario Decompilation project (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/pmret/papermario/llms.txt
Use this file to discover all available pages before exploring further.
pmret/papermario) is a work-in-progress effort to reconstruct the original C source code of Paper Mario for the Nintendo 64. Every function that is matched compiles to a byte-for-byte identical ROM — no guessing, no approximations. The project supports four regional versions: US, JP, PAL, and iQue.
Get started
Learn what the project is, how it works, and how to set up your environment.
Build the ROM
Configure the build system, provide a baserom, and compile a matching ROM with ninja.
Match a function
Step-by-step guide to decompiling assembly into matching C code.
EVT scripting
Understand the custom bytecode VM that powers all in-game events and cutscenes.
What is decompilation?
Decompilation is the process of reconstructing human-readable source code from a compiled binary. For Paper Mario, this means converting MIPS assembly instructions back into C code that — when compiled with the original IDO compiler — produces a ROM that matches the original cartridge byte-for-byte.Set up your environment
Install build dependencies, the IDO compilers, and clone the repository. See Setup for platform-specific instructions (Linux, macOS, WSL 2, or Nix).
Provide a baserom
Copy your legally-obtained Paper Mario ROM to the correct path (e.g.
ver/us/baserom.z64) and run ./configure to extract assets.Build and verify
Run
ninja to compile. A successful build prints papermario.z64: OK, confirming the output matches the original ROM.Project highlights
EVT scripting system
A custom bytecode interpreter used for all in-game events, cutscenes, and battle scripts.
Game systems reference
Documented battle, world, NPC, effects, and audio subsystems.
Data reference
Complete reference for types, enums, structs, and save data layouts.
Contributing guide
Everything you need to contribute matched functions and documentation.
This project requires a legally-obtained copy of Paper Mario (N64). ROMs are not provided by the project.
