diff options
| author | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-11-17 17:59:05 +0000 |
|---|---|---|
| committer | SND\shalma_cp <SND\shalma_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-11-17 17:59:05 +0000 |
| commit | ae7f3162423c109f2dbcb5f3f98920c628aeff8a (patch) | |
| tree | 9d0c74b5b46b1208fae855857c48b6c1998e5c41 | |
| parent | 1b3bf63d4a5a234f130e78ddb653a879a38209a2 (diff) | |
| download | pcsxr-ae7f3162423c109f2dbcb5f3f98920c628aeff8a.tar.gz | |
Lode Runner - ir3000a.c
- Stop branch logic during jr - beq
- fixes boot (dynarec)
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@59715 e17a0e51-4ae3-4d35-97c3-1a29b211df97
| -rw-r--r-- | libpcsxcore/ix86/iR3000A.c | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/libpcsxcore/ix86/iR3000A.c b/libpcsxcore/ix86/iR3000A.c index 4f7029ab..204580c1 100644 --- a/libpcsxcore/ix86/iR3000A.c +++ b/libpcsxcore/ix86/iR3000A.c @@ -163,7 +163,23 @@ static void SetBranch() { return; } - recBSC[psxRegs.code>>26](); +
+ switch( psxRegs.code >> 24 ) {
+ // Lode Runner (jr - beq)
+
+ // bltz - bgez - bltzal - bgezal / beq - bne - blez - bgtz
+ case 0x04:
+ case 0x10:
+ case 0x14:
+ case 0x18:
+ case 0x1c:
+ break;
+
+ default:
+ recBSC[psxRegs.code>>26]();
+ break;
+ }
+
iFlushRegs(); MOV32MtoR(EAX, (u32)&target); |
