summaryrefslogtreecommitdiff
path: root/libpcsxcore/ix86_64
diff options
context:
space:
mode:
authorSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-05-21 08:32:39 +0000
committerSND\weimingzhi_cp <SND\weimingzhi_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2010-05-21 08:32:39 +0000
commit54ef2e8a8000b8056aa32eb00179ab15dd48e2d8 (patch)
tree6a8cfca34b8fc3861302d7a17db0dd7f53ecb74f /libpcsxcore/ix86_64
parent2030af5d172802ddc2c74dfe4962a220237ebd20 (diff)
downloadpcsxr-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_64')
-rw-r--r--libpcsxcore/ix86_64/iR3000A-64.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/libpcsxcore/ix86_64/iR3000A-64.c b/libpcsxcore/ix86_64/iR3000A-64.c
index d7754bb9..b686def2 100644
--- a/libpcsxcore/ix86_64/iR3000A-64.c
+++ b/libpcsxcore/ix86_64/iR3000A-64.c
@@ -110,7 +110,7 @@ static void iFlushRegs() {
static void iRet() {
/* store cycle */
- count = (pc - pcold)/4;
+ count = ((pc - pcold) / 4) * BIAS;
ADD32ItoM((uptr)&psxRegs.cycle, count);
StackRes();
RET();
@@ -161,7 +161,7 @@ static void SetBranch() {
iFlushRegs();
MOV32ItoM((uptr)&psxRegs.code, psxRegs.code);
/* store cycle */
- count = (pc - pcold)/4;
+ count = ((pc - pcold) / 4) * BIAS;
ADD32ItoM((uptr)&psxRegs.cycle, count);
//PUSH64M((uptr)&target);
@@ -193,7 +193,7 @@ static void iJump(u32 branchPC) {
iFlushRegs();
MOV32ItoM((uptr)&psxRegs.code, psxRegs.code);
/* store cycle */
- count = (pc - pcold)/4;
+ count = ((pc - pcold) / 4) * BIAS;
ADD32ItoM((uptr)&psxRegs.cycle, count);
//PUSHI(branchPC);
@@ -213,7 +213,7 @@ static void iJump(u32 branchPC) {
MOV32ItoM((uptr)&psxRegs.pc, branchPC);
CALLFunc((uptr)psxBranchTest);
/* store cycle */
- count = (pc - pcold)/4;
+ count = ((pc - pcold) / 4) * BIAS;
ADD32ItoM((uptr)&psxRegs.cycle, count);
StackRes();
@@ -257,7 +257,7 @@ static void iBranch(u32 branchPC, int savectx) {
iFlushRegs();
MOV32ItoM((uptr)&psxRegs.code, psxRegs.code);
/* store cycle */
- count = ((pc+4) - pcold)/4;
+ count = (((pc+4) - pcold) / 4) * BIAS;
ADD32ItoM((uptr)&psxRegs.cycle, count);
//if (resp) ADD32ItoR(ESP, resp);
@@ -278,7 +278,7 @@ static void iBranch(u32 branchPC, int savectx) {
MOV32ItoM((uptr)&psxRegs.pc, branchPC);
CALLFunc((uptr)psxBranchTest);
/* store cycle */
- count = (pc - pcold)/4;
+ count = ((pc - pcold) / 4) * BIAS;
ADD32ItoM((uptr)&psxRegs.cycle, count);
StackRes();