rust-psp
rust-psp copied to clipboard
Reverse Engineering Checklist
- [x] sceGuDebugPrint - Puzzle Bobble
- [ ] sceGim - Image Loading - Puzzle Bobble
- [ ] sceWave - Audio Loading - Puzzle Bobble
- [ ] sceSas - Seems like a software implementation of a basic synth - Yu-Gi-Oh
- [ ] sceVfpu - Vfpu intrinsics - Yu-Gi-Oh
- [ ] sceCcc - Character conversion (utf8 et-al) - Yu-Gi-Oh
- [ ] sceFpu - Fpu math - Yu-Gi-Oh
- [ ] sceGup - Similar to Gu - Yu-Gi-Oh
sceLibFont - Font loading and rendering, NID based - Yu-Gi-Oh(in PPSSPP) - [ ] sceMd5 - Statically linked MD5 functions - Adventure Player
- [ ] sceGmo - Models - Rengoku
- [ ] sceSs - More synth type stuff - Jan Sangoku Musou
- [ ] sceGiq - Seems similar to sceGim - Star Driver
- [ ] sceGmq - Seems similar to sceGmo - Star Driver
- [ ] scePaf - C++ Utilities? https://wiki.henkaku.xyz/vita/ScePaf, used in vsh modules
sceMp4 - obviously mp4 - Star Driver(in PPSSPP)
These are in no particular order. I think sceVfpu should be top priority.
Not reverse engineering because it's in PPSSPP already but since we're tracking libs not in pspsdk here, scePsmfPlayer is NID based video player type thing it seems. https://github.com/unknownbrackets/ppsspp/blob/master/Core/HLE/scePsmf.cpp
sceLibFont is also available in PPSSPP
Jan Sangoku Musou has a bunch of empty functions with strange names like sceVif, sceGs, sceCd, scePad, sceDbc. Stubs or something but I don't see where they're coming from because there's nothing unusual in rodata.sceResident
Working theory is the Jan Sangoku Musou stuff was compiled for both PS2 and PSP, those are PS2 function names.
It looks like sceCcc later became nid based like scePsmf did.
Star Driver only has debug strings, not full debug symbols.
http://web.archive.org/web/20120731071802/http://forums.ps2dev.org/viewtopic.php?t=6929
Dropping this here in the hope it might be of value. I'm the Raphael guy from that thread.
Edit: Found a better mirror, that also contains the other pages: http://lukasz.dk/mirror/forums.ps2dev.org/viewtopic35a4.html?t=6929
Thanks!
There's a leaked official Sony SDK on Archive.org that has headers and documentation for all of these. My understanding is that writing Rust function/struct definitions based on these isn't a copyright violation, but I understand if you want to be more cautious.
It's a lot of functions, so if I ever get around to writing something for the PSP that needs these I'll add just the ones I need.