poly
banner
polyproxy.bsky.social
poly
@polyproxy.bsky.social
programmer (he/him), reverse engineer.
This is another reminder about the PaRappa 2 decompilation project, where we reached 64% (~43% for matched bytes) of completion. 🎉

Recently we achieved shiftability (the ability to add & delete code and data).

As always, any help is appreciated 🙂
#parappatherapper #parappa
October 29, 2025 at 7:21 PM
First time I have Ghidra error-ing out like this, I consider this an achievement
June 4, 2025 at 5:06 PM
along with this little guy
May 29, 2025 at 9:14 AM
vib-ribbon is not safe either. This is even worse on the PS1 where there is no FPU!
May 17, 2025 at 9:53 PM
Despite always reaching its target frame rate of 60 FPS, not all of PTR2's code is well optimized. This example shows how a small oversight can waste CPU time on double-precision FP arithmetic, something that could've been fixed by suffixing a few 'f's. 🙂
May 17, 2025 at 9:53 PM
PaRappa the Rapper 2 has a hidden feature that outputs every frame of the gameplay onto BMPs inside of the devkit's hard drive. It was likely used for promotional purposes as the UI and other debug text is completely absent.

Here's a portion of the first stage taken from all the outputted images.
April 19, 2025 at 9:30 AM
I recently discovered this way of performing waits for DMA transfers on the PS2. Instead of polling for the channel control status, you can set the priority control register to output the DMA status to COP0 and poll from there, to save bandwidth. Quite an interesting method.
November 23, 2024 at 6:58 PM