From ae7f3162423c109f2dbcb5f3f98920c628aeff8a Mon Sep 17 00:00:00 2001 From: "SND\\shalma_cp" Date: Wed, 17 Nov 2010 17:59:05 +0000 Subject: 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 --- libpcsxcore/ix86/iR3000A.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'libpcsxcore') 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); -- cgit v1.2.3