summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-11-10 14:14:58 +0000
committerSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-11-10 14:14:58 +0000
commit35c4162f34365f124d8fdf4aefbb639d8af11783 (patch)
treeab2cc1c880447f0c0c782686e09194866ce25659
parent89129b1aa75ba71467082098e1819c98d883a40a (diff)
downloadpcsxr-35c4162f34365f124d8fdf4aefbb639d8af11783.tar.gz
V-Rally 2 - ir3000a.c
- force the clear dynarec memory for sb,sh,sw - fix corrupted tree sprite (dynarec engine) git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@59387 e17a0e51-4ae3-4d35-97c3-1a29b211df97
-rw-r--r--libpcsxcore/ix86/iR3000A.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/libpcsxcore/ix86/iR3000A.c b/libpcsxcore/ix86/iR3000A.c
index 42b7a09b..f803bd21 100644
--- a/libpcsxcore/ix86/iR3000A.c
+++ b/libpcsxcore/ix86/iR3000A.c
@@ -1755,7 +1755,9 @@ static void recSB() {
if (IsConst(_Rs_)) {
u32 addr = iRegs[_Rs_].k + _Imm_;
int t = addr >> 16;
-
+
+#if 0
+ // V-Rally 2 - no tree sprite corruption
if ((t & 0x1fe0) == 0 && (t & 0x1fff) != 0) {
if (IsConst(_Rt_)) {
MOV8ItoM((u32)&psxM[addr & 0x1fffff], (u8)iRegs[_Rt_].k);
@@ -1764,7 +1766,8 @@ static void recSB() {
MOV8RtoM((u32)&psxM[addr & 0x1fffff], EAX);
}
return;
- }
+ }
+#endif
if (t == 0x1f80 && addr < 0x1f801000) {
if (IsConst(_Rt_)) {
MOV8ItoM((u32)&psxH[addr & 0xfff], (u8)iRegs[_Rt_].k);
@@ -1797,6 +1800,8 @@ static void recSH() {
u32 addr = iRegs[_Rs_].k + _Imm_;
int t = addr >> 16;
+#if 0
+ // V-Rally 2 - no tree sprite corruption
if ((t & 0x1fe0) == 0 && (t & 0x1fff) != 0) {
if (IsConst(_Rt_)) {
MOV16ItoM((u32)&psxM[addr & 0x1fffff], (u16)iRegs[_Rt_].k);
@@ -1805,7 +1810,8 @@ static void recSH() {
MOV16RtoM((u32)&psxM[addr & 0x1fffff], EAX);
}
return;
- }
+ }
+#endif
if (t == 0x1f80 && addr < 0x1f801000) {
if (IsConst(_Rt_)) {
MOV16ItoM((u32)&psxH[addr & 0xfff], (u16)iRegs[_Rt_].k);
@@ -1853,6 +1859,8 @@ static void recSW() {
u32 addr = iRegs[_Rs_].k + _Imm_;
int t = addr >> 16;
+#if 0
+ // V-Rally 2 - no tree sprite corruption
if ((t & 0x1fe0) == 0 && (t & 0x1fff) != 0) {
if (IsConst(_Rt_)) {
MOV32ItoM((u32)&psxM[addr & 0x1fffff], iRegs[_Rt_].k);
@@ -1861,7 +1869,8 @@ static void recSW() {
MOV32RtoM((u32)&psxM[addr & 0x1fffff], EAX);
}
return;
- }
+ }
+#endif
if (t == 0x1f80 && addr < 0x1f801000) {
if (IsConst(_Rt_)) {
MOV32ItoM((u32)&psxH[addr & 0xfff], iRegs[_Rt_].k);