- Panic! GameInfo reading 302251 out of ROM (302254)!
- halting emu: ARM9 PC=020406A0/02000F0B, LR=0204069C
- ARM9 halted
- halting emu: ARM7 PC=037F9B84/037F9B7C
- ARM7 halte
break *0x20406a0 if $r3 + $r0 > 0x300000 && $r0 < 0xb000000
could be working, except that GameInfo doesn't start at offset 0, but apparently rather at offset 0x08000000.
A bit more digging (setting the right breakpoint, using one more desmume patch to reveal registers R0 through R3) finally allowed me to get a stack trace....
And the offending memcpy was part of a buffer refill for waves.cmd file. For some reason, by incrementing the size, I hit a threshold where one more copy is needed, but then the very last bytes can't be read because the emulator believe they should always pick a 4 bytes from the current position (instead of an aligned 32-bit word holding the byte). Simply adding a zz.zz file that will come past the waves.cmd file make the code work again.
No comments:
Post a Comment