Sign in

poly

@polyproxy.bsky.social
71 followers 105 following 92 posts

programmer (he/him), reverse engineer.

PostsRepliesMedia
poly @polyproxy.bsky.social · 30/08/2026
Everyone please say in unison "happy birthday PaRappa 2"
0118
poly @polyproxy.bsky.social · 14/07/2026
"heh, I just vibecoded a program that will open pic0.png, take THAT, Sony"
0131
poly @polyproxy.bsky.social · 17/03/2026
191
poly @polyproxy.bsky.social · 24/02/2026
Models have a separate mesh that acts as a silhouette. The model's old position is saved, and the silhouette mesh is extruded to the new position.
010
poly @polyproxy.bsky.social · 29/10/2025
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
A screenshot of a build of «PaRappa the Rapper 2» produced by the decompilation project, modified to add a performance overlay on the screen.
28548
poly @polyproxy.bsky.social · 04/06/2025
First time I have Ghidra error-ing out like this, I consider this an achievement
010
poly @polyproxy.bsky.social · 29/05/2025
along with this little guy
010
poly @polyproxy.bsky.social · 17/05/2025
vib-ribbon is not safe either. This is even worse on the PS1 where there is no FPU!
1124
poly @polyproxy.bsky.social · 17/05/2025
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. 🙂
040
poly @polyproxy.bsky.social · 19/04/2025
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.
140
poly @polyproxy.bsky.social · 23/11/2024
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.
Screenshot of code (PS2 target) that performs a wait for a DMA transfer.
000