aboutsummaryrefslogtreecommitdiff
path: root/source/cpuaddr.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/cpuaddr.h')
-rw-r--r--source/cpuaddr.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/source/cpuaddr.h b/source/cpuaddr.h
index 4423b7c..6335495 100644
--- a/source/cpuaddr.h
+++ b/source/cpuaddr.h
@@ -119,7 +119,7 @@ static void Immediate16 (AccessMode a, InternalOp op)
static void Relative (AccessMode a, InternalOp op)
{
int8 Int8 = *CPU.PC++;
- long Addr = ((int) (CPU.PC - CPU.PCBase) + Int8) & 0xffff;
+ long Addr = ((intptr_t) (CPU.PC - CPU.PCBase) + Int8) & 0xffff;
(*op)(Addr);
}
@@ -207,7 +207,7 @@ static void AbsoluteLong (AccessMode a, InternalOp op)
#ifdef FAST_LSB_WORD_ACCESS
Addr = (*(uint32 *) CPU.PC) & 0xffffff;
#elif defined FAST_ALIGNED_LSB_WORD_ACCESS
- if (((int) CPU.PC & 1) == 0)
+ if (((intptr_t) CPU.PC & 1) == 0)
Addr = (*(uint16 *) CPU.PC) + (*(CPU.PC + 2) << 16);
else
Addr = *CPU.PC + ((*(uint16 *) (CPU.PC + 1)) << 8);
@@ -322,7 +322,7 @@ static void AbsoluteLongIndexedX (AccessMode a, InternalOp op)
#ifdef FAST_LSB_WORD_ACCESS
Addr = (*(uint32 *) CPU.PC + ICPU.Registers.X.W) & 0xffffff;
#elif defined FAST_ALIGNED_LSB_WORD_ACCESS
- if (((int) CPU.PC & 1) == 0)
+ if (((intptr_t) CPU.PC & 1) == 0)
Addr = ((*(uint16 *) CPU.PC) + (*(CPU.PC + 2) << 16) + ICPU.Registers.X.W) & 0xFFFFFF;
else
Addr = (*CPU.PC + ((*(uint16 *) (CPU.PC + 1)) << 8) + ICPU.Registers.X.W) & 0xFFFFFF;