I ported moonlight's psppacker to PSP. The application uses VLF, but there's a strange crash. Here's the code:
Code: Select all
while(prxSearch[++i] && pathnum < MAXPATHS) {
prxSearch[0] and prxSearch[1] are valid paths, prxSearch[2] is NULL, to make the loop break. when it reach the NULL, boom, crash. i start from -1 (I do that to make the loop a bit more compact). the VERY strange thing is that the program also search PBPs, and it's done before PRX search. this line:
Code: Select all
while(gameSearch[++i] && pathnum < MAXPATHS) {
here's prxSearch and gameSearch:
Code: Select all
char *gameSearch[] = {
"ms0:/PSP/GAME/",
"ms0:/PSP/GAME150/",
"ms0:/PSP/GAME3XX/",
"ms0:/PSP/GAME4XX/",
"ms0:/PSP/GAME5XX/",
"ms0:/CGAME/",
NULL
};
char *prxSearch[] = {
"ms0:/seplugins/",
"ms0:/CPRX/",
NULL
};
Code: Select all
Exception - Bus error (data)
Thread ID - 0x044B665D
Th Name - user_main
Module ID - 0x044BEB51
Mod Name - VLF_Module
EPC - 0x08869C90
Cause - 0x1000001C
BadVAddr - 0x00000000
Status - 0x20088613
zr:0x00000000 at:0xDEADBEEF v0:0x4C505351 v1:0x00000067
a0:0x4C505350 a1:0x00000080 a2:0x4C505350 a3:0x00000000
t0:0x00000086 t1:0x00000000 t2:0x09FB7D00 t3:0x10199999
t4:0xDEADBEEF t5:0x40601999 t6:0x00000000 t7:0xDEADBEEF
s0:0x08B25170 s1:0x4C505350 s2:0x09FB7DB0 s3:0x00000080
s4:0x000000F0 s5:0x08910000 s6:0x00000000 s7:0x000000F0
t8:0xDEADBEEF t9:0x08814F4C k0:0x09FBBF00 k1:0x00000000
gp:0x08893B30 sp:0x09FB7D08 fp:0x08807D94 ra:0x0881CF3C
0x08869C90: 0x90830000 '....' - lbu $v1, 0($a0)
can somebody help me?
thanks!