X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fnew_dynarec%2Fassem_arm.c;h=515f7c44786444d06edc5b074c70ef569a5ef5cc;hp=c8dab5bc0198f27c28f2192b050ac719e8b7b9f5;hb=554394483dfc86c47b4e5308db47a85c918d59d3;hpb=4cb76aa4e037a59c85d0fa256fb85fe11d3405af diff --git a/libpcsxcore/new_dynarec/assem_arm.c b/libpcsxcore/new_dynarec/assem_arm.c index c8dab5bc..515f7c44 100644 --- a/libpcsxcore/new_dynarec/assem_arm.c +++ b/libpcsxcore/new_dynarec/assem_arm.c @@ -2912,7 +2912,7 @@ do_unalignedwritestub(int n) #endif emit_xorimm(temp,24,temp); emit_movimm(-1,HOST_TEMPREG); - if (opcode[i]==0x2e) { // SWR + if (opcode[i]==0x2a) { // SWL emit_bic_lsr(temp2,HOST_TEMPREG,temp,temp2); emit_orrshr(rt,temp,temp2); }else{ @@ -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