diff options
author | 2008-11-06 10:38:54 +0000 | |
---|---|---|
committer | 2008-11-06 10:38:54 +0000 | |
commit | bf2501e3b7460a557c72305f65ddebcdab1a1346 (patch) | |
tree | fe917d49d79108eb034e3754d749451bc7ca28de /src/emu | |
parent | 67db279bb2505252caf8f3250cee55e78a5a0bed (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.c | 3274 | ||||
-rw-r--r-- | src/emu/cpu/m68000/m68kcpu.c | 244 | ||||
-rw-r--r-- | src/emu/cpu/m68000/m68kcpu.h | 763 | ||||
-rw-r--r-- | src/emu/cpu/m68000/m68kdasm.c | 250 |
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 = ®_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 = ®_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 = ®_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 = ®_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 = ®_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 = ®_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 = ®_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 = ®_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 = ®_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 = ®_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 = ®_D[(word2 >> 16) & 7]; - uint ea1 = REG_DA[(word2 >> 28) & 15]; - uint dest1 = m68ki_read_32(m68k, ea1); - uint res1 = dest1 - *compare1; - uint* compare2 = ®_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 = ®_D[(word2 >> 16) & 7]; + UINT32 ea1 = REG_DA[(word2 >> 28) & 15]; + UINT32 dest1 = m68ki_read_32(m68k, ea1); + UINT32 res1 = dest1 - *compare1; + UINT32* compare2 = ®_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)]; |