Console Hacking > Reverse Engineering

PSM GLES Function Offsets

(1/1)

SonicMastr:
Quite a while ago (Back in July actually), me and dots spent some time looking into the PSM module and found out that there are quite a few GLES related functions present. We did more digging and in no less than 3 days were able to get all the offsets for EGL and GL Functions present in the module. Here are the offsets. Keep in mind, the base address used is 0x83180a10 so you'll have to do the offset calculations yourself.

Keep in mind, while these do work, PSM is quite frankly absolute shit and there's a painful process to get everything working, with the cost of 50MB of user memory being used at idle, but this does show that native GLES 2.0 support is at least possible on the Vita, and we are one step closer to a finally fully featured VitaGL. Never lose hope.

How did we have even the obscure names? The PSM DLL that's part of the PSM SDK has all symbols and the decompilation is structurally similar to the PSVITA PSM. We simply had to compare functions by structure, and we were able to find those pesky to figure out names.


PS: This requires a fully decrypted PSM package, and you need to initialize the PSM modules in the same order the PSM eboot does. After PSM is loaded, you can unload system module dependencies. DolceSDK is also REQUIRED due to VitaSDK lacking the proper SceLibc support, something PSM relies on.

Update: Not so sure if VitaSDK has added proper SceLibc support, but it does seem to have recent changes to the way SceLibc works. So you can go ahead and try that if that's more comfortable for you

SonicMastr:
For the experimental library and sample, you can find it all on Github here. I know things look hacky, but I was more focused on getting it work than elegance.

SonicMastr:
Here is the Ghidra project file for the RE

Navigation

[0] Message Index

Go to full version