diff options
| author | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-05-21 08:32:39 +0000 |
|---|---|---|
| committer | SND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97> | 2010-05-21 08:32:39 +0000 |
| commit | 54ef2e8a8000b8056aa32eb00179ab15dd48e2d8 (patch) | |
| tree | 6a8cfca34b8fc3861302d7a17db0dd7f53ecb74f /libpcsxcore/ix86 | |
| parent | 2030af5d172802ddc2c74dfe4962a220237ebd20 (diff) | |
| download | pcsxr-54ef2e8a8000b8056aa32eb00179ab15dd48e2d8.tar.gz | |
revert the previous revert, and fixed the value in mdec1Interrupt().
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@48431 e17a0e51-4ae3-4d35-97c3-1a29b211df97
Diffstat (limited to 'libpcsxcore/ix86')
| -rw-r--r-- | libpcsxcore/ix86/iR3000A.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libpcsxcore/ix86/iR3000A.c b/libpcsxcore/ix86/iR3000A.c index b8076409..f8583d84 100644 --- a/libpcsxcore/ix86/iR3000A.c +++ b/libpcsxcore/ix86/iR3000A.c @@ -97,7 +97,7 @@ static void iFlushRegs() { static void iRet() { /* store cycle */ - count = (pc - pcold)/4; + count = ((pc - pcold) / 4) * BIAS; ADD32ItoM((u32)&psxRegs.cycle, count); if (resp) ADD32ItoR(ESP, resp); RET(); @@ -148,7 +148,7 @@ static void SetBranch() { iFlushRegs(); MOV32ItoM((u32)&psxRegs.code, psxRegs.code); /* store cycle */ - count = (pc - pcold) / 4; + count = ((pc - pcold) / 4) * BIAS; ADD32ItoM((u32)&psxRegs.cycle, count); if (resp) ADD32ItoR(ESP, resp); @@ -180,7 +180,7 @@ static void iJump(u32 branchPC) { iFlushRegs(); MOV32ItoM((u32)&psxRegs.code, psxRegs.code); /* store cycle */ - count = (pc - pcold)/4; + count = ((pc - pcold) / 4) * BIAS; ADD32ItoM((u32)&psxRegs.cycle, count); if (resp) ADD32ItoR(ESP, resp); @@ -199,7 +199,7 @@ static void iJump(u32 branchPC) { MOV32ItoM((u32)&psxRegs.pc, branchPC); CALLFunc((u32)psxBranchTest); /* store cycle */ - count = (pc - pcold)/4; + count = ((pc - pcold) / 4) * BIAS; ADD32ItoM((u32)&psxRegs.cycle, count); if (resp) ADD32ItoR(ESP, resp); @@ -236,7 +236,7 @@ static void iBranch(u32 branchPC, int savectx) { iFlushRegs(); MOV32ItoM((u32)&psxRegs.code, psxRegs.code); /* store cycle */ - count = ((pc+4) - pcold)/4; + count = (((pc+4) - pcold) / 4) * BIAS; ADD32ItoM((u32)&psxRegs.cycle, count); if (resp) ADD32ItoR(ESP, resp); @@ -256,7 +256,7 @@ static void iBranch(u32 branchPC, int savectx) { MOV32ItoM((u32)&psxRegs.pc, branchPC); CALLFunc((u32)psxBranchTest); /* store cycle */ - count = (pc - pcold)/4; + count = ((pc - pcold) / 4) * BIAS; ADD32ItoM((u32)&psxRegs.cycle, count); if (resp) ADD32ItoR(ESP, resp); |
