diff options
| author | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-11-21 00:33:16 +0000 |
|---|---|---|
| committer | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-11-21 00:33:16 +0000 |
| commit | 807a5644e8124ffe64fe88c57159f42a494bc555 (patch) | |
| tree | a3fa64d1d98eefd8c338ca400d24e8cc517763e6 /libpcsxcore | |
| parent | f479ee11f89be91008f8c79a2494b1bc58dd1370 (diff) | |
| download | pcsxr-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.c | 12 |
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; |
