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 | |
| parent | db481db412d4dd180c49507dff5b054852c9acbf (diff) | |
| download | pcsx_rearmed-587a5b1caa1ceb8ea085d4dec0d2b4fbf69226c1.tar.gz pcsx_rearmed-587a5b1caa1ceb8ea085d4dec0d2b4fbf69226c1.tar.bz2 pcsx_rearmed-587a5b1caa1ceb8ea085d4dec0d2b4fbf69226c1.zip | |
drc/gte: decode MVMVA data deps
| -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: |
