m0skit0 wrote:so it only freezes when calling sceAudioSRCChReserve? Other estimated calls do not freeze?
SceAudioSRCChReserve is the first call to an estimated function. My guess is that it is the same for the other estimations. At least for sceAudioSRCChRelease it is because as a test I moved the call to that function early into the main() of PSPdisp and it freezes at that point.
bingo88380 wrote:What about when sceAudioSRCChReserve is actually imported?
I think it would work fine then like with sceKernelGetModuleIdByAddress. Once I added that to the launcher imports and it didn't have to be estimated by HBL it was possible to call that function without freezing. I am not keen on changing the launcher again to add more imports because doing that is a real bitch (you have to update the HBL SDK each time).
I will reiterate what I stated before: In my opinion the change in FW 6.60 is that only imported functions can be called with a syscall. All non-imported functions have a syscall assigned but calling it will cause a freeze. I don't think syscall estimation will be possible anymore.
But really that is no problem because we could just import every
export of a library and then have HBL determine the lowest syscall and the gap from these information. FROM_LOWEST syscall estimation can then be used so that the NID array doesn't get too large. Not a big deal, it just has to be implemented. Getting all library exports is easy too because you only have to use prxtool to generate stubs for a decrypted firmware module and then build that into the launcher (same way I did the current imports but I deleted all that were not known by name).