Skip to content

AngheloAlf/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

For a more detailed view of the progress, please check our decomp(dot)dev page.

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.)
src progress Total percentage

IOP modules

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

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 the following files from the July 12th prototype and place it in said iso folder:
    • SCPS_150.17
    • TAPCTRL.IRX (found in the IRX folder)
    • WAVE2PS2.IRX (found in the IRX folder)
  3. ./configure.py
  4. ninja

To generate/update the progress report:

  1. After a successful build, run ./configure.py --objdiff
  2. ./tools/objdiff-cli report generate -p . -o progress/report.json -f json-pretty

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
    • Use the -t argument to diff functions in IRX modules.
    • Possible targets are: ee/wp2cd/tapctrl. Default is ee. tapctrl target will not work.
    • Example: ./tools/diff.py -mwo -t wp2cd FUNCTION_NAME.

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

About

PaRappa the Rapper 2 (2001, PS2) decompilation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 85.9%
  • Python 8.1%
  • C++ 5.5%
  • BitBake 0.5%