GP32 _ISR_STARTADDRESS


mr.spiv posted on Oct 7 2003 at 09:53 PM said:
...and from where did you pick up this define?
from gpstdio_internal.h/.c from darkfader
I wanted to try reading the GP32 ID to make a beta-tester protection
then only the beta-tester who have the autorisation of testing a game can run it just by verificating the GP32 ID, it allow to avoid some problems like ThunderZ with his NeoGeo emulator

but it seems that it doesn't work properly :(
 
Last edited by a moderator:
Orion_ posted on Oct 8 2003 at 03:15 PM said:
mr.spiv posted on Oct 7 2003 at 09:53 PM said:
...and from where did you pick up this define?
from gpstdio_internal.h/.c from darkfader
I wanted to try reading the GP32 ID to make a beta-tester protection
then only the beta-tester who have the autorisation of testing a game can run it just by verificating the GP32 ID, it allow to avoid some problems like ThunderZ with his NeoGeo emulator

but it seems that it doesn't work properly :(
funny.. I can't find them (define & files) being part of any SDK.. anyways reading GP32 ID goes nicely via SWI 0x105..
 
Last edited by a moderator:
"anyways reading GP32 ID goes nicely via SWI 0x105.."
I know but this doesn't work (or maybe i'm too stupid to make it work :unsure: )
 
Digging some old sources...


getID:
stmdb sp!, {r1, r2, r3, lr}
mov r3, #0 @ 0x0
swi 0x00000105
ldmia sp!, {r1, r2, r3, pc}


....

char bufid[4096;]
char buf[33];

if (getID(16,16,bufid) != 0) {
GpTextOut(NULL,&gpDraw,0,20,"Error! Failed to read DEV ID",0x00);
} else {
char key[8] = {"SANGHYUK"};
buf[32] = '\0';

for (n = 0; n < 16; n++) {
gm_sprintf(buf+2*n,"%02X",bufid[n] ^ key[n % 8]);
}
GpTextOut(NULL,&gpDraw,0,30,buf,0x00);
}


...should do the trick.. :blink:
 
Back
Top