summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2008-11-06 10:38:54 +0000
committer Aaron Giles <aaron@aarongiles.com>2008-11-06 10:38:54 +0000
commitbf2501e3b7460a557c72305f65ddebcdab1a1346 (patch)
treefe917d49d79108eb034e3754d749451bc7ca28de /src/emu
parent67db279bb2505252caf8f3250cee55e78a5a0bed (diff)
Removed a bunch of useless macros. Consolidated several others.
Standardized on MAME types. Defined uint/sint to be 32-bits rather than all this target platform guessing about how many bits are in an int.
Diffstat (limited to 'src/emu')
-rw-r--r--src/emu/cpu/m68000/m68k_in.c3274
-rw-r--r--src/emu/cpu/m68000/m68kcpu.c244
-rw-r--r--src/emu/cpu/m68000/m68kcpu.h763
-rw-r--r--src/emu/cpu/m68000/m68kdasm.c250
4 files changed, 2197 insertions, 2334 deletions
diff --git a/src/emu/cpu/m68000/m68k_in.c b/src/emu/cpu/m68000/m68k_in.c
index 4a416f27cd0..753a87615d2 100644
--- a/src/emu/cpu/m68000/m68k_in.c
+++ b/src/emu/cpu/m68000/m68k_in.c
@@ -891,7 +891,7 @@ M68KMAKE_OP(1111, 0, ., .)
M68KMAKE_OP(040fpu0, 32, ., .)
{
- if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
m68040_fpu_op0(m68k);
return;
@@ -902,7 +902,7 @@ M68KMAKE_OP(040fpu0, 32, ., .)
M68KMAKE_OP(040fpu1, 32, ., .)
{
- if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
m68040_fpu_op1(m68k);
return;
@@ -914,10 +914,10 @@ M68KMAKE_OP(040fpu1, 32, ., .)
M68KMAKE_OP(abcd, 8, rr, .)
{
- uint* r_dst = &DX;
- uint src = DY;
- uint dst = *r_dst;
- uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1();
+ UINT32* r_dst = &DX;
+ UINT32 src = DY;
+ UINT32 dst = *r_dst;
+ UINT32 res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1();
FLAG_V = ~res; /* Undefined V behavior */
@@ -940,10 +940,10 @@ M68KMAKE_OP(abcd, 8, rr, .)
M68KMAKE_OP(abcd, 8, mm, ax7)
{
- uint src = OPER_AY_PD_8(m68k);
- uint ea = EA_A7_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_8(m68k);
+ UINT32 ea = EA_A7_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1();
FLAG_V = ~res; /* Undefined V behavior */
@@ -966,10 +966,10 @@ M68KMAKE_OP(abcd, 8, mm, ax7)
M68KMAKE_OP(abcd, 8, mm, ay7)
{
- uint src = OPER_A7_PD_8(m68k);
- uint ea = EA_AX_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1();
+ UINT32 src = OPER_A7_PD_8(m68k);
+ UINT32 ea = EA_AX_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1();
FLAG_V = ~res; /* Undefined V behavior */
@@ -992,10 +992,10 @@ M68KMAKE_OP(abcd, 8, mm, ay7)
M68KMAKE_OP(abcd, 8, mm, axy7)
{
- uint src = OPER_A7_PD_8(m68k);
- uint ea = EA_A7_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1();
+ UINT32 src = OPER_A7_PD_8(m68k);
+ UINT32 ea = EA_A7_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1();
FLAG_V = ~res; /* Undefined V behavior */
@@ -1018,10 +1018,10 @@ M68KMAKE_OP(abcd, 8, mm, axy7)
M68KMAKE_OP(abcd, 8, mm, .)
{
- uint src = OPER_AY_PD_8(m68k);
- uint ea = EA_AX_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_8(m68k);
+ UINT32 ea = EA_AX_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1();
FLAG_V = ~res; /* Undefined V behavior */
@@ -1044,10 +1044,10 @@ M68KMAKE_OP(abcd, 8, mm, .)
M68KMAKE_OP(add, 8, er, d)
{
- uint* r_dst = &DX;
- uint src = MASK_OUT_ABOVE_8(DY);
- uint dst = MASK_OUT_ABOVE_8(*r_dst);
- uint res = src + dst;
+ UINT32* r_dst = &DX;
+ UINT32 src = MASK_OUT_ABOVE_8(DY);
+ UINT32 dst = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1060,10 +1060,10 @@ M68KMAKE_OP(add, 8, er, d)
M68KMAKE_OP(add, 8, er, .)
{
- uint* r_dst = &DX;
- uint src = M68KMAKE_GET_OPER_AY_8;
- uint dst = MASK_OUT_ABOVE_8(*r_dst);
- uint res = src + dst;
+ UINT32* r_dst = &DX;
+ UINT32 src = M68KMAKE_GET_OPER_AY_8;
+ UINT32 dst = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1076,10 +1076,10 @@ M68KMAKE_OP(add, 8, er, .)
M68KMAKE_OP(add, 16, er, d)
{
- uint* r_dst = &DX;
- uint src = MASK_OUT_ABOVE_16(DY);
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = src + dst;
+ UINT32* r_dst = &DX;
+ UINT32 src = MASK_OUT_ABOVE_16(DY);
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_16(res);
FLAG_V = VFLAG_ADD_16(src, dst, res);
@@ -1092,10 +1092,10 @@ M68KMAKE_OP(add, 16, er, d)
M68KMAKE_OP(add, 16, er, a)
{
- uint* r_dst = &DX;
- uint src = MASK_OUT_ABOVE_16(AY);
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = src + dst;
+ UINT32* r_dst = &DX;
+ UINT32 src = MASK_OUT_ABOVE_16(AY);
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_16(res);
FLAG_V = VFLAG_ADD_16(src, dst, res);
@@ -1108,10 +1108,10 @@ M68KMAKE_OP(add, 16, er, a)
M68KMAKE_OP(add, 16, er, .)
{
- uint* r_dst = &DX;
- uint src = M68KMAKE_GET_OPER_AY_16;
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = src + dst;
+ UINT32* r_dst = &DX;
+ UINT32 src = M68KMAKE_GET_OPER_AY_16;
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_16(res);
FLAG_V = VFLAG_ADD_16(src, dst, res);
@@ -1124,10 +1124,10 @@ M68KMAKE_OP(add, 16, er, .)
M68KMAKE_OP(add, 32, er, d)
{
- uint* r_dst = &DX;
- uint src = DY;
- uint dst = *r_dst;
- uint res = src + dst;
+ UINT32* r_dst = &DX;
+ UINT32 src = DY;
+ UINT32 dst = *r_dst;
+ UINT32 res = src + dst;
FLAG_N = NFLAG_32(res);
FLAG_V = VFLAG_ADD_32(src, dst, res);
@@ -1140,10 +1140,10 @@ M68KMAKE_OP(add, 32, er, d)
M68KMAKE_OP(add, 32, er, a)
{
- uint* r_dst = &DX;
- uint src = AY;
- uint dst = *r_dst;
- uint res = src + dst;
+ UINT32* r_dst = &DX;
+ UINT32 src = AY;
+ UINT32 dst = *r_dst;
+ UINT32 res = src + dst;
FLAG_N = NFLAG_32(res);
FLAG_V = VFLAG_ADD_32(src, dst, res);
@@ -1156,10 +1156,10 @@ M68KMAKE_OP(add, 32, er, a)
M68KMAKE_OP(add, 32, er, .)
{
- uint* r_dst = &DX;
- uint src = M68KMAKE_GET_OPER_AY_32;
- uint dst = *r_dst;
- uint res = src + dst;
+ UINT32* r_dst = &DX;
+ UINT32 src = M68KMAKE_GET_OPER_AY_32;
+ UINT32 dst = *r_dst;
+ UINT32 res = src + dst;
FLAG_N = NFLAG_32(res);
FLAG_V = VFLAG_ADD_32(src, dst, res);
@@ -1172,10 +1172,10 @@ M68KMAKE_OP(add, 32, er, .)
M68KMAKE_OP(add, 8, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint src = MASK_OUT_ABOVE_8(DX);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = src + dst;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 src = MASK_OUT_ABOVE_8(DX);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1188,10 +1188,10 @@ M68KMAKE_OP(add, 8, re, .)
M68KMAKE_OP(add, 16, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = MASK_OUT_ABOVE_16(DX);
- uint dst = m68ki_read_16(m68k, ea);
- uint res = src + dst;
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = MASK_OUT_ABOVE_16(DX);
+ UINT32 dst = m68ki_read_16(m68k, ea);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_16(res);
FLAG_V = VFLAG_ADD_16(src, dst, res);
@@ -1204,10 +1204,10 @@ M68KMAKE_OP(add, 16, re, .)
M68KMAKE_OP(add, 32, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint src = DX;
- uint dst = m68ki_read_32(m68k, ea);
- uint res = src + dst;
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 src = DX;
+ UINT32 dst = m68ki_read_32(m68k, ea);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_32(res);
FLAG_V = VFLAG_ADD_32(src, dst, res);
@@ -1220,7 +1220,7 @@ M68KMAKE_OP(add, 32, re, .)
M68KMAKE_OP(adda, 16, ., d)
{
- uint* r_dst = &AX;
+ UINT32* r_dst = &AX;
*r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(DY));
}
@@ -1228,7 +1228,7 @@ M68KMAKE_OP(adda, 16, ., d)
M68KMAKE_OP(adda, 16, ., a)
{
- uint* r_dst = &AX;
+ UINT32* r_dst = &AX;
*r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(AY));
}
@@ -1236,8 +1236,8 @@ M68KMAKE_OP(adda, 16, ., a)
M68KMAKE_OP(adda, 16, ., .)
{
- uint* r_dst = &AX;
- uint src = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16);
+ UINT32* r_dst = &AX;
+ UINT32 src = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16);
*r_dst = MASK_OUT_ABOVE_32(*r_dst + src);
}
@@ -1245,7 +1245,7 @@ M68KMAKE_OP(adda, 16, ., .)
M68KMAKE_OP(adda, 32, ., d)
{
- uint* r_dst = &AX;
+ UINT32* r_dst = &AX;
*r_dst = MASK_OUT_ABOVE_32(*r_dst + DY);
}
@@ -1253,7 +1253,7 @@ M68KMAKE_OP(adda, 32, ., d)
M68KMAKE_OP(adda, 32, ., a)
{
- uint* r_dst = &AX;
+ UINT32* r_dst = &AX;
*r_dst = MASK_OUT_ABOVE_32(*r_dst + AY);
}
@@ -1261,8 +1261,8 @@ M68KMAKE_OP(adda, 32, ., a)
M68KMAKE_OP(adda, 32, ., .)
{
- uint* r_dst = &AX;
- uint src = M68KMAKE_GET_OPER_AY_32;
+ UINT32* r_dst = &AX;
+ UINT32 src = M68KMAKE_GET_OPER_AY_32;
*r_dst = MASK_OUT_ABOVE_32(*r_dst + src);
}
@@ -1270,10 +1270,10 @@ M68KMAKE_OP(adda, 32, ., .)
M68KMAKE_OP(addi, 8, ., d)
{
- uint* r_dst = &DY;
- uint src = OPER_I_8(m68k);
- uint dst = MASK_OUT_ABOVE_8(*r_dst);
- uint res = src + dst;
+ UINT32* r_dst = &DY;
+ UINT32 src = OPER_I_8(m68k);
+ UINT32 dst = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1286,10 +1286,10 @@ M68KMAKE_OP(addi, 8, ., d)
M68KMAKE_OP(addi, 8, ., .)
{
- uint src = OPER_I_8(m68k);
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint dst = m68ki_read_8(m68k, ea);
- uint res = src + dst;
+ UINT32 src = OPER_I_8(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1302,10 +1302,10 @@ M68KMAKE_OP(addi, 8, ., .)
M68KMAKE_OP(addi, 16, ., d)
{
- uint* r_dst = &DY;
- uint src = OPER_I_16(m68k);
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = src + dst;
+ UINT32* r_dst = &DY;
+ UINT32 src = OPER_I_16(m68k);
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_16(res);
FLAG_V = VFLAG_ADD_16(src, dst, res);
@@ -1318,10 +1318,10 @@ M68KMAKE_OP(addi, 16, ., d)
M68KMAKE_OP(addi, 16, ., .)
{
- uint src = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint dst = m68ki_read_16(m68k, ea);
- uint res = src + dst;
+ UINT32 src = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 dst = m68ki_read_16(m68k, ea);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_16(res);
FLAG_V = VFLAG_ADD_16(src, dst, res);
@@ -1334,10 +1334,10 @@ M68KMAKE_OP(addi, 16, ., .)
M68KMAKE_OP(addi, 32, ., d)
{
- uint* r_dst = &DY;
- uint src = OPER_I_32(m68k);
- uint dst = *r_dst;
- uint res = src + dst;
+ UINT32* r_dst = &DY;
+ UINT32 src = OPER_I_32(m68k);
+ UINT32 dst = *r_dst;
+ UINT32 res = src + dst;
FLAG_N = NFLAG_32(res);
FLAG_V = VFLAG_ADD_32(src, dst, res);
@@ -1350,10 +1350,10 @@ M68KMAKE_OP(addi, 32, ., d)
M68KMAKE_OP(addi, 32, ., .)
{
- uint src = OPER_I_32(m68k);
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint dst = m68ki_read_32(m68k, ea);
- uint res = src + dst;
+ UINT32 src = OPER_I_32(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 dst = m68ki_read_32(m68k, ea);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_32(res);
FLAG_V = VFLAG_ADD_32(src, dst, res);
@@ -1366,10 +1366,10 @@ M68KMAKE_OP(addi, 32, ., .)
M68KMAKE_OP(addq, 8, ., d)
{
- uint* r_dst = &DY;
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint dst = MASK_OUT_ABOVE_8(*r_dst);
- uint res = src + dst;
+ UINT32* r_dst = &DY;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 dst = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1382,10 +1382,10 @@ M68KMAKE_OP(addq, 8, ., d)
M68KMAKE_OP(addq, 8, ., .)
{
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint dst = m68ki_read_8(m68k, ea);
- uint res = src + dst;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1398,10 +1398,10 @@ M68KMAKE_OP(addq, 8, ., .)
M68KMAKE_OP(addq, 16, ., d)
{
- uint* r_dst = &DY;
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = src + dst;
+ UINT32* r_dst = &DY;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_16(res);
FLAG_V = VFLAG_ADD_16(src, dst, res);
@@ -1414,7 +1414,7 @@ M68KMAKE_OP(addq, 16, ., d)
M68KMAKE_OP(addq, 16, ., a)
{
- uint* r_dst = &AY;
+ UINT32* r_dst = &AY;
*r_dst = MASK_OUT_ABOVE_32(*r_dst + (((REG_IR >> 9) - 1) & 7) + 1);
}
@@ -1422,10 +1422,10 @@ M68KMAKE_OP(addq, 16, ., a)
M68KMAKE_OP(addq, 16, ., .)
{
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint dst = m68ki_read_16(m68k, ea);
- uint res = src + dst;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 dst = m68ki_read_16(m68k, ea);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_16(res);
FLAG_V = VFLAG_ADD_16(src, dst, res);
@@ -1438,10 +1438,10 @@ M68KMAKE_OP(addq, 16, ., .)
M68KMAKE_OP(addq, 32, ., d)
{
- uint* r_dst = &DY;
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint dst = *r_dst;
- uint res = src + dst;
+ UINT32* r_dst = &DY;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 dst = *r_dst;
+ UINT32 res = src + dst;
FLAG_N = NFLAG_32(res);
FLAG_V = VFLAG_ADD_32(src, dst, res);
@@ -1454,7 +1454,7 @@ M68KMAKE_OP(addq, 32, ., d)
M68KMAKE_OP(addq, 32, ., a)
{
- uint* r_dst = &AY;
+ UINT32* r_dst = &AY;
*r_dst = MASK_OUT_ABOVE_32(*r_dst + (((REG_IR >> 9) - 1) & 7) + 1);
}
@@ -1462,10 +1462,10 @@ M68KMAKE_OP(addq, 32, ., a)
M68KMAKE_OP(addq, 32, ., .)
{
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint dst = m68ki_read_32(m68k, ea);
- uint res = src + dst;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 dst = m68ki_read_32(m68k, ea);
+ UINT32 res = src + dst;
FLAG_N = NFLAG_32(res);
@@ -1479,10 +1479,10 @@ M68KMAKE_OP(addq, 32, ., .)
M68KMAKE_OP(addx, 8, rr, .)
{
- uint* r_dst = &DX;
- uint src = MASK_OUT_ABOVE_8(DY);
- uint dst = MASK_OUT_ABOVE_8(*r_dst);
- uint res = src + dst + XFLAG_AS_1();
+ UINT32* r_dst = &DX;
+ UINT32 src = MASK_OUT_ABOVE_8(DY);
+ UINT32 dst = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = src + dst + XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1497,10 +1497,10 @@ M68KMAKE_OP(addx, 8, rr, .)
M68KMAKE_OP(addx, 16, rr, .)
{
- uint* r_dst = &DX;
- uint src = MASK_OUT_ABOVE_16(DY);
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = src + dst + XFLAG_AS_1();
+ UINT32* r_dst = &DX;
+ UINT32 src = MASK_OUT_ABOVE_16(DY);
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = src + dst + XFLAG_AS_1();
FLAG_N = NFLAG_16(res);
FLAG_V = VFLAG_ADD_16(src, dst, res);
@@ -1515,10 +1515,10 @@ M68KMAKE_OP(addx, 16, rr, .)
M68KMAKE_OP(addx, 32, rr, .)
{
- uint* r_dst = &DX;
- uint src = DY;
- uint dst = *r_dst;
- uint res = src + dst + XFLAG_AS_1();
+ UINT32* r_dst = &DX;
+ UINT32 src = DY;
+ UINT32 dst = *r_dst;
+ UINT32 res = src + dst + XFLAG_AS_1();
FLAG_N = NFLAG_32(res);
FLAG_V = VFLAG_ADD_32(src, dst, res);
@@ -1533,10 +1533,10 @@ M68KMAKE_OP(addx, 32, rr, .)
M68KMAKE_OP(addx, 8, mm, ax7)
{
- uint src = OPER_AY_PD_8(m68k);
- uint ea = EA_A7_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = src + dst + XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_8(m68k);
+ UINT32 ea = EA_A7_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = src + dst + XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1551,10 +1551,10 @@ M68KMAKE_OP(addx, 8, mm, ax7)
M68KMAKE_OP(addx, 8, mm, ay7)
{
- uint src = OPER_A7_PD_8(m68k);
- uint ea = EA_AX_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = src + dst + XFLAG_AS_1();
+ UINT32 src = OPER_A7_PD_8(m68k);
+ UINT32 ea = EA_AX_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = src + dst + XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1569,10 +1569,10 @@ M68KMAKE_OP(addx, 8, mm, ay7)
M68KMAKE_OP(addx, 8, mm, axy7)
{
- uint src = OPER_A7_PD_8(m68k);
- uint ea = EA_A7_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = src + dst + XFLAG_AS_1();
+ UINT32 src = OPER_A7_PD_8(m68k);
+ UINT32 ea = EA_A7_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = src + dst + XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1587,10 +1587,10 @@ M68KMAKE_OP(addx, 8, mm, axy7)
M68KMAKE_OP(addx, 8, mm, .)
{
- uint src = OPER_AY_PD_8(m68k);
- uint ea = EA_AX_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = src + dst + XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_8(m68k);
+ UINT32 ea = EA_AX_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = src + dst + XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_V = VFLAG_ADD_8(src, dst, res);
@@ -1605,10 +1605,10 @@ M68KMAKE_OP(addx, 8, mm, .)
M68KMAKE_OP(addx, 16, mm, .)
{
- uint src = OPER_AY_PD_16(m68k);
- uint ea = EA_AX_PD_16(m68k);
- uint dst = m68ki_read_16(m68k, ea);
- uint res = src + dst + XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_16(m68k);
+ UINT32 ea = EA_AX_PD_16(m68k);
+ UINT32 dst = m68ki_read_16(m68k, ea);
+ UINT32 res = src + dst + XFLAG_AS_1();
FLAG_N = NFLAG_16(res);
FLAG_V = VFLAG_ADD_16(src, dst, res);
@@ -1623,10 +1623,10 @@ M68KMAKE_OP(addx, 16, mm, .)
M68KMAKE_OP(addx, 32, mm, .)
{
- uint src = OPER_AY_PD_32(m68k);
- uint ea = EA_AX_PD_32(m68k);
- uint dst = m68ki_read_32(m68k, ea);
- uint res = src + dst + XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_32(m68k);
+ UINT32 ea = EA_AX_PD_32(m68k);
+ UINT32 dst = m68ki_read_32(m68k, ea);
+ UINT32 res = src + dst + XFLAG_AS_1();
FLAG_N = NFLAG_32(res);
FLAG_V = VFLAG_ADD_32(src, dst, res);
@@ -1701,8 +1701,8 @@ M68KMAKE_OP(and, 32, er, .)
M68KMAKE_OP(and, 8, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint res = DX & m68ki_read_8(m68k, ea);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 res = DX & m68ki_read_8(m68k, ea);
FLAG_N = NFLAG_8(res);
FLAG_C = CFLAG_CLEAR;
@@ -1715,8 +1715,8 @@ M68KMAKE_OP(and, 8, re, .)
M68KMAKE_OP(and, 16, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint res = DX & m68ki_read_16(m68k, ea);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 res = DX & m68ki_read_16(m68k, ea);
FLAG_N = NFLAG_16(res);
FLAG_C = CFLAG_CLEAR;
@@ -1729,8 +1729,8 @@ M68KMAKE_OP(and, 16, re, .)
M68KMAKE_OP(and, 32, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint res = DX & m68ki_read_32(m68k, ea);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 res = DX & m68ki_read_32(m68k, ea);
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -1753,9 +1753,9 @@ M68KMAKE_OP(andi, 8, ., d)
M68KMAKE_OP(andi, 8, ., .)
{
- uint src = OPER_I_8(m68k);
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint res = src & m68ki_read_8(m68k, ea);
+ UINT32 src = OPER_I_8(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 res = src & m68ki_read_8(m68k, ea);
FLAG_N = NFLAG_8(res);
FLAG_Z = res;
@@ -1778,9 +1778,9 @@ M68KMAKE_OP(andi, 16, ., d)
M68KMAKE_OP(andi, 16, ., .)
{
- uint src = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint res = src & m68ki_read_16(m68k, ea);
+ UINT32 src = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 res = src & m68ki_read_16(m68k, ea);
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -1803,9 +1803,9 @@ M68KMAKE_OP(andi, 32, ., d)
M68KMAKE_OP(andi, 32, ., .)
{
- uint src = OPER_I_32(m68k);
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint res = src & m68ki_read_32(m68k, ea);
+ UINT32 src = OPER_I_32(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 res = src & m68ki_read_32(m68k, ea);
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -1826,7 +1826,7 @@ M68KMAKE_OP(andi, 16, tos, .)
{
if(FLAG_S)
{
- uint src = OPER_I_16(m68k);
+ UINT32 src = OPER_I_16(m68k);
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_set_sr(m68k, m68ki_get_sr(m68k) & src);
return;
@@ -1837,13 +1837,13 @@ M68KMAKE_OP(andi, 16, tos, .)
M68KMAKE_OP(asr, 8, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = src >> shift;
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(GET_MSB_8(src))
res |= m68ki_shift_8_table[shift];
@@ -1859,13 +1859,13 @@ M68KMAKE_OP(asr, 8, s, .)
M68KMAKE_OP(asr, 16, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = src >> shift;
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(GET_MSB_16(src))
res |= m68ki_shift_16_table[shift];
@@ -1881,13 +1881,13 @@ M68KMAKE_OP(asr, 16, s, .)
M68KMAKE_OP(asr, 32, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = *r_dst;
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = *r_dst;
+ UINT32 res = src >> shift;
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(GET_MSB_32(src))
res |= m68ki_shift_32_table[shift];
@@ -1903,14 +1903,14 @@ M68KMAKE_OP(asr, 32, s, .)
M68KMAKE_OP(asr, 8, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = src >> shift;
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift < 8)
{
@@ -1955,14 +1955,14 @@ M68KMAKE_OP(asr, 8, r, .)
M68KMAKE_OP(asr, 16, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = src >> shift;
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift < 16)
{
@@ -2007,14 +2007,14 @@ M68KMAKE_OP(asr, 16, r, .)
M68KMAKE_OP(asr, 32, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = *r_dst;
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = *r_dst;
+ UINT32 res = src >> shift;
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift < 32)
{
@@ -2059,9 +2059,9 @@ M68KMAKE_OP(asr, 32, r, .)
M68KMAKE_OP(asr, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = m68ki_read_16(m68k, ea);
- uint res = src >> 1;
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = m68ki_read_16(m68k, ea);
+ UINT32 res = src >> 1;
if(GET_MSB_16(src))
res |= 0x8000;
@@ -2077,13 +2077,13 @@ M68KMAKE_OP(asr, 16, ., .)
M68KMAKE_OP(asl, 8, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = MASK_OUT_ABOVE_8(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = MASK_OUT_ABOVE_8(src << shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_8(*r_dst) | res;
@@ -2097,13 +2097,13 @@ M68KMAKE_OP(asl, 8, s, .)
M68KMAKE_OP(asl, 16, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = MASK_OUT_ABOVE_16(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = MASK_OUT_ABOVE_16(src << shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
@@ -2117,13 +2117,13 @@ M68KMAKE_OP(asl, 16, s, .)
M68KMAKE_OP(asl, 32, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = *r_dst;
- uint res = MASK_OUT_ABOVE_32(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = *r_dst;
+ UINT32 res = MASK_OUT_ABOVE_32(src << shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = res;
@@ -2137,14 +2137,14 @@ M68KMAKE_OP(asl, 32, s, .)
M68KMAKE_OP(asl, 8, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = MASK_OUT_ABOVE_8(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = MASK_OUT_ABOVE_8(src << shift);
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift < 8)
{
@@ -2174,14 +2174,14 @@ M68KMAKE_OP(asl, 8, r, .)
M68KMAKE_OP(asl, 16, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = MASK_OUT_ABOVE_16(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = MASK_OUT_ABOVE_16(src << shift);
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift < 16)
{
@@ -2211,14 +2211,14 @@ M68KMAKE_OP(asl, 16, r, .)
M68KMAKE_OP(asl, 32, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = *r_dst;
- uint res = MASK_OUT_ABOVE_32(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = *r_dst;
+ UINT32 res = MASK_OUT_ABOVE_32(src << shift);
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift < 32)
{
@@ -2248,9 +2248,9 @@ M68KMAKE_OP(asl, 32, r, .)
M68KMAKE_OP(asl, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = m68ki_read_16(m68k, ea);
- uint res = MASK_OUT_ABOVE_16(src << 1);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = m68ki_read_16(m68k, ea);
+ UINT32 res = MASK_OUT_ABOVE_16(src << 1);
m68ki_write_16(m68k, ea, res);
@@ -2270,7 +2270,7 @@ M68KMAKE_OP(bcc, 8, ., .)
m68ki_branch_8(m68k, MASK_OUT_ABOVE_8(REG_IR));
return;
}
- USE_CYCLES(m68k, CYC_BCC_NOTAKE_B);
+ USE_CYCLES(m68k, m68k->cyc_bcc_notake_b);
}
@@ -2278,24 +2278,24 @@ M68KMAKE_OP(bcc, 16, ., .)
{
if(M68KMAKE_CC)
{
- uint offset = OPER_I_16(m68k);
+ UINT32 offset = OPER_I_16(m68k);
REG_PC -= 2;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_branch_16(m68k, offset);
return;
}
REG_PC += 2;
- USE_CYCLES(m68k, CYC_BCC_NOTAKE_W);
+ USE_CYCLES(m68k, m68k->cyc_bcc_notake_w);
}
M68KMAKE_OP(bcc, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
if(M68KMAKE_CC)
{
- uint offset = OPER_I_32(m68k);
+ UINT32 offset = OPER_I_32(m68k);
REG_PC -= 4;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_branch_32(m68k, offset);
@@ -2312,15 +2312,15 @@ M68KMAKE_OP(bcc, 32, ., .)
m68ki_branch_8(m68k, MASK_OUT_ABOVE_8(REG_IR));
return;
}
- USE_CYCLES(m68k, CYC_BCC_NOTAKE_B);
+ USE_CYCLES(m68k, m68k->cyc_bcc_notake_b);
}
}
M68KMAKE_OP(bchg, 32, r, d)
{
- uint* r_dst = &DY;
- uint mask = 1 << (DX & 0x1f);
+ UINT32* r_dst = &DY;
+ UINT32 mask = 1 << (DX & 0x1f);
FLAG_Z = *r_dst & mask;
*r_dst ^= mask;
@@ -2329,9 +2329,9 @@ M68KMAKE_OP(bchg, 32, r, d)
M68KMAKE_OP(bchg, 8, r, .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint src = m68ki_read_8(m68k, ea);
- uint mask = 1 << (DX & 7);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 src = m68ki_read_8(m68k, ea);
+ UINT32 mask = 1 << (DX & 7);
FLAG_Z = src & mask;
m68ki_write_8(m68k, ea, src ^ mask);
@@ -2340,8 +2340,8 @@ M68KMAKE_OP(bchg, 8, r, .)
M68KMAKE_OP(bchg, 32, s, d)
{
- uint* r_dst = &DY;
- uint mask = 1 << (OPER_I_8(m68k) & 0x1f);
+ UINT32* r_dst = &DY;
+ UINT32 mask = 1 << (OPER_I_8(m68k) & 0x1f);
FLAG_Z = *r_dst & mask;
*r_dst ^= mask;
@@ -2350,9 +2350,9 @@ M68KMAKE_OP(bchg, 32, s, d)
M68KMAKE_OP(bchg, 8, s, .)
{
- uint mask = 1 << (OPER_I_8(m68k) & 7);
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint src = m68ki_read_8(m68k, ea);
+ UINT32 mask = 1 << (OPER_I_8(m68k) & 7);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 src = m68ki_read_8(m68k, ea);
FLAG_Z = src & mask;
m68ki_write_8(m68k, ea, src ^ mask);
@@ -2361,8 +2361,8 @@ M68KMAKE_OP(bchg, 8, s, .)
M68KMAKE_OP(bclr, 32, r, d)
{
- uint* r_dst = &DY;
- uint mask = 1 << (DX & 0x1f);
+ UINT32* r_dst = &DY;
+ UINT32 mask = 1 << (DX & 0x1f);
FLAG_Z = *r_dst & mask;
*r_dst &= ~mask;
@@ -2371,9 +2371,9 @@ M68KMAKE_OP(bclr, 32, r, d)
M68KMAKE_OP(bclr, 8, r, .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint src = m68ki_read_8(m68k, ea);
- uint mask = 1 << (DX & 7);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 src = m68ki_read_8(m68k, ea);
+ UINT32 mask = 1 << (DX & 7);
FLAG_Z = src & mask;
m68ki_write_8(m68k, ea, src & ~mask);
@@ -2382,8 +2382,8 @@ M68KMAKE_OP(bclr, 8, r, .)
M68KMAKE_OP(bclr, 32, s, d)
{
- uint* r_dst = &DY;
- uint mask = 1 << (OPER_I_8(m68k) & 0x1f);
+ UINT32* r_dst = &DY;
+ UINT32 mask = 1 << (OPER_I_8(m68k) & 0x1f);
FLAG_Z = *r_dst & mask;
*r_dst &= ~mask;
@@ -2392,9 +2392,9 @@ M68KMAKE_OP(bclr, 32, s, d)
M68KMAKE_OP(bclr, 8, s, .)
{
- uint mask = 1 << (OPER_I_8(m68k) & 7);
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint src = m68ki_read_8(m68k, ea);
+ UINT32 mask = 1 << (OPER_I_8(m68k) & 7);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 src = m68ki_read_8(m68k, ea);
FLAG_Z = src & mask;
m68ki_write_8(m68k, ea, src & ~mask);
@@ -2403,13 +2403,13 @@ M68KMAKE_OP(bclr, 8, s, .)
M68KMAKE_OP(bfchg, 32, ., d)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint offset = (word2>>6)&31;
- uint width = word2;
- uint* data = &DY;
- uint64 mask;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32* data = &DY;
+ UINT64 mask;
if(BIT_B(word2))
@@ -2438,17 +2438,17 @@ M68KMAKE_OP(bfchg, 32, ., d)
M68KMAKE_OP(bfchg, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- sint offset = (word2>>6)&31;
- uint width = word2;
- uint mask_base;
- uint data_long;
- uint mask_long;
- uint data_byte = 0;
- uint mask_byte = 0;
- uint ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 word2 = OPER_I_16(m68k);
+ INT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32 mask_base;
+ UINT32 data_long;
+ UINT32 mask_long;
+ UINT32 data_byte = 0;
+ UINT32 mask_byte = 0;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
if(BIT_B(word2))
@@ -2492,13 +2492,13 @@ M68KMAKE_OP(bfchg, 32, ., .)
M68KMAKE_OP(bfclr, 32, ., d)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint offset = (word2>>6)&31;
- uint width = word2;
- uint* data = &DY;
- uint64 mask;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32* data = &DY;
+ UINT64 mask;
if(BIT_B(word2))
@@ -2529,17 +2529,17 @@ M68KMAKE_OP(bfclr, 32, ., d)
M68KMAKE_OP(bfclr, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- sint offset = (word2>>6)&31;
- uint width = word2;
- uint mask_base;
- uint data_long;
- uint mask_long;
- uint data_byte = 0;
- uint mask_byte = 0;
- uint ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 word2 = OPER_I_16(m68k);
+ INT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32 mask_base;
+ UINT32 data_long;
+ UINT32 mask_long;
+ UINT32 data_byte = 0;
+ UINT32 mask_byte = 0;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
if(BIT_B(word2))
@@ -2583,12 +2583,12 @@ M68KMAKE_OP(bfclr, 32, ., .)
M68KMAKE_OP(bfexts, 32, ., d)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint offset = (word2>>6)&31;
- uint width = word2;
- uint64 data = DY;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT64 data = DY;
if(BIT_B(word2))
@@ -2617,13 +2617,13 @@ M68KMAKE_OP(bfexts, 32, ., d)
M68KMAKE_OP(bfexts, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- sint offset = (word2>>6)&31;
- uint width = word2;
- uint data;
- uint ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 word2 = OPER_I_16(m68k);
+ INT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32 data;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
if(BIT_B(word2))
@@ -2665,12 +2665,12 @@ M68KMAKE_OP(bfexts, 32, ., .)
M68KMAKE_OP(bfextu, 32, ., d)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint offset = (word2>>6)&31;
- uint width = word2;
- uint64 data = DY;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT64 data = DY;
if(BIT_B(word2))
@@ -2699,13 +2699,13 @@ M68KMAKE_OP(bfextu, 32, ., d)
M68KMAKE_OP(bfextu, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- sint offset = (word2>>6)&31;
- uint width = word2;
- uint data;
- uint ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 word2 = OPER_I_16(m68k);
+ INT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32 data;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
if(BIT_B(word2))
@@ -2746,13 +2746,13 @@ M68KMAKE_OP(bfextu, 32, ., .)
M68KMAKE_OP(bfffo, 32, ., d)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint offset = (word2>>6)&31;
- uint width = word2;
- uint64 data = DY;
- uint bit;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT64 data = DY;
+ UINT32 bit;
if(BIT_B(word2))
@@ -2784,15 +2784,15 @@ M68KMAKE_OP(bfffo, 32, ., d)
M68KMAKE_OP(bfffo, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- sint offset = (word2>>6)&31;
- sint local_offset;
- uint width = word2;
- uint data;
- uint bit;
- uint ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 word2 = OPER_I_16(m68k);
+ INT32 offset = (word2>>6)&31;
+ INT32 local_offset;
+ UINT32 width = word2;
+ UINT32 data;
+ UINT32 bit;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
if(BIT_B(word2))
@@ -2836,14 +2836,14 @@ M68KMAKE_OP(bfffo, 32, ., .)
M68KMAKE_OP(bfins, 32, ., d)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint offset = (word2>>6)&31;
- uint width = word2;
- uint* data = &DY;
- uint64 mask;
- uint64 insert = REG_D[(word2>>12)&7];
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32* data = &DY;
+ UINT64 mask;
+ UINT64 insert = REG_D[(word2>>12)&7];
if(BIT_B(word2))
@@ -2878,20 +2878,20 @@ M68KMAKE_OP(bfins, 32, ., d)
M68KMAKE_OP(bfins, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- sint offset = (word2>>6)&31;
- uint width = word2;
- uint insert_base = REG_D[(word2>>12)&7];
- uint insert_long;
- uint insert_byte;
- uint mask_base;
- uint data_long;
- uint mask_long;
- uint data_byte = 0;
- uint mask_byte = 0;
- uint ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 word2 = OPER_I_16(m68k);
+ INT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32 insert_base = REG_D[(word2>>12)&7];
+ UINT32 insert_long;
+ UINT32 insert_byte;
+ UINT32 mask_base;
+ UINT32 data_long;
+ UINT32 mask_long;
+ UINT32 data_byte = 0;
+ UINT32 mask_byte = 0;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
if(BIT_B(word2))
@@ -2939,13 +2939,13 @@ M68KMAKE_OP(bfins, 32, ., .)
M68KMAKE_OP(bfset, 32, ., d)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint offset = (word2>>6)&31;
- uint width = word2;
- uint* data = &DY;
- uint64 mask;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32* data = &DY;
+ UINT64 mask;
if(BIT_B(word2))
@@ -2976,17 +2976,17 @@ M68KMAKE_OP(bfset, 32, ., d)
M68KMAKE_OP(bfset, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- sint offset = (word2>>6)&31;
- uint width = word2;
- uint mask_base;
- uint data_long;
- uint mask_long;
- uint data_byte = 0;
- uint mask_byte = 0;
- uint ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 word2 = OPER_I_16(m68k);
+ INT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32 mask_base;
+ UINT32 data_long;
+ UINT32 mask_long;
+ UINT32 data_byte = 0;
+ UINT32 mask_byte = 0;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
if(BIT_B(word2))
@@ -3031,13 +3031,13 @@ M68KMAKE_OP(bfset, 32, ., .)
M68KMAKE_OP(bftst, 32, ., d)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint offset = (word2>>6)&31;
- uint width = word2;
- uint* data = &DY;
- uint64 mask;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32* data = &DY;
+ UINT64 mask;
if(BIT_B(word2))
@@ -3066,17 +3066,17 @@ M68KMAKE_OP(bftst, 32, ., d)
M68KMAKE_OP(bftst, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- sint offset = (word2>>6)&31;
- uint width = word2;
- uint mask_base;
- uint data_long;
- uint mask_long;
- uint data_byte = 0;
- uint mask_byte = 0;
- uint ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 word2 = OPER_I_16(m68k);
+ INT32 offset = (word2>>6)&31;
+ UINT32 width = word2;
+ UINT32 mask_base;
+ UINT32 data_long;
+ UINT32 mask_long;
+ UINT32 data_byte = 0;
+ UINT32 mask_byte = 0;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
if(BIT_B(word2))
offset = MAKE_INT_32(REG_D[offset&7]);
@@ -3117,9 +3117,9 @@ M68KMAKE_OP(bftst, 32, ., .)
M68KMAKE_OP(bkpt, 0, ., .)
{
- if(CPU_TYPE_IS_010_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_PLUS(m68k->cpu_type))
{
- m68ki_bkpt_ack(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE) ? REG_IR & 7 : 0); /* auto-disable (see m68kcpu.h) */
+ (*m68k->bkpt_ack_callback)(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type) ? REG_IR & 7 : 0);
}
m68ki_exception_illegal(m68k);
}
@@ -3136,7 +3136,7 @@ M68KMAKE_OP(bra, 8, ., .)
M68KMAKE_OP(bra, 16, ., .)
{
- uint offset = OPER_I_16(m68k);
+ UINT32 offset = OPER_I_16(m68k);
REG_PC -= 2;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_branch_16(m68k, offset);
@@ -3147,9 +3147,9 @@ M68KMAKE_OP(bra, 16, ., .)
M68KMAKE_OP(bra, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint offset = OPER_I_32(m68k);
+ UINT32 offset = OPER_I_32(m68k);
REG_PC -= 4;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_branch_32(m68k, offset);
@@ -3169,8 +3169,8 @@ M68KMAKE_OP(bra, 32, ., .)
M68KMAKE_OP(bset, 32, r, d)
{
- uint* r_dst = &DY;
- uint mask = 1 << (DX & 0x1f);
+ UINT32* r_dst = &DY;
+ UINT32 mask = 1 << (DX & 0x1f);
FLAG_Z = *r_dst & mask;
*r_dst |= mask;
@@ -3179,9 +3179,9 @@ M68KMAKE_OP(bset, 32, r, d)
M68KMAKE_OP(bset, 8, r, .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint src = m68ki_read_8(m68k, ea);
- uint mask = 1 << (DX & 7);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 src = m68ki_read_8(m68k, ea);
+ UINT32 mask = 1 << (DX & 7);
FLAG_Z = src & mask;
m68ki_write_8(m68k, ea, src | mask);
@@ -3190,8 +3190,8 @@ M68KMAKE_OP(bset, 8, r, .)
M68KMAKE_OP(bset, 32, s, d)
{
- uint* r_dst = &DY;
- uint mask = 1 << (OPER_I_8(m68k) & 0x1f);
+ UINT32* r_dst = &DY;
+ UINT32 mask = 1 << (OPER_I_8(m68k) & 0x1f);
FLAG_Z = *r_dst & mask;
*r_dst |= mask;
@@ -3200,9 +3200,9 @@ M68KMAKE_OP(bset, 32, s, d)
M68KMAKE_OP(bset, 8, s, .)
{
- uint mask = 1 << (OPER_I_8(m68k) & 7);
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint src = m68ki_read_8(m68k, ea);
+ UINT32 mask = 1 << (OPER_I_8(m68k) & 7);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 src = m68ki_read_8(m68k, ea);
FLAG_Z = src & mask;
m68ki_write_8(m68k, ea, src | mask);
@@ -3219,7 +3219,7 @@ M68KMAKE_OP(bsr, 8, ., .)
M68KMAKE_OP(bsr, 16, ., .)
{
- uint offset = OPER_I_16(m68k);
+ UINT32 offset = OPER_I_16(m68k);
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_push_32(m68k, REG_PC);
REG_PC -= 2;
@@ -3229,9 +3229,9 @@ M68KMAKE_OP(bsr, 16, ., .)
M68KMAKE_OP(bsr, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint offset = OPER_I_32(m68k);
+ UINT32 offset = OPER_I_32(m68k);
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_push_32(m68k, REG_PC);
REG_PC -= 4;
@@ -3267,7 +3267,7 @@ M68KMAKE_OP(btst, 32, s, d)
M68KMAKE_OP(btst, 8, s, .)
{
- uint bit = OPER_I_8(m68k) & 7;
+ UINT32 bit = OPER_I_8(m68k) & 7;
FLAG_Z = M68KMAKE_GET_OPER_AY_8 & (1 << bit);
}
@@ -3276,15 +3276,15 @@ M68KMAKE_OP(btst, 8, s, .)
M68KMAKE_OP(callm, 32, ., .)
{
/* note: watch out for pcrelative modes */
- if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE))
+ if(CPU_TYPE_IS_020_VARIANT(m68k->cpu_type))
{
- uint ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
REG_PC += 2;
(void)ea; /* just to avoid an 'unused variable' warning */
M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n",
- m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR,
+ m68ki_cpu_names[m68k->cpu_type], ADDRESS_68K(REG_PC - 2), REG_IR,
m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2))));
return;
}
@@ -3294,13 +3294,13 @@ M68KMAKE_OP(callm, 32, ., .)
M68KMAKE_OP(cas, 8, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint dest = m68ki_read_8(m68k, ea);
- uint* compare = &REG_D[word2 & 7];
- uint res = dest - MASK_OUT_ABOVE_8(*compare);
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 dest = m68ki_read_8(m68k, ea);
+ UINT32* compare = &REG_D[word2 & 7];
+ UINT32 res = dest - MASK_OUT_ABOVE_8(*compare);
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
FLAG_N = NFLAG_8(res);
@@ -3323,13 +3323,13 @@ M68KMAKE_OP(cas, 8, ., .)
M68KMAKE_OP(cas, 16, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint dest = m68ki_read_16(m68k, ea);
- uint* compare = &REG_D[word2 & 7];
- uint res = dest - MASK_OUT_ABOVE_16(*compare);
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 dest = m68ki_read_16(m68k, ea);
+ UINT32* compare = &REG_D[word2 & 7];
+ UINT32 res = dest - MASK_OUT_ABOVE_16(*compare);
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
FLAG_N = NFLAG_16(res);
@@ -3352,13 +3352,13 @@ M68KMAKE_OP(cas, 16, ., .)
M68KMAKE_OP(cas, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint dest = m68ki_read_32(m68k, ea);
- uint* compare = &REG_D[word2 & 7];
- uint res = dest - *compare;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 dest = m68ki_read_32(m68k, ea);
+ UINT32* compare = &REG_D[word2 & 7];
+ UINT32 res = dest - *compare;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
FLAG_N = NFLAG_32(res);
@@ -3381,17 +3381,17 @@ M68KMAKE_OP(cas, 32, ., .)
M68KMAKE_OP(cas2, 16, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_32(m68k);
- uint* compare1 = &REG_D[(word2 >> 16) & 7];
- uint ea1 = REG_DA[(word2 >> 28) & 15];
- uint dest1 = m68ki_read_16(m68k, ea1);
- uint res1 = dest1 - MASK_OUT_ABOVE_16(*compare1);
- uint* compare2 = &REG_D[word2 & 7];
- uint ea2 = REG_DA[(word2 >> 12) & 15];
- uint dest2 = m68ki_read_16(m68k, ea2);
- uint res2;
+ UINT32 word2 = OPER_I_32(m68k);
+ UINT32* compare1 = &REG_D[(word2 >> 16) & 7];
+ UINT32 ea1 = REG_DA[(word2 >> 28) & 15];
+ UINT32 dest1 = m68ki_read_16(m68k, ea1);
+ UINT32 res1 = dest1 - MASK_OUT_ABOVE_16(*compare1);
+ UINT32* compare2 = &REG_D[word2 & 7];
+ UINT32 ea2 = REG_DA[(word2 >> 12) & 15];
+ UINT32 dest2 = m68ki_read_16(m68k, ea2);
+ UINT32 res2;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
FLAG_N = NFLAG_16(res1);
@@ -3426,17 +3426,17 @@ M68KMAKE_OP(cas2, 16, ., .)
M68KMAKE_OP(cas2, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_32(m68k);
- uint* compare1 = &REG_D[(word2 >> 16) & 7];
- uint ea1 = REG_DA[(word2 >> 28) & 15];
- uint dest1 = m68ki_read_32(m68k, ea1);
- uint res1 = dest1 - *compare1;
- uint* compare2 = &REG_D[word2 & 7];
- uint ea2 = REG_DA[(word2 >> 12) & 15];
- uint dest2 = m68ki_read_32(m68k, ea2);
- uint res2;
+ UINT32 word2 = OPER_I_32(m68k);
+ UINT32* compare1 = &REG_D[(word2 >> 16) & 7];
+ UINT32 ea1 = REG_DA[(word2 >> 28) & 15];
+ UINT32 dest1 = m68ki_read_32(m68k, ea1);
+ UINT32 res1 = dest1 - *compare1;
+ UINT32* compare2 = &REG_D[word2 & 7];
+ UINT32 ea2 = REG_DA[(word2 >> 12) & 15];
+ UINT32 dest2 = m68ki_read_32(m68k, ea2);
+ UINT32 res2;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
FLAG_N = NFLAG_32(res1);
@@ -3471,8 +3471,8 @@ M68KMAKE_OP(cas2, 32, ., .)
M68KMAKE_OP(chk, 16, ., d)
{
- sint src = MAKE_INT_16(DX);
- sint bound = MAKE_INT_16(DY);
+ INT32 src = MAKE_INT_16(DX);
+ INT32 bound = MAKE_INT_16(DY);
FLAG_Z = ZFLAG_16(src); /* Undocumented */
FLAG_V = VFLAG_CLEAR; /* Undocumented */
@@ -3489,8 +3489,8 @@ M68KMAKE_OP(chk, 16, ., d)
M68KMAKE_OP(chk, 16, ., .)
{
- sint src = MAKE_INT_16(DX);
- sint bound = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16);
+ INT32 src = MAKE_INT_16(DX);
+ INT32 bound = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16);
FLAG_Z = ZFLAG_16(src); /* Undocumented */
FLAG_V = VFLAG_CLEAR; /* Undocumented */
@@ -3507,10 +3507,10 @@ M68KMAKE_OP(chk, 16, ., .)
M68KMAKE_OP(chk, 32, ., d)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- sint src = MAKE_INT_32(DX);
- sint bound = MAKE_INT_32(DY);
+ INT32 src = MAKE_INT_32(DX);
+ INT32 bound = MAKE_INT_32(DY);
FLAG_Z = ZFLAG_32(src); /* Undocumented */
FLAG_V = VFLAG_CLEAR; /* Undocumented */
@@ -3530,10 +3530,10 @@ M68KMAKE_OP(chk, 32, ., d)
M68KMAKE_OP(chk, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- sint src = MAKE_INT_32(DX);
- sint bound = MAKE_INT_32(M68KMAKE_GET_OPER_AY_32);
+ INT32 src = MAKE_INT_32(DX);
+ INT32 bound = MAKE_INT_32(M68KMAKE_GET_OPER_AY_32);
FLAG_Z = ZFLAG_32(src); /* Undocumented */
FLAG_V = VFLAG_CLEAR; /* Undocumented */
@@ -3553,13 +3553,13 @@ M68KMAKE_OP(chk, 32, ., .)
M68KMAKE_OP(chk2cmp2, 8, ., pcdi)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint compare = REG_DA[(word2 >> 12) & 15]&0xff;
- uint ea = EA_PCDI_8(m68k);
- uint lower_bound = m68ki_read_pcrel_8(m68k, ea);
- uint upper_bound = m68ki_read_pcrel_8(m68k, ea + 1);
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 compare = REG_DA[(word2 >> 12) & 15]&0xff;
+ UINT32 ea = EA_PCDI_8(m68k);
+ UINT32 lower_bound = m68ki_read_pcrel_8(m68k, ea);
+ UINT32 upper_bound = m68ki_read_pcrel_8(m68k, ea + 1);
if(!BIT_F(word2))
FLAG_C = MAKE_INT_8(compare) - MAKE_INT_8(lower_bound);
@@ -3584,13 +3584,13 @@ M68KMAKE_OP(chk2cmp2, 8, ., pcdi)
M68KMAKE_OP(chk2cmp2, 8, ., pcix)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint compare = REG_DA[(word2 >> 12) & 15]&0xff;
- uint ea = EA_PCIX_8(m68k);
- uint lower_bound = m68ki_read_pcrel_8(m68k, ea);
- uint upper_bound = m68ki_read_pcrel_8(m68k, ea + 1);
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 compare = REG_DA[(word2 >> 12) & 15]&0xff;
+ UINT32 ea = EA_PCIX_8(m68k);
+ UINT32 lower_bound = m68ki_read_pcrel_8(m68k, ea);
+ UINT32 upper_bound = m68ki_read_pcrel_8(m68k, ea + 1);
if(!BIT_F(word2))
FLAG_C = MAKE_INT_8(compare) - MAKE_INT_8(lower_bound);
@@ -3615,13 +3615,13 @@ M68KMAKE_OP(chk2cmp2, 8, ., pcix)
M68KMAKE_OP(chk2cmp2, 8, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint compare = REG_DA[(word2 >> 12) & 15]&0xff;
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint lower_bound = m68ki_read_8(m68k, ea);
- uint upper_bound = m68ki_read_8(m68k, ea + 1);
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 compare = REG_DA[(word2 >> 12) & 15]&0xff;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 lower_bound = m68ki_read_8(m68k, ea);
+ UINT32 upper_bound = m68ki_read_8(m68k, ea + 1);
if(!BIT_F(word2))
FLAG_C = MAKE_INT_8(compare) - MAKE_INT_8(lower_bound);
@@ -3646,13 +3646,13 @@ M68KMAKE_OP(chk2cmp2, 8, ., .)
M68KMAKE_OP(chk2cmp2, 16, ., pcdi)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint compare = REG_DA[(word2 >> 12) & 15]&0xffff;
- uint ea = EA_PCDI_16(m68k);
- uint lower_bound = m68ki_read_pcrel_16(m68k, ea);
- uint upper_bound = m68ki_read_pcrel_16(m68k, ea + 2);
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 compare = REG_DA[(word2 >> 12) & 15]&0xffff;
+ UINT32 ea = EA_PCDI_16(m68k);
+ UINT32 lower_bound = m68ki_read_pcrel_16(m68k, ea);
+ UINT32 upper_bound = m68ki_read_pcrel_16(m68k, ea + 2);
if(!BIT_F(word2))
FLAG_C = MAKE_INT_16(compare) - MAKE_INT_16(lower_bound);
@@ -3682,13 +3682,13 @@ M68KMAKE_OP(chk2cmp2, 16, ., pcdi)
M68KMAKE_OP(chk2cmp2, 16, ., pcix)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint compare = REG_DA[(word2 >> 12) & 15]&0xffff;
- uint ea = EA_PCIX_16(m68k);
- uint lower_bound = m68ki_read_pcrel_16(m68k, ea);
- uint upper_bound = m68ki_read_pcrel_16(m68k, ea + 2);
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 compare = REG_DA[(word2 >> 12) & 15]&0xffff;
+ UINT32 ea = EA_PCIX_16(m68k);
+ UINT32 lower_bound = m68ki_read_pcrel_16(m68k, ea);
+ UINT32 upper_bound = m68ki_read_pcrel_16(m68k, ea + 2);
if(!BIT_F(word2))
FLAG_C = MAKE_INT_16(compare) - MAKE_INT_16(lower_bound);
@@ -3718,13 +3718,13 @@ M68KMAKE_OP(chk2cmp2, 16, ., pcix)
M68KMAKE_OP(chk2cmp2, 16, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint compare = REG_DA[(word2 >> 12) & 15]&0xffff;
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint lower_bound = m68ki_read_16(m68k, ea);
- uint upper_bound = m68ki_read_16(m68k, ea + 2);
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 compare = REG_DA[(word2 >> 12) & 15]&0xffff;
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 lower_bound = m68ki_read_16(m68k, ea);
+ UINT32 upper_bound = m68ki_read_16(m68k, ea + 2);
if(!BIT_F(word2))
FLAG_C = MAKE_INT_16(compare) - MAKE_INT_16(lower_bound);
@@ -3755,13 +3755,13 @@ M68KMAKE_OP(chk2cmp2, 16, ., .)
M68KMAKE_OP(chk2cmp2, 32, ., pcdi)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint compare = REG_DA[(word2 >> 12) & 15];
- uint ea = EA_PCDI_32(m68k);
- uint lower_bound = m68ki_read_pcrel_32(m68k, ea);
- uint upper_bound = m68ki_read_pcrel_32(m68k, ea + 4);
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 compare = REG_DA[(word2 >> 12) & 15];
+ UINT32 ea = EA_PCDI_32(m68k);
+ UINT32 lower_bound = m68ki_read_pcrel_32(m68k, ea);
+ UINT32 upper_bound = m68ki_read_pcrel_32(m68k, ea + 4);
FLAG_C = compare - lower_bound;
FLAG_Z = !((upper_bound==compare) | (lower_bound==compare));
@@ -3785,13 +3785,13 @@ M68KMAKE_OP(chk2cmp2, 32, ., pcdi)
M68KMAKE_OP(chk2cmp2, 32, ., pcix)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint compare = REG_DA[(word2 >> 12) & 15];
- uint ea = EA_PCIX_32(m68k);
- uint lower_bound = m68ki_read_pcrel_32(m68k, ea);
- uint upper_bound = m68ki_read_pcrel_32(m68k, ea + 4);
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 compare = REG_DA[(word2 >> 12) & 15];
+ UINT32 ea = EA_PCIX_32(m68k);
+ UINT32 lower_bound = m68ki_read_pcrel_32(m68k, ea);
+ UINT32 upper_bound = m68ki_read_pcrel_32(m68k, ea + 4);
FLAG_C = compare - lower_bound;
FLAG_Z = !((upper_bound==compare) | (lower_bound==compare));
@@ -3815,13 +3815,13 @@ M68KMAKE_OP(chk2cmp2, 32, ., pcix)
M68KMAKE_OP(chk2cmp2, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint compare = REG_DA[(word2 >> 12) & 15];
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint lower_bound = m68ki_read_32(m68k, ea);
- uint upper_bound = m68ki_read_32(m68k, ea + 4);
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 compare = REG_DA[(word2 >> 12) & 15];
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 lower_bound = m68ki_read_32(m68k, ea);
+ UINT32 upper_bound = m68ki_read_32(m68k, ea + 4);
FLAG_C = compare - lower_bound;
FLAG_Z = !((upper_bound==compare) | (lower_bound==compare));
@@ -3911,9 +3911,9 @@ M68KMAKE_OP(clr, 32, ., .)
M68KMAKE_OP(cmp, 8, ., d)
{
- uint src = MASK_OUT_ABOVE_8(DY);
- uint dst = MASK_OUT_ABOVE_8(DX);
- uint res = dst - src;
+ UINT32 src = MASK_OUT_ABOVE_8(DY);
+ UINT32 dst = MASK_OUT_ABOVE_8(DX);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -3924,9 +3924,9 @@ M68KMAKE_OP(cmp, 8, ., d)
M68KMAKE_OP(cmp, 8, ., .)
{
- uint src = M68KMAKE_GET_OPER_AY_8;
- uint dst = MASK_OUT_ABOVE_8(DX);
- uint res = dst - src;
+ UINT32 src = M68KMAKE_GET_OPER_AY_8;
+ UINT32 dst = MASK_OUT_ABOVE_8(DX);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -3937,9 +3937,9 @@ M68KMAKE_OP(cmp, 8, ., .)
M68KMAKE_OP(cmp, 16, ., d)
{
- uint src = MASK_OUT_ABOVE_16(DY);
- uint dst = MASK_OUT_ABOVE_16(DX);
- uint res = dst - src;
+ UINT32 src = MASK_OUT_ABOVE_16(DY);
+ UINT32 dst = MASK_OUT_ABOVE_16(DX);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -3950,9 +3950,9 @@ M68KMAKE_OP(cmp, 16, ., d)
M68KMAKE_OP(cmp, 16, ., a)
{
- uint src = MASK_OUT_ABOVE_16(AY);
- uint dst = MASK_OUT_ABOVE_16(DX);
- uint res = dst - src;
+ UINT32 src = MASK_OUT_ABOVE_16(AY);
+ UINT32 dst = MASK_OUT_ABOVE_16(DX);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -3963,9 +3963,9 @@ M68KMAKE_OP(cmp, 16, ., a)
M68KMAKE_OP(cmp, 16, ., .)
{
- uint src = M68KMAKE_GET_OPER_AY_16;
- uint dst = MASK_OUT_ABOVE_16(DX);
- uint res = dst - src;
+ UINT32 src = M68KMAKE_GET_OPER_AY_16;
+ UINT32 dst = MASK_OUT_ABOVE_16(DX);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -3976,9 +3976,9 @@ M68KMAKE_OP(cmp, 16, ., .)
M68KMAKE_OP(cmp, 32, ., d)
{
- uint src = DY;
- uint dst = DX;
- uint res = dst - src;
+ UINT32 src = DY;
+ UINT32 dst = DX;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -3989,9 +3989,9 @@ M68KMAKE_OP(cmp, 32, ., d)
M68KMAKE_OP(cmp, 32, ., a)
{
- uint src = AY;
- uint dst = DX;
- uint res = dst - src;
+ UINT32 src = AY;
+ UINT32 dst = DX;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4002,9 +4002,9 @@ M68KMAKE_OP(cmp, 32, ., a)
M68KMAKE_OP(cmp, 32, ., .)
{
- uint src = M68KMAKE_GET_OPER_AY_32;
- uint dst = DX;
- uint res = dst - src;
+ UINT32 src = M68KMAKE_GET_OPER_AY_32;
+ UINT32 dst = DX;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4015,9 +4015,9 @@ M68KMAKE_OP(cmp, 32, ., .)
M68KMAKE_OP(cmpa, 16, ., d)
{
- uint src = MAKE_INT_16(DY);
- uint dst = AX;
- uint res = dst - src;
+ UINT32 src = MAKE_INT_16(DY);
+ UINT32 dst = AX;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4028,9 +4028,9 @@ M68KMAKE_OP(cmpa, 16, ., d)
M68KMAKE_OP(cmpa, 16, ., a)
{
- uint src = MAKE_INT_16(AY);
- uint dst = AX;
- uint res = dst - src;
+ UINT32 src = MAKE_INT_16(AY);
+ UINT32 dst = AX;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4041,9 +4041,9 @@ M68KMAKE_OP(cmpa, 16, ., a)
M68KMAKE_OP(cmpa, 16, ., .)
{
- uint src = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16);
- uint dst = AX;
- uint res = dst - src;
+ UINT32 src = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16);
+ UINT32 dst = AX;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4054,9 +4054,9 @@ M68KMAKE_OP(cmpa, 16, ., .)
M68KMAKE_OP(cmpa, 32, ., d)
{
- uint src = DY;
- uint dst = AX;
- uint res = dst - src;
+ UINT32 src = DY;
+ UINT32 dst = AX;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4067,9 +4067,9 @@ M68KMAKE_OP(cmpa, 32, ., d)
M68KMAKE_OP(cmpa, 32, ., a)
{
- uint src = AY;
- uint dst = AX;
- uint res = dst - src;
+ UINT32 src = AY;
+ UINT32 dst = AX;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4080,9 +4080,9 @@ M68KMAKE_OP(cmpa, 32, ., a)
M68KMAKE_OP(cmpa, 32, ., .)
{
- uint src = M68KMAKE_GET_OPER_AY_32;
- uint dst = AX;
- uint res = dst - src;
+ UINT32 src = M68KMAKE_GET_OPER_AY_32;
+ UINT32 dst = AX;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4093,9 +4093,9 @@ M68KMAKE_OP(cmpa, 32, ., .)
M68KMAKE_OP(cmpi, 8, ., d)
{
- uint src = OPER_I_8(m68k);
- uint dst = MASK_OUT_ABOVE_8(DY);
- uint res = dst - src;
+ UINT32 src = OPER_I_8(m68k);
+ UINT32 dst = MASK_OUT_ABOVE_8(DY);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -4106,9 +4106,9 @@ M68KMAKE_OP(cmpi, 8, ., d)
M68KMAKE_OP(cmpi, 8, ., .)
{
- uint src = OPER_I_8(m68k);
- uint dst = M68KMAKE_GET_OPER_AY_8;
- uint res = dst - src;
+ UINT32 src = OPER_I_8(m68k);
+ UINT32 dst = M68KMAKE_GET_OPER_AY_8;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -4119,11 +4119,11 @@ M68KMAKE_OP(cmpi, 8, ., .)
M68KMAKE_OP(cmpi, 8, ., pcdi)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint src = OPER_I_8(m68k);
- uint dst = OPER_PCDI_8(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_I_8(m68k);
+ UINT32 dst = OPER_PCDI_8(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -4137,11 +4137,11 @@ M68KMAKE_OP(cmpi, 8, ., pcdi)
M68KMAKE_OP(cmpi, 8, ., pcix)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint src = OPER_I_8(m68k);
- uint dst = OPER_PCIX_8(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_I_8(m68k);
+ UINT32 dst = OPER_PCIX_8(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -4155,9 +4155,9 @@ M68KMAKE_OP(cmpi, 8, ., pcix)
M68KMAKE_OP(cmpi, 16, ., d)
{
- uint src = OPER_I_16(m68k);
- uint dst = MASK_OUT_ABOVE_16(DY);
- uint res = dst - src;
+ UINT32 src = OPER_I_16(m68k);
+ UINT32 dst = MASK_OUT_ABOVE_16(DY);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -4168,9 +4168,9 @@ M68KMAKE_OP(cmpi, 16, ., d)
M68KMAKE_OP(cmpi, 16, ., .)
{
- uint src = OPER_I_16(m68k);
- uint dst = M68KMAKE_GET_OPER_AY_16;
- uint res = dst - src;
+ UINT32 src = OPER_I_16(m68k);
+ UINT32 dst = M68KMAKE_GET_OPER_AY_16;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -4181,11 +4181,11 @@ M68KMAKE_OP(cmpi, 16, ., .)
M68KMAKE_OP(cmpi, 16, ., pcdi)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint src = OPER_I_16(m68k);
- uint dst = OPER_PCDI_16(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_I_16(m68k);
+ UINT32 dst = OPER_PCDI_16(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -4199,11 +4199,11 @@ M68KMAKE_OP(cmpi, 16, ., pcdi)
M68KMAKE_OP(cmpi, 16, ., pcix)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint src = OPER_I_16(m68k);
- uint dst = OPER_PCIX_16(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_I_16(m68k);
+ UINT32 dst = OPER_PCIX_16(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -4217,11 +4217,11 @@ M68KMAKE_OP(cmpi, 16, ., pcix)
M68KMAKE_OP(cmpi, 32, ., d)
{
- uint src = OPER_I_32(m68k);
- uint dst = DY;
- uint res = dst - src;
+ UINT32 src = OPER_I_32(m68k);
+ UINT32 dst = DY;
+ UINT32 res = dst - src;
- m68ki_cmpild_callback(src, REG_IR & 7); /* auto-disable (see m68kcpu.h) */
+ (*m68k->cmpild_instr_callback)(src, REG_IR & 7); /* auto-disable (see m68kcpu.h) */
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4232,9 +4232,9 @@ M68KMAKE_OP(cmpi, 32, ., d)
M68KMAKE_OP(cmpi, 32, ., .)
{
- uint src = OPER_I_32(m68k);
- uint dst = M68KMAKE_GET_OPER_AY_32;
- uint res = dst - src;
+ UINT32 src = OPER_I_32(m68k);
+ UINT32 dst = M68KMAKE_GET_OPER_AY_32;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4245,11 +4245,11 @@ M68KMAKE_OP(cmpi, 32, ., .)
M68KMAKE_OP(cmpi, 32, ., pcdi)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint src = OPER_I_32(m68k);
- uint dst = OPER_PCDI_32(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_I_32(m68k);
+ UINT32 dst = OPER_PCDI_32(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4263,11 +4263,11 @@ M68KMAKE_OP(cmpi, 32, ., pcdi)
M68KMAKE_OP(cmpi, 32, ., pcix)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint src = OPER_I_32(m68k);
- uint dst = OPER_PCIX_32(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_I_32(m68k);
+ UINT32 dst = OPER_PCIX_32(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4281,9 +4281,9 @@ M68KMAKE_OP(cmpi, 32, ., pcix)
M68KMAKE_OP(cmpm, 8, ., ax7)
{
- uint src = OPER_AY_PI_8(m68k);
- uint dst = OPER_A7_PI_8(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_AY_PI_8(m68k);
+ UINT32 dst = OPER_A7_PI_8(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -4294,9 +4294,9 @@ M68KMAKE_OP(cmpm, 8, ., ax7)
M68KMAKE_OP(cmpm, 8, ., ay7)
{
- uint src = OPER_A7_PI_8(m68k);
- uint dst = OPER_AX_PI_8(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_A7_PI_8(m68k);
+ UINT32 dst = OPER_AX_PI_8(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -4307,9 +4307,9 @@ M68KMAKE_OP(cmpm, 8, ., ay7)
M68KMAKE_OP(cmpm, 8, ., axy7)
{
- uint src = OPER_A7_PI_8(m68k);
- uint dst = OPER_A7_PI_8(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_A7_PI_8(m68k);
+ UINT32 dst = OPER_A7_PI_8(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -4320,9 +4320,9 @@ M68KMAKE_OP(cmpm, 8, ., axy7)
M68KMAKE_OP(cmpm, 8, ., .)
{
- uint src = OPER_AY_PI_8(m68k);
- uint dst = OPER_AX_PI_8(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_AY_PI_8(m68k);
+ UINT32 dst = OPER_AX_PI_8(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -4333,9 +4333,9 @@ M68KMAKE_OP(cmpm, 8, ., .)
M68KMAKE_OP(cmpm, 16, ., .)
{
- uint src = OPER_AY_PI_16(m68k);
- uint dst = OPER_AX_PI_16(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_AY_PI_16(m68k);
+ UINT32 dst = OPER_AX_PI_16(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -4346,9 +4346,9 @@ M68KMAKE_OP(cmpm, 16, ., .)
M68KMAKE_OP(cmpm, 32, ., .)
{
- uint src = OPER_AY_PI_32(m68k);
- uint dst = OPER_AX_PI_32(m68k);
- uint res = dst - src;
+ UINT32 src = OPER_AY_PI_32(m68k);
+ UINT32 dst = OPER_AX_PI_32(m68k);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -4359,10 +4359,10 @@ M68KMAKE_OP(cmpm, 32, ., .)
M68KMAKE_OP(cpbcc, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n",
- m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR,
+ m68ki_cpu_names[m68k->cpu_type], ADDRESS_68K(REG_PC - 2), REG_IR,
m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2))));
return;
}
@@ -4372,10 +4372,10 @@ M68KMAKE_OP(cpbcc, 32, ., .)
M68KMAKE_OP(cpdbcc, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n",
- m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR,
+ m68ki_cpu_names[m68k->cpu_type], ADDRESS_68K(REG_PC - 2), REG_IR,
m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2))));
return;
}
@@ -4385,10 +4385,10 @@ M68KMAKE_OP(cpdbcc, 32, ., .)
M68KMAKE_OP(cpgen, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n",
- m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR,
+ m68ki_cpu_names[m68k->cpu_type], ADDRESS_68K(REG_PC - 2), REG_IR,
m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2))));
return;
}
@@ -4398,10 +4398,10 @@ M68KMAKE_OP(cpgen, 32, ., .)
M68KMAKE_OP(cpscc, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n",
- m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR,
+ m68ki_cpu_names[m68k->cpu_type], ADDRESS_68K(REG_PC - 2), REG_IR,
m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2))));
return;
}
@@ -4411,10 +4411,10 @@ M68KMAKE_OP(cpscc, 32, ., .)
M68KMAKE_OP(cptrapcc, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n",
- m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR,
+ m68ki_cpu_names[m68k->cpu_type], ADDRESS_68K(REG_PC - 2), REG_IR,
m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2))));
return;
}
@@ -4430,21 +4430,21 @@ M68KMAKE_OP(dbt, 16, ., .)
M68KMAKE_OP(dbf, 16, ., .)
{
- uint* r_dst = &DY;
- uint res = MASK_OUT_ABOVE_16(*r_dst - 1);
+ UINT32* r_dst = &DY;
+ UINT32 res = MASK_OUT_ABOVE_16(*r_dst - 1);
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
if(res != 0xffff)
{
- uint offset = OPER_I_16(m68k);
+ UINT32 offset = OPER_I_16(m68k);
REG_PC -= 2;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_branch_16(m68k, offset);
- USE_CYCLES(m68k, CYC_DBCC_F_NOEXP);
+ USE_CYCLES(m68k, m68k->cyc_dbcc_f_noexp);
return;
}
REG_PC += 2;
- USE_CYCLES(m68k, CYC_DBCC_F_EXP);
+ USE_CYCLES(m68k, m68k->cyc_dbcc_f_exp);
}
@@ -4452,21 +4452,21 @@ M68KMAKE_OP(dbcc, 16, ., .)
{
if(M68KMAKE_NOT_CC)
{
- uint* r_dst = &DY;
- uint res = MASK_OUT_ABOVE_16(*r_dst - 1);
+ UINT32* r_dst = &DY;
+ UINT32 res = MASK_OUT_ABOVE_16(*r_dst - 1);
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
if(res != 0xffff)
{
- uint offset = OPER_I_16(m68k);
+ UINT32 offset = OPER_I_16(m68k);
REG_PC -= 2;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_branch_16(m68k, offset);
- USE_CYCLES(m68k, CYC_DBCC_F_NOEXP);
+ USE_CYCLES(m68k, m68k->cyc_dbcc_f_noexp);
return;
}
REG_PC += 2;
- USE_CYCLES(m68k, CYC_DBCC_F_EXP);
+ USE_CYCLES(m68k, m68k->cyc_dbcc_f_exp);
return;
}
REG_PC += 2;
@@ -4475,14 +4475,14 @@ M68KMAKE_OP(dbcc, 16, ., .)
M68KMAKE_OP(divs, 16, ., d)
{
- uint* r_dst = &DX;
- sint src = MAKE_INT_16(DY);
- sint quotient;
- sint remainder;
+ UINT32* r_dst = &DX;
+ INT32 src = MAKE_INT_16(DY);
+ INT32 quotient;
+ INT32 remainder;
if(src != 0)
{
- if((uint32)*r_dst == 0x80000000 && src == -1)
+ if((UINT32)*r_dst == 0x80000000 && src == -1)
{
FLAG_Z = 0;
FLAG_N = NFLAG_CLEAR;
@@ -4513,14 +4513,14 @@ M68KMAKE_OP(divs, 16, ., d)
M68KMAKE_OP(divs, 16, ., .)
{
- uint* r_dst = &DX;
- sint src = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16);
- sint quotient;
- sint remainder;
+ UINT32* r_dst = &DX;
+ INT32 src = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16);
+ INT32 quotient;
+ INT32 remainder;
if(src != 0)
{
- if((uint32)*r_dst == 0x80000000 && src == -1)
+ if((UINT32)*r_dst == 0x80000000 && src == -1)
{
FLAG_Z = 0;
FLAG_N = NFLAG_CLEAR;
@@ -4551,13 +4551,13 @@ M68KMAKE_OP(divs, 16, ., .)
M68KMAKE_OP(divu, 16, ., d)
{
- uint* r_dst = &DX;
- uint src = MASK_OUT_ABOVE_16(DY);
+ UINT32* r_dst = &DX;
+ UINT32 src = MASK_OUT_ABOVE_16(DY);
if(src != 0)
{
- uint quotient = *r_dst / src;
- uint remainder = *r_dst % src;
+ UINT32 quotient = *r_dst / src;
+ UINT32 remainder = *r_dst % src;
if(quotient < 0x10000)
{
@@ -4577,13 +4577,13 @@ M68KMAKE_OP(divu, 16, ., d)
M68KMAKE_OP(divu, 16, ., .)
{
- uint* r_dst = &DX;
- uint src = M68KMAKE_GET_OPER_AY_16;
+ UINT32* r_dst = &DX;
+ UINT32 src = M68KMAKE_GET_OPER_AY_16;
if(src != 0)
{
- uint quotient = *r_dst / src;
- uint remainder = *r_dst % src;
+ UINT32 quotient = *r_dst / src;
+ UINT32 remainder = *r_dst % src;
if(quotient < 0x10000)
{
@@ -4605,13 +4605,13 @@ M68KMAKE_OP(divl, 32, ., d)
{
#if M68K_USE_64_BIT
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint64 divisor = DY;
- uint64 dividend = 0;
- uint64 quotient = 0;
- uint64 remainder = 0;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT64 divisor = DY;
+ UINT64 dividend = 0;
+ UINT64 quotient = 0;
+ UINT64 remainder = 0;
if(divisor != 0)
{
@@ -4623,9 +4623,9 @@ M68KMAKE_OP(divl, 32, ., d)
if(BIT_B(word2)) /* signed */
{
- quotient = (uint64)((sint64)dividend / (sint64)((sint32)divisor));
- remainder = (uint64)((sint64)dividend % (sint64)((sint32)divisor));
- if((sint64)quotient != (sint64)((sint32)quotient))
+ quotient = (UINT64)((INT64)dividend / (INT64)((INT32)divisor));
+ remainder = (UINT64)((INT64)dividend % (INT64)((INT32)divisor));
+ if((INT64)quotient != (INT64)((INT32)quotient))
{
FLAG_V = VFLAG_SET;
return;
@@ -4647,8 +4647,8 @@ M68KMAKE_OP(divl, 32, ., d)
dividend = REG_D[(word2 >> 12) & 7];
if(BIT_B(word2)) /* signed */
{
- quotient = (uint64)((sint64)((sint32)dividend) / (sint64)((sint32)divisor));
- remainder = (uint64)((sint64)((sint32)dividend) % (sint64)((sint32)divisor));
+ quotient = (UINT64)((INT64)((INT32)dividend) / (INT64)((INT32)divisor));
+ remainder = (UINT64)((INT64)((INT32)dividend) % (INT64)((INT32)divisor));
}
else /* unsigned */
{
@@ -4673,18 +4673,18 @@ M68KMAKE_OP(divl, 32, ., d)
#else
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint divisor = DY;
- uint dividend_hi = REG_D[word2 & 7];
- uint dividend_lo = REG_D[(word2 >> 12) & 7];
- uint quotient = 0;
- uint remainder = 0;
- uint dividend_neg = 0;
- uint divisor_neg = 0;
- sint i;
- uint overflow;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 divisor = DY;
+ UINT32 dividend_hi = REG_D[word2 & 7];
+ UINT32 dividend_lo = REG_D[(word2 >> 12) & 7];
+ UINT32 quotient = 0;
+ UINT32 remainder = 0;
+ UINT32 dividend_neg = 0;
+ UINT32 divisor_neg = 0;
+ INT32 i;
+ UINT32 overflow;
if(divisor != 0)
{
@@ -4708,13 +4708,13 @@ M68KMAKE_OP(divl, 32, ., d)
if(GET_MSB_32(dividend_hi))
{
dividend_neg = 1;
- dividend_hi = (uint)MASK_OUT_ABOVE_32((-(sint)dividend_hi) - (dividend_lo != 0));
- dividend_lo = (uint)MASK_OUT_ABOVE_32(-(sint)dividend_lo);
+ dividend_hi = (UINT32)MASK_OUT_ABOVE_32((-(INT32)dividend_hi) - (dividend_lo != 0));
+ dividend_lo = (UINT32)MASK_OUT_ABOVE_32(-(INT32)dividend_lo);
}
if(GET_MSB_32(divisor))
{
divisor_neg = 1;
- divisor = (uint)MASK_OUT_ABOVE_32(-(sint)divisor);
+ divisor = (UINT32)MASK_OUT_ABOVE_32(-(INT32)divisor);
}
}
@@ -4757,11 +4757,11 @@ M68KMAKE_OP(divl, 32, ., d)
}
if(dividend_neg)
{
- remainder = (uint)MASK_OUT_ABOVE_32(-(sint)remainder);
- quotient = (uint)MASK_OUT_ABOVE_32(-(sint)quotient);
+ remainder = (UINT32)MASK_OUT_ABOVE_32(-(INT32)remainder);
+ quotient = (UINT32)MASK_OUT_ABOVE_32(-(INT32)quotient);
}
if(divisor_neg)
- quotient = (uint)MASK_OUT_ABOVE_32(-(sint)quotient);
+ quotient = (UINT32)MASK_OUT_ABOVE_32(-(INT32)quotient);
}
REG_D[word2 & 7] = remainder;
@@ -4816,13 +4816,13 @@ M68KMAKE_OP(divl, 32, ., .)
{
#if M68K_USE_64_BIT
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint64 divisor = M68KMAKE_GET_OPER_AY_32;
- uint64 dividend = 0;
- uint64 quotient = 0;
- uint64 remainder = 0;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT64 divisor = M68KMAKE_GET_OPER_AY_32;
+ UINT64 dividend = 0;
+ UINT64 quotient = 0;
+ UINT64 remainder = 0;
if(divisor != 0)
{
@@ -4834,9 +4834,9 @@ M68KMAKE_OP(divl, 32, ., .)
if(BIT_B(word2)) /* signed */
{
- quotient = (uint64)((sint64)dividend / (sint64)((sint32)divisor));
- remainder = (uint64)((sint64)dividend % (sint64)((sint32)divisor));
- if((sint64)quotient != (sint64)((sint32)quotient))
+ quotient = (UINT64)((INT64)dividend / (INT64)((INT32)divisor));
+ remainder = (UINT64)((INT64)dividend % (INT64)((INT32)divisor));
+ if((INT64)quotient != (INT64)((INT32)quotient))
{
FLAG_V = VFLAG_SET;
return;
@@ -4858,8 +4858,8 @@ M68KMAKE_OP(divl, 32, ., .)
dividend = REG_D[(word2 >> 12) & 7];
if(BIT_B(word2)) /* signed */
{
- quotient = (uint64)((sint64)((sint32)dividend) / (sint64)((sint32)divisor));
- remainder = (uint64)((sint64)((sint32)dividend) % (sint64)((sint32)divisor));
+ quotient = (UINT64)((INT64)((INT32)dividend) / (INT64)((INT32)divisor));
+ remainder = (UINT64)((INT64)((INT32)dividend) % (INT64)((INT32)divisor));
}
else /* unsigned */
{
@@ -4884,18 +4884,18 @@ M68KMAKE_OP(divl, 32, ., .)
#else
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint divisor = M68KMAKE_GET_OPER_AY_32;
- uint dividend_hi = REG_D[word2 & 7];
- uint dividend_lo = REG_D[(word2 >> 12) & 7];
- uint quotient = 0;
- uint remainder = 0;
- uint dividend_neg = 0;
- uint divisor_neg = 0;
- sint i;
- uint overflow;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 divisor = M68KMAKE_GET_OPER_AY_32;
+ UINT32 dividend_hi = REG_D[word2 & 7];
+ UINT32 dividend_lo = REG_D[(word2 >> 12) & 7];
+ UINT32 quotient = 0;
+ UINT32 remainder = 0;
+ UINT32 dividend_neg = 0;
+ UINT32 divisor_neg = 0;
+ INT32 i;
+ UINT32 overflow;
if(divisor != 0)
{
@@ -4919,13 +4919,13 @@ M68KMAKE_OP(divl, 32, ., .)
if(GET_MSB_32(dividend_hi))
{
dividend_neg = 1;
- dividend_hi = (uint)MASK_OUT_ABOVE_32((-(sint)dividend_hi) - (dividend_lo != 0));
- dividend_lo = (uint)MASK_OUT_ABOVE_32(-(sint)dividend_lo);
+ dividend_hi = (UINT32)MASK_OUT_ABOVE_32((-(INT32)dividend_hi) - (dividend_lo != 0));
+ dividend_lo = (UINT32)MASK_OUT_ABOVE_32(-(INT32)dividend_lo);
}
if(GET_MSB_32(divisor))
{
divisor_neg = 1;
- divisor = (uint)MASK_OUT_ABOVE_32(-(sint)divisor);
+ divisor = (UINT32)MASK_OUT_ABOVE_32(-(INT32)divisor);
}
}
@@ -4968,11 +4968,11 @@ M68KMAKE_OP(divl, 32, ., .)
}
if(dividend_neg)
{
- remainder = (uint)MASK_OUT_ABOVE_32(-(sint)remainder);
- quotient = (uint)MASK_OUT_ABOVE_32(-(sint)quotient);
+ remainder = (UINT32)MASK_OUT_ABOVE_32(-(INT32)remainder);
+ quotient = (UINT32)MASK_OUT_ABOVE_32(-(INT32)quotient);
}
if(divisor_neg)
- quotient = (uint)MASK_OUT_ABOVE_32(-(sint)quotient);
+ quotient = (UINT32)MASK_OUT_ABOVE_32(-(INT32)quotient);
}
REG_D[word2 & 7] = remainder;
@@ -5025,7 +5025,7 @@ M68KMAKE_OP(divl, 32, ., .)
M68KMAKE_OP(eor, 8, ., d)
{
- uint res = MASK_OUT_ABOVE_8(DY ^= MASK_OUT_ABOVE_8(DX));
+ UINT32 res = MASK_OUT_ABOVE_8(DY ^= MASK_OUT_ABOVE_8(DX));
FLAG_N = NFLAG_8(res);
FLAG_Z = res;
@@ -5036,8 +5036,8 @@ M68KMAKE_OP(eor, 8, ., d)
M68KMAKE_OP(eor, 8, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(m68k, ea));
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(m68k, ea));
m68ki_write_8(m68k, ea, res);
@@ -5050,7 +5050,7 @@ M68KMAKE_OP(eor, 8, ., .)
M68KMAKE_OP(eor, 16, ., d)
{
- uint res = MASK_OUT_ABOVE_16(DY ^= MASK_OUT_ABOVE_16(DX));
+ UINT32 res = MASK_OUT_ABOVE_16(DY ^= MASK_OUT_ABOVE_16(DX));
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -5061,8 +5061,8 @@ M68KMAKE_OP(eor, 16, ., d)
M68KMAKE_OP(eor, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint res = MASK_OUT_ABOVE_16(DX ^ m68ki_read_16(m68k, ea));
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 res = MASK_OUT_ABOVE_16(DX ^ m68ki_read_16(m68k, ea));
m68ki_write_16(m68k, ea, res);
@@ -5075,7 +5075,7 @@ M68KMAKE_OP(eor, 16, ., .)
M68KMAKE_OP(eor, 32, ., d)
{
- uint res = DY ^= DX;
+ UINT32 res = DY ^= DX;
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -5086,8 +5086,8 @@ M68KMAKE_OP(eor, 32, ., d)
M68KMAKE_OP(eor, 32, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint res = DX ^ m68ki_read_32(m68k, ea);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 res = DX ^ m68ki_read_32(m68k, ea);
m68ki_write_32(m68k, ea, res);
@@ -5100,7 +5100,7 @@ M68KMAKE_OP(eor, 32, ., .)
M68KMAKE_OP(eori, 8, ., d)
{
- uint res = MASK_OUT_ABOVE_8(DY ^= OPER_I_8(m68k));
+ UINT32 res = MASK_OUT_ABOVE_8(DY ^= OPER_I_8(m68k));
FLAG_N = NFLAG_8(res);
FLAG_Z = res;
@@ -5111,9 +5111,9 @@ M68KMAKE_OP(eori, 8, ., d)
M68KMAKE_OP(eori, 8, ., .)
{
- uint src = OPER_I_8(m68k);
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint res = src ^ m68ki_read_8(m68k, ea);
+ UINT32 src = OPER_I_8(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 res = src ^ m68ki_read_8(m68k, ea);
m68ki_write_8(m68k, ea, res);
@@ -5126,7 +5126,7 @@ M68KMAKE_OP(eori, 8, ., .)
M68KMAKE_OP(eori, 16, ., d)
{
- uint res = MASK_OUT_ABOVE_16(DY ^= OPER_I_16(m68k));
+ UINT32 res = MASK_OUT_ABOVE_16(DY ^= OPER_I_16(m68k));
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -5137,9 +5137,9 @@ M68KMAKE_OP(eori, 16, ., d)
M68KMAKE_OP(eori, 16, ., .)
{
- uint src = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint res = src ^ m68ki_read_16(m68k, ea);
+ UINT32 src = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 res = src ^ m68ki_read_16(m68k, ea);
m68ki_write_16(m68k, ea, res);
@@ -5152,7 +5152,7 @@ M68KMAKE_OP(eori, 16, ., .)
M68KMAKE_OP(eori, 32, ., d)
{
- uint res = DY ^= OPER_I_32(m68k);
+ UINT32 res = DY ^= OPER_I_32(m68k);
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -5163,9 +5163,9 @@ M68KMAKE_OP(eori, 32, ., d)
M68KMAKE_OP(eori, 32, ., .)
{
- uint src = OPER_I_32(m68k);
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint res = src ^ m68ki_read_32(m68k, ea);
+ UINT32 src = OPER_I_32(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 res = src ^ m68ki_read_32(m68k, ea);
m68ki_write_32(m68k, ea, res);
@@ -5186,7 +5186,7 @@ M68KMAKE_OP(eori, 16, tos, .)
{
if(FLAG_S)
{
- uint src = OPER_I_16(m68k);
+ UINT32 src = OPER_I_16(m68k);
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_set_sr(m68k, m68ki_get_sr(m68k) ^ src);
return;
@@ -5197,9 +5197,9 @@ M68KMAKE_OP(eori, 16, tos, .)
M68KMAKE_OP(exg, 32, dd, .)
{
- uint* reg_a = &DX;
- uint* reg_b = &DY;
- uint tmp = *reg_a;
+ UINT32* reg_a = &DX;
+ UINT32* reg_b = &DY;
+ UINT32 tmp = *reg_a;
*reg_a = *reg_b;
*reg_b = tmp;
}
@@ -5207,9 +5207,9 @@ M68KMAKE_OP(exg, 32, dd, .)
M68KMAKE_OP(exg, 32, aa, .)
{
- uint* reg_a = &AX;
- uint* reg_b = &AY;
- uint tmp = *reg_a;
+ UINT32* reg_a = &AX;
+ UINT32* reg_b = &AY;
+ UINT32 tmp = *reg_a;
*reg_a = *reg_b;
*reg_b = tmp;
}
@@ -5217,9 +5217,9 @@ M68KMAKE_OP(exg, 32, aa, .)
M68KMAKE_OP(exg, 32, da, .)
{
- uint* reg_a = &DX;
- uint* reg_b = &AY;
- uint tmp = *reg_a;
+ UINT32* reg_a = &DX;
+ UINT32* reg_b = &AY;
+ UINT32 tmp = *reg_a;
*reg_a = *reg_b;
*reg_b = tmp;
}
@@ -5227,7 +5227,7 @@ M68KMAKE_OP(exg, 32, da, .)
M68KMAKE_OP(ext, 16, ., .)
{
- uint* r_dst = &DY;
+ UINT32* r_dst = &DY;
*r_dst = MASK_OUT_BELOW_16(*r_dst) | MASK_OUT_ABOVE_8(*r_dst) | (GET_MSB_8(*r_dst) ? 0xff00 : 0);
@@ -5240,7 +5240,7 @@ M68KMAKE_OP(ext, 16, ., .)
M68KMAKE_OP(ext, 32, ., .)
{
- uint* r_dst = &DY;
+ UINT32* r_dst = &DY;
*r_dst = MASK_OUT_ABOVE_16(*r_dst) | (GET_MSB_16(*r_dst) ? 0xffff0000 : 0);
@@ -5253,9 +5253,9 @@ M68KMAKE_OP(ext, 32, ., .)
M68KMAKE_OP(extb, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint* r_dst = &DY;
+ UINT32* r_dst = &DY;
*r_dst = MASK_OUT_ABOVE_8(*r_dst) | (GET_MSB_8(*r_dst) ? 0xffffff00 : 0);
@@ -5285,7 +5285,7 @@ M68KMAKE_OP(jmp, 32, ., .)
M68KMAKE_OP(jsr, 32, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_push_32(m68k, REG_PC);
m68ki_jump(m68k, ea);
@@ -5308,7 +5308,7 @@ M68KMAKE_OP(link, 16, ., a7)
M68KMAKE_OP(link, 16, ., .)
{
- uint* r_dst = &AY;
+ UINT32* r_dst = &AY;
m68ki_push_32(m68k, *r_dst);
*r_dst = REG_A[7];
@@ -5318,7 +5318,7 @@ M68KMAKE_OP(link, 16, ., .)
M68KMAKE_OP(link, 32, ., a7)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
REG_A[7] -= 4;
m68ki_write_32(m68k, REG_A[7], REG_A[7]);
@@ -5331,9 +5331,9 @@ M68KMAKE_OP(link, 32, ., a7)
M68KMAKE_OP(link, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint* r_dst = &AY;
+ UINT32* r_dst = &AY;
m68ki_push_32(m68k, *r_dst);
*r_dst = REG_A[7];
@@ -5346,13 +5346,13 @@ M68KMAKE_OP(link, 32, ., .)
M68KMAKE_OP(lsr, 8, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = src >> shift;
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_8(*r_dst) | res;
@@ -5365,13 +5365,13 @@ M68KMAKE_OP(lsr, 8, s, .)
M68KMAKE_OP(lsr, 16, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = src >> shift;
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
@@ -5384,13 +5384,13 @@ M68KMAKE_OP(lsr, 16, s, .)
M68KMAKE_OP(lsr, 32, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = *r_dst;
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = *r_dst;
+ UINT32 res = src >> shift;
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = res;
@@ -5403,14 +5403,14 @@ M68KMAKE_OP(lsr, 32, s, .)
M68KMAKE_OP(lsr, 8, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = src >> shift;
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift <= 8)
{
@@ -5440,14 +5440,14 @@ M68KMAKE_OP(lsr, 8, r, .)
M68KMAKE_OP(lsr, 16, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = src >> shift;
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift <= 16)
{
@@ -5477,14 +5477,14 @@ M68KMAKE_OP(lsr, 16, r, .)
M68KMAKE_OP(lsr, 32, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = *r_dst;
- uint res = src >> shift;
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = *r_dst;
+ UINT32 res = src >> shift;
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift < 32)
{
@@ -5513,9 +5513,9 @@ M68KMAKE_OP(lsr, 32, r, .)
M68KMAKE_OP(lsr, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = m68ki_read_16(m68k, ea);
- uint res = src >> 1;
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = m68ki_read_16(m68k, ea);
+ UINT32 res = src >> 1;
m68ki_write_16(m68k, ea, res);
@@ -5528,13 +5528,13 @@ M68KMAKE_OP(lsr, 16, ., .)
M68KMAKE_OP(lsl, 8, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = MASK_OUT_ABOVE_8(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = MASK_OUT_ABOVE_8(src << shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_8(*r_dst) | res;
@@ -5547,13 +5547,13 @@ M68KMAKE_OP(lsl, 8, s, .)
M68KMAKE_OP(lsl, 16, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = MASK_OUT_ABOVE_16(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = MASK_OUT_ABOVE_16(src << shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
@@ -5566,13 +5566,13 @@ M68KMAKE_OP(lsl, 16, s, .)
M68KMAKE_OP(lsl, 32, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = *r_dst;
- uint res = MASK_OUT_ABOVE_32(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = *r_dst;
+ UINT32 res = MASK_OUT_ABOVE_32(src << shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = res;
@@ -5585,14 +5585,14 @@ M68KMAKE_OP(lsl, 32, s, .)
M68KMAKE_OP(lsl, 8, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = MASK_OUT_ABOVE_8(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = MASK_OUT_ABOVE_8(src << shift);
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift <= 8)
{
@@ -5622,14 +5622,14 @@ M68KMAKE_OP(lsl, 8, r, .)
M68KMAKE_OP(lsl, 16, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = MASK_OUT_ABOVE_16(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = MASK_OUT_ABOVE_16(src << shift);
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift <= 16)
{
@@ -5659,14 +5659,14 @@ M68KMAKE_OP(lsl, 16, r, .)
M68KMAKE_OP(lsl, 32, r, .)
{
- uint* r_dst = &DY;
- uint shift = DX & 0x3f;
- uint src = *r_dst;
- uint res = MASK_OUT_ABOVE_32(src << shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = DX & 0x3f;
+ UINT32 src = *r_dst;
+ UINT32 res = MASK_OUT_ABOVE_32(src << shift);
if(shift != 0)
{
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
if(shift < 32)
{
@@ -5695,9 +5695,9 @@ M68KMAKE_OP(lsl, 32, r, .)
M68KMAKE_OP(lsl, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = m68ki_read_16(m68k, ea);
- uint res = MASK_OUT_ABOVE_16(src << 1);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = m68ki_read_16(m68k, ea);
+ UINT32 res = MASK_OUT_ABOVE_16(src << 1);
m68ki_write_16(m68k, ea, res);
@@ -5710,8 +5710,8 @@ M68KMAKE_OP(lsl, 16, ., .)
M68KMAKE_OP(move, 8, d, d)
{
- uint res = MASK_OUT_ABOVE_8(DY);
- uint* r_dst = &DX;
+ UINT32 res = MASK_OUT_ABOVE_8(DY);
+ UINT32* r_dst = &DX;
*r_dst = MASK_OUT_BELOW_8(*r_dst) | res;
@@ -5724,8 +5724,8 @@ M68KMAKE_OP(move, 8, d, d)
M68KMAKE_OP(move, 8, d, .)
{
- uint res = M68KMAKE_GET_OPER_AY_8;
- uint* r_dst = &DX;
+ UINT32 res = M68KMAKE_GET_OPER_AY_8;
+ UINT32* r_dst = &DX;
*r_dst = MASK_OUT_BELOW_8(*r_dst) | res;
@@ -5738,8 +5738,8 @@ M68KMAKE_OP(move, 8, d, .)
M68KMAKE_OP(move, 8, ai, d)
{
- uint res = MASK_OUT_ABOVE_8(DY);
- uint ea = EA_AX_AI_8(m68k);
+ UINT32 res = MASK_OUT_ABOVE_8(DY);
+ UINT32 ea = EA_AX_AI_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5752,8 +5752,8 @@ M68KMAKE_OP(move, 8, ai, d)
M68KMAKE_OP(move, 8, ai, .)
{
- uint res = M68KMAKE_GET_OPER_AY_8;
- uint ea = EA_AX_AI_8(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_8;
+ UINT32 ea = EA_AX_AI_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5766,8 +5766,8 @@ M68KMAKE_OP(move, 8, ai, .)
M68KMAKE_OP(move, 8, pi7, d)
{
- uint res = MASK_OUT_ABOVE_8(DY);
- uint ea = EA_A7_PI_8(m68k);
+ UINT32 res = MASK_OUT_ABOVE_8(DY);
+ UINT32 ea = EA_A7_PI_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5780,8 +5780,8 @@ M68KMAKE_OP(move, 8, pi7, d)
M68KMAKE_OP(move, 8, pi, d)
{
- uint res = MASK_OUT_ABOVE_8(DY);
- uint ea = EA_AX_PI_8(m68k);
+ UINT32 res = MASK_OUT_ABOVE_8(DY);
+ UINT32 ea = EA_AX_PI_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5794,8 +5794,8 @@ M68KMAKE_OP(move, 8, pi, d)
M68KMAKE_OP(move, 8, pi7, .)
{
- uint res = M68KMAKE_GET_OPER_AY_8;
- uint ea = EA_A7_PI_8(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_8;
+ UINT32 ea = EA_A7_PI_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5808,8 +5808,8 @@ M68KMAKE_OP(move, 8, pi7, .)
M68KMAKE_OP(move, 8, pi, .)
{
- uint res = M68KMAKE_GET_OPER_AY_8;
- uint ea = EA_AX_PI_8(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_8;
+ UINT32 ea = EA_AX_PI_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5822,8 +5822,8 @@ M68KMAKE_OP(move, 8, pi, .)
M68KMAKE_OP(move, 8, pd7, d)
{
- uint res = MASK_OUT_ABOVE_8(DY);
- uint ea = EA_A7_PD_8(m68k);
+ UINT32 res = MASK_OUT_ABOVE_8(DY);
+ UINT32 ea = EA_A7_PD_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5836,8 +5836,8 @@ M68KMAKE_OP(move, 8, pd7, d)
M68KMAKE_OP(move, 8, pd, d)
{
- uint res = MASK_OUT_ABOVE_8(DY);
- uint ea = EA_AX_PD_8(m68k);
+ UINT32 res = MASK_OUT_ABOVE_8(DY);
+ UINT32 ea = EA_AX_PD_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5850,8 +5850,8 @@ M68KMAKE_OP(move, 8, pd, d)
M68KMAKE_OP(move, 8, pd7, .)
{
- uint res = M68KMAKE_GET_OPER_AY_8;
- uint ea = EA_A7_PD_8(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_8;
+ UINT32 ea = EA_A7_PD_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5864,8 +5864,8 @@ M68KMAKE_OP(move, 8, pd7, .)
M68KMAKE_OP(move, 8, pd, .)
{
- uint res = M68KMAKE_GET_OPER_AY_8;
- uint ea = EA_AX_PD_8(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_8;
+ UINT32 ea = EA_AX_PD_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5878,8 +5878,8 @@ M68KMAKE_OP(move, 8, pd, .)
M68KMAKE_OP(move, 8, di, d)
{
- uint res = MASK_OUT_ABOVE_8(DY);
- uint ea = EA_AX_DI_8(m68k);
+ UINT32 res = MASK_OUT_ABOVE_8(DY);
+ UINT32 ea = EA_AX_DI_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5892,8 +5892,8 @@ M68KMAKE_OP(move, 8, di, d)
M68KMAKE_OP(move, 8, di, .)
{
- uint res = M68KMAKE_GET_OPER_AY_8;
- uint ea = EA_AX_DI_8(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_8;
+ UINT32 ea = EA_AX_DI_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5906,8 +5906,8 @@ M68KMAKE_OP(move, 8, di, .)
M68KMAKE_OP(move, 8, ix, d)
{
- uint res = MASK_OUT_ABOVE_8(DY);
- uint ea = EA_AX_IX_8(m68k);
+ UINT32 res = MASK_OUT_ABOVE_8(DY);
+ UINT32 ea = EA_AX_IX_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5920,8 +5920,8 @@ M68KMAKE_OP(move, 8, ix, d)
M68KMAKE_OP(move, 8, ix, .)
{
- uint res = M68KMAKE_GET_OPER_AY_8;
- uint ea = EA_AX_IX_8(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_8;
+ UINT32 ea = EA_AX_IX_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5934,8 +5934,8 @@ M68KMAKE_OP(move, 8, ix, .)
M68KMAKE_OP(move, 8, aw, d)
{
- uint res = MASK_OUT_ABOVE_8(DY);
- uint ea = EA_AW_8(m68k);
+ UINT32 res = MASK_OUT_ABOVE_8(DY);
+ UINT32 ea = EA_AW_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5948,8 +5948,8 @@ M68KMAKE_OP(move, 8, aw, d)
M68KMAKE_OP(move, 8, aw, .)
{
- uint res = M68KMAKE_GET_OPER_AY_8;
- uint ea = EA_AW_8(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_8;
+ UINT32 ea = EA_AW_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5962,8 +5962,8 @@ M68KMAKE_OP(move, 8, aw, .)
M68KMAKE_OP(move, 8, al, d)
{
- uint res = MASK_OUT_ABOVE_8(DY);
- uint ea = EA_AL_8(m68k);
+ UINT32 res = MASK_OUT_ABOVE_8(DY);
+ UINT32 ea = EA_AL_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5976,8 +5976,8 @@ M68KMAKE_OP(move, 8, al, d)
M68KMAKE_OP(move, 8, al, .)
{
- uint res = M68KMAKE_GET_OPER_AY_8;
- uint ea = EA_AL_8(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_8;
+ UINT32 ea = EA_AL_8(m68k);
m68ki_write_8(m68k, ea, res);
@@ -5990,8 +5990,8 @@ M68KMAKE_OP(move, 8, al, .)
M68KMAKE_OP(move, 16, d, d)
{
- uint res = MASK_OUT_ABOVE_16(DY);
- uint* r_dst = &DX;
+ UINT32 res = MASK_OUT_ABOVE_16(DY);
+ UINT32* r_dst = &DX;
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
@@ -6004,8 +6004,8 @@ M68KMAKE_OP(move, 16, d, d)
M68KMAKE_OP(move, 16, d, a)
{
- uint res = MASK_OUT_ABOVE_16(AY);
- uint* r_dst = &DX;
+ UINT32 res = MASK_OUT_ABOVE_16(AY);
+ UINT32* r_dst = &DX;
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
@@ -6018,8 +6018,8 @@ M68KMAKE_OP(move, 16, d, a)
M68KMAKE_OP(move, 16, d, .)
{
- uint res = M68KMAKE_GET_OPER_AY_16;
- uint* r_dst = &DX;
+ UINT32 res = M68KMAKE_GET_OPER_AY_16;
+ UINT32* r_dst = &DX;
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
@@ -6032,8 +6032,8 @@ M68KMAKE_OP(move, 16, d, .)
M68KMAKE_OP(move, 16, ai, d)
{
- uint res = MASK_OUT_ABOVE_16(DY);
- uint ea = EA_AX_AI_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(DY);
+ UINT32 ea = EA_AX_AI_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6046,8 +6046,8 @@ M68KMAKE_OP(move, 16, ai, d)
M68KMAKE_OP(move, 16, ai, a)
{
- uint res = MASK_OUT_ABOVE_16(AY);
- uint ea = EA_AX_AI_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(AY);
+ UINT32 ea = EA_AX_AI_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6060,8 +6060,8 @@ M68KMAKE_OP(move, 16, ai, a)
M68KMAKE_OP(move, 16, ai, .)
{
- uint res = M68KMAKE_GET_OPER_AY_16;
- uint ea = EA_AX_AI_16(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_16;
+ UINT32 ea = EA_AX_AI_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6074,8 +6074,8 @@ M68KMAKE_OP(move, 16, ai, .)
M68KMAKE_OP(move, 16, pi, d)
{
- uint res = MASK_OUT_ABOVE_16(DY);
- uint ea = EA_AX_PI_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(DY);
+ UINT32 ea = EA_AX_PI_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6088,8 +6088,8 @@ M68KMAKE_OP(move, 16, pi, d)
M68KMAKE_OP(move, 16, pi, a)
{
- uint res = MASK_OUT_ABOVE_16(AY);
- uint ea = EA_AX_PI_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(AY);
+ UINT32 ea = EA_AX_PI_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6102,8 +6102,8 @@ M68KMAKE_OP(move, 16, pi, a)
M68KMAKE_OP(move, 16, pi, .)
{
- uint res = M68KMAKE_GET_OPER_AY_16;
- uint ea = EA_AX_PI_16(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_16;
+ UINT32 ea = EA_AX_PI_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6116,8 +6116,8 @@ M68KMAKE_OP(move, 16, pi, .)
M68KMAKE_OP(move, 16, pd, d)
{
- uint res = MASK_OUT_ABOVE_16(DY);
- uint ea = EA_AX_PD_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(DY);
+ UINT32 ea = EA_AX_PD_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6130,8 +6130,8 @@ M68KMAKE_OP(move, 16, pd, d)
M68KMAKE_OP(move, 16, pd, a)
{
- uint res = MASK_OUT_ABOVE_16(AY);
- uint ea = EA_AX_PD_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(AY);
+ UINT32 ea = EA_AX_PD_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6144,8 +6144,8 @@ M68KMAKE_OP(move, 16, pd, a)
M68KMAKE_OP(move, 16, pd, .)
{
- uint res = M68KMAKE_GET_OPER_AY_16;
- uint ea = EA_AX_PD_16(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_16;
+ UINT32 ea = EA_AX_PD_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6158,8 +6158,8 @@ M68KMAKE_OP(move, 16, pd, .)
M68KMAKE_OP(move, 16, di, d)
{
- uint res = MASK_OUT_ABOVE_16(DY);
- uint ea = EA_AX_DI_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(DY);
+ UINT32 ea = EA_AX_DI_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6172,8 +6172,8 @@ M68KMAKE_OP(move, 16, di, d)
M68KMAKE_OP(move, 16, di, a)
{
- uint res = MASK_OUT_ABOVE_16(AY);
- uint ea = EA_AX_DI_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(AY);
+ UINT32 ea = EA_AX_DI_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6186,8 +6186,8 @@ M68KMAKE_OP(move, 16, di, a)
M68KMAKE_OP(move, 16, di, .)
{
- uint res = M68KMAKE_GET_OPER_AY_16;
- uint ea = EA_AX_DI_16(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_16;
+ UINT32 ea = EA_AX_DI_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6200,8 +6200,8 @@ M68KMAKE_OP(move, 16, di, .)
M68KMAKE_OP(move, 16, ix, d)
{
- uint res = MASK_OUT_ABOVE_16(DY);
- uint ea = EA_AX_IX_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(DY);
+ UINT32 ea = EA_AX_IX_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6214,8 +6214,8 @@ M68KMAKE_OP(move, 16, ix, d)
M68KMAKE_OP(move, 16, ix, a)
{
- uint res = MASK_OUT_ABOVE_16(AY);
- uint ea = EA_AX_IX_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(AY);
+ UINT32 ea = EA_AX_IX_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6228,8 +6228,8 @@ M68KMAKE_OP(move, 16, ix, a)
M68KMAKE_OP(move, 16, ix, .)
{
- uint res = M68KMAKE_GET_OPER_AY_16;
- uint ea = EA_AX_IX_16(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_16;
+ UINT32 ea = EA_AX_IX_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6242,8 +6242,8 @@ M68KMAKE_OP(move, 16, ix, .)
M68KMAKE_OP(move, 16, aw, d)
{
- uint res = MASK_OUT_ABOVE_16(DY);
- uint ea = EA_AW_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(DY);
+ UINT32 ea = EA_AW_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6256,8 +6256,8 @@ M68KMAKE_OP(move, 16, aw, d)
M68KMAKE_OP(move, 16, aw, a)
{
- uint res = MASK_OUT_ABOVE_16(AY);
- uint ea = EA_AW_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(AY);
+ UINT32 ea = EA_AW_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6270,8 +6270,8 @@ M68KMAKE_OP(move, 16, aw, a)
M68KMAKE_OP(move, 16, aw, .)
{
- uint res = M68KMAKE_GET_OPER_AY_16;
- uint ea = EA_AW_16(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_16;
+ UINT32 ea = EA_AW_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6284,8 +6284,8 @@ M68KMAKE_OP(move, 16, aw, .)
M68KMAKE_OP(move, 16, al, d)
{
- uint res = MASK_OUT_ABOVE_16(DY);
- uint ea = EA_AL_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(DY);
+ UINT32 ea = EA_AL_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6298,8 +6298,8 @@ M68KMAKE_OP(move, 16, al, d)
M68KMAKE_OP(move, 16, al, a)
{
- uint res = MASK_OUT_ABOVE_16(AY);
- uint ea = EA_AL_16(m68k);
+ UINT32 res = MASK_OUT_ABOVE_16(AY);
+ UINT32 ea = EA_AL_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6312,8 +6312,8 @@ M68KMAKE_OP(move, 16, al, a)
M68KMAKE_OP(move, 16, al, .)
{
- uint res = M68KMAKE_GET_OPER_AY_16;
- uint ea = EA_AL_16(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_16;
+ UINT32 ea = EA_AL_16(m68k);
m68ki_write_16(m68k, ea, res);
@@ -6326,8 +6326,8 @@ M68KMAKE_OP(move, 16, al, .)
M68KMAKE_OP(move, 32, d, d)
{
- uint res = DY;
- uint* r_dst = &DX;
+ UINT32 res = DY;
+ UINT32* r_dst = &DX;
*r_dst = res;
@@ -6340,8 +6340,8 @@ M68KMAKE_OP(move, 32, d, d)
M68KMAKE_OP(move, 32, d, a)
{
- uint res = AY;
- uint* r_dst = &DX;
+ UINT32 res = AY;
+ UINT32* r_dst = &DX;
*r_dst = res;
@@ -6354,8 +6354,8 @@ M68KMAKE_OP(move, 32, d, a)
M68KMAKE_OP(move, 32, d, .)
{
- uint res = M68KMAKE_GET_OPER_AY_32;
- uint* r_dst = &DX;
+ UINT32 res = M68KMAKE_GET_OPER_AY_32;
+ UINT32* r_dst = &DX;
*r_dst = res;
@@ -6368,8 +6368,8 @@ M68KMAKE_OP(move, 32, d, .)
M68KMAKE_OP(move, 32, ai, d)
{
- uint res = DY;
- uint ea = EA_AX_AI_32(m68k);
+ UINT32 res = DY;
+ UINT32 ea = EA_AX_AI_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6382,8 +6382,8 @@ M68KMAKE_OP(move, 32, ai, d)
M68KMAKE_OP(move, 32, ai, a)
{
- uint res = AY;
- uint ea = EA_AX_AI_32(m68k);
+ UINT32 res = AY;
+ UINT32 ea = EA_AX_AI_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6396,8 +6396,8 @@ M68KMAKE_OP(move, 32, ai, a)
M68KMAKE_OP(move, 32, ai, .)
{
- uint res = M68KMAKE_GET_OPER_AY_32;
- uint ea = EA_AX_AI_32(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_32;
+ UINT32 ea = EA_AX_AI_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6410,8 +6410,8 @@ M68KMAKE_OP(move, 32, ai, .)
M68KMAKE_OP(move, 32, pi, d)
{
- uint res = DY;
- uint ea = EA_AX_PI_32(m68k);
+ UINT32 res = DY;
+ UINT32 ea = EA_AX_PI_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6424,8 +6424,8 @@ M68KMAKE_OP(move, 32, pi, d)
M68KMAKE_OP(move, 32, pi, a)
{
- uint res = AY;
- uint ea = EA_AX_PI_32(m68k);
+ UINT32 res = AY;
+ UINT32 ea = EA_AX_PI_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6438,8 +6438,8 @@ M68KMAKE_OP(move, 32, pi, a)
M68KMAKE_OP(move, 32, pi, .)
{
- uint res = M68KMAKE_GET_OPER_AY_32;
- uint ea = EA_AX_PI_32(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_32;
+ UINT32 ea = EA_AX_PI_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6452,8 +6452,8 @@ M68KMAKE_OP(move, 32, pi, .)
M68KMAKE_OP(move, 32, pd, d)
{
- uint res = DY;
- uint ea = EA_AX_PD_32(m68k);
+ UINT32 res = DY;
+ UINT32 ea = EA_AX_PD_32(m68k);
m68ki_write_16(m68k, ea+2, res & 0xFFFF );
m68ki_write_16(m68k, ea, (res >> 16) & 0xFFFF );
@@ -6467,8 +6467,8 @@ M68KMAKE_OP(move, 32, pd, d)
M68KMAKE_OP(move, 32, pd, a)
{
- uint res = AY;
- uint ea = EA_AX_PD_32(m68k);
+ UINT32 res = AY;
+ UINT32 ea = EA_AX_PD_32(m68k);
m68ki_write_16(m68k, ea+2, res & 0xFFFF );
m68ki_write_16(m68k, ea, (res >> 16) & 0xFFFF );
@@ -6482,8 +6482,8 @@ M68KMAKE_OP(move, 32, pd, a)
M68KMAKE_OP(move, 32, pd, .)
{
- uint res = M68KMAKE_GET_OPER_AY_32;
- uint ea = EA_AX_PD_32(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_32;
+ UINT32 ea = EA_AX_PD_32(m68k);
m68ki_write_16(m68k, ea+2, res & 0xFFFF );
m68ki_write_16(m68k, ea, (res >> 16) & 0xFFFF );
@@ -6497,8 +6497,8 @@ M68KMAKE_OP(move, 32, pd, .)
M68KMAKE_OP(move, 32, di, d)
{
- uint res = DY;
- uint ea = EA_AX_DI_32(m68k);
+ UINT32 res = DY;
+ UINT32 ea = EA_AX_DI_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6511,8 +6511,8 @@ M68KMAKE_OP(move, 32, di, d)
M68KMAKE_OP(move, 32, di, a)
{
- uint res = AY;
- uint ea = EA_AX_DI_32(m68k);
+ UINT32 res = AY;
+ UINT32 ea = EA_AX_DI_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6525,8 +6525,8 @@ M68KMAKE_OP(move, 32, di, a)
M68KMAKE_OP(move, 32, di, .)
{
- uint res = M68KMAKE_GET_OPER_AY_32;
- uint ea = EA_AX_DI_32(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_32;
+ UINT32 ea = EA_AX_DI_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6539,8 +6539,8 @@ M68KMAKE_OP(move, 32, di, .)
M68KMAKE_OP(move, 32, ix, d)
{
- uint res = DY;
- uint ea = EA_AX_IX_32(m68k);
+ UINT32 res = DY;
+ UINT32 ea = EA_AX_IX_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6553,8 +6553,8 @@ M68KMAKE_OP(move, 32, ix, d)
M68KMAKE_OP(move, 32, ix, a)
{
- uint res = AY;
- uint ea = EA_AX_IX_32(m68k);
+ UINT32 res = AY;
+ UINT32 ea = EA_AX_IX_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6567,8 +6567,8 @@ M68KMAKE_OP(move, 32, ix, a)
M68KMAKE_OP(move, 32, ix, .)
{
- uint res = M68KMAKE_GET_OPER_AY_32;
- uint ea = EA_AX_IX_32(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_32;
+ UINT32 ea = EA_AX_IX_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6581,8 +6581,8 @@ M68KMAKE_OP(move, 32, ix, .)
M68KMAKE_OP(move, 32, aw, d)
{
- uint res = DY;
- uint ea = EA_AW_32(m68k);
+ UINT32 res = DY;
+ UINT32 ea = EA_AW_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6595,8 +6595,8 @@ M68KMAKE_OP(move, 32, aw, d)
M68KMAKE_OP(move, 32, aw, a)
{
- uint res = AY;
- uint ea = EA_AW_32(m68k);
+ UINT32 res = AY;
+ UINT32 ea = EA_AW_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6609,8 +6609,8 @@ M68KMAKE_OP(move, 32, aw, a)
M68KMAKE_OP(move, 32, aw, .)
{
- uint res = M68KMAKE_GET_OPER_AY_32;
- uint ea = EA_AW_32(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_32;
+ UINT32 ea = EA_AW_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6623,8 +6623,8 @@ M68KMAKE_OP(move, 32, aw, .)
M68KMAKE_OP(move, 32, al, d)
{
- uint res = DY;
- uint ea = EA_AL_32(m68k);
+ UINT32 res = DY;
+ UINT32 ea = EA_AL_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6637,8 +6637,8 @@ M68KMAKE_OP(move, 32, al, d)
M68KMAKE_OP(move, 32, al, a)
{
- uint res = AY;
- uint ea = EA_AL_32(m68k);
+ UINT32 res = AY;
+ UINT32 ea = EA_AL_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6651,8 +6651,8 @@ M68KMAKE_OP(move, 32, al, a)
M68KMAKE_OP(move, 32, al, .)
{
- uint res = M68KMAKE_GET_OPER_AY_32;
- uint ea = EA_AL_32(m68k);
+ UINT32 res = M68KMAKE_GET_OPER_AY_32;
+ UINT32 ea = EA_AL_32(m68k);
m68ki_write_32(m68k, ea, res);
@@ -6701,7 +6701,7 @@ M68KMAKE_OP(movea, 32, ., .)
M68KMAKE_OP(move, 16, frc, d)
{
- if(CPU_TYPE_IS_010_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_PLUS(m68k->cpu_type))
{
DY = MASK_OUT_BELOW_16(DY) | m68ki_get_ccr();
return;
@@ -6712,7 +6712,7 @@ M68KMAKE_OP(move, 16, frc, d)
M68KMAKE_OP(move, 16, frc, .)
{
- if(CPU_TYPE_IS_010_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_PLUS(m68k->cpu_type))
{
m68ki_write_16(m68k, M68KMAKE_GET_EA_AY_16, m68ki_get_ccr());
return;
@@ -6735,7 +6735,7 @@ M68KMAKE_OP(move, 16, toc, .)
M68KMAKE_OP(move, 16, frs, d)
{
- if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */
+ if(CPU_TYPE_IS_000(m68k->cpu_type) || FLAG_S) /* NS990408 */
{
DY = MASK_OUT_BELOW_16(DY) | m68ki_get_sr(m68k);
return;
@@ -6746,9 +6746,9 @@ M68KMAKE_OP(move, 16, frs, d)
M68KMAKE_OP(move, 16, frs, .)
{
- if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */
+ if(CPU_TYPE_IS_000(m68k->cpu_type) || FLAG_S) /* NS990408 */
{
- uint ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
m68ki_write_16(m68k, ea, m68ki_get_sr(m68k));
return;
}
@@ -6771,7 +6771,7 @@ M68KMAKE_OP(move, 16, tos, .)
{
if(FLAG_S)
{
- uint new_sr = M68KMAKE_GET_OPER_AY_16;
+ UINT32 new_sr = M68KMAKE_GET_OPER_AY_16;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_set_sr(m68k, new_sr);
return;
@@ -6805,11 +6805,11 @@ M68KMAKE_OP(move, 32, tou, .)
M68KMAKE_OP(movec, 32, cr, .)
{
- if(CPU_TYPE_IS_010_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_PLUS(m68k->cpu_type))
{
if(FLAG_S)
{
- uint word2 = OPER_I_16(m68k);
+ UINT32 word2 = OPER_I_16(m68k);
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
switch (word2 & 0xfff)
@@ -6821,7 +6821,7 @@ M68KMAKE_OP(movec, 32, cr, .)
REG_DA[(word2 >> 12) & 15] = REG_DFC;
return;
case 0x002: /* CACR */
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
REG_DA[(word2 >> 12) & 15] = REG_CACR;
return;
@@ -6834,7 +6834,7 @@ M68KMAKE_OP(movec, 32, cr, .)
REG_DA[(word2 >> 12) & 15] = REG_VBR;
return;
case 0x802: /* CAAR */
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
REG_DA[(word2 >> 12) & 15] = REG_CAAR;
return;
@@ -6842,7 +6842,7 @@ M68KMAKE_OP(movec, 32, cr, .)
m68ki_exception_illegal(m68k);
break;
case 0x803: /* MSP */
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
REG_DA[(word2 >> 12) & 15] = FLAG_M ? REG_SP : REG_MSP;
return;
@@ -6850,7 +6850,7 @@ M68KMAKE_OP(movec, 32, cr, .)
m68ki_exception_illegal(m68k);
return;
case 0x804: /* ISP */
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
REG_DA[(word2 >> 12) & 15] = FLAG_M ? REG_ISP : REG_SP;
return;
@@ -6858,7 +6858,7 @@ M68KMAKE_OP(movec, 32, cr, .)
m68ki_exception_illegal(m68k);
return;
case 0x003: /* TC */
- if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -6866,7 +6866,7 @@ M68KMAKE_OP(movec, 32, cr, .)
m68ki_exception_illegal(m68k);
return;
case 0x004: /* ITT0 */
- if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -6874,7 +6874,7 @@ M68KMAKE_OP(movec, 32, cr, .)
m68ki_exception_illegal(m68k);
return;
case 0x005: /* ITT1 */
- if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -6882,7 +6882,7 @@ M68KMAKE_OP(movec, 32, cr, .)
m68ki_exception_illegal(m68k);
return;
case 0x006: /* DTT0 */
- if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -6890,7 +6890,7 @@ M68KMAKE_OP(movec, 32, cr, .)
m68ki_exception_illegal(m68k);
return;
case 0x007: /* DTT1 */
- if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -6898,7 +6898,7 @@ M68KMAKE_OP(movec, 32, cr, .)
m68ki_exception_illegal(m68k);
return;
case 0x805: /* MMUSR */
- if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -6906,7 +6906,7 @@ M68KMAKE_OP(movec, 32, cr, .)
m68ki_exception_illegal(m68k);
return;
case 0x806: /* URP */
- if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -6914,7 +6914,7 @@ M68KMAKE_OP(movec, 32, cr, .)
m68ki_exception_illegal(m68k);
return;
case 0x807: /* SRP */
- if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -6935,11 +6935,11 @@ M68KMAKE_OP(movec, 32, cr, .)
M68KMAKE_OP(movec, 32, rc, .)
{
- if(CPU_TYPE_IS_010_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_PLUS(m68k->cpu_type))
{
if(FLAG_S)
{
- uint word2 = OPER_I_16(m68k);
+ UINT32 word2 = OPER_I_16(m68k);
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
switch (word2 & 0xfff)
@@ -6951,9 +6951,9 @@ M68KMAKE_OP(movec, 32, rc, .)
REG_DFC = REG_DA[(word2 >> 12) & 15] & 7;
return;
case 0x002: /* CACR */
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if (CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
REG_CACR = REG_DA[(word2 >> 12) & 15];
}
@@ -6973,7 +6973,7 @@ M68KMAKE_OP(movec, 32, rc, .)
REG_VBR = REG_DA[(word2 >> 12) & 15];
return;
case 0x802: /* CAAR */
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
REG_CAAR = REG_DA[(word2 >> 12) & 15];
return;
@@ -6981,7 +6981,7 @@ M68KMAKE_OP(movec, 32, rc, .)
m68ki_exception_illegal(m68k);
return;
case 0x803: /* MSP */
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
/* we are in supervisor mode so just check for M flag */
if(!FLAG_M)
@@ -6995,7 +6995,7 @@ M68KMAKE_OP(movec, 32, rc, .)
m68ki_exception_illegal(m68k);
return;
case 0x804: /* ISP */
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
if(!FLAG_M)
{
@@ -7008,7 +7008,7 @@ M68KMAKE_OP(movec, 32, rc, .)
m68ki_exception_illegal(m68k);
return;
case 0x003: /* TC */
- if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if (CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -7016,7 +7016,7 @@ M68KMAKE_OP(movec, 32, rc, .)
m68ki_exception_illegal(m68k);
return;
case 0x004: /* ITT0 */
- if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if (CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -7024,7 +7024,7 @@ M68KMAKE_OP(movec, 32, rc, .)
m68ki_exception_illegal(m68k);
return;
case 0x005: /* ITT1 */
- if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if (CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -7032,7 +7032,7 @@ M68KMAKE_OP(movec, 32, rc, .)
m68ki_exception_illegal(m68k);
return;
case 0x006: /* DTT0 */
- if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if (CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -7040,7 +7040,7 @@ M68KMAKE_OP(movec, 32, rc, .)
m68ki_exception_illegal(m68k);
return;
case 0x007: /* DTT1 */
- if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if (CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -7048,7 +7048,7 @@ M68KMAKE_OP(movec, 32, rc, .)
m68ki_exception_illegal(m68k);
return;
case 0x805: /* MMUSR */
- if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if (CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -7056,7 +7056,7 @@ M68KMAKE_OP(movec, 32, rc, .)
m68ki_exception_illegal(m68k);
return;
case 0x806: /* URP */
- if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if (CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -7064,7 +7064,7 @@ M68KMAKE_OP(movec, 32, rc, .)
m68ki_exception_illegal(m68k);
return;
case 0x807: /* SRP */
- if (CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if (CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
/* TODO */
return;
@@ -7085,10 +7085,10 @@ M68KMAKE_OP(movec, 32, rc, .)
M68KMAKE_OP(movem, 16, re, pd)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = AY;
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = AY;
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7099,16 +7099,16 @@ M68KMAKE_OP(movem, 16, re, pd)
}
AY = ea;
- USE_CYCLES(m68k, count<<CYC_MOVEM_W);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_w);
}
M68KMAKE_OP(movem, 16, re, .)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7118,16 +7118,16 @@ M68KMAKE_OP(movem, 16, re, .)
count++;
}
- USE_CYCLES(m68k, count<<CYC_MOVEM_W);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_w);
}
M68KMAKE_OP(movem, 32, re, pd)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = AY;
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = AY;
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7139,16 +7139,16 @@ M68KMAKE_OP(movem, 32, re, pd)
}
AY = ea;
- USE_CYCLES(m68k, count<<CYC_MOVEM_L);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_l);
}
M68KMAKE_OP(movem, 32, re, .)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7158,16 +7158,16 @@ M68KMAKE_OP(movem, 32, re, .)
count++;
}
- USE_CYCLES(m68k, count<<CYC_MOVEM_L);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_l);
}
M68KMAKE_OP(movem, 16, er, pi)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = AY;
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = AY;
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7178,16 +7178,16 @@ M68KMAKE_OP(movem, 16, er, pi)
}
AY = ea;
- USE_CYCLES(m68k, count<<CYC_MOVEM_W);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_w);
}
M68KMAKE_OP(movem, 16, er, pcdi)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = EA_PCDI_16(m68k);
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = EA_PCDI_16(m68k);
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7197,16 +7197,16 @@ M68KMAKE_OP(movem, 16, er, pcdi)
count++;
}
- USE_CYCLES(m68k, count<<CYC_MOVEM_W);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_w);
}
M68KMAKE_OP(movem, 16, er, pcix)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = EA_PCIX_16(m68k);
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = EA_PCIX_16(m68k);
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7216,16 +7216,16 @@ M68KMAKE_OP(movem, 16, er, pcix)
count++;
}
- USE_CYCLES(m68k, count<<CYC_MOVEM_W);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_w);
}
M68KMAKE_OP(movem, 16, er, .)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7235,16 +7235,16 @@ M68KMAKE_OP(movem, 16, er, .)
count++;
}
- USE_CYCLES(m68k, count<<CYC_MOVEM_W);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_w);
}
M68KMAKE_OP(movem, 32, er, pi)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = AY;
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = AY;
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7255,16 +7255,16 @@ M68KMAKE_OP(movem, 32, er, pi)
}
AY = ea;
- USE_CYCLES(m68k, count<<CYC_MOVEM_L);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_l);
}
M68KMAKE_OP(movem, 32, er, pcdi)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = EA_PCDI_32(m68k);
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = EA_PCDI_32(m68k);
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7274,16 +7274,16 @@ M68KMAKE_OP(movem, 32, er, pcdi)
count++;
}
- USE_CYCLES(m68k, count<<CYC_MOVEM_L);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_l);
}
M68KMAKE_OP(movem, 32, er, pcix)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = EA_PCIX_32(m68k);
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = EA_PCIX_32(m68k);
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7293,16 +7293,16 @@ M68KMAKE_OP(movem, 32, er, pcix)
count++;
}
- USE_CYCLES(m68k, count<<CYC_MOVEM_L);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_l);
}
M68KMAKE_OP(movem, 32, er, .)
{
- uint i = 0;
- uint register_list = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint count = 0;
+ UINT32 i = 0;
+ UINT32 register_list = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 count = 0;
for(; i < 16; i++)
if(register_list & (1 << i))
@@ -7312,14 +7312,14 @@ M68KMAKE_OP(movem, 32, er, .)
count++;
}
- USE_CYCLES(m68k, count<<CYC_MOVEM_L);
+ USE_CYCLES(m68k, count<<m68k->cyc_movem_l);
}
M68KMAKE_OP(movep, 16, re, .)
{
- uint ea = EA_AY_DI_16(m68k);
- uint src = DX;
+ UINT32 ea = EA_AY_DI_16(m68k);
+ UINT32 src = DX;
m68ki_write_8(m68k, ea, MASK_OUT_ABOVE_8(src >> 8));
m68ki_write_8(m68k, ea += 2, MASK_OUT_ABOVE_8(src));
@@ -7328,8 +7328,8 @@ M68KMAKE_OP(movep, 16, re, .)
M68KMAKE_OP(movep, 32, re, .)
{
- uint ea = EA_AY_DI_32(m68k);
- uint src = DX;
+ UINT32 ea = EA_AY_DI_32(m68k);
+ UINT32 src = DX;
m68ki_write_8(m68k, ea, MASK_OUT_ABOVE_8(src >> 24));
m68ki_write_8(m68k, ea += 2, MASK_OUT_ABOVE_8(src >> 16));
@@ -7340,8 +7340,8 @@ M68KMAKE_OP(movep, 32, re, .)
M68KMAKE_OP(movep, 16, er, .)
{
- uint ea = EA_AY_DI_16(m68k);
- uint* r_dst = &DX;
+ UINT32 ea = EA_AY_DI_16(m68k);
+ UINT32* r_dst = &DX;
*r_dst = MASK_OUT_BELOW_16(*r_dst) | ((m68ki_read_8(m68k, ea) << 8) + m68ki_read_8(m68k, ea + 2));
}
@@ -7349,7 +7349,7 @@ M68KMAKE_OP(movep, 16, er, .)
M68KMAKE_OP(movep, 32, er, .)
{
- uint ea = EA_AY_DI_32(m68k);
+ UINT32 ea = EA_AY_DI_32(m68k);
DX = (m68ki_read_8(m68k, ea) << 24) + (m68ki_read_8(m68k, ea + 2) << 16)
+ (m68ki_read_8(m68k, ea + 4) << 8) + m68ki_read_8(m68k, ea + 6);
@@ -7358,12 +7358,12 @@ M68KMAKE_OP(movep, 32, er, .)
M68KMAKE_OP(moves, 8, ., .)
{
- if(CPU_TYPE_IS_010_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_PLUS(m68k->cpu_type))
{
if(FLAG_S)
{
- uint word2 = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
if(BIT_B(word2)) /* Register to memory */
@@ -7374,13 +7374,13 @@ M68KMAKE_OP(moves, 8, ., .)
if(BIT_F(word2)) /* Memory to address register */
{
REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(m68k, ea, REG_SFC));
- if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE))
+ if(CPU_TYPE_IS_020_VARIANT(m68k->cpu_type))
USE_CYCLES(m68k, 2);
return;
}
/* Memory to data register */
REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(m68k, ea, REG_SFC);
- if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE))
+ if(CPU_TYPE_IS_020_VARIANT(m68k->cpu_type))
USE_CYCLES(m68k, 2);
return;
}
@@ -7393,12 +7393,12 @@ M68KMAKE_OP(moves, 8, ., .)
M68KMAKE_OP(moves, 16, ., .)
{
- if(CPU_TYPE_IS_010_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_PLUS(m68k->cpu_type))
{
if(FLAG_S)
{
- uint word2 = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
if(BIT_B(word2)) /* Register to memory */
@@ -7409,13 +7409,13 @@ M68KMAKE_OP(moves, 16, ., .)
if(BIT_F(word2)) /* Memory to address register */
{
REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(m68k, ea, REG_SFC));
- if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE))
+ if(CPU_TYPE_IS_020_VARIANT(m68k->cpu_type))
USE_CYCLES(m68k, 2);
return;
}
/* Memory to data register */
REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(m68k, ea, REG_SFC);
- if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE))
+ if(CPU_TYPE_IS_020_VARIANT(m68k->cpu_type))
USE_CYCLES(m68k, 2);
return;
}
@@ -7428,24 +7428,24 @@ M68KMAKE_OP(moves, 16, ., .)
M68KMAKE_OP(moves, 32, ., .)
{
- if(CPU_TYPE_IS_010_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_PLUS(m68k->cpu_type))
{
if(FLAG_S)
{
- uint word2 = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
if(BIT_B(word2)) /* Register to memory */
{
m68ki_write_32_fc(m68k, ea, REG_DFC, REG_DA[(word2 >> 12) & 15]);
- if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE))
+ if(CPU_TYPE_IS_020_VARIANT(m68k->cpu_type))
USE_CYCLES(m68k, 2);
return;
}
/* Memory to register */
REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(m68k, ea, REG_SFC);
- if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE))
+ if(CPU_TYPE_IS_020_VARIANT(m68k->cpu_type))
USE_CYCLES(m68k, 2);
return;
}
@@ -7458,7 +7458,7 @@ M68KMAKE_OP(moves, 32, ., .)
M68KMAKE_OP(moveq, 32, ., .)
{
- uint res = DX = MAKE_INT_8(MASK_OUT_ABOVE_8(REG_IR));
+ UINT32 res = DX = MAKE_INT_8(MASK_OUT_ABOVE_8(REG_IR));
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -7485,8 +7485,8 @@ M68KMAKE_OP(move16, 32, ., .)
M68KMAKE_OP(muls, 16, ., d)
{
- uint* r_dst = &DX;
- uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(DY) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst)));
+ UINT32* r_dst = &DX;
+ UINT32 res = MASK_OUT_ABOVE_32(MAKE_INT_16(DY) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst)));
*r_dst = res;
@@ -7499,8 +7499,8 @@ M68KMAKE_OP(muls, 16, ., d)
M68KMAKE_OP(muls, 16, ., .)
{
- uint* r_dst = &DX;
- uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(M68KMAKE_GET_OPER_AY_16) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst)));
+ UINT32* r_dst = &DX;
+ UINT32 res = MASK_OUT_ABOVE_32(MAKE_INT_16(M68KMAKE_GET_OPER_AY_16) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst)));
*r_dst = res;
@@ -7513,8 +7513,8 @@ M68KMAKE_OP(muls, 16, ., .)
M68KMAKE_OP(mulu, 16, ., d)
{
- uint* r_dst = &DX;
- uint res = MASK_OUT_ABOVE_16(DY) * MASK_OUT_ABOVE_16(*r_dst);
+ UINT32* r_dst = &DX;
+ UINT32 res = MASK_OUT_ABOVE_16(DY) * MASK_OUT_ABOVE_16(*r_dst);
*r_dst = res;
@@ -7527,8 +7527,8 @@ M68KMAKE_OP(mulu, 16, ., d)
M68KMAKE_OP(mulu, 16, ., .)
{
- uint* r_dst = &DX;
- uint res = M68KMAKE_GET_OPER_AY_16 * MASK_OUT_ABOVE_16(*r_dst);
+ UINT32* r_dst = &DX;
+ UINT32 res = M68KMAKE_GET_OPER_AY_16 * MASK_OUT_ABOVE_16(*r_dst);
*r_dst = res;
@@ -7543,23 +7543,23 @@ M68KMAKE_OP(mull, 32, ., d)
{
#if M68K_USE_64_BIT
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint64 src = DY;
- uint64 dst = REG_D[(word2 >> 12) & 7];
- uint64 res;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT64 src = DY;
+ UINT64 dst = REG_D[(word2 >> 12) & 7];
+ UINT64 res;
FLAG_C = CFLAG_CLEAR;
if(BIT_B(word2)) /* signed */
{
- res = (sint64)((sint32)src) * (sint64)((sint32)dst);
+ res = (INT64)((INT32)src) * (INT64)((INT32)dst);
if(!BIT_A(word2))
{
FLAG_Z = MASK_OUT_ABOVE_32(res);
FLAG_N = NFLAG_32(res);
- FLAG_V = ((sint64)res != (sint32)res)<<7;
+ FLAG_V = ((INT64)res != (INT32)res)<<7;
REG_D[(word2 >> 12) & 7] = FLAG_Z;
return;
}
@@ -7591,31 +7591,31 @@ M68KMAKE_OP(mull, 32, ., d)
#else
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
- {
- uint word2 = OPER_I_16(m68k);
- uint src = DY;
- uint dst = REG_D[(word2 >> 12) & 7];
- uint neg = GET_MSB_32(src ^ dst);
- uint src1;
- uint src2;
- uint dst1;
- uint dst2;
- uint r1;
- uint r2;
- uint r3;
- uint r4;
- uint lo;
- uint hi;
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
+ {
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 src = DY;
+ UINT32 dst = REG_D[(word2 >> 12) & 7];
+ UINT32 neg = GET_MSB_32(src ^ dst);
+ UINT32 src1;
+ UINT32 src2;
+ UINT32 dst1;
+ UINT32 dst2;
+ UINT32 r1;
+ UINT32 r2;
+ UINT32 r3;
+ UINT32 r4;
+ UINT32 lo;
+ UINT32 hi;
FLAG_C = CFLAG_CLEAR;
if(BIT_B(word2)) /* signed */
{
if(GET_MSB_32(src))
- src = (uint)MASK_OUT_ABOVE_32(-(sint)src);
+ src = (UINT32)MASK_OUT_ABOVE_32(-(INT32)src);
if(GET_MSB_32(dst))
- dst = (uint)MASK_OUT_ABOVE_32(-(sint)dst);
+ dst = (UINT32)MASK_OUT_ABOVE_32(-(INT32)dst);
}
src1 = MASK_OUT_ABOVE_16(src);
@@ -7634,8 +7634,8 @@ M68KMAKE_OP(mull, 32, ., d)
if(BIT_B(word2) && neg)
{
- hi = (uint)MASK_OUT_ABOVE_32((-(sint)hi) - (lo != 0));
- lo = (uint)MASK_OUT_ABOVE_32(-(sint)lo);
+ hi = (UINT32)MASK_OUT_ABOVE_32((-(INT32)hi) - (lo != 0));
+ lo = (UINT32)MASK_OUT_ABOVE_32(-(INT32)lo);
}
if(BIT_A(word2))
@@ -7667,23 +7667,23 @@ M68KMAKE_OP(mull, 32, ., .)
{
#if M68K_USE_64_BIT
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint word2 = OPER_I_16(m68k);
- uint64 src = M68KMAKE_GET_OPER_AY_32;
- uint64 dst = REG_D[(word2 >> 12) & 7];
- uint64 res;
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT64 src = M68KMAKE_GET_OPER_AY_32;
+ UINT64 dst = REG_D[(word2 >> 12) & 7];
+ UINT64 res;
FLAG_C = CFLAG_CLEAR;
if(BIT_B(word2)) /* signed */
{
- res = (sint64)((sint32)src) * (sint64)((sint32)dst);
+ res = (INT64)((INT32)src) * (INT64)((INT32)dst);
if(!BIT_A(word2))
{
FLAG_Z = MASK_OUT_ABOVE_32(res);
FLAG_N = NFLAG_32(res);
- FLAG_V = ((sint64)res != (sint32)res)<<7;
+ FLAG_V = ((INT64)res != (INT32)res)<<7;
REG_D[(word2 >> 12) & 7] = FLAG_Z;
return;
}
@@ -7715,31 +7715,31 @@ M68KMAKE_OP(mull, 32, ., .)
#else
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
- {
- uint word2 = OPER_I_16(m68k);
- uint src = M68KMAKE_GET_OPER_AY_32;
- uint dst = REG_D[(word2 >> 12) & 7];
- uint neg = GET_MSB_32(src ^ dst);
- uint src1;
- uint src2;
- uint dst1;
- uint dst2;
- uint r1;
- uint r2;
- uint r3;
- uint r4;
- uint lo;
- uint hi;
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
+ {
+ UINT32 word2 = OPER_I_16(m68k);
+ UINT32 src = M68KMAKE_GET_OPER_AY_32;
+ UINT32 dst = REG_D[(word2 >> 12) & 7];
+ UINT32 neg = GET_MSB_32(src ^ dst);
+ UINT32 src1;
+ UINT32 src2;
+ UINT32 dst1;
+ UINT32 dst2;
+ UINT32 r1;
+ UINT32 r2;
+ UINT32 r3;
+ UINT32 r4;
+ UINT32 lo;
+ UINT32 hi;
FLAG_C = CFLAG_CLEAR;
if(BIT_B(word2)) /* signed */
{
if(GET_MSB_32(src))
- src = (uint)MASK_OUT_ABOVE_32(-(sint)src);
+ src = (UINT32)MASK_OUT_ABOVE_32(-(INT32)src);
if(GET_MSB_32(dst))
- dst = (uint)MASK_OUT_ABOVE_32(-(sint)dst);
+ dst = (UINT32)MASK_OUT_ABOVE_32(-(INT32)dst);
}
src1 = MASK_OUT_ABOVE_16(src);
@@ -7758,8 +7758,8 @@ M68KMAKE_OP(mull, 32, ., .)
if(BIT_B(word2) && neg)
{
- hi = (uint)MASK_OUT_ABOVE_32((-(sint)hi) - (lo != 0));
- lo = (uint)MASK_OUT_ABOVE_32(-(sint)lo);
+ hi = (UINT32)MASK_OUT_ABOVE_32((-(INT32)hi) - (lo != 0));
+ lo = (UINT32)MASK_OUT_ABOVE_32(-(INT32)lo);
}
if(BIT_A(word2))
@@ -7789,9 +7789,9 @@ M68KMAKE_OP(mull, 32, ., .)
M68KMAKE_OP(nbcd, 8, ., d)
{
- uint* r_dst = &DY;
- uint dst = *r_dst;
- uint res = MASK_OUT_ABOVE_8(0x9a - dst - XFLAG_AS_1());
+ UINT32* r_dst = &DY;
+ UINT32 dst = *r_dst;
+ UINT32 res = MASK_OUT_ABOVE_8(0x9a - dst - XFLAG_AS_1());
if(res != 0x9a)
{
@@ -7822,9 +7822,9 @@ M68KMAKE_OP(nbcd, 8, ., d)
M68KMAKE_OP(nbcd, 8, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint dst = m68ki_read_8(m68k, ea);
- uint res = MASK_OUT_ABOVE_8(0x9a - dst - XFLAG_AS_1());
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = MASK_OUT_ABOVE_8(0x9a - dst - XFLAG_AS_1());
if(res != 0x9a)
{
@@ -7855,8 +7855,8 @@ M68KMAKE_OP(nbcd, 8, ., .)
M68KMAKE_OP(neg, 8, ., d)
{
- uint* r_dst = &DY;
- uint res = 0 - MASK_OUT_ABOVE_8(*r_dst);
+ UINT32* r_dst = &DY;
+ UINT32 res = 0 - MASK_OUT_ABOVE_8(*r_dst);
FLAG_N = NFLAG_8(res);
FLAG_C = FLAG_X = CFLAG_8(res);
@@ -7869,9 +7869,9 @@ M68KMAKE_OP(neg, 8, ., d)
M68KMAKE_OP(neg, 8, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint src = m68ki_read_8(m68k, ea);
- uint res = 0 - src;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 src = m68ki_read_8(m68k, ea);
+ UINT32 res = 0 - src;
FLAG_N = NFLAG_8(res);
FLAG_C = FLAG_X = CFLAG_8(res);
@@ -7884,8 +7884,8 @@ M68KMAKE_OP(neg, 8, ., .)
M68KMAKE_OP(neg, 16, ., d)
{
- uint* r_dst = &DY;
- uint res = 0 - MASK_OUT_ABOVE_16(*r_dst);
+ UINT32* r_dst = &DY;
+ UINT32 res = 0 - MASK_OUT_ABOVE_16(*r_dst);
FLAG_N = NFLAG_16(res);
FLAG_C = FLAG_X = CFLAG_16(res);
@@ -7898,9 +7898,9 @@ M68KMAKE_OP(neg, 16, ., d)
M68KMAKE_OP(neg, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = m68ki_read_16(m68k, ea);
- uint res = 0 - src;
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = m68ki_read_16(m68k, ea);
+ UINT32 res = 0 - src;
FLAG_N = NFLAG_16(res);
FLAG_C = FLAG_X = CFLAG_16(res);
@@ -7913,8 +7913,8 @@ M68KMAKE_OP(neg, 16, ., .)
M68KMAKE_OP(neg, 32, ., d)
{
- uint* r_dst = &DY;
- uint res = 0 - *r_dst;
+ UINT32* r_dst = &DY;
+ UINT32 res = 0 - *r_dst;
FLAG_N = NFLAG_32(res);
FLAG_C = FLAG_X = CFLAG_SUB_32(*r_dst, 0, res);
@@ -7927,9 +7927,9 @@ M68KMAKE_OP(neg, 32, ., d)
M68KMAKE_OP(neg, 32, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint src = m68ki_read_32(m68k, ea);
- uint res = 0 - src;
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 src = m68ki_read_32(m68k, ea);
+ UINT32 res = 0 - src;
FLAG_N = NFLAG_32(res);
FLAG_C = FLAG_X = CFLAG_SUB_32(src, 0, res);
@@ -7942,8 +7942,8 @@ M68KMAKE_OP(neg, 32, ., .)
M68KMAKE_OP(negx, 8, ., d)
{
- uint* r_dst = &DY;
- uint res = 0 - MASK_OUT_ABOVE_8(*r_dst) - XFLAG_AS_1();
+ UINT32* r_dst = &DY;
+ UINT32 res = 0 - MASK_OUT_ABOVE_8(*r_dst) - XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_X = FLAG_C = CFLAG_8(res);
@@ -7958,9 +7958,9 @@ M68KMAKE_OP(negx, 8, ., d)
M68KMAKE_OP(negx, 8, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint src = m68ki_read_8(m68k, ea);
- uint res = 0 - src - XFLAG_AS_1();
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 src = m68ki_read_8(m68k, ea);
+ UINT32 res = 0 - src - XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_X = FLAG_C = CFLAG_8(res);
@@ -7975,8 +7975,8 @@ M68KMAKE_OP(negx, 8, ., .)
M68KMAKE_OP(negx, 16, ., d)
{
- uint* r_dst = &DY;
- uint res = 0 - MASK_OUT_ABOVE_16(*r_dst) - XFLAG_AS_1();
+ UINT32* r_dst = &DY;
+ UINT32 res = 0 - MASK_OUT_ABOVE_16(*r_dst) - XFLAG_AS_1();
FLAG_N = NFLAG_16(res);
FLAG_X = FLAG_C = CFLAG_16(res);
@@ -7991,9 +7991,9 @@ M68KMAKE_OP(negx, 16, ., d)
M68KMAKE_OP(negx, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = m68ki_read_16(m68k, ea);
- uint res = 0 - MASK_OUT_ABOVE_16(src) - XFLAG_AS_1();
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = m68ki_read_16(m68k, ea);
+ UINT32 res = 0 - MASK_OUT_ABOVE_16(src) - XFLAG_AS_1();
FLAG_N = NFLAG_16(res);
FLAG_X = FLAG_C = CFLAG_16(res);
@@ -8008,8 +8008,8 @@ M68KMAKE_OP(negx, 16, ., .)
M68KMAKE_OP(negx, 32, ., d)
{
- uint* r_dst = &DY;
- uint res = 0 - MASK_OUT_ABOVE_32(*r_dst) - XFLAG_AS_1();
+ UINT32* r_dst = &DY;
+ UINT32 res = 0 - MASK_OUT_ABOVE_32(*r_dst) - XFLAG_AS_1();
FLAG_N = NFLAG_32(res);
FLAG_X = FLAG_C = CFLAG_SUB_32(*r_dst, 0, res);
@@ -8024,9 +8024,9 @@ M68KMAKE_OP(negx, 32, ., d)
M68KMAKE_OP(negx, 32, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint src = m68ki_read_32(m68k, ea);
- uint res = 0 - MASK_OUT_ABOVE_32(src) - XFLAG_AS_1();
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 src = m68ki_read_32(m68k, ea);
+ UINT32 res = 0 - MASK_OUT_ABOVE_32(src) - XFLAG_AS_1();
FLAG_N = NFLAG_32(res);
FLAG_X = FLAG_C = CFLAG_SUB_32(src, 0, res);
@@ -8047,8 +8047,8 @@ M68KMAKE_OP(nop, 0, ., .)
M68KMAKE_OP(not, 8, ., d)
{
- uint* r_dst = &DY;
- uint res = MASK_OUT_ABOVE_8(~*r_dst);
+ UINT32* r_dst = &DY;
+ UINT32 res = MASK_OUT_ABOVE_8(~*r_dst);
*r_dst = MASK_OUT_BELOW_8(*r_dst) | res;
@@ -8061,8 +8061,8 @@ M68KMAKE_OP(not, 8, ., d)
M68KMAKE_OP(not, 8, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint res = MASK_OUT_ABOVE_8(~m68ki_read_8(m68k, ea));
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 res = MASK_OUT_ABOVE_8(~m68ki_read_8(m68k, ea));
m68ki_write_8(m68k, ea, res);
@@ -8075,8 +8075,8 @@ M68KMAKE_OP(not, 8, ., .)
M68KMAKE_OP(not, 16, ., d)
{
- uint* r_dst = &DY;
- uint res = MASK_OUT_ABOVE_16(~*r_dst);
+ UINT32* r_dst = &DY;
+ UINT32 res = MASK_OUT_ABOVE_16(~*r_dst);
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
@@ -8089,8 +8089,8 @@ M68KMAKE_OP(not, 16, ., d)
M68KMAKE_OP(not, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint res = MASK_OUT_ABOVE_16(~m68ki_read_16(m68k, ea));
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 res = MASK_OUT_ABOVE_16(~m68ki_read_16(m68k, ea));
m68ki_write_16(m68k, ea, res);
@@ -8103,8 +8103,8 @@ M68KMAKE_OP(not, 16, ., .)
M68KMAKE_OP(not, 32, ., d)
{
- uint* r_dst = &DY;
- uint res = *r_dst = MASK_OUT_ABOVE_32(~*r_dst);
+ UINT32* r_dst = &DY;
+ UINT32 res = *r_dst = MASK_OUT_ABOVE_32(~*r_dst);
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -8115,8 +8115,8 @@ M68KMAKE_OP(not, 32, ., d)
M68KMAKE_OP(not, 32, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint res = MASK_OUT_ABOVE_32(~m68ki_read_32(m68k, ea));
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 res = MASK_OUT_ABOVE_32(~m68ki_read_32(m68k, ea));
m68ki_write_32(m68k, ea, res);
@@ -8129,7 +8129,7 @@ M68KMAKE_OP(not, 32, ., .)
M68KMAKE_OP(or, 8, er, d)
{
- uint res = MASK_OUT_ABOVE_8((DX |= MASK_OUT_ABOVE_8(DY)));
+ UINT32 res = MASK_OUT_ABOVE_8((DX |= MASK_OUT_ABOVE_8(DY)));
FLAG_N = NFLAG_8(res);
FLAG_Z = res;
@@ -8140,7 +8140,7 @@ M68KMAKE_OP(or, 8, er, d)
M68KMAKE_OP(or, 8, er, .)
{
- uint res = MASK_OUT_ABOVE_8((DX |= M68KMAKE_GET_OPER_AY_8));
+ UINT32 res = MASK_OUT_ABOVE_8((DX |= M68KMAKE_GET_OPER_AY_8));
FLAG_N = NFLAG_8(res);
FLAG_Z = res;
@@ -8151,7 +8151,7 @@ M68KMAKE_OP(or, 8, er, .)
M68KMAKE_OP(or, 16, er, d)
{
- uint res = MASK_OUT_ABOVE_16((DX |= MASK_OUT_ABOVE_16(DY)));
+ UINT32 res = MASK_OUT_ABOVE_16((DX |= MASK_OUT_ABOVE_16(DY)));
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -8162,7 +8162,7 @@ M68KMAKE_OP(or, 16, er, d)
M68KMAKE_OP(or, 16, er, .)
{
- uint res = MASK_OUT_ABOVE_16((DX |= M68KMAKE_GET_OPER_AY_16));
+ UINT32 res = MASK_OUT_ABOVE_16((DX |= M68KMAKE_GET_OPER_AY_16));
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -8173,7 +8173,7 @@ M68KMAKE_OP(or, 16, er, .)
M68KMAKE_OP(or, 32, er, d)
{
- uint res = DX |= DY;
+ UINT32 res = DX |= DY;
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -8184,7 +8184,7 @@ M68KMAKE_OP(or, 32, er, d)
M68KMAKE_OP(or, 32, er, .)
{
- uint res = DX |= M68KMAKE_GET_OPER_AY_32;
+ UINT32 res = DX |= M68KMAKE_GET_OPER_AY_32;
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -8195,8 +8195,8 @@ M68KMAKE_OP(or, 32, er, .)
M68KMAKE_OP(or, 8, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(m68k, ea));
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(m68k, ea));
m68ki_write_8(m68k, ea, res);
@@ -8209,8 +8209,8 @@ M68KMAKE_OP(or, 8, re, .)
M68KMAKE_OP(or, 16, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint res = MASK_OUT_ABOVE_16(DX | m68ki_read_16(m68k, ea));
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 res = MASK_OUT_ABOVE_16(DX | m68ki_read_16(m68k, ea));
m68ki_write_16(m68k, ea, res);
@@ -8223,8 +8223,8 @@ M68KMAKE_OP(or, 16, re, .)
M68KMAKE_OP(or, 32, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint res = DX | m68ki_read_32(m68k, ea);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 res = DX | m68ki_read_32(m68k, ea);
m68ki_write_32(m68k, ea, res);
@@ -8237,7 +8237,7 @@ M68KMAKE_OP(or, 32, re, .)
M68KMAKE_OP(ori, 8, ., d)
{
- uint res = MASK_OUT_ABOVE_8((DY |= OPER_I_8(m68k)));
+ UINT32 res = MASK_OUT_ABOVE_8((DY |= OPER_I_8(m68k)));
FLAG_N = NFLAG_8(res);
FLAG_Z = res;
@@ -8248,9 +8248,9 @@ M68KMAKE_OP(ori, 8, ., d)
M68KMAKE_OP(ori, 8, ., .)
{
- uint src = OPER_I_8(m68k);
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint res = MASK_OUT_ABOVE_8(src | m68ki_read_8(m68k, ea));
+ UINT32 src = OPER_I_8(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 res = MASK_OUT_ABOVE_8(src | m68ki_read_8(m68k, ea));
m68ki_write_8(m68k, ea, res);
@@ -8263,7 +8263,7 @@ M68KMAKE_OP(ori, 8, ., .)
M68KMAKE_OP(ori, 16, ., d)
{
- uint res = MASK_OUT_ABOVE_16(DY |= OPER_I_16(m68k));
+ UINT32 res = MASK_OUT_ABOVE_16(DY |= OPER_I_16(m68k));
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -8274,9 +8274,9 @@ M68KMAKE_OP(ori, 16, ., d)
M68KMAKE_OP(ori, 16, ., .)
{
- uint src = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint res = MASK_OUT_ABOVE_16(src | m68ki_read_16(m68k, ea));
+ UINT32 src = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 res = MASK_OUT_ABOVE_16(src | m68ki_read_16(m68k, ea));
m68ki_write_16(m68k, ea, res);
@@ -8289,7 +8289,7 @@ M68KMAKE_OP(ori, 16, ., .)
M68KMAKE_OP(ori, 32, ., d)
{
- uint res = DY |= OPER_I_32(m68k);
+ UINT32 res = DY |= OPER_I_32(m68k);
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -8300,9 +8300,9 @@ M68KMAKE_OP(ori, 32, ., d)
M68KMAKE_OP(ori, 32, ., .)
{
- uint src = OPER_I_32(m68k);
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint res = src | m68ki_read_32(m68k, ea);
+ UINT32 src = OPER_I_32(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 res = src | m68ki_read_32(m68k, ea);
m68ki_write_32(m68k, ea, res);
@@ -8323,7 +8323,7 @@ M68KMAKE_OP(ori, 16, tos, .)
{
if(FLAG_S)
{
- uint src = OPER_I_16(m68k);
+ UINT32 src = OPER_I_16(m68k);
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
m68ki_set_sr(m68k, m68ki_get_sr(m68k) | src);
return;
@@ -8334,11 +8334,11 @@ M68KMAKE_OP(ori, 16, tos, .)
M68KMAKE_OP(pack, 16, rr, .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
/* Note: DX and DY are reversed in Motorola's docs */
- uint src = DY + OPER_I_16(m68k);
- uint* r_dst = &DX;
+ UINT32 src = DY + OPER_I_16(m68k);
+ UINT32* r_dst = &DX;
*r_dst = MASK_OUT_BELOW_8(*r_dst) | ((src >> 4) & 0x00f0) | (src & 0x000f);
return;
@@ -8349,11 +8349,11 @@ M68KMAKE_OP(pack, 16, rr, .)
M68KMAKE_OP(pack, 16, mm, ax7)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
/* Note: AX and AY are reversed in Motorola's docs */
- uint ea_src = EA_AY_PD_8(m68k);
- uint src = m68ki_read_8(m68k, ea_src);
+ UINT32 ea_src = EA_AY_PD_8(m68k);
+ UINT32 src = m68ki_read_8(m68k, ea_src);
ea_src = EA_AY_PD_8(m68k);
src = ((src << 8) | m68ki_read_8(m68k, ea_src)) + OPER_I_16(m68k);
@@ -8366,11 +8366,11 @@ M68KMAKE_OP(pack, 16, mm, ax7)
M68KMAKE_OP(pack, 16, mm, ay7)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
/* Note: AX and AY are reversed in Motorola's docs */
- uint ea_src = EA_A7_PD_8(m68k);
- uint src = m68ki_read_8(m68k, ea_src);
+ UINT32 ea_src = EA_A7_PD_8(m68k);
+ UINT32 src = m68ki_read_8(m68k, ea_src);
ea_src = EA_A7_PD_8(m68k);
src = ((src << 8) | m68ki_read_8(m68k, ea_src)) + OPER_I_16(m68k);
@@ -8383,10 +8383,10 @@ M68KMAKE_OP(pack, 16, mm, ay7)
M68KMAKE_OP(pack, 16, mm, axy7)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint ea_src = EA_A7_PD_8(m68k);
- uint src = m68ki_read_8(m68k, ea_src);
+ UINT32 ea_src = EA_A7_PD_8(m68k);
+ UINT32 src = m68ki_read_8(m68k, ea_src);
ea_src = EA_A7_PD_8(m68k);
src = ((src << 8) | m68ki_read_8(m68k, ea_src)) + OPER_I_16(m68k);
@@ -8399,11 +8399,11 @@ M68KMAKE_OP(pack, 16, mm, axy7)
M68KMAKE_OP(pack, 16, mm, .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
/* Note: AX and AY are reversed in Motorola's docs */
- uint ea_src = EA_AY_PD_8(m68k);
- uint src = m68ki_read_8(m68k, ea_src);
+ UINT32 ea_src = EA_AY_PD_8(m68k);
+ UINT32 src = m68ki_read_8(m68k, ea_src);
ea_src = EA_AY_PD_8(m68k);
src = ((src << 8) | m68ki_read_8(m68k, ea_src)) + OPER_I_16(m68k);
@@ -8416,7 +8416,7 @@ M68KMAKE_OP(pack, 16, mm, .)
M68KMAKE_OP(pea, 32, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
m68ki_push_32(m68k, ea);
}
@@ -8424,7 +8424,7 @@ M68KMAKE_OP(pea, 32, ., .)
M68KMAKE_OP(pflush, 32, ., .)
{
- if(CPU_TYPE_IS_040_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_040_PLUS(m68k->cpu_type))
{
// Nothing to do, unless address translation cache is emulated
return;
@@ -8437,8 +8437,8 @@ M68KMAKE_OP(reset, 0, ., .)
{
if(FLAG_S)
{
- m68ki_output_reset(); /* auto-disable (see m68kcpu.h) */
- USE_CYCLES(m68k, CYC_RESET);
+ (*m68k->reset_instr_callback)();
+ USE_CYCLES(m68k, m68k->cyc_reset);
return;
}
m68ki_exception_privilege_violation(m68k);
@@ -8447,14 +8447,14 @@ M68KMAKE_OP(reset, 0, ., .)
M68KMAKE_OP(ror, 8, s, .)
{
- uint* r_dst = &DY;
- uint orig_shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint shift = orig_shift & 7;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = ROR_8(src, shift);
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 shift = orig_shift & 7;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = ROR_8(src, shift);
if(orig_shift != 0)
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_8(*r_dst) | res;
@@ -8467,13 +8467,13 @@ M68KMAKE_OP(ror, 8, s, .)
M68KMAKE_OP(ror, 16, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = ROR_16(src, shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = ROR_16(src, shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
@@ -8486,13 +8486,13 @@ M68KMAKE_OP(ror, 16, s, .)
M68KMAKE_OP(ror, 32, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint64 src = *r_dst;
- uint res = ROR_32(src, shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT64 src = *r_dst;
+ UINT32 res = ROR_32(src, shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = res;
@@ -8505,15 +8505,15 @@ M68KMAKE_OP(ror, 32, s, .)
M68KMAKE_OP(ror, 8, r, .)
{
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
- uint shift = orig_shift & 7;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = ROR_8(src, shift);
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
+ UINT32 shift = orig_shift & 7;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = ROR_8(src, shift);
if(orig_shift != 0)
{
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_8(*r_dst) | res;
FLAG_C = src << (8-((shift-1)&7));
@@ -8532,15 +8532,15 @@ M68KMAKE_OP(ror, 8, r, .)
M68KMAKE_OP(ror, 16, r, .)
{
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
- uint shift = orig_shift & 15;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = ROR_16(src, shift);
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
+ UINT32 shift = orig_shift & 15;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = ROR_16(src, shift);
if(orig_shift != 0)
{
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
FLAG_C = (src >> ((shift - 1) & 15)) << 8;
@@ -8559,15 +8559,15 @@ M68KMAKE_OP(ror, 16, r, .)
M68KMAKE_OP(ror, 32, r, .)
{
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
- uint shift = orig_shift & 31;
- uint64 src = *r_dst;
- uint res = ROR_32(src, shift);
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
+ UINT32 shift = orig_shift & 31;
+ UINT64 src = *r_dst;
+ UINT32 res = ROR_32(src, shift);
if(orig_shift != 0)
{
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
*r_dst = res;
FLAG_C = (src >> ((shift - 1) & 31)) << 8;
@@ -8586,9 +8586,9 @@ M68KMAKE_OP(ror, 32, r, .)
M68KMAKE_OP(ror, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = m68ki_read_16(m68k, ea);
- uint res = ROR_16(src, 1);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = m68ki_read_16(m68k, ea);
+ UINT32 res = ROR_16(src, 1);
m68ki_write_16(m68k, ea, res);
@@ -8601,14 +8601,14 @@ M68KMAKE_OP(ror, 16, ., .)
M68KMAKE_OP(rol, 8, s, .)
{
- uint* r_dst = &DY;
- uint orig_shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint shift = orig_shift & 7;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = ROL_8(src, shift);
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 shift = orig_shift & 7;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = ROL_8(src, shift);
if(orig_shift != 0)
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_8(*r_dst) | res;
@@ -8621,13 +8621,13 @@ M68KMAKE_OP(rol, 8, s, .)
M68KMAKE_OP(rol, 16, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = ROL_16(src, shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = ROL_16(src, shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = MASK_OUT_BELOW_16(*r_dst) | res;
@@ -8640,13 +8640,13 @@ M68KMAKE_OP(rol, 16, s, .)
M68KMAKE_OP(rol, 32, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint64 src = *r_dst;
- uint res = ROL_32(src, shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT64 src = *r_dst;
+ UINT32 res = ROL_32(src, shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = res;
@@ -8659,15 +8659,15 @@ M68KMAKE_OP(rol, 32, s, .)
M68KMAKE_OP(rol, 8, r, .)
{
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
- uint shift = orig_shift & 7;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = ROL_8(src, shift);
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
+ UINT32 shift = orig_shift & 7;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = ROL_8(src, shift);
if(orig_shift != 0)
{
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
if(shift != 0)
{
@@ -8694,15 +8694,15 @@ M68KMAKE_OP(rol, 8, r, .)
M68KMAKE_OP(rol, 16, r, .)
{
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
- uint shift = orig_shift & 15;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = MASK_OUT_ABOVE_16(ROL_16(src, shift));
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
+ UINT32 shift = orig_shift & 15;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = MASK_OUT_ABOVE_16(ROL_16(src, shift));
if(orig_shift != 0)
{
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
if(shift != 0)
{
@@ -8729,15 +8729,15 @@ M68KMAKE_OP(rol, 16, r, .)
M68KMAKE_OP(rol, 32, r, .)
{
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
- uint shift = orig_shift & 31;
- uint64 src = *r_dst;
- uint res = ROL_32(src, shift);
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
+ UINT32 shift = orig_shift & 31;
+ UINT64 src = *r_dst;
+ UINT32 res = ROL_32(src, shift);
if(orig_shift != 0)
{
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
*r_dst = res;
@@ -8757,9 +8757,9 @@ M68KMAKE_OP(rol, 32, r, .)
M68KMAKE_OP(rol, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = m68ki_read_16(m68k, ea);
- uint res = MASK_OUT_ABOVE_16(ROL_16(src, 1));
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = m68ki_read_16(m68k, ea);
+ UINT32 res = MASK_OUT_ABOVE_16(ROL_16(src, 1));
m68ki_write_16(m68k, ea, res);
@@ -8772,13 +8772,13 @@ M68KMAKE_OP(rol, 16, ., .)
M68KMAKE_OP(roxr, 8, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = ROR_9(src | (XFLAG_AS_1() << 8), shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = ROR_9(src | (XFLAG_AS_1() << 8), shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
FLAG_C = FLAG_X = res;
res = MASK_OUT_ABOVE_8(res);
@@ -8793,13 +8793,13 @@ M68KMAKE_OP(roxr, 8, s, .)
M68KMAKE_OP(roxr, 16, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = ROR_17(src | (XFLAG_AS_1() << 16), shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = ROR_17(src | (XFLAG_AS_1() << 16), shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
FLAG_C = FLAG_X = res >> 8;
res = MASK_OUT_ABOVE_16(res);
@@ -8816,13 +8816,13 @@ M68KMAKE_OP(roxr, 32, s, .)
{
#if M68K_USE_64_BIT
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint64 src = *r_dst;
- uint64 res = src | (((uint64)XFLAG_AS_1()) << 32);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT64 src = *r_dst;
+ UINT64 res = src | (((UINT64)XFLAG_AS_1()) << 32);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
res = ROR_33_64(res, shift);
@@ -8837,14 +8837,14 @@ M68KMAKE_OP(roxr, 32, s, .)
#else
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = *r_dst;
- uint res = MASK_OUT_ABOVE_32((ROR_33(src, shift) & ~(1 << (32 - shift))) | (XFLAG_AS_1() << (32 - shift)));
- uint new_x_flag = src & (1 << (shift - 1));
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = *r_dst;
+ UINT32 res = MASK_OUT_ABOVE_32((ROR_33(src, shift) & ~(1 << (32 - shift))) | (XFLAG_AS_1() << (32 - shift)));
+ UINT32 new_x_flag = src & (1 << (shift - 1));
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = res;
@@ -8859,16 +8859,16 @@ M68KMAKE_OP(roxr, 32, s, .)
M68KMAKE_OP(roxr, 8, r, .)
{
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
if(orig_shift != 0)
{
- uint shift = orig_shift % 9;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = ROR_9(src | (XFLAG_AS_1() << 8), shift);
+ UINT32 shift = orig_shift % 9;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = ROR_9(src | (XFLAG_AS_1() << 8), shift);
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
FLAG_C = FLAG_X = res;
res = MASK_OUT_ABOVE_8(res);
@@ -8889,16 +8889,16 @@ M68KMAKE_OP(roxr, 8, r, .)
M68KMAKE_OP(roxr, 16, r, .)
{
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
if(orig_shift != 0)
{
- uint shift = orig_shift % 17;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = ROR_17(src | (XFLAG_AS_1() << 16), shift);
+ UINT32 shift = orig_shift % 17;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = ROR_17(src | (XFLAG_AS_1() << 16), shift);
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
FLAG_C = FLAG_X = res >> 8;
res = MASK_OUT_ABOVE_16(res);
@@ -8921,18 +8921,18 @@ M68KMAKE_OP(roxr, 32, r, .)
{
#if M68K_USE_64_BIT
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
if(orig_shift != 0)
{
- uint shift = orig_shift % 33;
- uint64 src = *r_dst;
- uint64 res = src | (((uint64)XFLAG_AS_1()) << 32);
+ UINT32 shift = orig_shift % 33;
+ UINT64 src = *r_dst;
+ UINT64 res = src | (((UINT64)XFLAG_AS_1()) << 32);
res = ROR_33_64(res, shift);
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
FLAG_C = FLAG_X = res >> 24;
res = MASK_OUT_ABOVE_32(res);
@@ -8951,15 +8951,15 @@ M68KMAKE_OP(roxr, 32, r, .)
#else
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
- uint shift = orig_shift % 33;
- uint src = *r_dst;
- uint res = MASK_OUT_ABOVE_32((ROR_33(src, shift) & ~(1 << (32 - shift))) | (XFLAG_AS_1() << (32 - shift)));
- uint new_x_flag = src & (1 << (shift - 1));
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
+ UINT32 shift = orig_shift % 33;
+ UINT32 src = *r_dst;
+ UINT32 res = MASK_OUT_ABOVE_32((ROR_33(src, shift) & ~(1 << (32 - shift))) | (XFLAG_AS_1() << (32 - shift)));
+ UINT32 new_x_flag = src & (1 << (shift - 1));
if(orig_shift != 0)
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
if(shift != 0)
{
@@ -8979,9 +8979,9 @@ M68KMAKE_OP(roxr, 32, r, .)
M68KMAKE_OP(roxr, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = m68ki_read_16(m68k, ea);
- uint res = ROR_17(src | (XFLAG_AS_1() << 16), 1);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = m68ki_read_16(m68k, ea);
+ UINT32 res = ROR_17(src | (XFLAG_AS_1() << 16), 1);
FLAG_C = FLAG_X = res >> 8;
res = MASK_OUT_ABOVE_16(res);
@@ -8996,13 +8996,13 @@ M68KMAKE_OP(roxr, 16, ., .)
M68KMAKE_OP(roxl, 8, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = ROL_9(src | (XFLAG_AS_1() << 8), shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = ROL_9(src | (XFLAG_AS_1() << 8), shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
FLAG_C = FLAG_X = res;
res = MASK_OUT_ABOVE_8(res);
@@ -9017,13 +9017,13 @@ M68KMAKE_OP(roxl, 8, s, .)
M68KMAKE_OP(roxl, 16, s, .)
{
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = ROL_17(src | (XFLAG_AS_1() << 16), shift);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = ROL_17(src | (XFLAG_AS_1() << 16), shift);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
FLAG_C = FLAG_X = res >> 8;
res = MASK_OUT_ABOVE_16(res);
@@ -9040,13 +9040,13 @@ M68KMAKE_OP(roxl, 32, s, .)
{
#if M68K_USE_64_BIT
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint64 src = *r_dst;
- uint64 res = src | (((uint64)XFLAG_AS_1()) << 32);
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT64 src = *r_dst;
+ UINT64 res = src | (((UINT64)XFLAG_AS_1()) << 32);
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
res = ROL_33_64(res, shift);
@@ -9061,14 +9061,14 @@ M68KMAKE_OP(roxl, 32, s, .)
#else
- uint* r_dst = &DY;
- uint shift = (((REG_IR >> 9) - 1) & 7) + 1;
- uint src = *r_dst;
- uint res = MASK_OUT_ABOVE_32((ROL_33(src, shift) & ~(1 << (shift - 1))) | (XFLAG_AS_1() << (shift - 1)));
- uint new_x_flag = src & (1 << (32 - shift));
+ UINT32* r_dst = &DY;
+ UINT32 shift = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 src = *r_dst;
+ UINT32 res = MASK_OUT_ABOVE_32((ROL_33(src, shift) & ~(1 << (shift - 1))) | (XFLAG_AS_1() << (shift - 1)));
+ UINT32 new_x_flag = src & (1 << (32 - shift));
if(shift != 0)
- USE_CYCLES(m68k, shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, shift<<m68k->cyc_shift);
*r_dst = res;
@@ -9083,17 +9083,17 @@ M68KMAKE_OP(roxl, 32, s, .)
M68KMAKE_OP(roxl, 8, r, .)
{
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
if(orig_shift != 0)
{
- uint shift = orig_shift % 9;
- uint src = MASK_OUT_ABOVE_8(*r_dst);
- uint res = ROL_9(src | (XFLAG_AS_1() << 8), shift);
+ UINT32 shift = orig_shift % 9;
+ UINT32 src = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = ROL_9(src | (XFLAG_AS_1() << 8), shift);
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
FLAG_C = FLAG_X = res;
res = MASK_OUT_ABOVE_8(res);
@@ -9114,16 +9114,16 @@ M68KMAKE_OP(roxl, 8, r, .)
M68KMAKE_OP(roxl, 16, r, .)
{
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
if(orig_shift != 0)
{
- uint shift = orig_shift % 17;
- uint src = MASK_OUT_ABOVE_16(*r_dst);
- uint res = ROL_17(src | (XFLAG_AS_1() << 16), shift);
+ UINT32 shift = orig_shift % 17;
+ UINT32 src = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = ROL_17(src | (XFLAG_AS_1() << 16), shift);
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
FLAG_C = FLAG_X = res >> 8;
res = MASK_OUT_ABOVE_16(res);
@@ -9146,18 +9146,18 @@ M68KMAKE_OP(roxl, 32, r, .)
{
#if M68K_USE_64_BIT
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
if(orig_shift != 0)
{
- uint shift = orig_shift % 33;
- uint64 src = *r_dst;
- uint64 res = src | (((uint64)XFLAG_AS_1()) << 32);
+ UINT32 shift = orig_shift % 33;
+ UINT64 src = *r_dst;
+ UINT64 res = src | (((UINT64)XFLAG_AS_1()) << 32);
res = ROL_33_64(res, shift);
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
FLAG_C = FLAG_X = res >> 24;
res = MASK_OUT_ABOVE_32(res);
@@ -9176,15 +9176,15 @@ M68KMAKE_OP(roxl, 32, r, .)
#else
- uint* r_dst = &DY;
- uint orig_shift = DX & 0x3f;
- uint shift = orig_shift % 33;
- uint src = *r_dst;
- uint res = MASK_OUT_ABOVE_32((ROL_33(src, shift) & ~(1 << (shift - 1))) | (XFLAG_AS_1() << (shift - 1)));
- uint new_x_flag = src & (1 << (32 - shift));
+ UINT32* r_dst = &DY;
+ UINT32 orig_shift = DX & 0x3f;
+ UINT32 shift = orig_shift % 33;
+ UINT32 src = *r_dst;
+ UINT32 res = MASK_OUT_ABOVE_32((ROL_33(src, shift) & ~(1 << (shift - 1))) | (XFLAG_AS_1() << (shift - 1)));
+ UINT32 new_x_flag = src & (1 << (32 - shift));
if(orig_shift != 0)
- USE_CYCLES(m68k, orig_shift<<CYC_SHIFT);
+ USE_CYCLES(m68k, orig_shift<<m68k->cyc_shift);
if(shift != 0)
{
@@ -9204,9 +9204,9 @@ M68KMAKE_OP(roxl, 32, r, .)
M68KMAKE_OP(roxl, 16, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = m68ki_read_16(m68k, ea);
- uint res = ROL_17(src | (XFLAG_AS_1() << 16), 1);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = m68ki_read_16(m68k, ea);
+ UINT32 res = ROL_17(src | (XFLAG_AS_1() << 16), 1);
FLAG_C = FLAG_X = res >> 8;
res = MASK_OUT_ABOVE_16(res);
@@ -9221,9 +9221,9 @@ M68KMAKE_OP(roxl, 16, ., .)
M68KMAKE_OP(rtd, 32, ., .)
{
- if(CPU_TYPE_IS_010_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_PLUS(m68k->cpu_type))
{
- uint new_pc = m68ki_pull_32(m68k);
+ UINT32 new_pc = m68ki_pull_32(m68k);
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
REG_A[7] = MASK_OUT_ABOVE_32(REG_A[7] + MAKE_INT_16(OPER_I_16(m68k)));
@@ -9238,27 +9238,27 @@ M68KMAKE_OP(rte, 32, ., .)
{
if(FLAG_S)
{
- uint new_sr;
- uint new_pc;
- uint format_word;
+ UINT32 new_sr;
+ UINT32 new_pc;
+ UINT32 format_word;
- m68ki_rte_callback(); /* auto-disable (see m68kcpu.h) */
+ (*m68k->rte_instr_callback)();
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
- if(CPU_TYPE_IS_000(CPU_TYPE))
+ if(CPU_TYPE_IS_000(m68k->cpu_type))
{
new_sr = m68ki_pull_16(m68k);
new_pc = m68ki_pull_32(m68k);
m68ki_jump(m68k, new_pc);
m68ki_set_sr(m68k, new_sr);
- CPU_INSTR_MODE = INSTRUCTION_YES;
- CPU_RUN_MODE = RUN_MODE_NORMAL;
+ m68k->instr_mode = INSTRUCTION_YES;
+ m68k->run_mode = RUN_MODE_NORMAL;
return;
}
- if(CPU_TYPE_IS_010(CPU_TYPE))
+ if(CPU_TYPE_IS_010(m68k->cpu_type))
{
format_word = m68ki_read_16(m68k, REG_A[7]+6) >> 12;
if(format_word == 0)
@@ -9268,12 +9268,12 @@ M68KMAKE_OP(rte, 32, ., .)
m68ki_fake_pull_16(m68k); /* format word */
m68ki_jump(m68k, new_pc);
m68ki_set_sr(m68k, new_sr);
- CPU_INSTR_MODE = INSTRUCTION_YES;
- CPU_RUN_MODE = RUN_MODE_NORMAL;
+ m68k->instr_mode = INSTRUCTION_YES;
+ m68k->run_mode = RUN_MODE_NORMAL;
return;
}
- CPU_INSTR_MODE = INSTRUCTION_YES;
- CPU_RUN_MODE = RUN_MODE_NORMAL;
+ m68k->instr_mode = INSTRUCTION_YES;
+ m68k->run_mode = RUN_MODE_NORMAL;
/* Not handling bus fault (9) */
m68ki_exception_format_error(m68k);
return;
@@ -9290,8 +9290,8 @@ rte_loop:
m68ki_fake_pull_16(m68k); /* format word */
m68ki_jump(m68k, new_pc);
m68ki_set_sr(m68k, new_sr);
- CPU_INSTR_MODE = INSTRUCTION_YES;
- CPU_RUN_MODE = RUN_MODE_NORMAL;
+ m68k->instr_mode = INSTRUCTION_YES;
+ m68k->run_mode = RUN_MODE_NORMAL;
return;
case 1: /* Throwaway */
new_sr = m68ki_pull_16(m68k);
@@ -9306,13 +9306,13 @@ rte_loop:
m68ki_fake_pull_32(m68k); /* address */
m68ki_jump(m68k, new_pc);
m68ki_set_sr(m68k, new_sr);
- CPU_INSTR_MODE = INSTRUCTION_YES;
- CPU_RUN_MODE = RUN_MODE_NORMAL;
+ m68k->instr_mode = INSTRUCTION_YES;
+ m68k->run_mode = RUN_MODE_NORMAL;
return;
}
/* Not handling long or short bus fault */
- CPU_INSTR_MODE = INSTRUCTION_YES;
- CPU_RUN_MODE = RUN_MODE_NORMAL;
+ m68k->instr_mode = INSTRUCTION_YES;
+ m68k->run_mode = RUN_MODE_NORMAL;
m68ki_exception_format_error(m68k);
return;
}
@@ -9322,11 +9322,11 @@ rte_loop:
M68KMAKE_OP(rtm, 32, ., .)
{
- if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE))
+ if(CPU_TYPE_IS_020_VARIANT(m68k->cpu_type))
{
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: called unimplemented instruction %04x (%s)\n",
- m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC - 2), REG_IR,
+ m68ki_cpu_names[m68k->cpu_type], ADDRESS_68K(REG_PC - 2), REG_IR,
m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2))));
return;
}
@@ -9351,10 +9351,10 @@ M68KMAKE_OP(rts, 32, ., .)
M68KMAKE_OP(sbcd, 8, rr, .)
{
- uint* r_dst = &DX;
- uint src = DY;
- uint dst = *r_dst;
- uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
+ UINT32* r_dst = &DX;
+ UINT32 src = DY;
+ UINT32 dst = *r_dst;
+ UINT32 res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
// FLAG_V = ~res; /* Undefined V behavior */
FLAG_V = VFLAG_CLEAR; /* Undefined in Motorola's M68000PM/AD rev.1 and safer to assume cleared. */
@@ -9383,10 +9383,10 @@ M68KMAKE_OP(sbcd, 8, rr, .)
M68KMAKE_OP(sbcd, 8, mm, ax7)
{
- uint src = OPER_AY_PD_8(m68k);
- uint ea = EA_A7_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_8(m68k);
+ UINT32 ea = EA_A7_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
// FLAG_V = ~res; /* Undefined V behavior */
FLAG_V = VFLAG_CLEAR; /* Undefined in Motorola's M68000PM/AD rev.1 and safer to return zero. */
@@ -9415,10 +9415,10 @@ M68KMAKE_OP(sbcd, 8, mm, ax7)
M68KMAKE_OP(sbcd, 8, mm, ay7)
{
- uint src = OPER_A7_PD_8(m68k);
- uint ea = EA_AX_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
+ UINT32 src = OPER_A7_PD_8(m68k);
+ UINT32 ea = EA_AX_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
// FLAG_V = ~res; /* Undefined V behavior */
FLAG_V = VFLAG_CLEAR; /* Undefined in Motorola's M68000PM/AD rev.1 and safer to return zero. */
@@ -9447,10 +9447,10 @@ M68KMAKE_OP(sbcd, 8, mm, ay7)
M68KMAKE_OP(sbcd, 8, mm, axy7)
{
- uint src = OPER_A7_PD_8(m68k);
- uint ea = EA_A7_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
+ UINT32 src = OPER_A7_PD_8(m68k);
+ UINT32 ea = EA_A7_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
// FLAG_V = ~res; /* Undefined V behavior */
FLAG_V = VFLAG_CLEAR; /* Undefined in Motorola's M68000PM/AD rev.1 and safer to return zero. */
@@ -9479,10 +9479,10 @@ M68KMAKE_OP(sbcd, 8, mm, axy7)
M68KMAKE_OP(sbcd, 8, mm, .)
{
- uint src = OPER_AY_PD_8(m68k);
- uint ea = EA_AX_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_8(m68k);
+ UINT32 ea = EA_AX_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1();
// FLAG_V = ~res; /* Undefined V behavior */
FLAG_V = VFLAG_CLEAR; /* Undefined in Motorola's M68000PM/AD rev.1 and safer to return zero. */
@@ -9538,7 +9538,7 @@ M68KMAKE_OP(scc, 8, ., d)
if(M68KMAKE_CC)
{
DY |= 0xff;
- USE_CYCLES(m68k, CYC_SCC_R_TRUE);
+ USE_CYCLES(m68k, m68k->cyc_scc_r_true);
return;
}
DY &= 0xffffff00;
@@ -9555,9 +9555,9 @@ M68KMAKE_OP(stop, 0, ., .)
{
if(FLAG_S)
{
- uint new_sr = OPER_I_16(m68k);
+ UINT32 new_sr = OPER_I_16(m68k);
m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */
- CPU_STOPPED |= STOP_LEVEL_STOP;
+ m68k->stopped |= STOP_LEVEL_STOP;
m68ki_set_sr(m68k, new_sr);
m68k->remaining_cycles = 0;
return;
@@ -9568,10 +9568,10 @@ M68KMAKE_OP(stop, 0, ., .)
M68KMAKE_OP(sub, 8, er, d)
{
- uint* r_dst = &DX;
- uint src = MASK_OUT_ABOVE_8(DY);
- uint dst = MASK_OUT_ABOVE_8(*r_dst);
- uint res = dst - src;
+ UINT32* r_dst = &DX;
+ UINT32 src = MASK_OUT_ABOVE_8(DY);
+ UINT32 dst = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_X = FLAG_C = CFLAG_8(res);
@@ -9584,10 +9584,10 @@ M68KMAKE_OP(sub, 8, er, d)
M68KMAKE_OP(sub, 8, er, .)
{
- uint* r_dst = &DX;
- uint src = M68KMAKE_GET_OPER_AY_8;
- uint dst = MASK_OUT_ABOVE_8(*r_dst);
- uint res = dst - src;
+ UINT32* r_dst = &DX;
+ UINT32 src = M68KMAKE_GET_OPER_AY_8;
+ UINT32 dst = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_X = FLAG_C = CFLAG_8(res);
@@ -9600,10 +9600,10 @@ M68KMAKE_OP(sub, 8, er, .)
M68KMAKE_OP(sub, 16, er, d)
{
- uint* r_dst = &DX;
- uint src = MASK_OUT_ABOVE_16(DY);
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = dst - src;
+ UINT32* r_dst = &DX;
+ UINT32 src = MASK_OUT_ABOVE_16(DY);
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_X = FLAG_C = CFLAG_16(res);
@@ -9616,10 +9616,10 @@ M68KMAKE_OP(sub, 16, er, d)
M68KMAKE_OP(sub, 16, er, a)
{
- uint* r_dst = &DX;
- uint src = MASK_OUT_ABOVE_16(AY);
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = dst - src;
+ UINT32* r_dst = &DX;
+ UINT32 src = MASK_OUT_ABOVE_16(AY);
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_X = FLAG_C = CFLAG_16(res);
@@ -9632,10 +9632,10 @@ M68KMAKE_OP(sub, 16, er, a)
M68KMAKE_OP(sub, 16, er, .)
{
- uint* r_dst = &DX;
- uint src = M68KMAKE_GET_OPER_AY_16;
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = dst - src;
+ UINT32* r_dst = &DX;
+ UINT32 src = M68KMAKE_GET_OPER_AY_16;
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_X = FLAG_C = CFLAG_16(res);
@@ -9648,10 +9648,10 @@ M68KMAKE_OP(sub, 16, er, .)
M68KMAKE_OP(sub, 32, er, d)
{
- uint* r_dst = &DX;
- uint src = DY;
- uint dst = *r_dst;
- uint res = dst - src;
+ UINT32* r_dst = &DX;
+ UINT32 src = DY;
+ UINT32 dst = *r_dst;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res);
@@ -9664,10 +9664,10 @@ M68KMAKE_OP(sub, 32, er, d)
M68KMAKE_OP(sub, 32, er, a)
{
- uint* r_dst = &DX;
- uint src = AY;
- uint dst = *r_dst;
- uint res = dst - src;
+ UINT32* r_dst = &DX;
+ UINT32 src = AY;
+ UINT32 dst = *r_dst;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res);
@@ -9680,10 +9680,10 @@ M68KMAKE_OP(sub, 32, er, a)
M68KMAKE_OP(sub, 32, er, .)
{
- uint* r_dst = &DX;
- uint src = M68KMAKE_GET_OPER_AY_32;
- uint dst = *r_dst;
- uint res = dst - src;
+ UINT32* r_dst = &DX;
+ UINT32 src = M68KMAKE_GET_OPER_AY_32;
+ UINT32 dst = *r_dst;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res);
@@ -9696,10 +9696,10 @@ M68KMAKE_OP(sub, 32, er, .)
M68KMAKE_OP(sub, 8, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint src = MASK_OUT_ABOVE_8(DX);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = dst - src;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 src = MASK_OUT_ABOVE_8(DX);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -9712,10 +9712,10 @@ M68KMAKE_OP(sub, 8, re, .)
M68KMAKE_OP(sub, 16, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint src = MASK_OUT_ABOVE_16(DX);
- uint dst = m68ki_read_16(m68k, ea);
- uint res = dst - src;
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 src = MASK_OUT_ABOVE_16(DX);
+ UINT32 dst = m68ki_read_16(m68k, ea);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -9728,10 +9728,10 @@ M68KMAKE_OP(sub, 16, re, .)
M68KMAKE_OP(sub, 32, re, .)
{
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint src = DX;
- uint dst = m68ki_read_32(m68k, ea);
- uint res = dst - src;
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 src = DX;
+ UINT32 dst = m68ki_read_32(m68k, ea);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -9744,7 +9744,7 @@ M68KMAKE_OP(sub, 32, re, .)
M68KMAKE_OP(suba, 16, ., d)
{
- uint* r_dst = &AX;
+ UINT32* r_dst = &AX;
*r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(DY));
}
@@ -9752,7 +9752,7 @@ M68KMAKE_OP(suba, 16, ., d)
M68KMAKE_OP(suba, 16, ., a)
{
- uint* r_dst = &AX;
+ UINT32* r_dst = &AX;
*r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(AY));
}
@@ -9760,8 +9760,8 @@ M68KMAKE_OP(suba, 16, ., a)
M68KMAKE_OP(suba, 16, ., .)
{
- uint* r_dst = &AX;
- uint src = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16);
+ UINT32* r_dst = &AX;
+ UINT32 src = MAKE_INT_16(M68KMAKE_GET_OPER_AY_16);
*r_dst = MASK_OUT_ABOVE_32(*r_dst - src);
}
@@ -9769,7 +9769,7 @@ M68KMAKE_OP(suba, 16, ., .)
M68KMAKE_OP(suba, 32, ., d)
{
- uint* r_dst = &AX;
+ UINT32* r_dst = &AX;
*r_dst = MASK_OUT_ABOVE_32(*r_dst - DY);
}
@@ -9777,7 +9777,7 @@ M68KMAKE_OP(suba, 32, ., d)
M68KMAKE_OP(suba, 32, ., a)
{
- uint* r_dst = &AX;
+ UINT32* r_dst = &AX;
*r_dst = MASK_OUT_ABOVE_32(*r_dst - AY);
}
@@ -9785,8 +9785,8 @@ M68KMAKE_OP(suba, 32, ., a)
M68KMAKE_OP(suba, 32, ., .)
{
- uint* r_dst = &AX;
- uint src = M68KMAKE_GET_OPER_AY_32;
+ UINT32* r_dst = &AX;
+ UINT32 src = M68KMAKE_GET_OPER_AY_32;
*r_dst = MASK_OUT_ABOVE_32(*r_dst - src);
}
@@ -9794,10 +9794,10 @@ M68KMAKE_OP(suba, 32, ., .)
M68KMAKE_OP(subi, 8, ., d)
{
- uint* r_dst = &DY;
- uint src = OPER_I_8(m68k);
- uint dst = MASK_OUT_ABOVE_8(*r_dst);
- uint res = dst - src;
+ UINT32* r_dst = &DY;
+ UINT32 src = OPER_I_8(m68k);
+ UINT32 dst = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -9810,10 +9810,10 @@ M68KMAKE_OP(subi, 8, ., d)
M68KMAKE_OP(subi, 8, ., .)
{
- uint src = OPER_I_8(m68k);
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint dst = m68ki_read_8(m68k, ea);
- uint res = dst - src;
+ UINT32 src = OPER_I_8(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -9826,10 +9826,10 @@ M68KMAKE_OP(subi, 8, ., .)
M68KMAKE_OP(subi, 16, ., d)
{
- uint* r_dst = &DY;
- uint src = OPER_I_16(m68k);
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = dst - src;
+ UINT32* r_dst = &DY;
+ UINT32 src = OPER_I_16(m68k);
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -9842,10 +9842,10 @@ M68KMAKE_OP(subi, 16, ., d)
M68KMAKE_OP(subi, 16, ., .)
{
- uint src = OPER_I_16(m68k);
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint dst = m68ki_read_16(m68k, ea);
- uint res = dst - src;
+ UINT32 src = OPER_I_16(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 dst = m68ki_read_16(m68k, ea);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -9858,10 +9858,10 @@ M68KMAKE_OP(subi, 16, ., .)
M68KMAKE_OP(subi, 32, ., d)
{
- uint* r_dst = &DY;
- uint src = OPER_I_32(m68k);
- uint dst = *r_dst;
- uint res = dst - src;
+ UINT32* r_dst = &DY;
+ UINT32 src = OPER_I_32(m68k);
+ UINT32 dst = *r_dst;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -9874,10 +9874,10 @@ M68KMAKE_OP(subi, 32, ., d)
M68KMAKE_OP(subi, 32, ., .)
{
- uint src = OPER_I_32(m68k);
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint dst = m68ki_read_32(m68k, ea);
- uint res = dst - src;
+ UINT32 src = OPER_I_32(m68k);
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 dst = m68ki_read_32(m68k, ea);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -9890,10 +9890,10 @@ M68KMAKE_OP(subi, 32, ., .)
M68KMAKE_OP(subq, 8, ., d)
{
- uint* r_dst = &DY;
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint dst = MASK_OUT_ABOVE_8(*r_dst);
- uint res = dst - src;
+ UINT32* r_dst = &DY;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 dst = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -9906,10 +9906,10 @@ M68KMAKE_OP(subq, 8, ., d)
M68KMAKE_OP(subq, 8, ., .)
{
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint dst = m68ki_read_8(m68k, ea);
- uint res = dst - src;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_8(res);
FLAG_Z = MASK_OUT_ABOVE_8(res);
@@ -9922,10 +9922,10 @@ M68KMAKE_OP(subq, 8, ., .)
M68KMAKE_OP(subq, 16, ., d)
{
- uint* r_dst = &DY;
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = dst - src;
+ UINT32* r_dst = &DY;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -9938,7 +9938,7 @@ M68KMAKE_OP(subq, 16, ., d)
M68KMAKE_OP(subq, 16, ., a)
{
- uint* r_dst = &AY;
+ UINT32* r_dst = &AY;
*r_dst = MASK_OUT_ABOVE_32(*r_dst - ((((REG_IR >> 9) - 1) & 7) + 1));
}
@@ -9946,10 +9946,10 @@ M68KMAKE_OP(subq, 16, ., a)
M68KMAKE_OP(subq, 16, ., .)
{
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint ea = M68KMAKE_GET_EA_AY_16;
- uint dst = m68ki_read_16(m68k, ea);
- uint res = dst - src;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 ea = M68KMAKE_GET_EA_AY_16;
+ UINT32 dst = m68ki_read_16(m68k, ea);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_16(res);
FLAG_Z = MASK_OUT_ABOVE_16(res);
@@ -9962,10 +9962,10 @@ M68KMAKE_OP(subq, 16, ., .)
M68KMAKE_OP(subq, 32, ., d)
{
- uint* r_dst = &DY;
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint dst = *r_dst;
- uint res = dst - src;
+ UINT32* r_dst = &DY;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 dst = *r_dst;
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -9978,7 +9978,7 @@ M68KMAKE_OP(subq, 32, ., d)
M68KMAKE_OP(subq, 32, ., a)
{
- uint* r_dst = &AY;
+ UINT32* r_dst = &AY;
*r_dst = MASK_OUT_ABOVE_32(*r_dst - ((((REG_IR >> 9) - 1) & 7) + 1));
}
@@ -9986,10 +9986,10 @@ M68KMAKE_OP(subq, 32, ., a)
M68KMAKE_OP(subq, 32, ., .)
{
- uint src = (((REG_IR >> 9) - 1) & 7) + 1;
- uint ea = M68KMAKE_GET_EA_AY_32;
- uint dst = m68ki_read_32(m68k, ea);
- uint res = dst - src;
+ UINT32 src = (((REG_IR >> 9) - 1) & 7) + 1;
+ UINT32 ea = M68KMAKE_GET_EA_AY_32;
+ UINT32 dst = m68ki_read_32(m68k, ea);
+ UINT32 res = dst - src;
FLAG_N = NFLAG_32(res);
FLAG_Z = MASK_OUT_ABOVE_32(res);
@@ -10002,10 +10002,10 @@ M68KMAKE_OP(subq, 32, ., .)
M68KMAKE_OP(subx, 8, rr, .)
{
- uint* r_dst = &DX;
- uint src = MASK_OUT_ABOVE_8(DY);
- uint dst = MASK_OUT_ABOVE_8(*r_dst);
- uint res = dst - src - XFLAG_AS_1();
+ UINT32* r_dst = &DX;
+ UINT32 src = MASK_OUT_ABOVE_8(DY);
+ UINT32 dst = MASK_OUT_ABOVE_8(*r_dst);
+ UINT32 res = dst - src - XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_X = FLAG_C = CFLAG_8(res);
@@ -10020,10 +10020,10 @@ M68KMAKE_OP(subx, 8, rr, .)
M68KMAKE_OP(subx, 16, rr, .)
{
- uint* r_dst = &DX;
- uint src = MASK_OUT_ABOVE_16(DY);
- uint dst = MASK_OUT_ABOVE_16(*r_dst);
- uint res = dst - src - XFLAG_AS_1();
+ UINT32* r_dst = &DX;
+ UINT32 src = MASK_OUT_ABOVE_16(DY);
+ UINT32 dst = MASK_OUT_ABOVE_16(*r_dst);
+ UINT32 res = dst - src - XFLAG_AS_1();
FLAG_N = NFLAG_16(res);
FLAG_X = FLAG_C = CFLAG_16(res);
@@ -10038,10 +10038,10 @@ M68KMAKE_OP(subx, 16, rr, .)
M68KMAKE_OP(subx, 32, rr, .)
{
- uint* r_dst = &DX;
- uint src = DY;
- uint dst = *r_dst;
- uint res = dst - src - XFLAG_AS_1();
+ UINT32* r_dst = &DX;
+ UINT32 src = DY;
+ UINT32 dst = *r_dst;
+ UINT32 res = dst - src - XFLAG_AS_1();
FLAG_N = NFLAG_32(res);
FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res);
@@ -10056,10 +10056,10 @@ M68KMAKE_OP(subx, 32, rr, .)
M68KMAKE_OP(subx, 8, mm, ax7)
{
- uint src = OPER_AY_PD_8(m68k);
- uint ea = EA_A7_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = dst - src - XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_8(m68k);
+ UINT32 ea = EA_A7_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = dst - src - XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_X = FLAG_C = CFLAG_8(res);
@@ -10074,10 +10074,10 @@ M68KMAKE_OP(subx, 8, mm, ax7)
M68KMAKE_OP(subx, 8, mm, ay7)
{
- uint src = OPER_A7_PD_8(m68k);
- uint ea = EA_AX_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = dst - src - XFLAG_AS_1();
+ UINT32 src = OPER_A7_PD_8(m68k);
+ UINT32 ea = EA_AX_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = dst - src - XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_X = FLAG_C = CFLAG_8(res);
@@ -10092,10 +10092,10 @@ M68KMAKE_OP(subx, 8, mm, ay7)
M68KMAKE_OP(subx, 8, mm, axy7)
{
- uint src = OPER_A7_PD_8(m68k);
- uint ea = EA_A7_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = dst - src - XFLAG_AS_1();
+ UINT32 src = OPER_A7_PD_8(m68k);
+ UINT32 ea = EA_A7_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = dst - src - XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_X = FLAG_C = CFLAG_8(res);
@@ -10110,10 +10110,10 @@ M68KMAKE_OP(subx, 8, mm, axy7)
M68KMAKE_OP(subx, 8, mm, .)
{
- uint src = OPER_AY_PD_8(m68k);
- uint ea = EA_AX_PD_8(m68k);
- uint dst = m68ki_read_8(m68k, ea);
- uint res = dst - src - XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_8(m68k);
+ UINT32 ea = EA_AX_PD_8(m68k);
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 res = dst - src - XFLAG_AS_1();
FLAG_N = NFLAG_8(res);
FLAG_X = FLAG_C = CFLAG_8(res);
@@ -10128,10 +10128,10 @@ M68KMAKE_OP(subx, 8, mm, .)
M68KMAKE_OP(subx, 16, mm, .)
{
- uint src = OPER_AY_PD_16(m68k);
- uint ea = EA_AX_PD_16(m68k);
- uint dst = m68ki_read_16(m68k, ea);
- uint res = dst - src - XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_16(m68k);
+ UINT32 ea = EA_AX_PD_16(m68k);
+ UINT32 dst = m68ki_read_16(m68k, ea);
+ UINT32 res = dst - src - XFLAG_AS_1();
FLAG_N = NFLAG_16(res);
FLAG_X = FLAG_C = CFLAG_16(res);
@@ -10146,10 +10146,10 @@ M68KMAKE_OP(subx, 16, mm, .)
M68KMAKE_OP(subx, 32, mm, .)
{
- uint src = OPER_AY_PD_32(m68k);
- uint ea = EA_AX_PD_32(m68k);
- uint dst = m68ki_read_32(m68k, ea);
- uint res = dst - src - XFLAG_AS_1();
+ UINT32 src = OPER_AY_PD_32(m68k);
+ UINT32 ea = EA_AX_PD_32(m68k);
+ UINT32 dst = m68ki_read_32(m68k, ea);
+ UINT32 res = dst - src - XFLAG_AS_1();
FLAG_N = NFLAG_32(res);
FLAG_X = FLAG_C = CFLAG_SUB_32(src, dst, res);
@@ -10164,7 +10164,7 @@ M68KMAKE_OP(subx, 32, mm, .)
M68KMAKE_OP(swap, 32, ., .)
{
- uint* r_dst = &DY;
+ UINT32* r_dst = &DY;
FLAG_Z = MASK_OUT_ABOVE_32(*r_dst<<16);
*r_dst = (*r_dst>>16) | FLAG_Z;
@@ -10178,7 +10178,7 @@ M68KMAKE_OP(swap, 32, ., .)
M68KMAKE_OP(tas, 8, ., d)
{
- uint* r_dst = &DY;
+ UINT32* r_dst = &DY;
FLAG_Z = MASK_OUT_ABOVE_8(*r_dst);
FLAG_N = NFLAG_8(*r_dst);
@@ -10190,9 +10190,9 @@ M68KMAKE_OP(tas, 8, ., d)
M68KMAKE_OP(tas, 8, ., .)
{
- uint ea = M68KMAKE_GET_EA_AY_8;
- uint dst = m68ki_read_8(m68k, ea);
- uint allow_writeback;
+ UINT32 ea = M68KMAKE_GET_EA_AY_8;
+ UINT32 dst = m68ki_read_8(m68k, ea);
+ UINT32 allow_writeback;
FLAG_Z = dst;
FLAG_N = NFLAG_8(dst);
@@ -10203,7 +10203,7 @@ M68KMAKE_OP(tas, 8, ., .)
disabled in order to function properly. Some Amiga software may also rely
on this, but only when accessing specific addresses so additional functionality
will be needed. */
- allow_writeback = m68ki_tas_callback();
+ allow_writeback = (*m68k->tas_instr_callback)();
if (allow_writeback==1) m68ki_write_8(m68k, ea, dst | 0x80);
}
@@ -10218,7 +10218,7 @@ M68KMAKE_OP(trap, 0, ., .)
M68KMAKE_OP(trapt, 0, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
m68ki_exception_trap(m68k, EXCEPTION_TRAPV); /* HJB 990403 */
return;
@@ -10229,7 +10229,7 @@ M68KMAKE_OP(trapt, 0, ., .)
M68KMAKE_OP(trapt, 16, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
m68ki_exception_trap(m68k, EXCEPTION_TRAPV); /* HJB 990403 */
return;
@@ -10240,7 +10240,7 @@ M68KMAKE_OP(trapt, 16, ., .)
M68KMAKE_OP(trapt, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
m68ki_exception_trap(m68k, EXCEPTION_TRAPV); /* HJB 990403 */
return;
@@ -10251,7 +10251,7 @@ M68KMAKE_OP(trapt, 32, ., .)
M68KMAKE_OP(trapf, 0, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
return;
}
@@ -10261,7 +10261,7 @@ M68KMAKE_OP(trapf, 0, ., .)
M68KMAKE_OP(trapf, 16, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
REG_PC += 2;
return;
@@ -10272,7 +10272,7 @@ M68KMAKE_OP(trapf, 16, ., .)
M68KMAKE_OP(trapf, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
REG_PC += 4;
return;
@@ -10283,7 +10283,7 @@ M68KMAKE_OP(trapf, 32, ., .)
M68KMAKE_OP(trapcc, 0, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
if(M68KMAKE_CC)
m68ki_exception_trap(m68k, EXCEPTION_TRAPV); /* HJB 990403 */
@@ -10295,7 +10295,7 @@ M68KMAKE_OP(trapcc, 0, ., .)
M68KMAKE_OP(trapcc, 16, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
if(M68KMAKE_CC)
{
@@ -10311,7 +10311,7 @@ M68KMAKE_OP(trapcc, 16, ., .)
M68KMAKE_OP(trapcc, 32, ., .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
if(M68KMAKE_CC)
{
@@ -10337,7 +10337,7 @@ M68KMAKE_OP(trapv, 0, ., .)
M68KMAKE_OP(tst, 8, ., d)
{
- uint res = MASK_OUT_ABOVE_8(DY);
+ UINT32 res = MASK_OUT_ABOVE_8(DY);
FLAG_N = NFLAG_8(res);
FLAG_Z = res;
@@ -10348,7 +10348,7 @@ M68KMAKE_OP(tst, 8, ., d)
M68KMAKE_OP(tst, 8, ., .)
{
- uint res = M68KMAKE_GET_OPER_AY_8;
+ UINT32 res = M68KMAKE_GET_OPER_AY_8;
FLAG_N = NFLAG_8(res);
FLAG_Z = res;
@@ -10359,9 +10359,9 @@ M68KMAKE_OP(tst, 8, ., .)
M68KMAKE_OP(tst, 8, ., pcdi)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint res = OPER_PCDI_8(m68k);
+ UINT32 res = OPER_PCDI_8(m68k);
FLAG_N = NFLAG_8(res);
FLAG_Z = res;
@@ -10375,9 +10375,9 @@ M68KMAKE_OP(tst, 8, ., pcdi)
M68KMAKE_OP(tst, 8, ., pcix)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint res = OPER_PCIX_8(m68k);
+ UINT32 res = OPER_PCIX_8(m68k);
FLAG_N = NFLAG_8(res);
FLAG_Z = res;
@@ -10391,9 +10391,9 @@ M68KMAKE_OP(tst, 8, ., pcix)
M68KMAKE_OP(tst, 8, ., i)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint res = OPER_I_8(m68k);
+ UINT32 res = OPER_I_8(m68k);
FLAG_N = NFLAG_8(res);
FLAG_Z = res;
@@ -10407,7 +10407,7 @@ M68KMAKE_OP(tst, 8, ., i)
M68KMAKE_OP(tst, 16, ., d)
{
- uint res = MASK_OUT_ABOVE_16(DY);
+ UINT32 res = MASK_OUT_ABOVE_16(DY);
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -10418,9 +10418,9 @@ M68KMAKE_OP(tst, 16, ., d)
M68KMAKE_OP(tst, 16, ., a)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint res = MAKE_INT_16(AY);
+ UINT32 res = MAKE_INT_16(AY);
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -10434,7 +10434,7 @@ M68KMAKE_OP(tst, 16, ., a)
M68KMAKE_OP(tst, 16, ., .)
{
- uint res = M68KMAKE_GET_OPER_AY_16;
+ UINT32 res = M68KMAKE_GET_OPER_AY_16;
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -10445,9 +10445,9 @@ M68KMAKE_OP(tst, 16, ., .)
M68KMAKE_OP(tst, 16, ., pcdi)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint res = OPER_PCDI_16(m68k);
+ UINT32 res = OPER_PCDI_16(m68k);
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -10461,9 +10461,9 @@ M68KMAKE_OP(tst, 16, ., pcdi)
M68KMAKE_OP(tst, 16, ., pcix)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint res = OPER_PCIX_16(m68k);
+ UINT32 res = OPER_PCIX_16(m68k);
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -10477,9 +10477,9 @@ M68KMAKE_OP(tst, 16, ., pcix)
M68KMAKE_OP(tst, 16, ., i)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint res = OPER_I_16(m68k);
+ UINT32 res = OPER_I_16(m68k);
FLAG_N = NFLAG_16(res);
FLAG_Z = res;
@@ -10493,7 +10493,7 @@ M68KMAKE_OP(tst, 16, ., i)
M68KMAKE_OP(tst, 32, ., d)
{
- uint res = DY;
+ UINT32 res = DY;
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -10504,9 +10504,9 @@ M68KMAKE_OP(tst, 32, ., d)
M68KMAKE_OP(tst, 32, ., a)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint res = AY;
+ UINT32 res = AY;
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -10520,7 +10520,7 @@ M68KMAKE_OP(tst, 32, ., a)
M68KMAKE_OP(tst, 32, ., .)
{
- uint res = M68KMAKE_GET_OPER_AY_32;
+ UINT32 res = M68KMAKE_GET_OPER_AY_32;
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -10531,9 +10531,9 @@ M68KMAKE_OP(tst, 32, ., .)
M68KMAKE_OP(tst, 32, ., pcdi)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint res = OPER_PCDI_32(m68k);
+ UINT32 res = OPER_PCDI_32(m68k);
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -10547,9 +10547,9 @@ M68KMAKE_OP(tst, 32, ., pcdi)
M68KMAKE_OP(tst, 32, ., pcix)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint res = OPER_PCIX_32(m68k);
+ UINT32 res = OPER_PCIX_32(m68k);
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -10563,9 +10563,9 @@ M68KMAKE_OP(tst, 32, ., pcix)
M68KMAKE_OP(tst, 32, ., i)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint res = OPER_I_32(m68k);
+ UINT32 res = OPER_I_32(m68k);
FLAG_N = NFLAG_32(res);
FLAG_Z = res;
@@ -10585,7 +10585,7 @@ M68KMAKE_OP(unlk, 32, ., a7)
M68KMAKE_OP(unlk, 32, ., .)
{
- uint* r_dst = &AY;
+ UINT32* r_dst = &AY;
REG_A[7] = *r_dst;
*r_dst = m68ki_pull_32(m68k);
@@ -10594,11 +10594,11 @@ M68KMAKE_OP(unlk, 32, ., .)
M68KMAKE_OP(unpk, 16, rr, .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
/* Note: DX and DY are reversed in Motorola's docs */
- uint src = DY;
- uint* r_dst = &DX;
+ UINT32 src = DY;
+ UINT32* r_dst = &DX;
*r_dst = MASK_OUT_BELOW_16(*r_dst) | (((((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(m68k)) & 0xffff);
return;
@@ -10609,11 +10609,11 @@ M68KMAKE_OP(unpk, 16, rr, .)
M68KMAKE_OP(unpk, 16, mm, ax7)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
/* Note: AX and AY are reversed in Motorola's docs */
- uint src = OPER_AY_PD_8(m68k);
- uint ea_dst;
+ UINT32 src = OPER_AY_PD_8(m68k);
+ UINT32 ea_dst;
src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(m68k);
ea_dst = EA_A7_PD_8(m68k);
@@ -10628,11 +10628,11 @@ M68KMAKE_OP(unpk, 16, mm, ax7)
M68KMAKE_OP(unpk, 16, mm, ay7)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
/* Note: AX and AY are reversed in Motorola's docs */
- uint src = OPER_A7_PD_8(m68k);
- uint ea_dst;
+ UINT32 src = OPER_A7_PD_8(m68k);
+ UINT32 ea_dst;
src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(m68k);
ea_dst = EA_AX_PD_8(m68k);
@@ -10647,10 +10647,10 @@ M68KMAKE_OP(unpk, 16, mm, ay7)
M68KMAKE_OP(unpk, 16, mm, axy7)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
- uint src = OPER_A7_PD_8(m68k);
- uint ea_dst;
+ UINT32 src = OPER_A7_PD_8(m68k);
+ UINT32 ea_dst;
src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(m68k);
ea_dst = EA_A7_PD_8(m68k);
@@ -10665,11 +10665,11 @@ M68KMAKE_OP(unpk, 16, mm, axy7)
M68KMAKE_OP(unpk, 16, mm, .)
{
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
/* Note: AX and AY are reversed in Motorola's docs */
- uint src = OPER_AY_PD_8(m68k);
- uint ea_dst;
+ UINT32 src = OPER_AY_PD_8(m68k);
+ UINT32 ea_dst;
src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(m68k);
ea_dst = EA_AX_PD_8(m68k);
diff --git a/src/emu/cpu/m68000/m68kcpu.c b/src/emu/cpu/m68000/m68kcpu.c
index 9a947595438..c1859cd551c 100644
--- a/src/emu/cpu/m68000/m68kcpu.c
+++ b/src/emu/cpu/m68000/m68kcpu.c
@@ -68,7 +68,7 @@ const char *const m68ki_cpu_names[] =
#endif /* M68K_LOG_ENABLE */
/* Used by shift & rotate instructions */
-const uint8 m68ki_shift_8_table[65] =
+const UINT8 m68ki_shift_8_table[65] =
{
0x00, 0x80, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc, 0xfe, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
@@ -77,7 +77,7 @@ const uint8 m68ki_shift_8_table[65] =
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff
};
-const uint16 m68ki_shift_16_table[65] =
+const UINT16 m68ki_shift_16_table[65] =
{
0x0000, 0x8000, 0xc000, 0xe000, 0xf000, 0xf800, 0xfc00, 0xfe00, 0xff00,
0xff80, 0xffc0, 0xffe0, 0xfff0, 0xfff8, 0xfffc, 0xfffe, 0xffff, 0xffff,
@@ -88,7 +88,7 @@ const uint16 m68ki_shift_16_table[65] =
0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff
};
-const uint m68ki_shift_32_table[65] =
+const UINT32 m68ki_shift_32_table[65] =
{
0x00000000, 0x80000000, 0xc0000000, 0xe0000000, 0xf0000000, 0xf8000000,
0xfc000000, 0xfe000000, 0xff000000, 0xff800000, 0xffc00000, 0xffe00000,
@@ -107,7 +107,7 @@ const uint m68ki_shift_32_table[65] =
/* Number of clock cycles to use for exception processing.
* I used 4 for any vectors that are undocumented for processing times.
*/
-const uint8 m68ki_exception_cycle_table[4][256] =
+const UINT8 m68ki_exception_cycle_table[4][256] =
{
{ /* 000 */
4, /* 0: Reset - Initial Stack Pointer */
@@ -403,7 +403,7 @@ const uint8 m68ki_exception_cycle_table[4][256] =
}
};
-const uint8 m68ki_ea_idx_cycle_table[64] =
+const UINT8 m68ki_ea_idx_cycle_table[64] =
{
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, /* ..01.000 no memory indirect, base NULL */
@@ -439,7 +439,7 @@ static int default_int_ack_callback(void *param, int int_level)
{
m68ki_cpu_core *m68k = param;
default_int_ack_callback_data = int_level;
- CPU_INT_LEVEL = 0;
+ m68k->int_level = 0;
return M68K_INT_ACK_AUTOVECTOR;
}
@@ -598,7 +598,7 @@ void m68k_set_reg(m68ki_cpu_core *m68k, m68k_register_t regnum, unsigned int val
case M68K_REG_CAAR: REG_CAAR = MASK_OUT_ABOVE_32(value); return;
case M68K_REG_PPC: REG_PPC = MASK_OUT_ABOVE_32(value); return;
case M68K_REG_IR: REG_IR = MASK_OUT_ABOVE_16(value); return;
- case M68K_REG_PREF_ADDR: CPU_PREF_ADDR = MASK_OUT_ABOVE_32(value); return;
+ case M68K_REG_PREF_ADDR: m68k->pref_addr = MASK_OUT_ABOVE_32(value); return;
case M68K_REG_CPU_TYPE: m68k_set_cpu_type(m68k, value); return;
default: return;
}
@@ -607,48 +607,48 @@ void m68k_set_reg(m68ki_cpu_core *m68k, m68k_register_t regnum, unsigned int val
/* Set the callbacks */
void m68k_set_int_ack_callback(m68ki_cpu_core *m68k, void *param, int (*callback)(void *param, int int_level))
{
- CALLBACK_INT_ACK = callback ? callback : default_int_ack_callback;
- CALLBACK_INT_PARAM = callback ? param : m68k;
+ m68k->int_ack_callback = callback ? callback : default_int_ack_callback;
+ m68k->int_ack_param = callback ? param : m68k;
}
void m68k_set_bkpt_ack_callback(m68ki_cpu_core *m68k, void (*callback)(unsigned int data))
{
- CALLBACK_BKPT_ACK = callback ? callback : default_bkpt_ack_callback;
+ m68k->bkpt_ack_callback = callback ? callback : default_bkpt_ack_callback;
}
void m68k_set_reset_instr_callback(m68ki_cpu_core *m68k, void (*callback)(void))
{
- CALLBACK_RESET_INSTR = callback ? callback : default_reset_instr_callback;
+ m68k->reset_instr_callback = callback ? callback : default_reset_instr_callback;
}
void m68k_set_cmpild_instr_callback(m68ki_cpu_core *m68k, void (*callback)(unsigned int, int))
{
- CALLBACK_CMPILD_INSTR = callback ? callback : default_cmpild_instr_callback;
+ m68k->cmpild_instr_callback = callback ? callback : default_cmpild_instr_callback;
}
void m68k_set_rte_instr_callback(m68ki_cpu_core *m68k, void (*callback)(void))
{
- CALLBACK_RTE_INSTR = callback ? callback : default_rte_instr_callback;
+ m68k->rte_instr_callback = callback ? callback : default_rte_instr_callback;
}
void m68k_set_tas_instr_callback(m68ki_cpu_core *m68k, int (*callback)(void))
{
- CALLBACK_TAS_INSTR = callback ? callback : default_tas_instr_callback;
+ m68k->tas_instr_callback = callback ? callback : default_tas_instr_callback;
}
void m68k_set_pc_changed_callback(m68ki_cpu_core *m68k, void (*callback)(unsigned int new_pc))
{
- CALLBACK_PC_CHANGED = callback ? callback : default_pc_changed_callback;
+ m68k->pc_changed_callback = callback ? callback : default_pc_changed_callback;
}
void m68k_set_fc_callback(m68ki_cpu_core *m68k, void (*callback)(unsigned int new_fc))
{
- CALLBACK_SET_FC = callback ? callback : default_set_fc_callback;
+ m68k->set_fc_callback = callback ? callback : default_set_fc_callback;
}
void m68k_set_instr_hook_callback(m68ki_cpu_core *m68k, void (*callback)(unsigned int pc))
{
- CALLBACK_INSTR_HOOK = callback ? callback : default_instr_hook_callback;
+ m68k->instr_hook_callback = callback ? callback : default_instr_hook_callback;
}
#include <stdio.h>
@@ -658,100 +658,100 @@ void m68k_set_cpu_type(m68ki_cpu_core *m68k, unsigned int cpu_type)
switch(cpu_type)
{
case M68K_CPU_TYPE_68000:
- CPU_TYPE = CPU_TYPE_000;
- CPU_ADDRESS_MASK = 0x00ffffff;
- CPU_SR_MASK = 0xa71f; /* T1 -- S -- -- I2 I1 I0 -- -- -- X N Z V C */
- CYC_INSTRUCTION = m68ki_cycles[0];
- CYC_EXCEPTION = m68ki_exception_cycle_table[0];
- CYC_BCC_NOTAKE_B = -2;
- CYC_BCC_NOTAKE_W = 2;
- CYC_DBCC_F_NOEXP = -2;
- CYC_DBCC_F_EXP = 2;
- CYC_SCC_R_TRUE = 2;
- CYC_MOVEM_W = 2;
- CYC_MOVEM_L = 3;
- CYC_SHIFT = 1;
- CYC_RESET = 132;
+ m68k->cpu_type = CPU_TYPE_000;
+ m68k->address_mask = 0x00ffffff;
+ m68k->sr_mask = 0xa71f; /* T1 -- S -- -- I2 I1 I0 -- -- -- X N Z V C */
+ m68k->cyc_instruction = m68ki_cycles[0];
+ m68k->cyc_exception = m68ki_exception_cycle_table[0];
+ m68k->cyc_bcc_notake_b = -2;
+ m68k->cyc_bcc_notake_w = 2;
+ m68k->cyc_dbcc_f_noexp = -2;
+ m68k->cyc_dbcc_f_exp = 2;
+ m68k->cyc_scc_r_true = 2;
+ m68k->cyc_movem_w = 2;
+ m68k->cyc_movem_l = 3;
+ m68k->cyc_shift = 1;
+ m68k->cyc_reset = 132;
return;
case M68K_CPU_TYPE_68008:
- CPU_TYPE = CPU_TYPE_008;
- CPU_ADDRESS_MASK = 0x003fffff;
- CPU_SR_MASK = 0xa71f; /* T1 -- S -- -- I2 I1 I0 -- -- -- X N Z V C */
- CYC_INSTRUCTION = m68ki_cycles[0];
- CYC_EXCEPTION = m68ki_exception_cycle_table[0];
- CYC_BCC_NOTAKE_B = -2;
- CYC_BCC_NOTAKE_W = 2;
- CYC_DBCC_F_NOEXP = -2;
- CYC_DBCC_F_EXP = 2;
- CYC_SCC_R_TRUE = 2;
- CYC_MOVEM_W = 2;
- CYC_MOVEM_L = 3;
- CYC_SHIFT = 1;
- CYC_RESET = 132;
+ m68k->cpu_type = CPU_TYPE_008;
+ m68k->address_mask = 0x003fffff;
+ m68k->sr_mask = 0xa71f; /* T1 -- S -- -- I2 I1 I0 -- -- -- X N Z V C */
+ m68k->cyc_instruction = m68ki_cycles[0];
+ m68k->cyc_exception = m68ki_exception_cycle_table[0];
+ m68k->cyc_bcc_notake_b = -2;
+ m68k->cyc_bcc_notake_w = 2;
+ m68k->cyc_dbcc_f_noexp = -2;
+ m68k->cyc_dbcc_f_exp = 2;
+ m68k->cyc_scc_r_true = 2;
+ m68k->cyc_movem_w = 2;
+ m68k->cyc_movem_l = 3;
+ m68k->cyc_shift = 1;
+ m68k->cyc_reset = 132;
return;
case M68K_CPU_TYPE_68010:
- CPU_TYPE = CPU_TYPE_010;
- CPU_ADDRESS_MASK = 0x00ffffff;
- CPU_SR_MASK = 0xa71f; /* T1 -- S -- -- I2 I1 I0 -- -- -- X N Z V C */
- CYC_INSTRUCTION = m68ki_cycles[1];
- CYC_EXCEPTION = m68ki_exception_cycle_table[1];
- CYC_BCC_NOTAKE_B = -4;
- CYC_BCC_NOTAKE_W = 0;
- CYC_DBCC_F_NOEXP = 0;
- CYC_DBCC_F_EXP = 6;
- CYC_SCC_R_TRUE = 0;
- CYC_MOVEM_W = 2;
- CYC_MOVEM_L = 3;
- CYC_SHIFT = 1;
- CYC_RESET = 130;
+ m68k->cpu_type = CPU_TYPE_010;
+ m68k->address_mask = 0x00ffffff;
+ m68k->sr_mask = 0xa71f; /* T1 -- S -- -- I2 I1 I0 -- -- -- X N Z V C */
+ m68k->cyc_instruction = m68ki_cycles[1];
+ m68k->cyc_exception = m68ki_exception_cycle_table[1];
+ m68k->cyc_bcc_notake_b = -4;
+ m68k->cyc_bcc_notake_w = 0;
+ m68k->cyc_dbcc_f_noexp = 0;
+ m68k->cyc_dbcc_f_exp = 6;
+ m68k->cyc_scc_r_true = 0;
+ m68k->cyc_movem_w = 2;
+ m68k->cyc_movem_l = 3;
+ m68k->cyc_shift = 1;
+ m68k->cyc_reset = 130;
return;
case M68K_CPU_TYPE_68EC020:
- CPU_TYPE = CPU_TYPE_EC020;
- CPU_ADDRESS_MASK = 0x00ffffff;
- CPU_SR_MASK = 0xf71f; /* T1 T0 S M -- I2 I1 I0 -- -- -- X N Z V C */
- CYC_INSTRUCTION = m68ki_cycles[2];
- CYC_EXCEPTION = m68ki_exception_cycle_table[2];
- CYC_BCC_NOTAKE_B = -2;
- CYC_BCC_NOTAKE_W = 0;
- CYC_DBCC_F_NOEXP = 0;
- CYC_DBCC_F_EXP = 4;
- CYC_SCC_R_TRUE = 0;
- CYC_MOVEM_W = 2;
- CYC_MOVEM_L = 2;
- CYC_SHIFT = 0;
- CYC_RESET = 518;
+ m68k->cpu_type = CPU_TYPE_EC020;
+ m68k->address_mask = 0x00ffffff;
+ m68k->sr_mask = 0xf71f; /* T1 T0 S M -- I2 I1 I0 -- -- -- X N Z V C */
+ m68k->cyc_instruction = m68ki_cycles[2];
+ m68k->cyc_exception = m68ki_exception_cycle_table[2];
+ m68k->cyc_bcc_notake_b = -2;
+ m68k->cyc_bcc_notake_w = 0;
+ m68k->cyc_dbcc_f_noexp = 0;
+ m68k->cyc_dbcc_f_exp = 4;
+ m68k->cyc_scc_r_true = 0;
+ m68k->cyc_movem_w = 2;
+ m68k->cyc_movem_l = 2;
+ m68k->cyc_shift = 0;
+ m68k->cyc_reset = 518;
return;
case M68K_CPU_TYPE_68020:
- CPU_TYPE = CPU_TYPE_020;
- CPU_ADDRESS_MASK = 0xffffffff;
- CPU_SR_MASK = 0xf71f; /* T1 T0 S M -- I2 I1 I0 -- -- -- X N Z V C */
- CYC_INSTRUCTION = m68ki_cycles[2];
- CYC_EXCEPTION = m68ki_exception_cycle_table[2];
- CYC_BCC_NOTAKE_B = -2;
- CYC_BCC_NOTAKE_W = 0;
- CYC_DBCC_F_NOEXP = 0;
- CYC_DBCC_F_EXP = 4;
- CYC_SCC_R_TRUE = 0;
- CYC_MOVEM_W = 2;
- CYC_MOVEM_L = 2;
- CYC_SHIFT = 0;
- CYC_RESET = 518;
+ m68k->cpu_type = CPU_TYPE_020;
+ m68k->address_mask = 0xffffffff;
+ m68k->sr_mask = 0xf71f; /* T1 T0 S M -- I2 I1 I0 -- -- -- X N Z V C */
+ m68k->cyc_instruction = m68ki_cycles[2];
+ m68k->cyc_exception = m68ki_exception_cycle_table[2];
+ m68k->cyc_bcc_notake_b = -2;
+ m68k->cyc_bcc_notake_w = 0;
+ m68k->cyc_dbcc_f_noexp = 0;
+ m68k->cyc_dbcc_f_exp = 4;
+ m68k->cyc_scc_r_true = 0;
+ m68k->cyc_movem_w = 2;
+ m68k->cyc_movem_l = 2;
+ m68k->cyc_shift = 0;
+ m68k->cyc_reset = 518;
return;
case M68K_CPU_TYPE_68040: // TODO: these values are not correct
- CPU_TYPE = CPU_TYPE_040;
- CPU_ADDRESS_MASK = 0xffffffff;
- CPU_SR_MASK = 0xf71f; /* T1 T0 S M -- I2 I1 I0 -- -- -- X N Z V C */
- CYC_INSTRUCTION = m68ki_cycles[2];
- CYC_EXCEPTION = m68ki_exception_cycle_table[2];
- CYC_BCC_NOTAKE_B = -2;
- CYC_BCC_NOTAKE_W = 0;
- CYC_DBCC_F_NOEXP = 0;
- CYC_DBCC_F_EXP = 4;
- CYC_SCC_R_TRUE = 0;
- CYC_MOVEM_W = 2;
- CYC_MOVEM_L = 2;
- CYC_SHIFT = 0;
- CYC_RESET = 518;
+ m68k->cpu_type = CPU_TYPE_040;
+ m68k->address_mask = 0xffffffff;
+ m68k->sr_mask = 0xf71f; /* T1 T0 S M -- I2 I1 I0 -- -- -- X N Z V C */
+ m68k->cyc_instruction = m68ki_cycles[2];
+ m68k->cyc_exception = m68ki_exception_cycle_table[2];
+ m68k->cyc_bcc_notake_b = -2;
+ m68k->cyc_bcc_notake_w = 0;
+ m68k->cyc_dbcc_f_noexp = 0;
+ m68k->cyc_dbcc_f_exp = 4;
+ m68k->cyc_scc_r_true = 0;
+ m68k->cyc_movem_w = 2;
+ m68k->cyc_movem_l = 2;
+ m68k->cyc_shift = 0;
+ m68k->cyc_reset = 518;
return;
}
}
@@ -768,7 +768,7 @@ int m68k_execute(m68ki_cpu_core *m68k, int num_cycles)
m68ki_check_interrupts(m68k);
/* Make sure we're not stopped */
- if(!CPU_STOPPED)
+ if(!m68k->stopped)
{
/* Return point if we had an address error */
m68ki_set_address_error_trap(m68k); /* auto-disable (see m68kcpu.h) */
@@ -783,7 +783,7 @@ int m68k_execute(m68ki_cpu_core *m68k, int num_cycles)
m68ki_use_data_space(); /* auto-disable (see m68kcpu.h) */
/* Call external hook to peek at CPU */
- m68ki_instr_hook(REG_PC); /* auto-disable (see m68kcpu.h) */
+ debugger_instruction_hook(Machine, REG_PC);
/* Record previous program counter */
REG_PPC = REG_PC;
@@ -791,7 +791,7 @@ int m68k_execute(m68ki_cpu_core *m68k, int num_cycles)
/* Read an instruction and call its handler */
REG_IR = m68ki_read_imm_16(m68k);
m68ki_instruction_jump_table[REG_IR](m68k);
- USE_CYCLES(m68k, CYC_INSTRUCTION[REG_IR]);
+ USE_CYCLES(m68k, m68k->cyc_instruction[REG_IR]);
/* Trace m68k_exception, if necessary */
m68ki_exception_if_trace(); /* auto-disable (see m68kcpu.h) */
@@ -839,19 +839,19 @@ void m68k_end_timeslice(m68ki_cpu_core *m68k)
*/
void m68k_set_irq(m68ki_cpu_core *m68k, unsigned int int_level)
{
- uint old_level = CPU_INT_LEVEL;
- CPU_INT_LEVEL = int_level << 8;
+ UINT32 old_level = m68k->int_level;
+ m68k->int_level = int_level << 8;
/* A transition from < 7 to 7 always interrupts (NMI) */
/* Note: Level 7 can also level trigger like a normal IRQ */
- if(old_level != 0x0700 && CPU_INT_LEVEL == 0x0700)
+ if(old_level != 0x0700 && m68k->int_level == 0x0700)
m68k->nmi_pending = TRUE;
}
void m68k_set_virq(m68ki_cpu_core *m68k, unsigned int level, unsigned int active)
{
- uint state = m68k->virq_state;
- uint blevel;
+ UINT32 state = m68k->virq_state;
+ UINT32 blevel;
if(active)
state |= 1 << level;
@@ -872,7 +872,7 @@ unsigned int m68k_get_virq(m68ki_cpu_core *m68k, unsigned int level)
m68ki_cpu_core *m68k_init(void)
{
- static uint emulation_initialized = 0;
+ static UINT32 emulation_initialized = 0;
m68ki_cpu_core *m68k;
m68k = auto_malloc(sizeof(m68ki_cpu_core));
@@ -901,17 +901,17 @@ m68ki_cpu_core *m68k_init(void)
void m68k_pulse_reset(m68ki_cpu_core *m68k)
{
/* Clear all stop levels and eat up all remaining cycles */
- CPU_STOPPED = 0;
+ m68k->stopped = 0;
SET_CYCLES(m68k, 0);
- CPU_RUN_MODE = RUN_MODE_BERR_AERR_RESET;
+ m68k->run_mode = RUN_MODE_BERR_AERR_RESET;
/* Turn off tracing */
FLAG_T1 = FLAG_T0 = 0;
m68ki_clear_trace();
/* Interrupt mask to level 7 */
FLAG_INT_MASK = 0x0700;
- CPU_INT_LEVEL = 0;
+ m68k->int_level = 0;
m68k->virq_state = 0;
/* Reset VBR */
REG_VBR = 0;
@@ -920,7 +920,7 @@ void m68k_pulse_reset(m68ki_cpu_core *m68k)
/* Invalidate the prefetch queue */
/* Set to arbitrary number since our first fetch is from 0 */
- CPU_PREF_ADDR = 0x1000;
+ m68k->pref_addr = 0x1000;
/* Read the initial stack pointer and program counter */
m68ki_jump(m68k, 0);
@@ -928,13 +928,13 @@ void m68k_pulse_reset(m68ki_cpu_core *m68k)
REG_PC = m68ki_read_imm_32(m68k);
m68ki_jump(m68k, REG_PC);
- CPU_RUN_MODE = RUN_MODE_NORMAL;
+ m68k->run_mode = RUN_MODE_NORMAL;
}
/* Pulse the HALT line on the CPU */
void m68k_pulse_halt(m68ki_cpu_core *m68k)
{
- CPU_STOPPED |= STOP_LEVEL_HALT;
+ m68k->stopped |= STOP_LEVEL_HALT;
}
@@ -963,15 +963,15 @@ static void m68k_prepare_substate(running_machine *machine, void *param)
{
m68ki_cpu_core *m68k = param;
m68k_substate.sr = m68ki_get_sr(m68k);
- m68k_substate.stopped = (CPU_STOPPED & STOP_LEVEL_STOP) != 0;
- m68k_substate.halted = (CPU_STOPPED & STOP_LEVEL_HALT) != 0;
+ m68k_substate.stopped = (m68k->stopped & STOP_LEVEL_STOP) != 0;
+ m68k_substate.halted = (m68k->stopped & STOP_LEVEL_HALT) != 0;
}
static void m68k_post_load(running_machine *machine, void *param)
{
m68ki_cpu_core *m68k = param;
m68ki_set_sr_noint_nosp(m68k, m68k_substate.sr);
- CPU_STOPPED = m68k_substate.stopped ? STOP_LEVEL_STOP : 0
+ m68k->stopped = m68k_substate.stopped ? STOP_LEVEL_STOP : 0
| m68k_substate.halted ? STOP_LEVEL_HALT : 0;
m68ki_jump(m68k, REG_PC);
}
@@ -991,11 +991,11 @@ void m68k_state_register(m68ki_cpu_core *m68k, const char *type, int index)
state_save_register_item(type, index, REG_CACR);
state_save_register_item(type, index, REG_CAAR);
state_save_register_item(type, index, m68k_substate.sr);
- state_save_register_item(type, index, CPU_INT_LEVEL);
+ state_save_register_item(type, index, m68k->int_level);
state_save_register_item(type, index, m68k_substate.stopped);
state_save_register_item(type, index, m68k_substate.halted);
- state_save_register_item(type, index, CPU_PREF_ADDR);
- state_save_register_item(type, index, CPU_PREF_DATA);
+ state_save_register_item(type, index, m68k->pref_addr);
+ state_save_register_item(type, index, m68k->pref_data);
state_save_register_presave(Machine, m68k_prepare_substate, m68k);
state_save_register_postload(Machine, m68k_post_load, m68k);
}
diff --git a/src/emu/cpu/m68000/m68kcpu.h b/src/emu/cpu/m68000/m68kcpu.h
index 0fbaf7e6acd..cf4e686737a 100644
--- a/src/emu/cpu/m68000/m68kcpu.h
+++ b/src/emu/cpu/m68000/m68kcpu.h
@@ -37,91 +37,11 @@ typedef struct _m68ki_cpu_core m68ki_cpu_core;
/* ======================================================================== */
/* Check for > 32bit sizes */
-#if UINT_MAX > 0xffffffff
- #define M68K_INT_GT_32_BIT 1
-#else
- #define M68K_INT_GT_32_BIT 0
-#endif
-
-/* Data types used in this emulation core */
-#undef sint8
-#undef sint16
-#undef sint32
-#undef sint64
-#undef uint8
-#undef uint16
-#undef uint32
-#undef uint64
-#undef sint
-#undef uint
-
-#define sint8 signed char /* ASG: changed from char to signed char */
-#define sint16 signed short
-#define sint32 signed int /* AWJ: changed from long to int */
-#define uint8 unsigned char
-#define uint16 unsigned short
-#define uint32 unsigned int /* AWJ: changed from long to int */
-
-/* signed and unsigned int must be at least 32 bits wide */
-#define sint signed int
-#define uint unsigned int
-
-
-#if M68K_USE_64_BIT
-#define sint64 signed long long
-#define uint64 unsigned long long
-#else
-#define sint64 sint32
-#define uint64 uint32
-#endif /* M68K_USE_64_BIT */
-
-
-
-/* Allow for architectures that don't have 8-bit sizes */
-#if UCHAR_MAX == 0xff
- #define MAKE_INT_8(A) (sint8)(A)
-#else
- #undef sint8
- #define sint8 signed int
- #undef uint8
- #define uint8 unsigned int
- INLINE sint MAKE_INT_8(uint value)
- {
- return (value & 0x80) ? value | ~0xff : value & 0xff;
- }
-#endif /* UCHAR_MAX == 0xff */
-
-
-/* Allow for architectures that don't have 16-bit sizes */
-#if USHRT_MAX == 0xffff
- #define MAKE_INT_16(A) (sint16)(A)
-#else
- #undef sint16
- #define sint16 signed int
- #undef uint16
- #define uint16 unsigned int
- INLINE sint MAKE_INT_16(uint value)
- {
- return (value & 0x8000) ? value | ~0xffff : value & 0xffff;
- }
-#endif /* USHRT_MAX == 0xffff */
-
-
-/* Allow for architectures that don't have 32-bit sizes */
-#if UINT_MAX == 0xffffffff
- #define MAKE_INT_32(A) (sint32)(A)
-#else
- #undef sint32
- #define sint32 signed int
- #undef uint32
- #define uint32 unsigned int
- INLINE sint MAKE_INT_32(uint value)
- {
- return (value & 0x80000000) ? value | ~0xffffffff : value & 0xffffffff;
- }
-#endif /* UINT_MAX == 0xffffffff */
-
+#define M68K_INT_GT_32_BIT 0
+#define MAKE_INT_8(A) (INT8)(A)
+#define MAKE_INT_16(A) (INT16)(A)
+#define MAKE_INT_32(A) (INT32)(A)
/* ======================================================================== */
@@ -173,9 +93,6 @@ typedef struct _m68ki_cpu_core m68ki_cpu_core;
#define RUN_MODE_NORMAL 0
#define RUN_MODE_BERR_AERR_RESET 1
-#ifndef NULL
-#define NULL ((void*)0)
-#endif
/* ======================================================================== */
/* ================================ MACROS ================================ */
@@ -250,7 +167,7 @@ typedef struct _m68ki_cpu_core m68ki_cpu_core;
#endif /* M68K_INT_GT_32_BIT || M68K_USE_64_BIT */
/* Simulate address lines of 68k family */
-#define ADDRESS_68K(A) ((A)&CPU_ADDRESS_MASK)
+#define ADDRESS_68K(A) ((A)&m68k->address_mask)
/* Shift & Rotate Macros. */
@@ -296,8 +213,6 @@ typedef struct _m68ki_cpu_core m68ki_cpu_core;
/* ------------------------------ CPU Access ------------------------------ */
/* Access the CPU registers */
-#define CPU_TYPE m68k->cpu_type
-
#define REG_DA m68k->dar /* easy access to data and address regs */
#define REG_D m68k->dar
#define REG_A (m68k->dar+8)
@@ -331,40 +246,6 @@ typedef struct _m68ki_cpu_core m68ki_cpu_core;
#define FLAG_C m68k->c_flag
#define FLAG_INT_MASK m68k->int_mask
-#define CPU_INT_LEVEL m68k->int_level /* ASG: changed from CPU_INTS_PENDING */
-#define CPU_STOPPED m68k->stopped
-#define CPU_PREF_ADDR m68k->pref_addr
-#define CPU_PREF_DATA m68k->pref_data
-#define CPU_ADDRESS_MASK m68k->address_mask
-#define CPU_SR_MASK m68k->sr_mask
-#define CPU_INSTR_MODE m68k->instr_mode
-#define CPU_RUN_MODE m68k->run_mode
-
-#define CYC_INSTRUCTION m68k->cyc_instruction
-#define CYC_EXCEPTION m68k->cyc_exception
-#define CYC_BCC_NOTAKE_B m68k->cyc_bcc_notake_b
-#define CYC_BCC_NOTAKE_W m68k->cyc_bcc_notake_w
-#define CYC_DBCC_F_NOEXP m68k->cyc_dbcc_f_noexp
-#define CYC_DBCC_F_EXP m68k->cyc_dbcc_f_exp
-#define CYC_SCC_R_TRUE m68k->cyc_scc_r_true
-#define CYC_MOVEM_W m68k->cyc_movem_w
-#define CYC_MOVEM_L m68k->cyc_movem_l
-#define CYC_SHIFT m68k->cyc_shift
-#define CYC_RESET m68k->cyc_reset
-
-
-#define CALLBACK_INT_ACK m68k->int_ack_callback
-#define CALLBACK_INT_PARAM m68k->int_ack_param
-#define CALLBACK_BKPT_ACK m68k->bkpt_ack_callback
-#define CALLBACK_RESET_INSTR m68k->reset_instr_callback
-#define CALLBACK_CMPILD_INSTR m68k->cmpild_instr_callback
-#define CALLBACK_RTE_INSTR m68k->rte_instr_callback
-#define CALLBACK_TAS_INSTR m68k->tas_instr_callback
-#define CALLBACK_PC_CHANGED m68k->pc_changed_callback
-#define CALLBACK_SET_FC m68k->set_fc_callback
-#define CALLBACK_INSTR_HOOK m68k->instr_hook_callback
-
-
/* ----------------------------- Configuration ---------------------------- */
@@ -428,30 +309,12 @@ typedef struct _m68ki_cpu_core m68ki_cpu_core;
#endif /* M68K_SEPARATE_READS */
-/* Enable or disable callback functions */
-#define m68ki_int_ack(M, A) CALLBACK_INT_ACK((M)->int_ack_param, A)
-
-#define m68ki_bkpt_ack(A) CALLBACK_BKPT_ACK(A)
-
-#define m68ki_output_reset() CALLBACK_RESET_INSTR()
-
-#define m68ki_cmpild_callback(v,r) CALLBACK_CMPILD_INSTR(v,r)
-
-#define m68ki_rte_callback() CALLBACK_RTE_INSTR()
-
-#define m68ki_tas_callback() CALLBACK_TAS_INSTR()
-
-#define m68ki_instr_hook(pc) debugger_instruction_hook(Machine, pc)
-
-#define m68ki_pc_changed(A) change_pc(ADDRESS_68K(A))
-
-
/* Enable or disable function code emulation */
#if M68K_EMULATE_FC
#if M68K_EMULATE_FC == OPT_SPECIFY_HANDLER
#define m68ki_set_fc(A) M68K_SET_FC_CALLBACK(A)
#else
- #define m68ki_set_fc(A) CALLBACK_SET_FC(A)
+ #define m68ki_set_fc(A) m68k->set_fc_callback(A)
#endif
#define m68ki_use_data_space(M) (M)->address_space = FUNCTION_CODE_USER_DATA
#define m68ki_use_program_space(M) (M)->address_space = FUNCTION_CODE_USER_PROGRAM
@@ -488,7 +351,7 @@ typedef struct _m68ki_cpu_core m68ki_cpu_core;
if(setjmp(m68k->aerr_trap) != 0) \
{ \
m68ki_exception_address_error(m68k); \
- if(CPU_STOPPED) \
+ if(m68k->stopped) \
{ \
SET_CYCLES(m68k, 0); \
return m68k->initial_cycles; \
@@ -505,7 +368,7 @@ typedef struct _m68ki_cpu_core m68ki_cpu_core;
}
#define m68ki_check_address_error_010_less(m68k, ADDR, WRITE_MODE, FC) \
- if (CPU_TYPE_IS_010_LESS(CPU_TYPE)) \
+ if (CPU_TYPE_IS_010_LESS(m68k->cpu_type)) \
{ \
m68ki_check_address_error(m68k, ADDR, WRITE_MODE, FC) \
}
@@ -768,67 +631,67 @@ union _fp_reg
struct _m68ki_cpu_core
{
- uint cpu_type; /* CPU Type: 68000, 68008, 68010, 68EC020, or 68020 */
- uint dar[16]; /* Data and Address Registers */
- uint ppc; /* Previous program counter */
- uint pc; /* Program Counter */
- uint sp[7]; /* User, Interrupt, and Master Stack Pointers */
- uint vbr; /* Vector Base Register (m68010+) */
- uint sfc; /* Source Function Code Register (m68010+) */
- uint dfc; /* Destination Function Code Register (m68010+) */
- uint cacr; /* Cache Control Register (m68020, unemulated) */
- uint caar; /* Cache Address Register (m68020, unemulated) */
- uint ir; /* Instruction Register */
+ UINT32 cpu_type; /* CPU Type: 68000, 68008, 68010, 68EC020, or 68020 */
+ UINT32 dar[16]; /* Data and Address Registers */
+ UINT32 ppc; /* Previous program counter */
+ UINT32 pc; /* Program Counter */
+ UINT32 sp[7]; /* User, Interrupt, and Master Stack Pointers */
+ UINT32 vbr; /* Vector Base Register (m68010+) */
+ UINT32 sfc; /* Source Function Code Register (m68010+) */
+ UINT32 dfc; /* Destination Function Code Register (m68010+) */
+ UINT32 cacr; /* Cache Control Register (m68020, unemulated) */
+ UINT32 caar; /* Cache Address Register (m68020, unemulated) */
+ UINT32 ir; /* Instruction Register */
fp_reg fpr[8]; /* FPU Data Register (m68040) */
- uint fpiar; /* FPU Instruction Address Register (m68040) */
- uint fpsr; /* FPU Status Register (m68040) */
- uint fpcr; /* FPU Control Register (m68040) */
- uint t1_flag; /* Trace 1 */
- uint t0_flag; /* Trace 0 */
- uint s_flag; /* Supervisor */
- uint m_flag; /* Master/Interrupt state */
- uint x_flag; /* Extend */
- uint n_flag; /* Negative */
- uint not_z_flag; /* Zero, inverted for speedups */
- uint v_flag; /* Overflow */
- uint c_flag; /* Carry */
- uint int_mask; /* I0-I2 */
- uint int_level; /* State of interrupt pins IPL0-IPL2 -- ASG: changed from ints_pending */
- uint stopped; /* Stopped state */
- uint pref_addr; /* Last prefetch address */
- uint pref_data; /* Data in the prefetch queue */
- uint address_mask; /* Available address pins */
- uint sr_mask; /* Implemented status register bits */
- uint instr_mode; /* Stores whether we are in instruction mode or group 0/1 exception mode */
- uint run_mode; /* Stores whether we are processing a reset, bus error, address error, or something else */
+ UINT32 fpiar; /* FPU Instruction Address Register (m68040) */
+ UINT32 fpsr; /* FPU Status Register (m68040) */
+ UINT32 fpcr; /* FPU Control Register (m68040) */
+ UINT32 t1_flag; /* Trace 1 */
+ UINT32 t0_flag; /* Trace 0 */
+ UINT32 s_flag; /* Supervisor */
+ UINT32 m_flag; /* Master/Interrupt state */
+ UINT32 x_flag; /* Extend */
+ UINT32 n_flag; /* Negative */
+ UINT32 not_z_flag; /* Zero, inverted for speedups */
+ UINT32 v_flag; /* Overflow */
+ UINT32 c_flag; /* Carry */
+ UINT32 int_mask; /* I0-I2 */
+ UINT32 int_level; /* State of interrupt pins IPL0-IPL2 -- ASG: changed from ints_pending */
+ UINT32 stopped; /* Stopped state */
+ UINT32 pref_addr; /* Last prefetch address */
+ UINT32 pref_data; /* Data in the prefetch queue */
+ UINT32 address_mask; /* Available address pins */
+ UINT32 sr_mask; /* Implemented status register bits */
+ UINT32 instr_mode; /* Stores whether we are in instruction mode or group 0/1 exception mode */
+ UINT32 run_mode; /* Stores whether we are processing a reset, bus error, address error, or something else */
/* Clocks required for instructions / exceptions */
- uint cyc_bcc_notake_b;
- uint cyc_bcc_notake_w;
- uint cyc_dbcc_f_noexp;
- uint cyc_dbcc_f_exp;
- uint cyc_scc_r_true;
- uint cyc_movem_w;
- uint cyc_movem_l;
- uint cyc_shift;
- uint cyc_reset;
+ UINT32 cyc_bcc_notake_b;
+ UINT32 cyc_bcc_notake_w;
+ UINT32 cyc_dbcc_f_noexp;
+ UINT32 cyc_dbcc_f_exp;
+ UINT32 cyc_scc_r_true;
+ UINT32 cyc_movem_w;
+ UINT32 cyc_movem_l;
+ UINT32 cyc_shift;
+ UINT32 cyc_reset;
int initial_cycles;
int remaining_cycles; /* Number of clocks remaining */
- uint tracing;
- uint address_space;
+ UINT32 tracing;
+ UINT32 address_space;
jmp_buf aerr_trap;
- uint aerr_address;
- uint aerr_write_mode;
- uint aerr_fc;
+ UINT32 aerr_address;
+ UINT32 aerr_write_mode;
+ UINT32 aerr_fc;
/* Virtual IRQ lines state */
- uint virq_state;
- uint nmi_pending;
+ UINT32 virq_state;
+ UINT32 nmi_pending;
- const uint8* cyc_instruction;
- const uint8* cyc_exception;
+ const UINT8* cyc_instruction;
+ const UINT8* cyc_exception;
/* Callbacks to host */
int (*int_ack_callback)(void *param, int int_line);/* Interrupt Acknowledge */
@@ -845,116 +708,116 @@ struct _m68ki_cpu_core
};
-extern const uint8 m68ki_shift_8_table[];
-extern const uint16 m68ki_shift_16_table[];
-extern const uint m68ki_shift_32_table[];
-extern const uint8 m68ki_exception_cycle_table[][256];
-extern const uint8 m68ki_ea_idx_cycle_table[];
+extern const UINT8 m68ki_shift_8_table[];
+extern const UINT16 m68ki_shift_16_table[];
+extern const UINT32 m68ki_shift_32_table[];
+extern const UINT8 m68ki_exception_cycle_table[][256];
+extern const UINT8 m68ki_ea_idx_cycle_table[];
/* Read data immediately after the program counter */
-INLINE uint m68ki_read_imm_16(m68ki_cpu_core *m68k);
-INLINE uint m68ki_read_imm_32(m68ki_cpu_core *m68k);
+INLINE UINT32 m68ki_read_imm_16(m68ki_cpu_core *m68k);
+INLINE UINT32 m68ki_read_imm_32(m68ki_cpu_core *m68k);
/* Read data with specific function code */
-INLINE uint m68ki_read_8_fc (m68ki_cpu_core *m68k, uint address, uint fc);
-INLINE uint m68ki_read_16_fc (m68ki_cpu_core *m68k, uint address, uint fc);
-INLINE uint m68ki_read_32_fc (m68ki_cpu_core *m68k, uint address, uint fc);
+INLINE UINT32 m68ki_read_8_fc (m68ki_cpu_core *m68k, UINT32 address, UINT32 fc);
+INLINE UINT32 m68ki_read_16_fc (m68ki_cpu_core *m68k, UINT32 address, UINT32 fc);
+INLINE UINT32 m68ki_read_32_fc (m68ki_cpu_core *m68k, UINT32 address, UINT32 fc);
/* Write data with specific function code */
-INLINE void m68ki_write_8_fc (m68ki_cpu_core *m68k, uint address, uint fc, uint value);
-INLINE void m68ki_write_16_fc(m68ki_cpu_core *m68k, uint address, uint fc, uint value);
-INLINE void m68ki_write_32_fc(m68ki_cpu_core *m68k, uint address, uint fc, uint value);
-INLINE void m68ki_write_32_pd_fc(m68ki_cpu_core *m68k, uint address, uint fc, uint value);
+INLINE void m68ki_write_8_fc (m68ki_cpu_core *m68k, UINT32 address, UINT32 fc, UINT32 value);
+INLINE void m68ki_write_16_fc(m68ki_cpu_core *m68k, UINT32 address, UINT32 fc, UINT32 value);
+INLINE void m68ki_write_32_fc(m68ki_cpu_core *m68k, UINT32 address, UINT32 fc, UINT32 value);
+INLINE void m68ki_write_32_pd_fc(m68ki_cpu_core *m68k, UINT32 address, UINT32 fc, UINT32 value);
/* Indexed and PC-relative ea fetching */
-INLINE uint m68ki_get_ea_pcdi(m68ki_cpu_core *m68k);
-INLINE uint m68ki_get_ea_pcix(m68ki_cpu_core *m68k);
-INLINE uint m68ki_get_ea_ix(m68ki_cpu_core *m68k, uint An);
+INLINE UINT32 m68ki_get_ea_pcdi(m68ki_cpu_core *m68k);
+INLINE UINT32 m68ki_get_ea_pcix(m68ki_cpu_core *m68k);
+INLINE UINT32 m68ki_get_ea_ix(m68ki_cpu_core *m68k, UINT32 An);
/* Operand fetching */
-INLINE uint OPER_AY_AI_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_AI_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_AI_32(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_PI_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_PI_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_PI_32(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_PD_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_PD_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_PD_32(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_DI_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_DI_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_DI_32(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_IX_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_IX_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AY_IX_32(m68ki_cpu_core *m68k);
-
-INLINE uint OPER_AX_AI_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_AI_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_AI_32(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_PI_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_PI_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_PI_32(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_PD_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_PD_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_PD_32(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_DI_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_DI_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_DI_32(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_IX_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_IX_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AX_IX_32(m68ki_cpu_core *m68k);
-
-INLINE uint OPER_A7_PI_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_A7_PD_8(m68ki_cpu_core *m68k);
-
-INLINE uint OPER_AW_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AW_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AW_32(m68ki_cpu_core *m68k);
-INLINE uint OPER_AL_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_AL_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_AL_32(m68ki_cpu_core *m68k);
-INLINE uint OPER_PCDI_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_PCDI_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_PCDI_32(m68ki_cpu_core *m68k);
-INLINE uint OPER_PCIX_8(m68ki_cpu_core *m68k);
-INLINE uint OPER_PCIX_16(m68ki_cpu_core *m68k);
-INLINE uint OPER_PCIX_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_AI_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_AI_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_AI_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_PI_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_PI_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_PI_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_PD_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_PD_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_PD_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_DI_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_DI_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_DI_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_IX_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_IX_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AY_IX_32(m68ki_cpu_core *m68k);
+
+INLINE UINT32 OPER_AX_AI_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_AI_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_AI_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_PI_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_PI_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_PI_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_PD_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_PD_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_PD_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_DI_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_DI_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_DI_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_IX_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_IX_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AX_IX_32(m68ki_cpu_core *m68k);
+
+INLINE UINT32 OPER_A7_PI_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_A7_PD_8(m68ki_cpu_core *m68k);
+
+INLINE UINT32 OPER_AW_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AW_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AW_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AL_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AL_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_AL_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_PCDI_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_PCDI_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_PCDI_32(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_PCIX_8(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_PCIX_16(m68ki_cpu_core *m68k);
+INLINE UINT32 OPER_PCIX_32(m68ki_cpu_core *m68k);
/* Stack operations */
-INLINE void m68ki_push_16(m68ki_cpu_core *m68k, uint value);
-INLINE void m68ki_push_32(m68ki_cpu_core *m68k, uint value);
-INLINE uint m68ki_pull_16(m68ki_cpu_core *m68k);
-INLINE uint m68ki_pull_32(m68ki_cpu_core *m68k);
+INLINE void m68ki_push_16(m68ki_cpu_core *m68k, UINT32 value);
+INLINE void m68ki_push_32(m68ki_cpu_core *m68k, UINT32 value);
+INLINE UINT32 m68ki_pull_16(m68ki_cpu_core *m68k);
+INLINE UINT32 m68ki_pull_32(m68ki_cpu_core *m68k);
/* Program flow operations */
-INLINE void m68ki_jump(m68ki_cpu_core *m68k, uint new_pc);
-INLINE void m68ki_jump_vector(m68ki_cpu_core *m68k, uint vector);
-INLINE void m68ki_branch_8(m68ki_cpu_core *m68k, uint offset);
-INLINE void m68ki_branch_16(m68ki_cpu_core *m68k, uint offset);
-INLINE void m68ki_branch_32(m68ki_cpu_core *m68k, uint offset);
+INLINE void m68ki_jump(m68ki_cpu_core *m68k, UINT32 new_pc);
+INLINE void m68ki_jump_vector(m68ki_cpu_core *m68k, UINT32 vector);
+INLINE void m68ki_branch_8(m68ki_cpu_core *m68k, UINT32 offset);
+INLINE void m68ki_branch_16(m68ki_cpu_core *m68k, UINT32 offset);
+INLINE void m68ki_branch_32(m68ki_cpu_core *m68k, UINT32 offset);
/* Status register operations. */
-INLINE void m68ki_set_s_flag(m68ki_cpu_core *m68k, uint value); /* Only bit 2 of value should be set (i.e. 4 or 0) */
-INLINE void m68ki_set_sm_flag(m68ki_cpu_core *m68k, uint value); /* only bits 1 and 2 of value should be set */
-INLINE void m68ki_set_ccr(m68ki_cpu_core *m68k, uint value); /* set the condition code register */
-INLINE void m68ki_set_sr(m68ki_cpu_core *m68k, uint value); /* set the status register */
-INLINE void m68ki_set_sr_noint(m68ki_cpu_core *m68k, uint value); /* set the status register */
+INLINE void m68ki_set_s_flag(m68ki_cpu_core *m68k, UINT32 value); /* Only bit 2 of value should be set (i.e. 4 or 0) */
+INLINE void m68ki_set_sm_flag(m68ki_cpu_core *m68k, UINT32 value); /* only bits 1 and 2 of value should be set */
+INLINE void m68ki_set_ccr(m68ki_cpu_core *m68k, UINT32 value); /* set the condition code register */
+INLINE void m68ki_set_sr(m68ki_cpu_core *m68k, UINT32 value); /* set the status register */
+INLINE void m68ki_set_sr_noint(m68ki_cpu_core *m68k, UINT32 value); /* set the status register */
/* Exception processing */
-INLINE uint m68ki_init_exception(m68ki_cpu_core *m68k); /* Initial exception processing */
+INLINE UINT32 m68ki_init_exception(m68ki_cpu_core *m68k); /* Initial exception processing */
-INLINE void m68ki_stack_frame_3word(m68ki_cpu_core *m68k, uint pc, uint sr); /* Stack various frame types */
-INLINE void m68ki_stack_frame_buserr(m68ki_cpu_core *m68k, uint sr);
+INLINE void m68ki_stack_frame_3word(m68ki_cpu_core *m68k, UINT32 pc, UINT32 sr); /* Stack various frame types */
+INLINE void m68ki_stack_frame_buserr(m68ki_cpu_core *m68k, UINT32 sr);
-INLINE void m68ki_stack_frame_0000(m68ki_cpu_core *m68k, uint pc, uint sr, uint vector);
-INLINE void m68ki_stack_frame_0001(m68ki_cpu_core *m68k, uint pc, uint sr, uint vector);
-INLINE void m68ki_stack_frame_0010(m68ki_cpu_core *m68k, uint sr, uint vector);
-INLINE void m68ki_stack_frame_1000(m68ki_cpu_core *m68k, uint pc, uint sr, uint vector);
-INLINE void m68ki_stack_frame_1010(m68ki_cpu_core *m68k, uint sr, uint vector, uint pc);
-INLINE void m68ki_stack_frame_1011(m68ki_cpu_core *m68k, uint sr, uint vector, uint pc);
+INLINE void m68ki_stack_frame_0000(m68ki_cpu_core *m68k, UINT32 pc, UINT32 sr, UINT32 vector);
+INLINE void m68ki_stack_frame_0001(m68ki_cpu_core *m68k, UINT32 pc, UINT32 sr, UINT32 vector);
+INLINE void m68ki_stack_frame_0010(m68ki_cpu_core *m68k, UINT32 sr, UINT32 vector);
+INLINE void m68ki_stack_frame_1000(m68ki_cpu_core *m68k, UINT32 pc, UINT32 sr, UINT32 vector);
+INLINE void m68ki_stack_frame_1010(m68ki_cpu_core *m68k, UINT32 sr, UINT32 vector, UINT32 pc);
+INLINE void m68ki_stack_frame_1011(m68ki_cpu_core *m68k, UINT32 sr, UINT32 vector, UINT32 pc);
-INLINE void m68ki_exception_trap(m68ki_cpu_core *m68k, uint vector);
-INLINE void m68ki_exception_trapN(m68ki_cpu_core *m68k, uint vector);
+INLINE void m68ki_exception_trap(m68ki_cpu_core *m68k, UINT32 vector);
+INLINE void m68ki_exception_trapN(m68ki_cpu_core *m68k, UINT32 vector);
INLINE void m68ki_exception_trace(m68ki_cpu_core *m68k);
INLINE void m68ki_exception_privilege_violation(m68ki_cpu_core *m68k);
INLINE void m68ki_exception_1010(m68ki_cpu_core *m68k);
@@ -962,7 +825,7 @@ INLINE void m68ki_exception_1111(m68ki_cpu_core *m68k);
INLINE void m68ki_exception_illegal(m68ki_cpu_core *m68k);
INLINE void m68ki_exception_format_error(m68ki_cpu_core *m68k);
INLINE void m68ki_exception_address_error(m68ki_cpu_core *m68k);
-INLINE void m68ki_exception_interrupt(m68ki_cpu_core *m68k, uint int_level);
+INLINE void m68ki_exception_interrupt(m68ki_cpu_core *m68k, UINT32 int_level);
INLINE void m68ki_check_interrupts(m68ki_cpu_core *m68k); /* ASG: check for interrupts */
/* quick disassembly (used for logging) */
@@ -979,46 +842,46 @@ char* m68ki_disassemble_quick(unsigned int pc, unsigned int cpu_type);
/* Handles all immediate reads, does address error check, function code setting,
* and prefetching if they are enabled in m68kconf.h
*/
-INLINE uint m68ki_read_imm_16(m68ki_cpu_core *m68k)
+INLINE UINT32 m68ki_read_imm_16(m68ki_cpu_core *m68k)
{
- uint result;
+ UINT32 result;
m68ki_set_fc(FLAG_S | FUNCTION_CODE_USER_PROGRAM); /* auto-disable (see m68kcpu.h) */
m68ki_check_address_error(m68k, REG_PC, MODE_READ, FLAG_S | FUNCTION_CODE_USER_PROGRAM); /* auto-disable (see m68kcpu.h) */
- if(REG_PC != CPU_PREF_ADDR)
+ if(REG_PC != m68k->pref_addr)
{
- CPU_PREF_ADDR = REG_PC;
- CPU_PREF_DATA = m68k_read_immediate_16(m68k, ADDRESS_68K(CPU_PREF_ADDR));
+ m68k->pref_addr = REG_PC;
+ m68k->pref_data = m68k_read_immediate_16(m68k, ADDRESS_68K(m68k->pref_addr));
}
- result = MASK_OUT_ABOVE_16(CPU_PREF_DATA);
+ result = MASK_OUT_ABOVE_16(m68k->pref_data);
REG_PC += 2;
- CPU_PREF_ADDR = REG_PC;
- CPU_PREF_DATA = m68k_read_immediate_16(m68k, ADDRESS_68K(CPU_PREF_ADDR));
+ m68k->pref_addr = REG_PC;
+ m68k->pref_data = m68k_read_immediate_16(m68k, ADDRESS_68K(m68k->pref_addr));
return result;
}
-INLINE uint m68ki_read_imm_32(m68ki_cpu_core *m68k)
+INLINE UINT32 m68ki_read_imm_32(m68ki_cpu_core *m68k)
{
- uint temp_val;
+ UINT32 temp_val;
m68ki_set_fc(FLAG_S | FUNCTION_CODE_USER_PROGRAM); /* auto-disable (see m68kcpu.h) */
m68ki_check_address_error(m68k, REG_PC, MODE_READ, FLAG_S | FUNCTION_CODE_USER_PROGRAM); /* auto-disable (see m68kcpu.h) */
- if(REG_PC != CPU_PREF_ADDR)
+ if(REG_PC != m68k->pref_addr)
{
- CPU_PREF_ADDR = REG_PC;
- CPU_PREF_DATA = m68k_read_immediate_16(m68k, ADDRESS_68K(CPU_PREF_ADDR));
+ m68k->pref_addr = REG_PC;
+ m68k->pref_data = m68k_read_immediate_16(m68k, ADDRESS_68K(m68k->pref_addr));
}
- temp_val = MASK_OUT_ABOVE_16(CPU_PREF_DATA);
+ temp_val = MASK_OUT_ABOVE_16(m68k->pref_data);
REG_PC += 2;
- CPU_PREF_ADDR = REG_PC;
- CPU_PREF_DATA = m68k_read_immediate_16(m68k, ADDRESS_68K(CPU_PREF_ADDR));
+ m68k->pref_addr = REG_PC;
+ m68k->pref_data = m68k_read_immediate_16(m68k, ADDRESS_68K(m68k->pref_addr));
- temp_val = MASK_OUT_ABOVE_32((temp_val << 16) | MASK_OUT_ABOVE_16(CPU_PREF_DATA));
+ temp_val = MASK_OUT_ABOVE_32((temp_val << 16) | MASK_OUT_ABOVE_16(m68k->pref_data));
REG_PC += 2;
- CPU_PREF_ADDR = REG_PC;
- CPU_PREF_DATA = m68k_read_immediate_16(m68k, ADDRESS_68K(CPU_PREF_ADDR));
+ m68k->pref_addr = REG_PC;
+ m68k->pref_data = m68k_read_immediate_16(m68k, ADDRESS_68K(m68k->pref_addr));
return temp_val;
}
@@ -1033,43 +896,43 @@ INLINE uint m68ki_read_imm_32(m68ki_cpu_core *m68k)
* These functions will also check for address error and set the function
* code if they are enabled in m68kconf.h.
*/
-INLINE uint m68ki_read_8_fc(m68ki_cpu_core *m68k, uint address, uint fc)
+INLINE UINT32 m68ki_read_8_fc(m68ki_cpu_core *m68k, UINT32 address, UINT32 fc)
{
m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */
return m68k_read_memory_8(m68k, ADDRESS_68K(address));
}
-INLINE uint m68ki_read_16_fc(m68ki_cpu_core *m68k, uint address, uint fc)
+INLINE UINT32 m68ki_read_16_fc(m68ki_cpu_core *m68k, UINT32 address, UINT32 fc)
{
m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */
m68ki_check_address_error_010_less(m68k, address, MODE_READ, fc); /* auto-disable (see m68kcpu.h) */
return m68k_read_memory_16(m68k, ADDRESS_68K(address));
}
-INLINE uint m68ki_read_32_fc(m68ki_cpu_core *m68k, uint address, uint fc)
+INLINE UINT32 m68ki_read_32_fc(m68ki_cpu_core *m68k, UINT32 address, UINT32 fc)
{
m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */
m68ki_check_address_error_010_less(m68k, address, MODE_READ, fc); /* auto-disable (see m68kcpu.h) */
return m68k_read_memory_32(m68k, ADDRESS_68K(address));
}
-INLINE void m68ki_write_8_fc(m68ki_cpu_core *m68k, uint address, uint fc, uint value)
+INLINE void m68ki_write_8_fc(m68ki_cpu_core *m68k, UINT32 address, UINT32 fc, UINT32 value)
{
m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */
m68k_write_memory_8(m68k, ADDRESS_68K(address), value);
}
-INLINE void m68ki_write_16_fc(m68ki_cpu_core *m68k, uint address, uint fc, uint value)
+INLINE void m68ki_write_16_fc(m68ki_cpu_core *m68k, UINT32 address, UINT32 fc, UINT32 value)
{
m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */
m68ki_check_address_error_010_less(m68k, address, MODE_WRITE, fc); /* auto-disable (see m68kcpu.h) */
m68k_write_memory_16(m68k, ADDRESS_68K(address), value);
}
-INLINE void m68ki_write_32_fc(m68ki_cpu_core *m68k, uint address, uint fc, uint value)
+INLINE void m68ki_write_32_fc(m68ki_cpu_core *m68k, UINT32 address, UINT32 fc, UINT32 value)
{
m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */
m68ki_check_address_error_010_less(m68k, address, MODE_WRITE, fc); /* auto-disable (see m68kcpu.h) */
m68k_write_memory_32(m68k, ADDRESS_68K(address), value);
}
-INLINE void m68ki_write_32_pd_fc(m68ki_cpu_core *m68k, uint address, uint fc, uint value)
+INLINE void m68ki_write_32_pd_fc(m68ki_cpu_core *m68k, UINT32 address, UINT32 fc, UINT32 value)
{
m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */
m68ki_check_address_error_010_less(m68k, address, MODE_WRITE, fc); /* auto-disable (see m68kcpu.h) */
@@ -1082,15 +945,15 @@ INLINE void m68ki_write_32_pd_fc(m68ki_cpu_core *m68k, uint address, uint fc, ui
/* The program counter relative addressing modes cause operands to be
* retrieved from program space, not data space.
*/
-INLINE uint m68ki_get_ea_pcdi(m68ki_cpu_core *m68k)
+INLINE UINT32 m68ki_get_ea_pcdi(m68ki_cpu_core *m68k)
{
- uint old_pc = REG_PC;
+ UINT32 old_pc = REG_PC;
m68ki_use_program_space(); /* auto-disable */
return old_pc + MAKE_INT_16(m68ki_read_imm_16(m68k));
}
-INLINE uint m68ki_get_ea_pcix(m68ki_cpu_core *m68k)
+INLINE UINT32 m68ki_get_ea_pcix(m68ki_cpu_core *m68k)
{
m68ki_use_program_space(); /* auto-disable */
return m68ki_get_ea_ix(m68k, REG_PC);
@@ -1138,15 +1001,15 @@ INLINE uint m68ki_get_ea_pcix(m68ki_cpu_core *m68k)
* 1 011 mem indir with long outer
* 1 100-111 reserved
*/
-INLINE uint m68ki_get_ea_ix(m68ki_cpu_core *m68k, uint An)
+INLINE UINT32 m68ki_get_ea_ix(m68ki_cpu_core *m68k, UINT32 An)
{
/* An = base register */
- uint extension = m68ki_read_imm_16(m68k);
- uint Xn = 0; /* Index register */
- uint bd = 0; /* Base Displacement */
- uint od = 0; /* Outer Displacement */
+ UINT32 extension = m68ki_read_imm_16(m68k);
+ UINT32 Xn = 0; /* Index register */
+ UINT32 bd = 0; /* Base Displacement */
+ UINT32 od = 0; /* Outer Displacement */
- if(CPU_TYPE_IS_010_LESS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_LESS(m68k->cpu_type))
{
/* Calculate index */
Xn = REG_DA[extension>>12]; /* Xn */
@@ -1165,7 +1028,7 @@ INLINE uint m68ki_get_ea_ix(m68ki_cpu_core *m68k, uint An)
if(!BIT_B(extension)) /* W/L */
Xn = MAKE_INT_16(Xn);
/* Add scale if proper CPU type */
- if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
Xn <<= (extension>>9) & 3; /* SCALE */
/* Add base register and displacement and return */
@@ -1211,78 +1074,78 @@ INLINE uint m68ki_get_ea_ix(m68ki_cpu_core *m68k, uint An)
/* Fetch operands */
-INLINE uint OPER_AY_AI_8(m68ki_cpu_core *m68k) {uint ea = EA_AY_AI_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AY_AI_16(m68ki_cpu_core *m68k) {uint ea = EA_AY_AI_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AY_AI_32(m68ki_cpu_core *m68k) {uint ea = EA_AY_AI_32(m68k); return m68ki_read_32(m68k, ea);}
-INLINE uint OPER_AY_PI_8(m68ki_cpu_core *m68k) {uint ea = EA_AY_PI_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AY_PI_16(m68ki_cpu_core *m68k) {uint ea = EA_AY_PI_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AY_PI_32(m68ki_cpu_core *m68k) {uint ea = EA_AY_PI_32(m68k); return m68ki_read_32(m68k, ea);}
-INLINE uint OPER_AY_PD_8(m68ki_cpu_core *m68k) {uint ea = EA_AY_PD_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AY_PD_16(m68ki_cpu_core *m68k) {uint ea = EA_AY_PD_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AY_PD_32(m68ki_cpu_core *m68k) {uint ea = EA_AY_PD_32(m68k); return m68ki_read_32(m68k, ea);}
-INLINE uint OPER_AY_DI_8(m68ki_cpu_core *m68k) {uint ea = EA_AY_DI_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AY_DI_16(m68ki_cpu_core *m68k) {uint ea = EA_AY_DI_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AY_DI_32(m68ki_cpu_core *m68k) {uint ea = EA_AY_DI_32(m68k); return m68ki_read_32(m68k, ea);}
-INLINE uint OPER_AY_IX_8(m68ki_cpu_core *m68k) {uint ea = EA_AY_IX_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AY_IX_16(m68ki_cpu_core *m68k) {uint ea = EA_AY_IX_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AY_IX_32(m68ki_cpu_core *m68k) {uint ea = EA_AY_IX_32(m68k); return m68ki_read_32(m68k, ea);}
-
-INLINE uint OPER_AX_AI_8(m68ki_cpu_core *m68k) {uint ea = EA_AX_AI_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AX_AI_16(m68ki_cpu_core *m68k) {uint ea = EA_AX_AI_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AX_AI_32(m68ki_cpu_core *m68k) {uint ea = EA_AX_AI_32(m68k); return m68ki_read_32(m68k, ea);}
-INLINE uint OPER_AX_PI_8(m68ki_cpu_core *m68k) {uint ea = EA_AX_PI_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AX_PI_16(m68ki_cpu_core *m68k) {uint ea = EA_AX_PI_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AX_PI_32(m68ki_cpu_core *m68k) {uint ea = EA_AX_PI_32(m68k); return m68ki_read_32(m68k, ea);}
-INLINE uint OPER_AX_PD_8(m68ki_cpu_core *m68k) {uint ea = EA_AX_PD_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AX_PD_16(m68ki_cpu_core *m68k) {uint ea = EA_AX_PD_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AX_PD_32(m68ki_cpu_core *m68k) {uint ea = EA_AX_PD_32(m68k); return m68ki_read_32(m68k, ea);}
-INLINE uint OPER_AX_DI_8(m68ki_cpu_core *m68k) {uint ea = EA_AX_DI_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AX_DI_16(m68ki_cpu_core *m68k) {uint ea = EA_AX_DI_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AX_DI_32(m68ki_cpu_core *m68k) {uint ea = EA_AX_DI_32(m68k); return m68ki_read_32(m68k, ea);}
-INLINE uint OPER_AX_IX_8(m68ki_cpu_core *m68k) {uint ea = EA_AX_IX_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AX_IX_16(m68ki_cpu_core *m68k) {uint ea = EA_AX_IX_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AX_IX_32(m68ki_cpu_core *m68k) {uint ea = EA_AX_IX_32(m68k); return m68ki_read_32(m68k, ea);}
-
-INLINE uint OPER_A7_PI_8(m68ki_cpu_core *m68k) {uint ea = EA_A7_PI_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_A7_PD_8(m68ki_cpu_core *m68k) {uint ea = EA_A7_PD_8(m68k); return m68ki_read_8(m68k, ea); }
-
-INLINE uint OPER_AW_8(m68ki_cpu_core *m68k) {uint ea = EA_AW_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AW_16(m68ki_cpu_core *m68k) {uint ea = EA_AW_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AW_32(m68ki_cpu_core *m68k) {uint ea = EA_AW_32(m68k); return m68ki_read_32(m68k, ea);}
-INLINE uint OPER_AL_8(m68ki_cpu_core *m68k) {uint ea = EA_AL_8(m68k); return m68ki_read_8(m68k, ea); }
-INLINE uint OPER_AL_16(m68ki_cpu_core *m68k) {uint ea = EA_AL_16(m68k); return m68ki_read_16(m68k, ea);}
-INLINE uint OPER_AL_32(m68ki_cpu_core *m68k) {uint ea = EA_AL_32(m68k); return m68ki_read_32(m68k, ea);}
-INLINE uint OPER_PCDI_8(m68ki_cpu_core *m68k) {uint ea = EA_PCDI_8(m68k); return m68ki_read_pcrel_8(m68k, ea); }
-INLINE uint OPER_PCDI_16(m68ki_cpu_core *m68k) {uint ea = EA_PCDI_16(m68k); return m68ki_read_pcrel_16(m68k, ea);}
-INLINE uint OPER_PCDI_32(m68ki_cpu_core *m68k) {uint ea = EA_PCDI_32(m68k); return m68ki_read_pcrel_32(m68k, ea);}
-INLINE uint OPER_PCIX_8(m68ki_cpu_core *m68k) {uint ea = EA_PCIX_8(m68k); return m68ki_read_pcrel_8(m68k, ea); }
-INLINE uint OPER_PCIX_16(m68ki_cpu_core *m68k) {uint ea = EA_PCIX_16(m68k); return m68ki_read_pcrel_16(m68k, ea);}
-INLINE uint OPER_PCIX_32(m68ki_cpu_core *m68k) {uint ea = EA_PCIX_32(m68k); return m68ki_read_pcrel_32(m68k, ea);}
+INLINE UINT32 OPER_AY_AI_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_AI_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AY_AI_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_AI_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AY_AI_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_AI_32(m68k); return m68ki_read_32(m68k, ea);}
+INLINE UINT32 OPER_AY_PI_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_PI_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AY_PI_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_PI_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AY_PI_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_PI_32(m68k); return m68ki_read_32(m68k, ea);}
+INLINE UINT32 OPER_AY_PD_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_PD_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AY_PD_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_PD_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AY_PD_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_PD_32(m68k); return m68ki_read_32(m68k, ea);}
+INLINE UINT32 OPER_AY_DI_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_DI_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AY_DI_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_DI_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AY_DI_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_DI_32(m68k); return m68ki_read_32(m68k, ea);}
+INLINE UINT32 OPER_AY_IX_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_IX_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AY_IX_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_IX_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AY_IX_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AY_IX_32(m68k); return m68ki_read_32(m68k, ea);}
+
+INLINE UINT32 OPER_AX_AI_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_AI_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AX_AI_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_AI_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AX_AI_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_AI_32(m68k); return m68ki_read_32(m68k, ea);}
+INLINE UINT32 OPER_AX_PI_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_PI_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AX_PI_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_PI_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AX_PI_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_PI_32(m68k); return m68ki_read_32(m68k, ea);}
+INLINE UINT32 OPER_AX_PD_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_PD_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AX_PD_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_PD_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AX_PD_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_PD_32(m68k); return m68ki_read_32(m68k, ea);}
+INLINE UINT32 OPER_AX_DI_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_DI_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AX_DI_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_DI_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AX_DI_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_DI_32(m68k); return m68ki_read_32(m68k, ea);}
+INLINE UINT32 OPER_AX_IX_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_IX_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AX_IX_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_IX_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AX_IX_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AX_IX_32(m68k); return m68ki_read_32(m68k, ea);}
+
+INLINE UINT32 OPER_A7_PI_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_A7_PI_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_A7_PD_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_A7_PD_8(m68k); return m68ki_read_8(m68k, ea); }
+
+INLINE UINT32 OPER_AW_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AW_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AW_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AW_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AW_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AW_32(m68k); return m68ki_read_32(m68k, ea);}
+INLINE UINT32 OPER_AL_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_AL_8(m68k); return m68ki_read_8(m68k, ea); }
+INLINE UINT32 OPER_AL_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_AL_16(m68k); return m68ki_read_16(m68k, ea);}
+INLINE UINT32 OPER_AL_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_AL_32(m68k); return m68ki_read_32(m68k, ea);}
+INLINE UINT32 OPER_PCDI_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_PCDI_8(m68k); return m68ki_read_pcrel_8(m68k, ea); }
+INLINE UINT32 OPER_PCDI_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_PCDI_16(m68k); return m68ki_read_pcrel_16(m68k, ea);}
+INLINE UINT32 OPER_PCDI_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_PCDI_32(m68k); return m68ki_read_pcrel_32(m68k, ea);}
+INLINE UINT32 OPER_PCIX_8(m68ki_cpu_core *m68k) {UINT32 ea = EA_PCIX_8(m68k); return m68ki_read_pcrel_8(m68k, ea); }
+INLINE UINT32 OPER_PCIX_16(m68ki_cpu_core *m68k) {UINT32 ea = EA_PCIX_16(m68k); return m68ki_read_pcrel_16(m68k, ea);}
+INLINE UINT32 OPER_PCIX_32(m68ki_cpu_core *m68k) {UINT32 ea = EA_PCIX_32(m68k); return m68ki_read_pcrel_32(m68k, ea);}
/* ---------------------------- Stack Functions --------------------------- */
/* Push/pull data from the stack */
-INLINE void m68ki_push_16(m68ki_cpu_core *m68k, uint value)
+INLINE void m68ki_push_16(m68ki_cpu_core *m68k, UINT32 value)
{
REG_SP = MASK_OUT_ABOVE_32(REG_SP - 2);
m68ki_write_16(m68k, REG_SP, value);
}
-INLINE void m68ki_push_32(m68ki_cpu_core *m68k, uint value)
+INLINE void m68ki_push_32(m68ki_cpu_core *m68k, UINT32 value)
{
REG_SP = MASK_OUT_ABOVE_32(REG_SP - 4);
m68ki_write_32(m68k, REG_SP, value);
}
-INLINE uint m68ki_pull_16(m68ki_cpu_core *m68k)
+INLINE UINT32 m68ki_pull_16(m68ki_cpu_core *m68k)
{
REG_SP = MASK_OUT_ABOVE_32(REG_SP + 2);
return m68ki_read_16(m68k, REG_SP-2);
}
-INLINE uint m68ki_pull_32(m68ki_cpu_core *m68k)
+INLINE UINT32 m68ki_pull_32(m68ki_cpu_core *m68k)
{
REG_SP = MASK_OUT_ABOVE_32(REG_SP + 4);
return m68ki_read_32(m68k, REG_SP-4);
@@ -1319,17 +1182,17 @@ INLINE void m68ki_fake_pull_32(m68ki_cpu_core *m68k)
* These functions will also call the pc_changed callback if it was enabled
* in m68kconf.h.
*/
-INLINE void m68ki_jump(m68ki_cpu_core *m68k, uint new_pc)
+INLINE void m68ki_jump(m68ki_cpu_core *m68k, UINT32 new_pc)
{
REG_PC = new_pc;
- m68ki_pc_changed(REG_PC);
+ change_pc(ADDRESS_68K(REG_PC));
}
-INLINE void m68ki_jump_vector(m68ki_cpu_core *m68k, uint vector)
+INLINE void m68ki_jump_vector(m68ki_cpu_core *m68k, UINT32 vector)
{
REG_PC = (vector<<2) + REG_VBR;
REG_PC = m68ki_read_data_32(m68k, REG_PC);
- m68ki_pc_changed(REG_PC);
+ change_pc(ADDRESS_68K(REG_PC));
}
@@ -1338,20 +1201,20 @@ INLINE void m68ki_jump_vector(m68ki_cpu_core *m68k, uint vector)
* So far I've found no problems with not calling pc_changed for 8 or 16
* bit branches.
*/
-INLINE void m68ki_branch_8(m68ki_cpu_core *m68k, uint offset)
+INLINE void m68ki_branch_8(m68ki_cpu_core *m68k, UINT32 offset)
{
REG_PC += MAKE_INT_8(offset);
}
-INLINE void m68ki_branch_16(m68ki_cpu_core *m68k, uint offset)
+INLINE void m68ki_branch_16(m68ki_cpu_core *m68k, UINT32 offset)
{
REG_PC += MAKE_INT_16(offset);
}
-INLINE void m68ki_branch_32(m68ki_cpu_core *m68k, uint offset)
+INLINE void m68ki_branch_32(m68ki_cpu_core *m68k, UINT32 offset)
{
REG_PC += offset;
- m68ki_pc_changed(REG_PC);
+ change_pc(ADDRESS_68K(REG_PC));
}
@@ -1361,7 +1224,7 @@ INLINE void m68ki_branch_32(m68ki_cpu_core *m68k, uint offset)
/* Set the S flag and change the active stack pointer.
* Note that value MUST be 4 or 0.
*/
-INLINE void m68ki_set_s_flag(m68ki_cpu_core *m68k, uint value)
+INLINE void m68ki_set_s_flag(m68ki_cpu_core *m68k, UINT32 value)
{
/* Backup the old stack pointer */
REG_SP_BASE[FLAG_S | ((FLAG_S>>1) & FLAG_M)] = REG_SP;
@@ -1374,7 +1237,7 @@ INLINE void m68ki_set_s_flag(m68ki_cpu_core *m68k, uint value)
/* Set the S and M flags and change the active stack pointer.
* Note that value MUST be 0, 2, 4, or 6 (bit2 = S, bit1 = M).
*/
-INLINE void m68ki_set_sm_flag(m68ki_cpu_core *m68k, uint value)
+INLINE void m68ki_set_sm_flag(m68ki_cpu_core *m68k, UINT32 value)
{
/* Backup the old stack pointer */
REG_SP_BASE[FLAG_S | ((FLAG_S>>1) & FLAG_M)] = REG_SP;
@@ -1386,7 +1249,7 @@ INLINE void m68ki_set_sm_flag(m68ki_cpu_core *m68k, uint value)
}
/* Set the S and M flags. Don't touch the stack pointer. */
-INLINE void m68ki_set_sm_flag_nosp(m68ki_cpu_core *m68k, uint value)
+INLINE void m68ki_set_sm_flag_nosp(m68ki_cpu_core *m68k, UINT32 value)
{
/* Set the S and M flags */
FLAG_S = value & SFLAG_SET;
@@ -1395,7 +1258,7 @@ INLINE void m68ki_set_sm_flag_nosp(m68ki_cpu_core *m68k, uint value)
/* Set the condition code register */
-INLINE void m68ki_set_ccr(m68ki_cpu_core *m68k, uint value)
+INLINE void m68ki_set_ccr(m68ki_cpu_core *m68k, UINT32 value)
{
FLAG_X = BIT_4(value) << 4;
FLAG_N = BIT_3(value) << 4;
@@ -1405,10 +1268,10 @@ INLINE void m68ki_set_ccr(m68ki_cpu_core *m68k, uint value)
}
/* Set the status register but don't check for interrupts */
-INLINE void m68ki_set_sr_noint(m68ki_cpu_core *m68k, uint value)
+INLINE void m68ki_set_sr_noint(m68ki_cpu_core *m68k, UINT32 value)
{
/* Mask out the "unimplemented" bits */
- value &= CPU_SR_MASK;
+ value &= m68k->sr_mask;
/* Now set the status register */
FLAG_T1 = BIT_F(value);
@@ -1421,10 +1284,10 @@ INLINE void m68ki_set_sr_noint(m68ki_cpu_core *m68k, uint value)
/* Set the status register but don't check for interrupts nor
* change the stack pointer
*/
-INLINE void m68ki_set_sr_noint_nosp(m68ki_cpu_core *m68k, uint value)
+INLINE void m68ki_set_sr_noint_nosp(m68ki_cpu_core *m68k, UINT32 value)
{
/* Mask out the "unimplemented" bits */
- value &= CPU_SR_MASK;
+ value &= m68k->sr_mask;
/* Now set the status register */
FLAG_T1 = BIT_F(value);
@@ -1435,7 +1298,7 @@ INLINE void m68ki_set_sr_noint_nosp(m68ki_cpu_core *m68k, uint value)
}
/* Set the status register and check for interrupts */
-INLINE void m68ki_set_sr(m68ki_cpu_core *m68k, uint value)
+INLINE void m68ki_set_sr(m68ki_cpu_core *m68k, UINT32 value)
{
m68ki_set_sr_noint(m68k, value);
m68ki_check_interrupts(m68k);
@@ -1445,10 +1308,10 @@ INLINE void m68ki_set_sr(m68ki_cpu_core *m68k, uint value)
/* ------------------------- Exception Processing ------------------------- */
/* Initiate exception processing */
-INLINE uint m68ki_init_exception(m68ki_cpu_core *m68k)
+INLINE UINT32 m68ki_init_exception(m68ki_cpu_core *m68k)
{
/* Save the old status register */
- uint sr = m68ki_get_sr(m68k);
+ UINT32 sr = m68ki_get_sr(m68k);
/* Turn off trace flag, clear pending traces */
FLAG_T1 = FLAG_T0 = 0;
@@ -1460,7 +1323,7 @@ INLINE uint m68ki_init_exception(m68ki_cpu_core *m68k)
}
/* 3 word stack frame (68000 only) */
-INLINE void m68ki_stack_frame_3word(m68ki_cpu_core *m68k, uint pc, uint sr)
+INLINE void m68ki_stack_frame_3word(m68ki_cpu_core *m68k, UINT32 pc, UINT32 sr)
{
m68ki_push_32(m68k, pc);
m68ki_push_16(m68k, sr);
@@ -1469,10 +1332,10 @@ INLINE void m68ki_stack_frame_3word(m68ki_cpu_core *m68k, uint pc, uint sr)
/* Format 0 stack frame.
* This is the standard stack frame for 68010+.
*/
-INLINE void m68ki_stack_frame_0000(m68ki_cpu_core *m68k, uint pc, uint sr, uint vector)
+INLINE void m68ki_stack_frame_0000(m68ki_cpu_core *m68k, UINT32 pc, UINT32 sr, UINT32 vector)
{
/* Stack a 3-word frame if we are 68000 */
- if(CPU_TYPE == CPU_TYPE_000 || CPU_TYPE == CPU_TYPE_008)
+ if(m68k->cpu_type == CPU_TYPE_000 || m68k->cpu_type == CPU_TYPE_008)
{
m68ki_stack_frame_3word(m68k, pc, sr);
return;
@@ -1485,7 +1348,7 @@ INLINE void m68ki_stack_frame_0000(m68ki_cpu_core *m68k, uint pc, uint sr, uint
/* Format 1 stack frame (68020).
* For 68020, this is the 4 word throwaway frame.
*/
-INLINE void m68ki_stack_frame_0001(m68ki_cpu_core *m68k, uint pc, uint sr, uint vector)
+INLINE void m68ki_stack_frame_0001(m68ki_cpu_core *m68k, UINT32 pc, UINT32 sr, UINT32 vector)
{
m68ki_push_16(m68k, 0x1000 | (vector<<2));
m68ki_push_32(m68k, pc);
@@ -1495,7 +1358,7 @@ INLINE void m68ki_stack_frame_0001(m68ki_cpu_core *m68k, uint pc, uint sr, uint
/* Format 2 stack frame.
* This is used only by 68020 for trap exceptions.
*/
-INLINE void m68ki_stack_frame_0010(m68ki_cpu_core *m68k, uint sr, uint vector)
+INLINE void m68ki_stack_frame_0010(m68ki_cpu_core *m68k, UINT32 sr, UINT32 vector)
{
m68ki_push_32(m68k, REG_PPC);
m68ki_push_16(m68k, 0x2000 | (vector<<2));
@@ -1506,7 +1369,7 @@ INLINE void m68ki_stack_frame_0010(m68ki_cpu_core *m68k, uint sr, uint vector)
/* Bus error stack frame (68000 only).
*/
-INLINE void m68ki_stack_frame_buserr(m68ki_cpu_core *m68k, uint sr)
+INLINE void m68ki_stack_frame_buserr(m68ki_cpu_core *m68k, UINT32 sr)
{
m68ki_push_32(m68k, REG_PC);
m68ki_push_16(m68k, sr);
@@ -1517,13 +1380,13 @@ INLINE void m68ki_stack_frame_buserr(m68ki_cpu_core *m68k, uint sr)
* I/N 0 = instruction, 1 = not
* FC 3-bit function code
*/
- m68ki_push_16(m68k, m68k->aerr_write_mode | CPU_INSTR_MODE | m68k->aerr_fc);
+ m68ki_push_16(m68k, m68k->aerr_write_mode | m68k->instr_mode | m68k->aerr_fc);
}
/* Format 8 stack frame (68010).
* 68010 only. This is the 29 word bus/address error frame.
*/
-void m68ki_stack_frame_1000(m68ki_cpu_core *m68k, uint pc, uint sr, uint vector)
+void m68ki_stack_frame_1000(m68ki_cpu_core *m68k, UINT32 pc, UINT32 sr, UINT32 vector)
{
/* VERSION
* NUMBER
@@ -1577,7 +1440,7 @@ void m68ki_stack_frame_1000(m68ki_cpu_core *m68k, uint pc, uint sr, uint vector)
* if the error happens at an instruction boundary.
* PC stacked is address of next instruction.
*/
-void m68ki_stack_frame_1010(m68ki_cpu_core *m68k, uint sr, uint vector, uint pc)
+void m68ki_stack_frame_1010(m68ki_cpu_core *m68k, UINT32 sr, UINT32 vector, UINT32 pc)
{
/* INTERNAL REGISTER */
m68ki_push_16(m68k, 0);
@@ -1624,7 +1487,7 @@ void m68ki_stack_frame_1010(m68ki_cpu_core *m68k, uint sr, uint vector, uint pc)
* if the error happens during instruction execution.
* PC stacked is address of instruction in progress.
*/
-void m68ki_stack_frame_1011(m68ki_cpu_core *m68k, uint sr, uint vector, uint pc)
+void m68ki_stack_frame_1011(m68ki_cpu_core *m68k, UINT32 sr, UINT32 vector, UINT32 pc)
{
/* INTERNAL REGISTERS (18 words) */
m68ki_push_32(m68k, 0);
@@ -1695,11 +1558,11 @@ void m68ki_stack_frame_1011(m68ki_cpu_core *m68k, uint sr, uint vector, uint pc)
/* Used for Group 2 exceptions.
* These stack a type 2 frame on the 020.
*/
-INLINE void m68ki_exception_trap(m68ki_cpu_core *m68k, uint vector)
+INLINE void m68ki_exception_trap(m68ki_cpu_core *m68k, UINT32 vector)
{
- uint sr = m68ki_init_exception(m68k);
+ UINT32 sr = m68ki_init_exception(m68k);
- if(CPU_TYPE_IS_010_LESS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_LESS(m68k->cpu_type))
m68ki_stack_frame_0000(m68k, REG_PC, sr, vector);
else
m68ki_stack_frame_0010(m68k, sr, vector);
@@ -1707,30 +1570,30 @@ INLINE void m68ki_exception_trap(m68ki_cpu_core *m68k, uint vector)
m68ki_jump_vector(m68k, vector);
/* Use up some clock cycles */
- USE_CYCLES(m68k, CYC_EXCEPTION[vector]);
+ USE_CYCLES(m68k, m68k->cyc_exception[vector]);
}
/* Trap#n stacks a 0 frame but behaves like group2 otherwise */
-INLINE void m68ki_exception_trapN(m68ki_cpu_core *m68k, uint vector)
+INLINE void m68ki_exception_trapN(m68ki_cpu_core *m68k, UINT32 vector)
{
- uint sr = m68ki_init_exception(m68k);
+ UINT32 sr = m68ki_init_exception(m68k);
m68ki_stack_frame_0000(m68k, REG_PC, sr, vector);
m68ki_jump_vector(m68k, vector);
/* Use up some clock cycles */
- USE_CYCLES(m68k, CYC_EXCEPTION[vector]);
+ USE_CYCLES(m68k, m68k->cyc_exception[vector]);
}
/* Exception for trace mode */
INLINE void m68ki_exception_trace(m68ki_cpu_core *m68k)
{
- uint sr = m68ki_init_exception(m68k);
+ UINT32 sr = m68ki_init_exception(m68k);
- if(CPU_TYPE_IS_010_LESS(CPU_TYPE))
+ if(CPU_TYPE_IS_010_LESS(m68k->cpu_type))
{
- if(CPU_TYPE_IS_000(CPU_TYPE))
+ if(CPU_TYPE_IS_000(m68k->cpu_type))
{
- CPU_INSTR_MODE = INSTRUCTION_NO;
+ m68k->instr_mode = INSTRUCTION_NO;
}
m68ki_stack_frame_0000(m68k, REG_PC, sr, EXCEPTION_TRACE);
}
@@ -1740,36 +1603,36 @@ INLINE void m68ki_exception_trace(m68ki_cpu_core *m68k)
m68ki_jump_vector(m68k, EXCEPTION_TRACE);
/* Trace nullifies a STOP instruction */
- CPU_STOPPED &= ~STOP_LEVEL_STOP;
+ m68k->stopped &= ~STOP_LEVEL_STOP;
/* Use up some clock cycles */
- USE_CYCLES(m68k, CYC_EXCEPTION[EXCEPTION_TRACE]);
+ USE_CYCLES(m68k, m68k->cyc_exception[EXCEPTION_TRACE]);
}
/* Exception for privilege violation */
INLINE void m68ki_exception_privilege_violation(m68ki_cpu_core *m68k)
{
- uint sr = m68ki_init_exception(m68k);
+ UINT32 sr = m68ki_init_exception(m68k);
- if(CPU_TYPE_IS_000(CPU_TYPE))
+ if(CPU_TYPE_IS_000(m68k->cpu_type))
{
- CPU_INSTR_MODE = INSTRUCTION_NO;
+ m68k->instr_mode = INSTRUCTION_NO;
}
m68ki_stack_frame_0000(m68k, REG_PPC, sr, EXCEPTION_PRIVILEGE_VIOLATION);
m68ki_jump_vector(m68k, EXCEPTION_PRIVILEGE_VIOLATION);
/* Use up some clock cycles and undo the instruction's cycles */
- USE_CYCLES(m68k, CYC_EXCEPTION[EXCEPTION_PRIVILEGE_VIOLATION] - CYC_INSTRUCTION[REG_IR]);
+ USE_CYCLES(m68k, m68k->cyc_exception[EXCEPTION_PRIVILEGE_VIOLATION] - m68k->cyc_instruction[REG_IR]);
}
/* Exception for A-Line instructions */
INLINE void m68ki_exception_1010(m68ki_cpu_core *m68k)
{
- uint sr;
+ UINT32 sr;
#if M68K_LOG_1010_1111 == OPT_ON
M68K_DO_LOG_EMU((M68K_LOG_FILEHANDLE "%s at %08x: called 1010 instruction %04x (%s)\n",
- m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PPC), REG_IR,
+ m68ki_cpu_names[m68k->cpu_type], ADDRESS_68K(REG_PPC), REG_IR,
m68ki_disassemble_quick(ADDRESS_68K(REG_PPC))));
#endif
@@ -1778,17 +1641,17 @@ INLINE void m68ki_exception_1010(m68ki_cpu_core *m68k)
m68ki_jump_vector(m68k, EXCEPTION_1010);
/* Use up some clock cycles and undo the instruction's cycles */
- USE_CYCLES(m68k, CYC_EXCEPTION[EXCEPTION_1010] - CYC_INSTRUCTION[REG_IR]);
+ USE_CYCLES(m68k, m68k->cyc_exception[EXCEPTION_1010] - m68k->cyc_instruction[REG_IR]);
}
/* Exception for F-Line instructions */
INLINE void m68ki_exception_1111(m68ki_cpu_core *m68k)
{
- uint sr;
+ UINT32 sr;
#if M68K_LOG_1010_1111 == OPT_ON
M68K_DO_LOG_EMU((M68K_LOG_FILEHANDLE "%s at %08x: called 1111 instruction %04x (%s)\n",
- m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PPC), REG_IR,
+ m68ki_cpu_names[m68k->cpu_type], ADDRESS_68K(REG_PPC), REG_IR,
m68ki_disassemble_quick(ADDRESS_68K(REG_PPC))));
#endif
@@ -1797,59 +1660,59 @@ INLINE void m68ki_exception_1111(m68ki_cpu_core *m68k)
m68ki_jump_vector(m68k, EXCEPTION_1111);
/* Use up some clock cycles and undo the instruction's cycles */
- USE_CYCLES(m68k, CYC_EXCEPTION[EXCEPTION_1111] - CYC_INSTRUCTION[REG_IR]);
+ USE_CYCLES(m68k, m68k->cyc_exception[EXCEPTION_1111] - m68k->cyc_instruction[REG_IR]);
}
/* Exception for illegal instructions */
INLINE void m68ki_exception_illegal(m68ki_cpu_core *m68k)
{
- uint sr;
+ UINT32 sr;
M68K_DO_LOG((M68K_LOG_FILEHANDLE "%s at %08x: illegal instruction %04x (%s)\n",
- m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PPC), REG_IR,
+ m68ki_cpu_names[m68k->cpu_type], ADDRESS_68K(REG_PPC), REG_IR,
m68ki_disassemble_quick(ADDRESS_68K(REG_PPC))));
sr = m68ki_init_exception(m68k);
- if(CPU_TYPE_IS_000(CPU_TYPE))
+ if(CPU_TYPE_IS_000(m68k->cpu_type))
{
- CPU_INSTR_MODE = INSTRUCTION_NO;
+ m68k->instr_mode = INSTRUCTION_NO;
}
m68ki_stack_frame_0000(m68k, REG_PPC, sr, EXCEPTION_ILLEGAL_INSTRUCTION);
m68ki_jump_vector(m68k, EXCEPTION_ILLEGAL_INSTRUCTION);
/* Use up some clock cycles and undo the instruction's cycles */
- USE_CYCLES(m68k, CYC_EXCEPTION[EXCEPTION_ILLEGAL_INSTRUCTION] - CYC_INSTRUCTION[REG_IR]);
+ USE_CYCLES(m68k, m68k->cyc_exception[EXCEPTION_ILLEGAL_INSTRUCTION] - m68k->cyc_instruction[REG_IR]);
}
/* Exception for format errror in RTE */
INLINE void m68ki_exception_format_error(m68ki_cpu_core *m68k)
{
- uint sr = m68ki_init_exception(m68k);
+ UINT32 sr = m68ki_init_exception(m68k);
m68ki_stack_frame_0000(m68k, REG_PC, sr, EXCEPTION_FORMAT_ERROR);
m68ki_jump_vector(m68k, EXCEPTION_FORMAT_ERROR);
/* Use up some clock cycles and undo the instruction's cycles */
- USE_CYCLES(m68k, CYC_EXCEPTION[EXCEPTION_FORMAT_ERROR] - CYC_INSTRUCTION[REG_IR]);
+ USE_CYCLES(m68k, m68k->cyc_exception[EXCEPTION_FORMAT_ERROR] - m68k->cyc_instruction[REG_IR]);
}
/* Exception for address error */
INLINE void m68ki_exception_address_error(m68ki_cpu_core *m68k)
{
- uint sr = m68ki_init_exception(m68k);
+ UINT32 sr = m68ki_init_exception(m68k);
/* If we were processing a bus error, address error, or reset,
* this is a catastrophic failure.
* Halt the CPU
*/
- if(CPU_RUN_MODE == RUN_MODE_BERR_AERR_RESET)
+ if(m68k->run_mode == RUN_MODE_BERR_AERR_RESET)
{
m68k_read_memory_8(m68k, 0x00ffff01);
- CPU_STOPPED = STOP_LEVEL_HALT;
+ m68k->stopped = STOP_LEVEL_HALT;
return;
}
- CPU_RUN_MODE = RUN_MODE_BERR_AERR_RESET;
+ m68k->run_mode = RUN_MODE_BERR_AERR_RESET;
/* Note: This is implemented for 68000 only! */
m68ki_stack_frame_buserr(m68k, sr);
@@ -1857,31 +1720,31 @@ INLINE void m68ki_exception_address_error(m68ki_cpu_core *m68k)
m68ki_jump_vector(m68k, EXCEPTION_ADDRESS_ERROR);
/* Use up some clock cycles and undo the instruction's cycles */
- USE_CYCLES(m68k, CYC_EXCEPTION[EXCEPTION_ADDRESS_ERROR] - CYC_INSTRUCTION[REG_IR]);
+ USE_CYCLES(m68k, m68k->cyc_exception[EXCEPTION_ADDRESS_ERROR] - m68k->cyc_instruction[REG_IR]);
}
/* Service an interrupt request and start exception processing */
-void m68ki_exception_interrupt(m68ki_cpu_core *m68k, uint int_level)
+void m68ki_exception_interrupt(m68ki_cpu_core *m68k, UINT32 int_level)
{
- uint vector;
- uint sr;
- uint new_pc;
+ UINT32 vector;
+ UINT32 sr;
+ UINT32 new_pc;
- if(CPU_TYPE_IS_000(CPU_TYPE))
+ if(CPU_TYPE_IS_000(m68k->cpu_type))
{
- CPU_INSTR_MODE = INSTRUCTION_NO;
+ m68k->instr_mode = INSTRUCTION_NO;
}
/* Turn off the stopped state */
- CPU_STOPPED &= ~STOP_LEVEL_STOP;
+ m68k->stopped &= ~STOP_LEVEL_STOP;
/* If we are halted, don't do anything */
- if(CPU_STOPPED)
+ if(m68k->stopped)
return;
/* Acknowledge the interrupt */
- vector = m68ki_int_ack(m68k, int_level);
+ vector = (*m68k->int_ack_callback)(m68k->int_ack_param, int_level);
/* Get the interrupt vector */
if(vector == M68K_INT_ACK_AUTOVECTOR)
@@ -1893,7 +1756,7 @@ void m68ki_exception_interrupt(m68ki_cpu_core *m68k, uint int_level)
else if(vector > 255)
{
M68K_DO_LOG_EMU((M68K_LOG_FILEHANDLE "%s at %08x: Interrupt acknowledge returned invalid vector $%x\n",
- m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PC), vector));
+ m68ki_cpu_names[m68k->cpu_type], ADDRESS_68K(REG_PC), vector));
return;
}
@@ -1912,7 +1775,7 @@ void m68ki_exception_interrupt(m68ki_cpu_core *m68k, uint int_level)
/* Generate a stack frame */
m68ki_stack_frame_0000(m68k, REG_PC, sr, vector);
- if(FLAG_M && CPU_TYPE_IS_EC020_PLUS(CPU_TYPE))
+ if(FLAG_M && CPU_TYPE_IS_EC020_PLUS(m68k->cpu_type))
{
/* Create throwaway frame */
m68ki_set_sm_flag(m68k, FLAG_S); /* clear M */
@@ -1923,7 +1786,7 @@ void m68ki_exception_interrupt(m68ki_cpu_core *m68k, uint int_level)
m68ki_jump(m68k, new_pc);
/* Defer cycle counting until later */
- USE_CYCLES(m68k, CYC_EXCEPTION[vector]);
+ USE_CYCLES(m68k, m68k->cyc_exception[vector]);
}
@@ -1935,8 +1798,8 @@ INLINE void m68ki_check_interrupts(m68ki_cpu_core *m68k)
m68k->nmi_pending = FALSE;
m68ki_exception_interrupt(m68k, 7);
}
- else if(CPU_INT_LEVEL > FLAG_INT_MASK)
- m68ki_exception_interrupt(m68k, CPU_INT_LEVEL>>8);
+ else if(m68k->int_level > FLAG_INT_MASK)
+ m68ki_exception_interrupt(m68k, m68k->int_level>>8);
}
diff --git a/src/emu/cpu/m68000/m68kdasm.c b/src/emu/cpu/m68000/m68kdasm.c
index d8bf1ecb903..d97b297bb9e 100644
--- a/src/emu/cpu/m68000/m68kdasm.c
+++ b/src/emu/cpu/m68000/m68kdasm.c
@@ -41,8 +41,8 @@
/* ======================================================================== */
/* unsigned int and int must be at least 32 bits wide */
-#undef uint
-#define uint unsigned int
+#undef UINT32
+#define UINT32 unsigned int
/* Bit Isolation Functions */
#define BIT_0(A) ((A) & 0x00000001)
@@ -134,34 +134,34 @@
/* ======================================================================== */
/* Read data at the PC and increment PC */
-uint read_imm_8(void);
-uint read_imm_16(void);
-uint read_imm_32(void);
+UINT32 read_imm_8(void);
+UINT32 read_imm_16(void);
+UINT32 read_imm_32(void);
/* Read data at the PC but don't imcrement the PC */
-uint peek_imm_8(void);
-uint peek_imm_16(void);
-uint peek_imm_32(void);
+UINT32 peek_imm_8(void);
+UINT32 peek_imm_16(void);
+UINT32 peek_imm_32(void);
/* make signed integers 100% portably */
static int make_int_8(int value);
static int make_int_16(int value);
/* make a string of a hex value */
-static char* make_signed_hex_str_8(uint val);
-static char* make_signed_hex_str_16(uint val);
-static char* make_signed_hex_str_32(uint val);
+static char* make_signed_hex_str_8(UINT32 val);
+static char* make_signed_hex_str_16(UINT32 val);
+static char* make_signed_hex_str_32(UINT32 val);
/* make string of ea mode */
-static char* get_ea_mode_str(uint instruction, uint size);
+static char* get_ea_mode_str(UINT32 instruction, UINT32 size);
-char* get_ea_mode_str_8(uint instruction);
-char* get_ea_mode_str_16(uint instruction);
-char* get_ea_mode_str_32(uint instruction);
+char* get_ea_mode_str_8(UINT32 instruction);
+char* get_ea_mode_str_16(UINT32 instruction);
+char* get_ea_mode_str_32(UINT32 instruction);
/* make string of immediate value */
-static char* get_imm_str_s(uint size);
-static char* get_imm_str_u(uint size);
+static char* get_imm_str_s(UINT32 size);
+static char* get_imm_str_u(UINT32 size);
char* get_imm_str_s8(void);
char* get_imm_str_s16(void);
@@ -169,16 +169,16 @@ char* get_imm_str_s32(void);
/* Stuff to build the opcode handler jump table */
static void build_opcode_table(void);
-static int valid_ea(uint opcode, uint mask);
+static int valid_ea(UINT32 opcode, UINT32 mask);
static int DECL_SPEC compare_nof_true_bits(const void *aptr, const void *bptr);
/* used to build opcode handler jump table */
typedef struct
{
void (*opcode_handler)(void); /* handler function */
- uint mask; /* mask on opcode */
- uint match; /* what to match after masking */
- uint ea_mask; /* what ea modes are allowed */
+ UINT32 mask; /* mask on opcode */
+ UINT32 match; /* what to match after masking */
+ UINT32 ea_mask; /* what ea modes are allowed */
} opcode_struct;
@@ -197,17 +197,17 @@ static unsigned int g_address_mask = 0xffffffff;
static char g_dasm_str[100]; /* string to hold disassembly */
static char g_helper_str[100]; /* string to hold helpful info */
-static uint g_cpu_pc; /* program counter */
-static uint g_cpu_ir; /* instruction register */
-static uint g_cpu_type;
-static uint g_opcode_type;
+static UINT32 g_cpu_pc; /* program counter */
+static UINT32 g_cpu_ir; /* instruction register */
+static UINT32 g_cpu_type;
+static UINT32 g_opcode_type;
static const unsigned char* g_rawop;
-static uint g_rawbasepc;
+static UINT32 g_rawbasepc;
/* used by ops like asr, ror, addq, etc */
-static const uint g_3bit_qdata_table[8] = {8, 1, 2, 3, 4, 5, 6, 7};
+static const UINT32 g_3bit_qdata_table[8] = {8, 1, 2, 3, 4, 5, 6, 7};
-static const uint g_5bit_data_table[32] =
+static const UINT32 g_5bit_data_table[32] =
{
32, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
@@ -242,9 +242,9 @@ static const char *const g_cpcc[64] =
return; \
}
-static uint dasm_read_imm_8(uint advance)
+static UINT32 dasm_read_imm_8(UINT32 advance)
{
- uint result;
+ UINT32 result;
// if (g_rawop)
result = g_rawop[g_cpu_pc + 1 - g_rawbasepc];
// else
@@ -253,9 +253,9 @@ static uint dasm_read_imm_8(uint advance)
return result;
}
-static uint dasm_read_imm_16(uint advance)
+static UINT32 dasm_read_imm_16(UINT32 advance)
{
- uint result;
+ UINT32 result;
// if (g_rawop)
result = (g_rawop[g_cpu_pc + 0 - g_rawbasepc] << 8) |
g_rawop[g_cpu_pc + 1 - g_rawbasepc];
@@ -265,9 +265,9 @@ static uint dasm_read_imm_16(uint advance)
return result;
}
-static uint dasm_read_imm_32(uint advance)
+static UINT32 dasm_read_imm_32(UINT32 advance)
{
- uint result;
+ UINT32 result;
// if (g_rawop)
result = (g_rawop[g_cpu_pc + 0 - g_rawbasepc] << 24) |
(g_rawop[g_cpu_pc + 1 - g_rawbasepc] << 16) |
@@ -314,7 +314,7 @@ static int make_int_16(int value)
/* Get string representation of hex values */
-static char* make_signed_hex_str_8(uint val)
+static char* make_signed_hex_str_8(UINT32 val)
{
static char str[20];
@@ -330,7 +330,7 @@ static char* make_signed_hex_str_8(uint val)
return str;
}
-static char* make_signed_hex_str_16(uint val)
+static char* make_signed_hex_str_16(UINT32 val)
{
static char str[20];
@@ -346,7 +346,7 @@ static char* make_signed_hex_str_16(uint val)
return str;
}
-static char* make_signed_hex_str_32(uint val)
+static char* make_signed_hex_str_32(UINT32 val)
{
static char str[20];
@@ -364,7 +364,7 @@ static char* make_signed_hex_str_32(uint val)
/* make string of immediate value */
-static char* get_imm_str_s(uint size)
+static char* get_imm_str_s(UINT32 size)
{
static char str[15];
if(size == 0)
@@ -376,7 +376,7 @@ static char* get_imm_str_s(uint size)
return str;
}
-static char* get_imm_str_u(uint size)
+static char* get_imm_str_u(UINT32 size)
{
static char str[15];
if(size == 0)
@@ -389,20 +389,20 @@ static char* get_imm_str_u(uint size)
}
/* Make string of effective address mode */
-static char* get_ea_mode_str(uint instruction, uint size)
+static char* get_ea_mode_str(UINT32 instruction, UINT32 size)
{
static char b1[64];
static char b2[64];
static char* mode = b2;
- uint extension;
- uint base;
- uint outer;
+ UINT32 extension;
+ UINT32 base;
+ UINT32 outer;
char base_reg[4];
char index_reg[8];
- uint preindex;
- uint postindex;
- uint comma = 0;
- uint temp_value;
+ UINT32 preindex;
+ UINT32 postindex;
+ UINT32 comma = 0;
+ UINT32 temp_value;
char invalid_mode = 0;
/* Switch buffers so we don't clobber on a double-call to this function */
@@ -945,19 +945,19 @@ static void d68000_asl_ea(void)
static void d68000_bcc_8(void)
{
- uint temp_pc = g_cpu_pc;
+ UINT32 temp_pc = g_cpu_pc;
sprintf(g_dasm_str, "b%-2s $%x", g_cc[(g_cpu_ir>>8)&0xf], temp_pc + make_int_8(g_cpu_ir));
}
static void d68000_bcc_16(void)
{
- uint temp_pc = g_cpu_pc;
+ UINT32 temp_pc = g_cpu_pc;
sprintf(g_dasm_str, "b%-2s $%x", g_cc[(g_cpu_ir>>8)&0xf], temp_pc + make_int_16(read_imm_16()));
}
static void d68020_bcc_32(void)
{
- uint temp_pc = g_cpu_pc;
+ UINT32 temp_pc = g_cpu_pc;
LIMIT_CPU_TYPES(M68020_PLUS);
sprintf(g_dasm_str, "b%-2s $%x; (2+)", g_cc[(g_cpu_ir>>8)&0xf], temp_pc + read_imm_32());
}
@@ -992,7 +992,7 @@ static void d68010_bkpt(void)
static void d68020_bfchg(void)
{
- uint extension;
+ UINT32 extension;
char offset[3];
char width[3];
@@ -1013,7 +1013,7 @@ static void d68020_bfchg(void)
static void d68020_bfclr(void)
{
- uint extension;
+ UINT32 extension;
char offset[3];
char width[3];
@@ -1034,7 +1034,7 @@ static void d68020_bfclr(void)
static void d68020_bfexts(void)
{
- uint extension;
+ UINT32 extension;
char offset[3];
char width[3];
@@ -1055,7 +1055,7 @@ static void d68020_bfexts(void)
static void d68020_bfextu(void)
{
- uint extension;
+ UINT32 extension;
char offset[3];
char width[3];
@@ -1076,7 +1076,7 @@ static void d68020_bfextu(void)
static void d68020_bfffo(void)
{
- uint extension;
+ UINT32 extension;
char offset[3];
char width[3];
@@ -1097,7 +1097,7 @@ static void d68020_bfffo(void)
static void d68020_bfins(void)
{
- uint extension;
+ UINT32 extension;
char offset[3];
char width[3];
@@ -1118,7 +1118,7 @@ static void d68020_bfins(void)
static void d68020_bfset(void)
{
- uint extension;
+ UINT32 extension;
char offset[3];
char width[3];
@@ -1139,7 +1139,7 @@ static void d68020_bfset(void)
static void d68020_bftst(void)
{
- uint extension;
+ UINT32 extension;
char offset[3];
char width[3];
@@ -1160,19 +1160,19 @@ static void d68020_bftst(void)
static void d68000_bra_8(void)
{
- uint temp_pc = g_cpu_pc;
+ UINT32 temp_pc = g_cpu_pc;
sprintf(g_dasm_str, "bra $%x", temp_pc + make_int_8(g_cpu_ir));
}
static void d68000_bra_16(void)
{
- uint temp_pc = g_cpu_pc;
+ UINT32 temp_pc = g_cpu_pc;
sprintf(g_dasm_str, "bra $%x", temp_pc + make_int_16(read_imm_16()));
}
static void d68020_bra_32(void)
{
- uint temp_pc = g_cpu_pc;
+ UINT32 temp_pc = g_cpu_pc;
LIMIT_CPU_TYPES(M68020_PLUS);
sprintf(g_dasm_str, "bra $%x; (2+)", temp_pc + read_imm_32());
}
@@ -1190,21 +1190,21 @@ static void d68000_bset_s(void)
static void d68000_bsr_8(void)
{
- uint temp_pc = g_cpu_pc;
+ UINT32 temp_pc = g_cpu_pc;
sprintf(g_dasm_str, "bsr $%x", temp_pc + make_int_8(g_cpu_ir));
SET_OPCODE_FLAGS(DASMFLAG_STEP_OVER);
}
static void d68000_bsr_16(void)
{
- uint temp_pc = g_cpu_pc;
+ UINT32 temp_pc = g_cpu_pc;
sprintf(g_dasm_str, "bsr $%x", temp_pc + make_int_16(read_imm_16()));
SET_OPCODE_FLAGS(DASMFLAG_STEP_OVER);
}
static void d68020_bsr_32(void)
{
- uint temp_pc = g_cpu_pc;
+ UINT32 temp_pc = g_cpu_pc;
LIMIT_CPU_TYPES(M68020_PLUS);
sprintf(g_dasm_str, "bsr $%x; (2+)", temp_pc + read_imm_32());
SET_OPCODE_FLAGS(DASMFLAG_STEP_OVER);
@@ -1232,7 +1232,7 @@ static void d68020_callm(void)
static void d68020_cas_8(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_16();
sprintf(g_dasm_str, "cas.b D%d, D%d, %s; (2+)", extension&7, (extension>>8)&7, get_ea_mode_str_8(g_cpu_ir));
@@ -1240,7 +1240,7 @@ static void d68020_cas_8(void)
static void d68020_cas_16(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_16();
sprintf(g_dasm_str, "cas.w D%d, D%d, %s; (2+)", extension&7, (extension>>8)&7, get_ea_mode_str_16(g_cpu_ir));
@@ -1248,7 +1248,7 @@ static void d68020_cas_16(void)
static void d68020_cas_32(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_16();
sprintf(g_dasm_str, "cas.l D%d, D%d, %s; (2+)", extension&7, (extension>>8)&7, get_ea_mode_str_32(g_cpu_ir));
@@ -1262,7 +1262,7 @@ f e d c b a 9 8 7 6 5 4 3 2 1 0
DARn2 0 0 0 Du2 0 0 0 Dc2
*/
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_32();
sprintf(g_dasm_str, "cas2.w D%d:D%d:D%d:D%d, (%c%d):(%c%d); (2+)",
@@ -1273,7 +1273,7 @@ f e d c b a 9 8 7 6 5 4 3 2 1 0
static void d68020_cas2_32(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_32();
sprintf(g_dasm_str, "cas2.l D%d:D%d:D%d:D%d, (%c%d):(%c%d); (2+)",
@@ -1297,7 +1297,7 @@ static void d68020_chk_32(void)
static void d68020_chk2_cmp2_8(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_16();
sprintf(g_dasm_str, "%s.b %s, %c%d; (2+)", BIT_B(extension) ? "chk2" : "cmp2", get_ea_mode_str_8(g_cpu_ir), BIT_F(extension) ? 'A' : 'D', (extension>>12)&7);
@@ -1305,7 +1305,7 @@ static void d68020_chk2_cmp2_8(void)
static void d68020_chk2_cmp2_16(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_16();
sprintf(g_dasm_str, "%s.w %s, %c%d; (2+)", BIT_B(extension) ? "chk2" : "cmp2", get_ea_mode_str_16(g_cpu_ir), BIT_F(extension) ? 'A' : 'D', (extension>>12)&7);
@@ -1313,7 +1313,7 @@ static void d68020_chk2_cmp2_16(void)
static void d68020_chk2_cmp2_32(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_16();
sprintf(g_dasm_str, "%s.l %s, %c%d; (2+)", BIT_B(extension) ? "chk2" : "cmp2", get_ea_mode_str_32(g_cpu_ir), BIT_F(extension) ? 'A' : 'D', (extension>>12)&7);
@@ -1464,8 +1464,8 @@ static void d68000_cmpm_32(void)
static void d68020_cpbcc_16(void)
{
- uint extension;
- uint new_pc = g_cpu_pc;
+ UINT32 extension;
+ UINT32 new_pc = g_cpu_pc;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_16();
new_pc += make_int_16(read_imm_16());
@@ -1474,8 +1474,8 @@ static void d68020_cpbcc_16(void)
static void d68020_cpbcc_32(void)
{
- uint extension;
- uint new_pc = g_cpu_pc;
+ UINT32 extension;
+ UINT32 new_pc = g_cpu_pc;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_16();
new_pc += read_imm_32();
@@ -1484,9 +1484,9 @@ static void d68020_cpbcc_32(void)
static void d68020_cpdbcc(void)
{
- uint extension1;
- uint extension2;
- uint new_pc = g_cpu_pc;
+ UINT32 extension1;
+ UINT32 extension2;
+ UINT32 new_pc = g_cpu_pc;
LIMIT_CPU_TYPES(M68020_PLUS);
extension1 = read_imm_16();
extension2 = read_imm_16();
@@ -1514,8 +1514,8 @@ static void d68020_cpsave(void)
static void d68020_cpscc(void)
{
- uint extension1;
- uint extension2;
+ UINT32 extension1;
+ UINT32 extension2;
LIMIT_CPU_TYPES(M68020_PLUS);
extension1 = read_imm_16();
extension2 = read_imm_16();
@@ -1524,8 +1524,8 @@ static void d68020_cpscc(void)
static void d68020_cptrapcc_0(void)
{
- uint extension1;
- uint extension2;
+ UINT32 extension1;
+ UINT32 extension2;
LIMIT_CPU_TYPES(M68020_PLUS);
extension1 = read_imm_16();
extension2 = read_imm_16();
@@ -1534,8 +1534,8 @@ static void d68020_cptrapcc_0(void)
static void d68020_cptrapcc_16(void)
{
- uint extension1;
- uint extension2;
+ UINT32 extension1;
+ UINT32 extension2;
LIMIT_CPU_TYPES(M68020_PLUS);
extension1 = read_imm_16();
extension2 = read_imm_16();
@@ -1544,8 +1544,8 @@ static void d68020_cptrapcc_16(void)
static void d68020_cptrapcc_32(void)
{
- uint extension1;
- uint extension2;
+ UINT32 extension1;
+ UINT32 extension2;
LIMIT_CPU_TYPES(M68020_PLUS);
extension1 = read_imm_16();
extension2 = read_imm_16();
@@ -1574,14 +1574,14 @@ static void d68040_cpush(void)
static void d68000_dbra(void)
{
- uint temp_pc = g_cpu_pc;
+ UINT32 temp_pc = g_cpu_pc;
sprintf(g_dasm_str, "dbra D%d, $%x", g_cpu_ir & 7, temp_pc + make_int_16(read_imm_16()));
SET_OPCODE_FLAGS(DASMFLAG_STEP_OVER);
}
static void d68000_dbcc(void)
{
- uint temp_pc = g_cpu_pc;
+ UINT32 temp_pc = g_cpu_pc;
sprintf(g_dasm_str, "db%-2s D%d, $%x", g_cc[(g_cpu_ir>>8)&0xf], g_cpu_ir & 7, temp_pc + make_int_16(read_imm_16()));
SET_OPCODE_FLAGS(DASMFLAG_STEP_OVER);
}
@@ -1598,7 +1598,7 @@ static void d68000_divu(void)
static void d68020_divl(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_16();
@@ -1692,7 +1692,7 @@ static void d68040_fpu(void)
};
char mnemonic[40];
- uint w2, src, dst_reg;
+ UINT32 w2, src, dst_reg;
LIMIT_CPU_TYPES(M68040_PLUS);
w2 = read_imm_16();
@@ -1960,7 +1960,7 @@ static void d68000_move_to_usp(void)
static void d68010_movec(void)
{
- uint extension;
+ UINT32 extension;
const char* reg_name;
const char* processor;
LIMIT_CPU_TYPES(M68010_PLUS);
@@ -2045,11 +2045,11 @@ static void d68010_movec(void)
static void d68000_movem_pd_16(void)
{
- uint data = read_imm_16();
+ UINT32 data = read_imm_16();
char buffer[40];
- uint first;
- uint run_length;
- uint i;
+ UINT32 first;
+ UINT32 run_length;
+ UINT32 i;
buffer[0] = 0;
for(i=0;i<8;i++)
@@ -2093,11 +2093,11 @@ static void d68000_movem_pd_16(void)
static void d68000_movem_pd_32(void)
{
- uint data = read_imm_16();
+ UINT32 data = read_imm_16();
char buffer[40];
- uint first;
- uint run_length;
- uint i;
+ UINT32 first;
+ UINT32 run_length;
+ UINT32 i;
buffer[0] = 0;
for(i=0;i<8;i++)
@@ -2141,11 +2141,11 @@ static void d68000_movem_pd_32(void)
static void d68000_movem_er_16(void)
{
- uint data = read_imm_16();
+ UINT32 data = read_imm_16();
char buffer[40];
- uint first;
- uint run_length;
- uint i;
+ UINT32 first;
+ UINT32 run_length;
+ UINT32 i;
buffer[0] = 0;
for(i=0;i<8;i++)
@@ -2189,11 +2189,11 @@ static void d68000_movem_er_16(void)
static void d68000_movem_er_32(void)
{
- uint data = read_imm_16();
+ UINT32 data = read_imm_16();
char buffer[40];
- uint first;
- uint run_length;
- uint i;
+ UINT32 first;
+ UINT32 run_length;
+ UINT32 i;
buffer[0] = 0;
for(i=0;i<8;i++)
@@ -2237,11 +2237,11 @@ static void d68000_movem_er_32(void)
static void d68000_movem_re_16(void)
{
- uint data = read_imm_16();
+ UINT32 data = read_imm_16();
char buffer[40];
- uint first;
- uint run_length;
- uint i;
+ UINT32 first;
+ UINT32 run_length;
+ UINT32 i;
buffer[0] = 0;
for(i=0;i<8;i++)
@@ -2285,11 +2285,11 @@ static void d68000_movem_re_16(void)
static void d68000_movem_re_32(void)
{
- uint data = read_imm_16();
+ UINT32 data = read_imm_16();
char buffer[40];
- uint first;
- uint run_length;
- uint i;
+ UINT32 first;
+ UINT32 run_length;
+ UINT32 i;
buffer[0] = 0;
for(i=0;i<8;i++)
@@ -2353,7 +2353,7 @@ static void d68000_movep_er_32(void)
static void d68010_moves_8(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68010_PLUS);
extension = read_imm_16();
if(BIT_B(extension))
@@ -2364,7 +2364,7 @@ static void d68010_moves_8(void)
static void d68010_moves_16(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68010_PLUS);
extension = read_imm_16();
if(BIT_B(extension))
@@ -2375,7 +2375,7 @@ static void d68010_moves_16(void)
static void d68010_moves_32(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68010_PLUS);
extension = read_imm_16();
if(BIT_B(extension))
@@ -2431,7 +2431,7 @@ static void d68000_mulu(void)
static void d68020_mull(void)
{
- uint extension;
+ UINT32 extension;
LIMIT_CPU_TYPES(M68020_PLUS);
extension = read_imm_16();
@@ -3354,7 +3354,7 @@ static const opcode_struct g_opcode_info[] =
};
/* Check if opcode is using a valid ea mode */
-static int valid_ea(uint opcode, uint mask)
+static int valid_ea(UINT32 opcode, UINT32 mask)
{
if(mask == 0)
return 1;
@@ -3400,8 +3400,8 @@ static int valid_ea(uint opcode, uint mask)
/* Used by qsort */
static int DECL_SPEC compare_nof_true_bits(const void *aptr, const void *bptr)
{
- uint a = ((const opcode_struct*)aptr)->mask;
- uint b = ((const opcode_struct*)bptr)->mask;
+ UINT32 a = ((const opcode_struct*)aptr)->mask;
+ UINT32 b = ((const opcode_struct*)bptr)->mask;
a = ((a & 0xAAAA) >> 1) + (a & 0x5555);
a = ((a & 0xCCCC) >> 2) + (a & 0x3333);
@@ -3419,8 +3419,8 @@ static int DECL_SPEC compare_nof_true_bits(const void *aptr, const void *bptr)
/* build the opcode handler jump table */
static void build_opcode_table(void)
{
- uint i;
- uint opcode;
+ UINT32 i;
+ UINT32 opcode;
opcode_struct* ostruct;
opcode_struct opcode_info[ARRAY_LENGTH(g_opcode_info)];