notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
drc: minor disassembly fixes
[pcsx_rearmed.git]
/
libpcsxcore
/
new_dynarec
/
assem_arm.c
diff --git
a/libpcsxcore/new_dynarec/assem_arm.c
b/libpcsxcore/new_dynarec/assem_arm.c
index
c8dab5b
..
4065afa
100644
(file)
--- a/
libpcsxcore/new_dynarec/assem_arm.c
+++ b/
libpcsxcore/new_dynarec/assem_arm.c
@@
-1938,7
+1938,7
@@
void emit_writebyte(int rt, int addr)
{
u_int offset = addr-(u_int)&dynarec_local;
assert(offset<4096);
{
u_int offset = addr-(u_int)&dynarec_local;
assert(offset<4096);
- assem_debug("str %s,fp+%d\n",regname[rt],offset);
+ assem_debug("str
b
%s,fp+%d\n",regname[rt],offset);
output_w32(0xe5c00000|rd_rn_rm(rt,FP,0)|offset);
}
void emit_writeword_imm(int imm, int addr)
output_w32(0xe5c00000|rd_rn_rm(rt,FP,0)|offset);
}
void emit_writeword_imm(int imm, int addr)
@@
-2912,7
+2912,7
@@
do_unalignedwritestub(int n)
#endif
emit_xorimm(temp,24,temp);
emit_movimm(-1,HOST_TEMPREG);
#endif
emit_xorimm(temp,24,temp);
emit_movimm(-1,HOST_TEMPREG);
- if (opcode[i]==0x2
e) { // SWR
+ if (opcode[i]==0x2
a) { // SWL
emit_bic_lsr(temp2,HOST_TEMPREG,temp,temp2);
emit_orrshr(rt,temp,temp2);
}else{
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);
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
// 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_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_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
emit_movt(((u_int)copy)&0xFFFF0000,2);
emit_movw(slen*4,3);
#endif