Now the problem is even after the XMB has started, it seems that memory is still occupied by the launcher module. It doesn't affect the Slim PSP. But on the Phat PSP it causes various problems.
Usually the module doesn't even start on a Phat, and just shows a black screen. If I reduce the memory usage by removing images etc from the module, then it starts successfully. But there are other side effects, like the Internet Browser doesn't work etc.
My module is built as a VSH mode PRX.
It has the basic functions
Code: Select all
PSP_MODULE_INFO("Password", 0x800, 1, 0);
PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_VSH);
PSP_HEAP_SIZE_KB(4096); //This is the minimum memory which the module will load with
int main_thread(...)
{
//main module code
...
...
//load and start vshmain_real.prx
sceKernelExitDeleteThread(0);
return 0;
}
int module_start(...)
{
//create and start main_thread
return 0;
}
int module_stop(...)
{
return 0;
}
sceKernelExitDeleteThread(0) doesn't seem to be freeing all the memory. I've freed all the memory allocated by malloc() etc within the program code but its still causing problems on the Phat PSP.
I'm assuming that sceKernelExitDeleteThread(0) doesn't fully unload the module from memory and the module is still running.