summaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authorSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-11-21 00:33:16 +0000
committerSND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-11-21 00:33:16 +0000
commit807a5644e8124ffe64fe88c57159f42a494bc555 (patch)
treea3fa64d1d98eefd8c338ca400d24e8cc517763e6 /libpcsxcore
parentf479ee11f89be91008f8c79a2494b1bc58dd1370 (diff)
downloadpcsxr-807a5644e8124ffe64fe88c57159f42a494bc555.tar.gz
Xenogears - psxinterpreter.c
- lbu v1 - beq v1 = no load delay - fix battle loading (interpreter only) git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@59863 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/psxinterpreter.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/libpcsxcore/psxinterpreter.c b/libpcsxcore/psxinterpreter.c
index f6cf99fd..fffa3848 100644
--- a/libpcsxcore/psxinterpreter.c
+++ b/libpcsxcore/psxinterpreter.c
@@ -251,6 +251,10 @@ int psxTestLoadDelay(int reg, u32 tmp) {
switch (_tRt_) {
case 0x00: case 0x02:
case 0x10: case 0x12: // BLTZ/BGEZ...
+ // Xenogears - lbu v0 / beq v0
+ // - no load delay (fixes battle loading)
+ break;
+
if (_tRs_ == reg) return 2;
break;
}
@@ -262,10 +266,18 @@ int psxTestLoadDelay(int reg, u32 tmp) {
break;
case 0x04: case 0x05: // BEQ/BNE
+ // Xenogears - lbu v0 / beq v0
+ // - no load delay (fixes battle loading)
+ break;
+
if (_tRs_ == reg || _tRt_ == reg) return 2;
break;
case 0x06: case 0x07: // BLEZ/BGTZ
+ // Xenogears - lbu v0 / beq v0
+ // - no load delay (fixes battle loading)
+ break;
+
if (_tRs_ == reg) return 2;
break;