Skip to content

polybiusproxy/parappa2

Repository files navigation

PaRappa the Rapper 2 Decompilation

build progress discord

PaRappa icon by pips

A work-in-progress decompilation of PaRappa the Rapper 2 (パラッパラッパー2) for the PlayStation 2.
We are currently targeting the July 12th NTSC-J prototype, but we aim to target the final NTSC-J/NTSC/PAL builds in the foreseeable future.

For any questions, we have a home at the PS1/PS2 Decompilation Discord server and the PaRappa the Rapper Modding Community Discord server.

Progress

EE main core

Folder Progress Description
dbug progress Debug utilities (VRAM save, debug menus, etc.)
os progress OS utilities (threading, pad, memory, etc.)
iop_mdl progress IOP module control routines
main progress Gameplay code (score logic, loading screen, etc.)
menu progress Menu code (UI flow, Memory Card saving, etc.)
prlib progress Game engine (rendering, models/animations, etc.)
nalib progress Game engine utilities (vectors, matrices, packets)
src progress Total percentage

IOP modules

Folder Progress Description
tapctrl N/A Voice and sound effect playback
wavep2 N/A Music and asset streaming

VU1 microcode

Folder Progress Description
N/A N/A N/A

Requirements setup

  1. sudo apt install gcc-mipsel-linux-gnu binutils-mips-linux-gnu ninja-build
  2. sudo apt install python3-pip
  3. python3 -m pip install -U -r requirements.txt

Note: For compiling, you need to add the i386 architecture. For instructions on that please check out this guide if you're on Ubuntu.

Setup

  1. Create a folder named iso in the root of the repo.
  2. Extract SCPS_150.17 from an ISO of the July 12th prototype and place it in said iso folder.
  3. ./configure.py (use -c to do a clean split.)
  4. ninja

asm-differ setup

  1. After a successful build, create a folder named expected
  2. Copy the build folder inside the expected folder.
  3. ./tools/diff.py -mwo FUNCTION_NAME

Note: Every time you add a new symbol, you must do the asm-differ setup again.