From: notaz Date: Sat, 18 Dec 2010 19:32:48 +0000 (+0200) Subject: drc: pass correct address to verify_code X-Git-Tag: r1~17 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ac545b3a5cc51f7b521a7820b08923d2bbe360c1;p=pcsx_rearmed.git drc: pass correct address to verify_code --- diff --git a/libpcsxcore/new_dynarec/assem_arm.c b/libpcsxcore/new_dynarec/assem_arm.c index c8dab5bc..696509f5 100644 --- a/libpcsxcore/new_dynarec/assem_arm.c +++ b/libpcsxcore/new_dynarec/assem_arm.c @@ -2959,15 +2959,19 @@ do_invstub(int n) int do_dirty_stub(int i) { assem_debug("do_dirty_stub %x\n",start+i*4); + u_int addr=(int)start<(int)0xC0000000?(u_int)source:(u_int)start; + #ifdef PCSX + addr=(u_int)source; + #endif // Careful about the code output here, verify_dirty needs to parse it. #ifdef ARMv5_ONLY - emit_loadlp((int)start<(int)0xC0000000?(int)source:(int)start,1); + emit_loadlp(addr,1); emit_loadlp((int)copy,2); emit_loadlp(slen*4,3); #else - emit_movw(((int)start<(int)0xC0000000?(u_int)source:(u_int)start)&0x0000FFFF,1); + emit_movw(addr&0x0000FFFF,1); emit_movw(((u_int)copy)&0x0000FFFF,2); - emit_movt(((int)start<(int)0xC0000000?(u_int)source:(u_int)start)&0xFFFF0000,1); + emit_movt(addr&0xFFFF0000,1); emit_movt(((u_int)copy)&0xFFFF0000,2); emit_movw(slen*4,3); #endif