summaryrefslogtreecommitdiff
path: root/libpcsxcore/ix86
diff options
context:
space:
mode:
Diffstat (limited to 'libpcsxcore/ix86')
-rw-r--r--libpcsxcore/ix86/iR3000A.c12
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);