// This code works perfectly
while(1){
if(!mp3->playing){
pspDebugScreenPrintf("Not playing 00...\n");
sceKernelDelayThread(10000);
pspDebugScreenPrintf("Not playing 01...\n");
continue;
}
}
// This code freeze at sceKernelDelayThread
while(1){
if(!mp3->playing){
pspDebugScreenPrintf("Not playing...\n");
sceKernelDelayThread(10000);
pspDebugScreenPrintf("Not playing 2...\n");
continue;
}
/some other code ....
........
......
.......
.. */
}
That is the same program, but there is some code following in the loop.
To be sure of this bug, i tried to launch a exception handler, the result is a BreakPoint, the adress means to be in a kernel PRX (adress cant be in my program cause its to big: 0x07.......).
My program is a simple EBOOT, compiled in PRX Mode (for 1.50+ compatibility).
I think more code will help to solve your problem, cause you are showing the same code (just diferent outputs in pspDebugScreenPrintf) and just saying this works and this doesn't.
And how do you know that is in sceKernelDelayThread where the psp freeze??? try using psplink, it will help you with errors and finding the exact line where the code crashes.
"Libera eas de ore leonis, ne absorbeat eas tartarus, ne cadant in obscurum"
iceman755 wrote:And how do you know that is in sceKernelDelayThread where the psp freeze??? try using psplink, it will help you with errors and finding the exact line where the code crashes.
There's the output on screen :
Not playing...
That's all, so the problem is caused on this function.