diff options
author | notaz | 2011-02-17 18:20:47 +0200 |
---|---|---|
committer | notaz | 2011-02-17 23:45:24 +0200 |
commit | cbbab9cd861a35ecc38546d7291c3cc655b4f5ed (patch) | |
tree | f29da00a6f4d5dbf5741ac1c187d24fd65352c7c /libpcsxcore/new_dynarec/assem_arm.c | |
parent | fb4074479c536e12f7668aa5dfff48b146562d57 (diff) | |
download | pcsx_rearmed-cbbab9cd861a35ecc38546d7291c3cc655b4f5ed.tar.gz pcsx_rearmed-cbbab9cd861a35ecc38546d7291c3cc655b4f5ed.tar.bz2 pcsx_rearmed-cbbab9cd861a35ecc38546d7291c3cc655b4f5ed.zip |
drc: some PCSX-specific const addr io handlers
Diffstat (limited to 'libpcsxcore/new_dynarec/assem_arm.c')
-rw-r--r-- | libpcsxcore/new_dynarec/assem_arm.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libpcsxcore/new_dynarec/assem_arm.c b/libpcsxcore/new_dynarec/assem_arm.c index 8432884..eed584e 100644 --- a/libpcsxcore/new_dynarec/assem_arm.c +++ b/libpcsxcore/new_dynarec/assem_arm.c @@ -2602,6 +2602,10 @@ emit_extjump_ds(int addr, int target) emit_extjump2(addr, target, (int)dyna_linker_ds); } +#ifdef PCSX +#include "pcsxmem_inline.c" +#endif + do_readstub(int n) { assem_debug("do_readstub %x\n",start+stubs[n][3]*4); @@ -2721,6 +2725,10 @@ inline_readstub(int type, int i, u_int addr, signed char regmap[], int target, i ftable=(int)readmemd; #endif assert(ftable!=0); +#ifdef PCSX + if(pcsx_direct_read(type,addr,target?rs:-1,rt)) + return; +#endif if(target==0) emit_movimm(addr,rs); emit_writeword(rs,(int)&address); @@ -2879,6 +2887,10 @@ inline_writestub(int type, int i, u_int addr, signed char regmap[], int target, int rt=get_reg(regmap,target); assert(rs>=0); assert(rt>=0); +#ifdef PCSX + if(pcsx_direct_write(type,addr,rs,rt,regmap)) + return; +#endif int ftable=0; if(type==STOREB_STUB) ftable=(int)writememb; |