diff options
author | notaz | 2011-11-01 22:02:08 +0200 |
---|---|---|
committer | notaz | 2011-11-01 22:02:31 +0200 |
commit | 587a5b1caa1ceb8ea085d4dec0d2b4fbf69226c1 (patch) | |
tree | f5964e36d6f2aadfe2520c8697fb7d45aff6ea93 /libpcsxcore | |
parent | db481db412d4dd180c49507dff5b054852c9acbf (diff) | |
download | pcsx_rearmed-587a5b1caa1ceb8ea085d4dec0d2b4fbf69226c1.tar.gz pcsx_rearmed-587a5b1caa1ceb8ea085d4dec0d2b4fbf69226c1.tar.bz2 pcsx_rearmed-587a5b1caa1ceb8ea085d4dec0d2b4fbf69226c1.zip |
drc/gte: decode MVMVA data deps
Diffstat (limited to 'libpcsxcore')
-rw-r--r-- | libpcsxcore/new_dynarec/new_dynarec.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c index fb39cf0..533ec79 100644 --- a/libpcsxcore/new_dynarec/new_dynarec.c +++ b/libpcsxcore/new_dynarec/new_dynarec.c @@ -8699,6 +8699,12 @@ int new_recompile_block(int addr) gte_rs[i]=gte_reg_reads[source[i]&0x3f]; gte_rt[i]=gte_reg_writes[source[i]&0x3f]; gte_rt[i]|=1ll<<63; // every op changes flags + if((source[i]&0x3f)==GTE_MVMVA) { + int v = (source[i] >> 15) & 3; + gte_rs[i]&=~0xe3fll; + if(v==3) gte_rs[i]|=0xe00ll; + else gte_rs[i]|=3ll<<(v*2); + } break; case FLOAT: case FCONV: |