Go to the source code of this file.
Classes | |
| union | fp_reg |
| struct | m68ki_cpu_core |
Macros | |
| #define | M68K_INT_GT_32_BIT 0 |
| #define | UINT16 uint16_t |
| #define | UINT64 uint64_t |
| #define | MAKE_INT_8(A) (sint8)(A) |
| #define | MAKE_INT_16(A) (sint16)(A) |
| #define | MAKE_INT_32(A) (sint32)(A) |
| #define | MAKE_UINT_8(A) (uint8)(A) |
| #define | MAKE_UINT_16(A) (uint16)(A) |
| #define | MAKE_UINT_32(A) (uint32)(A) |
| #define | EXCEPTION_BUS_ERROR 2 /* This one is not emulated! */ |
| #define | EXCEPTION_ADDRESS_ERROR 3 /* This one is partially emulated (doesn't stack a proper frame yet) */ |
| #define | EXCEPTION_ILLEGAL_INSTRUCTION 4 |
| #define | EXCEPTION_ZERO_DIVIDE 5 |
| #define | EXCEPTION_CHK 6 |
| #define | EXCEPTION_TRAPV 7 |
| #define | EXCEPTION_PRIVILEGE_VIOLATION 8 |
| #define | EXCEPTION_TRACE 9 |
| #define | EXCEPTION_1010 10 |
| #define | EXCEPTION_1111 11 |
| #define | EXCEPTION_FORMAT_ERROR 14 |
| #define | EXCEPTION_UNINITIALIZED_INTERRUPT 15 |
| #define | EXCEPTION_SPURIOUS_INTERRUPT 24 |
| #define | EXCEPTION_INTERRUPT_AUTOVECTOR 24 |
| #define | EXCEPTION_TRAP_BASE 32 |
| #define | FUNCTION_CODE_USER_DATA 1 |
| #define | FUNCTION_CODE_USER_PROGRAM 2 |
| #define | FUNCTION_CODE_SUPERVISOR_DATA 5 |
| #define | FUNCTION_CODE_SUPERVISOR_PROGRAM 6 |
| #define | FUNCTION_CODE_CPU_SPACE 7 |
| #define | CPU_TYPE_000 1 |
| #define | CPU_TYPE_008 2 |
| #define | CPU_TYPE_010 4 |
| #define | CPU_TYPE_EC020 8 |
| #define | CPU_TYPE_020 16 |
| #define | CPU_TYPE_040 32 |
| #define | STOP_LEVEL_STOP 1 |
| #define | STOP_LEVEL_HALT 2 |
| #define | INSTRUCTION_YES 0 |
| #define | INSTRUCTION_NO 0x08 |
| #define | MODE_READ 0x10 |
| #define | MODE_WRITE 0 |
| #define | RUN_MODE_NORMAL 0 |
| #define | RUN_MODE_BERR_AERR_RESET 1 |
| #define | NULL ((void*)0) |
| #define | BIT_0(A) ((A) & 0x00000001) |
| #define | BIT_1(A) ((A) & 0x00000002) |
| #define | BIT_2(A) ((A) & 0x00000004) |
| #define | BIT_3(A) ((A) & 0x00000008) |
| #define | BIT_4(A) ((A) & 0x00000010) |
| #define | BIT_5(A) ((A) & 0x00000020) |
| #define | BIT_6(A) ((A) & 0x00000040) |
| #define | BIT_7(A) ((A) & 0x00000080) |
| #define | BIT_8(A) ((A) & 0x00000100) |
| #define | BIT_9(A) ((A) & 0x00000200) |
| #define | BIT_A(A) ((A) & 0x00000400) |
| #define | BIT_B(A) ((A) & 0x00000800) |
| #define | BIT_C(A) ((A) & 0x00001000) |
| #define | BIT_D(A) ((A) & 0x00002000) |
| #define | BIT_E(A) ((A) & 0x00004000) |
| #define | BIT_F(A) ((A) & 0x00008000) |
| #define | BIT_10(A) ((A) & 0x00010000) |
| #define | BIT_11(A) ((A) & 0x00020000) |
| #define | BIT_12(A) ((A) & 0x00040000) |
| #define | BIT_13(A) ((A) & 0x00080000) |
| #define | BIT_14(A) ((A) & 0x00100000) |
| #define | BIT_15(A) ((A) & 0x00200000) |
| #define | BIT_16(A) ((A) & 0x00400000) |
| #define | BIT_17(A) ((A) & 0x00800000) |
| #define | BIT_18(A) ((A) & 0x01000000) |
| #define | BIT_19(A) ((A) & 0x02000000) |
| #define | BIT_1A(A) ((A) & 0x04000000) |
| #define | BIT_1B(A) ((A) & 0x08000000) |
| #define | BIT_1C(A) ((A) & 0x10000000) |
| #define | BIT_1D(A) ((A) & 0x20000000) |
| #define | BIT_1E(A) ((A) & 0x40000000) |
| #define | BIT_1F(A) ((A) & 0x80000000) |
| #define | GET_MSB_8(A) ((A) & 0x80) |
| #define | GET_MSB_9(A) ((A) & 0x100) |
| #define | GET_MSB_16(A) ((A) & 0x8000) |
| #define | GET_MSB_17(A) ((A) & 0x10000) |
| #define | GET_MSB_32(A) ((A) & 0x80000000) |
| #define | LOW_NIBBLE(A) ((A) & 0x0f) |
| #define | HIGH_NIBBLE(A) ((A) & 0xf0) |
| #define | MASK_OUT_ABOVE_2(A) ((A) & 3) |
| #define | MASK_OUT_ABOVE_8(A) ((A) & 0xff) |
| #define | MASK_OUT_ABOVE_16(A) ((A) & 0xffff) |
| #define | MASK_OUT_BELOW_2(A) ((A) & ~3) |
| #define | MASK_OUT_BELOW_8(A) ((A) & ~0xff) |
| #define | MASK_OUT_BELOW_16(A) ((A) & ~0xffff) |
| #define | MASK_OUT_ABOVE_32(A) (A) |
| #define | MASK_OUT_BELOW_32(A) 0 |
| #define | ADDRESS_68K(A) ((A)&CPU_ADDRESS_MASK) |
| #define | LSL(A, C) ((A) << (C)) |
| #define | LSR(A, C) ((A) >> (C)) |
| #define | LSR_32(A, C) ((C) < 32 ? (A) >> (C) : 0) |
| #define | LSL_32(A, C) ((C) < 32 ? (A) << (C) : 0) |
| #define | ROL_8(A, C) MASK_OUT_ABOVE_8(LSL(A, C) | LSR(A, 8-(C))) |
| #define | ROL_9(A, C) (LSL(A, C) | LSR(A, 9-(C))) |
| #define | ROL_16(A, C) MASK_OUT_ABOVE_16(LSL(A, C) | LSR(A, 16-(C))) |
| #define | ROL_17(A, C) (LSL(A, C) | LSR(A, 17-(C))) |
| #define | ROL_32(A, C) MASK_OUT_ABOVE_32(LSL_32(A, C) | LSR_32(A, 32-(C))) |
| #define | ROL_33(A, C) (LSL_32(A, C) | LSR_32(A, 33-(C))) |
| #define | ROR_8(A, C) MASK_OUT_ABOVE_8(LSR(A, C) | LSL(A, 8-(C))) |
| #define | ROR_9(A, C) (LSR(A, C) | LSL(A, 9-(C))) |
| #define | ROR_16(A, C) MASK_OUT_ABOVE_16(LSR(A, C) | LSL(A, 16-(C))) |
| #define | ROR_17(A, C) (LSR(A, C) | LSL(A, 17-(C))) |
| #define | ROR_32(A, C) MASK_OUT_ABOVE_32(LSR_32(A, C) | LSL_32(A, 32-(C))) |
| #define | ROR_33(A, C) (LSR_32(A, C) | LSL_32(A, 33-(C))) |
| #define | CPU_TYPE m68ki_cpu.cpu_type |
| #define | REG_DA m68ki_cpu.dar /* easy access to data and address regs */ |
| #define | REG_D m68ki_cpu.dar |
| #define | REG_A (m68ki_cpu.dar+8) |
| #define | REG_PPC m68ki_cpu.ppc |
| #define | REG_PC m68ki_cpu.pc |
| #define | REG_SP_BASE m68ki_cpu.sp |
| #define | REG_USP m68ki_cpu.sp[0] |
| #define | REG_ISP m68ki_cpu.sp[4] |
| #define | REG_MSP m68ki_cpu.sp[6] |
| #define | REG_SP m68ki_cpu.dar[15] |
| #define | REG_VBR m68ki_cpu.vbr |
| #define | REG_SFC m68ki_cpu.sfc |
| #define | REG_DFC m68ki_cpu.dfc |
| #define | REG_CACR m68ki_cpu.cacr |
| #define | REG_CAAR m68ki_cpu.caar |
| #define | REG_IR m68ki_cpu.ir |
| #define | REG_FP m68ki_cpu.fpr |
| #define | REG_FPCR m68ki_cpu.fpcr |
| #define | REG_FPSR m68ki_cpu.fpsr |
| #define | REG_FPIAR m68ki_cpu.fpiar |
| #define | FLAG_T1 m68ki_cpu.t1_flag |
| #define | FLAG_T0 m68ki_cpu.t0_flag |
| #define | FLAG_S m68ki_cpu.s_flag |
| #define | FLAG_M m68ki_cpu.m_flag |
| #define | FLAG_X m68ki_cpu.x_flag |
| #define | FLAG_N m68ki_cpu.n_flag |
| #define | FLAG_Z m68ki_cpu.not_z_flag |
| #define | FLAG_V m68ki_cpu.v_flag |
| #define | FLAG_C m68ki_cpu.c_flag |
| #define | FLAG_INT_MASK m68ki_cpu.int_mask |
| #define | CPU_INT_LEVEL m68ki_cpu.int_level /* ASG: changed from CPU_INTS_PENDING */ |
| #define | CPU_INT_CYCLES m68ki_cpu.int_cycles /* ASG */ |
| #define | CPU_STOPPED m68ki_cpu.stopped |
| #define | CPU_PREF_ADDR m68ki_cpu.pref_addr |
| #define | CPU_PREF_DATA m68ki_cpu.pref_data |
| #define | CPU_ADDRESS_MASK m68ki_cpu.address_mask |
| #define | CPU_SR_MASK m68ki_cpu.sr_mask |
| #define | CPU_INSTR_MODE m68ki_cpu.instr_mode |
| #define | CPU_RUN_MODE m68ki_cpu.run_mode |
| #define | CYC_INSTRUCTION m68ki_cpu.cyc_instruction |
| #define | CYC_EXCEPTION m68ki_cpu.cyc_exception |
| #define | CYC_BCC_NOTAKE_B m68ki_cpu.cyc_bcc_notake_b |
| #define | CYC_BCC_NOTAKE_W m68ki_cpu.cyc_bcc_notake_w |
| #define | CYC_DBCC_F_NOEXP m68ki_cpu.cyc_dbcc_f_noexp |
| #define | CYC_DBCC_F_EXP m68ki_cpu.cyc_dbcc_f_exp |
| #define | CYC_SCC_R_TRUE m68ki_cpu.cyc_scc_r_true |
| #define | CYC_MOVEM_W m68ki_cpu.cyc_movem_w |
| #define | CYC_MOVEM_L m68ki_cpu.cyc_movem_l |
| #define | CYC_SHIFT m68ki_cpu.cyc_shift |
| #define | CYC_RESET m68ki_cpu.cyc_reset |
| #define | CALLBACK_INT_ACK m68ki_cpu.int_ack_callback |
| #define | CALLBACK_BKPT_ACK m68ki_cpu.bkpt_ack_callback |
| #define | CALLBACK_RESET_INSTR m68ki_cpu.reset_instr_callback |
| #define | CALLBACK_CMPILD_INSTR m68ki_cpu.cmpild_instr_callback |
| #define | CALLBACK_RTE_INSTR m68ki_cpu.rte_instr_callback |
| #define | CALLBACK_TAS_INSTR m68ki_cpu.tas_instr_callback |
| #define | CALLBACK_PC_CHANGED m68ki_cpu.pc_changed_callback |
| #define | CALLBACK_SET_FC m68ki_cpu.set_fc_callback |
| #define | CALLBACK_INSTR_HOOK m68ki_cpu.instr_hook_callback |
| #define | CPU_TYPE_IS_040_PLUS(A) 0 |
| #define | CPU_TYPE_IS_040_LESS(A) 1 |
| #define | CPU_TYPE_IS_020_PLUS(A) 0 |
| #define | CPU_TYPE_IS_020_LESS(A) 1 |
| #define | CPU_TYPE_IS_EC020_PLUS(A) CPU_TYPE_IS_020_PLUS(A) |
| #define | CPU_TYPE_IS_EC020_LESS(A) CPU_TYPE_IS_020_LESS(A) |
| #define | CPU_TYPE_IS_010(A) 0 |
| #define | CPU_TYPE_IS_010_PLUS(A) CPU_TYPE_IS_EC020_PLUS(A) |
| #define | CPU_TYPE_IS_010_LESS(A) CPU_TYPE_IS_EC020_LESS(A) |
| #define | CPU_TYPE_IS_020_VARIANT(A) 0 |
| #define | CPU_TYPE_IS_000(A) 1 |
| #define | m68k_read_immediate_16(A) m68ki_read_program_16(A) |
| #define | m68k_read_immediate_32(A) m68ki_read_program_32(A) |
| #define | m68k_read_pcrelative_8(A) m68ki_read_program_8(A) |
| #define | m68k_read_pcrelative_16(A) m68ki_read_program_16(A) |
| #define | m68k_read_pcrelative_32(A) m68ki_read_program_32(A) |
| #define | m68ki_int_ack(A) CALLBACK_INT_ACK(A) |
| #define | m68ki_bkpt_ack(A) |
| #define | m68ki_output_reset() |
| #define | m68ki_cmpild_callback(v, r) |
| #define | m68ki_rte_callback() |
| #define | m68ki_tas_callback() 0 |
| #define | m68ki_instr_hook() CALLBACK_INSTR_HOOK() |
| #define | m68ki_pc_changed(A) |
| #define | m68ki_set_fc(A) (void)(A) |
| #define | m68ki_use_data_space() |
| #define | m68ki_use_program_space() |
| #define | m68ki_get_address_space() FUNCTION_CODE_USER_DATA |
| #define | m68ki_trace_t1() |
| #define | m68ki_trace_t0() |
| #define | m68ki_clear_trace() |
| #define | m68ki_exception_if_trace() |
| #define | m68ki_set_address_error_trap() |
| #define | m68ki_check_address_error(ADDR, WRITE_MODE, FC) |
| #define | m68ki_check_address_error_010_less(ADDR, WRITE_MODE, FC) |
| #define | M68K_DO_LOG(A) |
| #define | M68K_DO_LOG_EMU(A) |
| #define | DX (REG_D[(REG_IR >> 9) & 7]) |
| #define | DY (REG_D[REG_IR & 7]) |
| #define | AX (REG_A[(REG_IR >> 9) & 7]) |
| #define | AY (REG_A[REG_IR & 7]) |
| #define | EA_AY_AI_8() AY /* address register indirect */ |
| #define | EA_AY_AI_16() EA_AY_AI_8() |
| #define | EA_AY_AI_32() EA_AY_AI_8() |
| #define | EA_AY_PI_8() (AY++) /* postincrement (size = byte) */ |
| #define | EA_AY_PI_16() ((AY+=2)-2) /* postincrement (size = word) */ |
| #define | EA_AY_PI_32() ((AY+=4)-4) /* postincrement (size = long) */ |
| #define | EA_AY_PD_8() (--AY) /* predecrement (size = byte) */ |
| #define | EA_AY_PD_16() (AY-=2) /* predecrement (size = word) */ |
| #define | EA_AY_PD_32() (AY-=4) /* predecrement (size = long) */ |
| #define | EA_AY_DI_8() (AY+MAKE_INT_16(m68ki_read_imm_16())) /* displacement */ |
| #define | EA_AY_DI_16() EA_AY_DI_8() |
| #define | EA_AY_DI_32() EA_AY_DI_8() |
| #define | EA_AY_IX_8() m68ki_get_ea_ix(AY) /* indirect + index */ |
| #define | EA_AY_IX_16() EA_AY_IX_8() |
| #define | EA_AY_IX_32() EA_AY_IX_8() |
| #define | EA_AX_AI_8() AX |
| #define | EA_AX_AI_16() EA_AX_AI_8() |
| #define | EA_AX_AI_32() EA_AX_AI_8() |
| #define | EA_AX_PI_8() (AX++) |
| #define | EA_AX_PI_16() ((AX+=2)-2) |
| #define | EA_AX_PI_32() ((AX+=4)-4) |
| #define | EA_AX_PD_8() (--AX) |
| #define | EA_AX_PD_16() (AX-=2) |
| #define | EA_AX_PD_32() (AX-=4) |
| #define | EA_AX_DI_8() (AX+MAKE_INT_16(m68ki_read_imm_16())) |
| #define | EA_AX_DI_16() EA_AX_DI_8() |
| #define | EA_AX_DI_32() EA_AX_DI_8() |
| #define | EA_AX_IX_8() m68ki_get_ea_ix(AX) |
| #define | EA_AX_IX_16() EA_AX_IX_8() |
| #define | EA_AX_IX_32() EA_AX_IX_8() |
| #define | EA_A7_PI_8() ((REG_A[7]+=2)-2) |
| #define | EA_A7_PD_8() (REG_A[7]-=2) |
| #define | EA_AW_8() MAKE_INT_16(m68ki_read_imm_16()) /* absolute word */ |
| #define | EA_AW_16() EA_AW_8() |
| #define | EA_AW_32() EA_AW_8() |
| #define | EA_AL_8() m68ki_read_imm_32() /* absolute long */ |
| #define | EA_AL_16() EA_AL_8() |
| #define | EA_AL_32() EA_AL_8() |
| #define | EA_PCDI_8() m68ki_get_ea_pcdi() /* pc indirect + displacement */ |
| #define | EA_PCDI_16() EA_PCDI_8() |
| #define | EA_PCDI_32() EA_PCDI_8() |
| #define | EA_PCIX_8() m68ki_get_ea_pcix() /* pc indirect + index */ |
| #define | EA_PCIX_16() EA_PCIX_8() |
| #define | EA_PCIX_32() EA_PCIX_8() |
| #define | OPER_I_8() m68ki_read_imm_8() |
| #define | OPER_I_16() m68ki_read_imm_16() |
| #define | OPER_I_32() m68ki_read_imm_32() |
| #define | CFLAG_8(A) (A) |
| #define | CFLAG_16(A) ((A)>>8) |
| #define | CFLAG_ADD_32(S, D, R) (((S & D) | (~R & (S | D)))>>23) |
| #define | CFLAG_SUB_32(S, D, R) (((S & R) | (~D & (S | R)))>>23) |
| #define | VFLAG_ADD_8(S, D, R) ((S^R) & (D^R)) |
| #define | VFLAG_ADD_16(S, D, R) (((S^R) & (D^R))>>8) |
| #define | VFLAG_ADD_32(S, D, R) (((S^R) & (D^R))>>24) |
| #define | VFLAG_SUB_8(S, D, R) ((S^D) & (R^D)) |
| #define | VFLAG_SUB_16(S, D, R) (((S^D) & (R^D))>>8) |
| #define | VFLAG_SUB_32(S, D, R) (((S^D) & (R^D))>>24) |
| #define | NFLAG_8(A) (A) |
| #define | NFLAG_16(A) ((A)>>8) |
| #define | NFLAG_32(A) ((A)>>24) |
| #define | NFLAG_64(A) ((A)>>56) |
| #define | ZFLAG_8(A) MASK_OUT_ABOVE_8(A) |
| #define | ZFLAG_16(A) MASK_OUT_ABOVE_16(A) |
| #define | ZFLAG_32(A) MASK_OUT_ABOVE_32(A) |
| #define | NFLAG_SET 0x80 |
| #define | NFLAG_CLEAR 0 |
| #define | CFLAG_SET 0x100 |
| #define | CFLAG_CLEAR 0 |
| #define | XFLAG_SET 0x100 |
| #define | XFLAG_CLEAR 0 |
| #define | VFLAG_SET 0x80 |
| #define | VFLAG_CLEAR 0 |
| #define | ZFLAG_SET 0 |
| #define | ZFLAG_CLEAR 0xffffffff |
| #define | SFLAG_SET 4 |
| #define | SFLAG_CLEAR 0 |
| #define | MFLAG_SET 2 |
| #define | MFLAG_CLEAR 0 |
| #define | XFLAG_AS_1() ((FLAG_X>>8)&1) |
| #define | NFLAG_AS_1() ((FLAG_N>>7)&1) |
| #define | VFLAG_AS_1() ((FLAG_V>>7)&1) |
| #define | ZFLAG_AS_1() (!FLAG_Z) |
| #define | CFLAG_AS_1() ((FLAG_C>>8)&1) |
| #define | COND_CS() (FLAG_C&0x100) |
| #define | COND_CC() (!COND_CS()) |
| #define | COND_VS() (FLAG_V&0x80) |
| #define | COND_VC() (!COND_VS()) |
| #define | COND_NE() FLAG_Z |
| #define | COND_EQ() (!COND_NE()) |
| #define | COND_MI() (FLAG_N&0x80) |
| #define | COND_PL() (!COND_MI()) |
| #define | COND_LT() ((FLAG_N^FLAG_V)&0x80) |
| #define | COND_GE() (!COND_LT()) |
| #define | COND_HI() (COND_CC() && COND_NE()) |
| #define | COND_LS() (COND_CS() || COND_EQ()) |
| #define | COND_GT() (COND_GE() && COND_NE()) |
| #define | COND_LE() (COND_LT() || COND_EQ()) |
| #define | COND_NOT_CS() COND_CC() |
| #define | COND_NOT_CC() COND_CS() |
| #define | COND_NOT_VS() COND_VC() |
| #define | COND_NOT_VC() COND_VS() |
| #define | COND_NOT_NE() COND_EQ() |
| #define | COND_NOT_EQ() COND_NE() |
| #define | COND_NOT_MI() COND_PL() |
| #define | COND_NOT_PL() COND_MI() |
| #define | COND_NOT_LT() COND_GE() |
| #define | COND_NOT_GE() COND_LT() |
| #define | COND_NOT_HI() COND_LS() |
| #define | COND_NOT_LS() COND_HI() |
| #define | COND_NOT_GT() COND_LE() |
| #define | COND_NOT_LE() COND_GT() |
| #define | COND_XS() (FLAG_X&0x100) |
| #define | COND_XC() (!COND_XS) |
| #define | m68ki_get_ccr() |
| #define | m68ki_get_sr() |
| #define | ADD_CYCLES(A) m68ki_remaining_cycles += (A) |
| #define | USE_CYCLES(A) m68ki_remaining_cycles -= (A) |
| #define | SET_CYCLES(A) m68ki_remaining_cycles = A |
| #define | GET_CYCLES() m68ki_remaining_cycles |
| #define | USE_ALL_CYCLES() m68ki_remaining_cycles = 0 |
| #define | m68ki_read_8(A) m68ki_read_8_fc (A, FLAG_S | m68ki_get_address_space()) |
| #define | m68ki_read_16(A) m68ki_read_16_fc(A, FLAG_S | m68ki_get_address_space()) |
| #define | m68ki_read_32(A) m68ki_read_32_fc(A, FLAG_S | m68ki_get_address_space()) |
| #define | m68ki_write_8(A, V) m68ki_write_8_fc (A, FLAG_S | FUNCTION_CODE_USER_DATA, V) |
| #define | m68ki_write_16(A, V) m68ki_write_16_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA, V) |
| #define | m68ki_write_32(A, V) m68ki_write_32_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA, V) |
| #define | m68ki_write_32_pd(A, V) m68ki_write_32_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA, V) |
| #define | m68ki_read_imm_8() MASK_OUT_ABOVE_8(m68ki_read_imm_16()) |
| #define | m68ki_read_pcrel_8(A) m68k_read_pcrelative_8(A) |
| #define | m68ki_read_pcrel_16(A) m68k_read_pcrelative_16(A) |
| #define | m68ki_read_pcrel_32(A) m68k_read_pcrelative_32(A) |
| #define | m68ki_read_program_8(A) m68ki_read_8_fc(A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) |
| #define | m68ki_read_program_16(A) m68ki_read_16_fc(A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) |
| #define | m68ki_read_program_32(A) m68ki_read_32_fc(A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) |
| #define | m68ki_read_data_8(A) m68ki_read_8_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA) |
| #define | m68ki_read_data_16(A) m68ki_read_16_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA) |
| #define | m68ki_read_data_32(A) m68ki_read_32_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA) |
| #define | m68ki_read_memory_8_direct(a) |
| #define | m68ki_read_memory_16_direct(a) |
| #define | m68ki_read_memory_32_direct(a) |
| #define | m68ki_write_memory_8_direct(a, v) |
| #define | m68ki_write_memory_16_direct(a, v) |
| #define | m68ki_write_memory_32_direct(a, v) |
Typedefs | |
| typedef int8_t | sint8 |
| typedef int16_t | sint16 |
| typedef int32_t | sint32 |
| typedef uint8_t | uint8 |
| typedef uint16_t | uint16 |
| typedef uint32_t | uint32 |
| typedef int_least32_t | sint |
| typedef uint_least32_t | uint |
| typedef sint32 | sint64 |
| typedef uint32 | uint64 |
| #define ADD_CYCLES | ( | A | ) | m68ki_remaining_cycles += (A) |
| #define ADDRESS_68K | ( | A | ) | ((A)&CPU_ADDRESS_MASK) |
| #define BIT_0 | ( | A | ) | ((A) & 0x00000001) |
| #define BIT_1 | ( | A | ) | ((A) & 0x00000002) |
| #define BIT_10 | ( | A | ) | ((A) & 0x00010000) |
| #define BIT_11 | ( | A | ) | ((A) & 0x00020000) |
| #define BIT_12 | ( | A | ) | ((A) & 0x00040000) |
| #define BIT_13 | ( | A | ) | ((A) & 0x00080000) |
| #define BIT_14 | ( | A | ) | ((A) & 0x00100000) |
| #define BIT_15 | ( | A | ) | ((A) & 0x00200000) |
| #define BIT_16 | ( | A | ) | ((A) & 0x00400000) |
| #define BIT_17 | ( | A | ) | ((A) & 0x00800000) |
| #define BIT_18 | ( | A | ) | ((A) & 0x01000000) |
| #define BIT_19 | ( | A | ) | ((A) & 0x02000000) |
| #define BIT_1A | ( | A | ) | ((A) & 0x04000000) |
| #define BIT_1B | ( | A | ) | ((A) & 0x08000000) |
| #define BIT_1C | ( | A | ) | ((A) & 0x10000000) |
| #define BIT_1D | ( | A | ) | ((A) & 0x20000000) |
| #define BIT_1E | ( | A | ) | ((A) & 0x40000000) |
| #define BIT_1F | ( | A | ) | ((A) & 0x80000000) |
| #define BIT_2 | ( | A | ) | ((A) & 0x00000004) |
| #define BIT_3 | ( | A | ) | ((A) & 0x00000008) |
| #define BIT_4 | ( | A | ) | ((A) & 0x00000010) |
| #define BIT_5 | ( | A | ) | ((A) & 0x00000020) |
| #define BIT_6 | ( | A | ) | ((A) & 0x00000040) |
| #define BIT_7 | ( | A | ) | ((A) & 0x00000080) |
| #define BIT_8 | ( | A | ) | ((A) & 0x00000100) |
| #define BIT_9 | ( | A | ) | ((A) & 0x00000200) |
| #define BIT_A | ( | A | ) | ((A) & 0x00000400) |
| #define BIT_B | ( | A | ) | ((A) & 0x00000800) |
| #define BIT_C | ( | A | ) | ((A) & 0x00001000) |
| #define BIT_D | ( | A | ) | ((A) & 0x00002000) |
| #define BIT_E | ( | A | ) | ((A) & 0x00004000) |
| #define BIT_F | ( | A | ) | ((A) & 0x00008000) |
| #define CALLBACK_BKPT_ACK m68ki_cpu.bkpt_ack_callback |
| #define CALLBACK_CMPILD_INSTR m68ki_cpu.cmpild_instr_callback |
| #define CALLBACK_INSTR_HOOK m68ki_cpu.instr_hook_callback |
| #define CALLBACK_INT_ACK m68ki_cpu.int_ack_callback |
| #define CALLBACK_PC_CHANGED m68ki_cpu.pc_changed_callback |
| #define CALLBACK_RESET_INSTR m68ki_cpu.reset_instr_callback |
| #define CALLBACK_RTE_INSTR m68ki_cpu.rte_instr_callback |
| #define CALLBACK_SET_FC m68ki_cpu.set_fc_callback |
| #define CALLBACK_TAS_INSTR m68ki_cpu.tas_instr_callback |
| #define CFLAG_16 | ( | A | ) | ((A)>>8) |
| #define CFLAG_8 | ( | A | ) | (A) |
| #define CFLAG_AS_1 | ( | ) | ((FLAG_C>>8)&1) |
| #define CFLAG_CLEAR 0 |
| #define CFLAG_SET 0x100 |
| #define COND_CC | ( | ) | (!COND_CS()) |
| #define COND_CS | ( | ) | (FLAG_C&0x100) |
| #define COND_EQ | ( | ) | (!COND_NE()) |
| #define COND_GE | ( | ) | (!COND_LT()) |
| #define COND_MI | ( | ) | (FLAG_N&0x80) |
| #define COND_NE | ( | ) | FLAG_Z |
| #define COND_NOT_CC | ( | ) | COND_CS() |
| #define COND_NOT_CS | ( | ) | COND_CC() |
| #define COND_NOT_EQ | ( | ) | COND_NE() |
| #define COND_NOT_GE | ( | ) | COND_LT() |
| #define COND_NOT_GT | ( | ) | COND_LE() |
| #define COND_NOT_HI | ( | ) | COND_LS() |
| #define COND_NOT_LE | ( | ) | COND_GT() |
| #define COND_NOT_LS | ( | ) | COND_HI() |
| #define COND_NOT_LT | ( | ) | COND_GE() |
| #define COND_NOT_MI | ( | ) | COND_PL() |
| #define COND_NOT_NE | ( | ) | COND_EQ() |
| #define COND_NOT_PL | ( | ) | COND_MI() |
| #define COND_NOT_VC | ( | ) | COND_VS() |
| #define COND_NOT_VS | ( | ) | COND_VC() |
| #define COND_PL | ( | ) | (!COND_MI()) |
| #define COND_VC | ( | ) | (!COND_VS()) |
| #define COND_VS | ( | ) | (FLAG_V&0x80) |
| #define COND_XC | ( | ) | (!COND_XS) |
| #define COND_XS | ( | ) | (FLAG_X&0x100) |
| #define CPU_ADDRESS_MASK m68ki_cpu.address_mask |
| #define CPU_INSTR_MODE m68ki_cpu.instr_mode |
| #define CPU_INT_CYCLES m68ki_cpu.int_cycles /* ASG */ |
| #define CPU_INT_LEVEL m68ki_cpu.int_level /* ASG: changed from CPU_INTS_PENDING */ |
| #define CPU_PREF_ADDR m68ki_cpu.pref_addr |
| #define CPU_PREF_DATA m68ki_cpu.pref_data |
| #define CPU_RUN_MODE m68ki_cpu.run_mode |
| #define CPU_SR_MASK m68ki_cpu.sr_mask |
| #define CPU_STOPPED m68ki_cpu.stopped |
| #define CPU_TYPE m68ki_cpu.cpu_type |
| #define CPU_TYPE_000 1 |
| #define CPU_TYPE_008 2 |
| #define CPU_TYPE_010 4 |
| #define CPU_TYPE_020 16 |
| #define CPU_TYPE_040 32 |
| #define CPU_TYPE_EC020 8 |
| #define CPU_TYPE_IS_000 | ( | A | ) | 1 |
| #define CPU_TYPE_IS_010 | ( | A | ) | 0 |
| #define CPU_TYPE_IS_010_LESS | ( | A | ) | CPU_TYPE_IS_EC020_LESS(A) |
| #define CPU_TYPE_IS_010_PLUS | ( | A | ) | CPU_TYPE_IS_EC020_PLUS(A) |
| #define CPU_TYPE_IS_020_LESS | ( | A | ) | 1 |
| #define CPU_TYPE_IS_020_PLUS | ( | A | ) | 0 |
| #define CPU_TYPE_IS_020_VARIANT | ( | A | ) | 0 |
| #define CPU_TYPE_IS_040_LESS | ( | A | ) | 1 |
| #define CPU_TYPE_IS_040_PLUS | ( | A | ) | 0 |
| #define CPU_TYPE_IS_EC020_LESS | ( | A | ) | CPU_TYPE_IS_020_LESS(A) |
| #define CPU_TYPE_IS_EC020_PLUS | ( | A | ) | CPU_TYPE_IS_020_PLUS(A) |
| #define CYC_BCC_NOTAKE_B m68ki_cpu.cyc_bcc_notake_b |
| #define CYC_BCC_NOTAKE_W m68ki_cpu.cyc_bcc_notake_w |
| #define CYC_DBCC_F_EXP m68ki_cpu.cyc_dbcc_f_exp |
| #define CYC_DBCC_F_NOEXP m68ki_cpu.cyc_dbcc_f_noexp |
| #define CYC_EXCEPTION m68ki_cpu.cyc_exception |
| #define CYC_INSTRUCTION m68ki_cpu.cyc_instruction |
| #define CYC_MOVEM_L m68ki_cpu.cyc_movem_l |
| #define CYC_MOVEM_W m68ki_cpu.cyc_movem_w |
| #define CYC_RESET m68ki_cpu.cyc_reset |
| #define CYC_SCC_R_TRUE m68ki_cpu.cyc_scc_r_true |
| #define CYC_SHIFT m68ki_cpu.cyc_shift |
| #define EA_A7_PD_8 | ( | ) | (REG_A[7]-=2) |
| #define EA_A7_PI_8 | ( | ) | ((REG_A[7]+=2)-2) |
| #define EA_AL_16 | ( | ) | EA_AL_8() |
| #define EA_AL_32 | ( | ) | EA_AL_8() |
| #define EA_AL_8 | ( | ) | m68ki_read_imm_32() /* absolute long */ |
| #define EA_AW_16 | ( | ) | EA_AW_8() |
| #define EA_AW_32 | ( | ) | EA_AW_8() |
| #define EA_AW_8 | ( | ) | MAKE_INT_16(m68ki_read_imm_16()) /* absolute word */ |
| #define EA_AX_AI_16 | ( | ) | EA_AX_AI_8() |
| #define EA_AX_AI_32 | ( | ) | EA_AX_AI_8() |
| #define EA_AX_AI_8 | ( | ) | AX |
| #define EA_AX_DI_16 | ( | ) | EA_AX_DI_8() |
| #define EA_AX_DI_32 | ( | ) | EA_AX_DI_8() |
| #define EA_AX_DI_8 | ( | ) | (AX+MAKE_INT_16(m68ki_read_imm_16())) |
| #define EA_AX_IX_16 | ( | ) | EA_AX_IX_8() |
| #define EA_AX_IX_32 | ( | ) | EA_AX_IX_8() |
| #define EA_AX_IX_8 | ( | ) | m68ki_get_ea_ix(AX) |
| #define EA_AX_PD_16 | ( | ) | (AX-=2) |
| #define EA_AX_PD_32 | ( | ) | (AX-=4) |
| #define EA_AX_PD_8 | ( | ) | (--AX) |
| #define EA_AX_PI_16 | ( | ) | ((AX+=2)-2) |
| #define EA_AX_PI_32 | ( | ) | ((AX+=4)-4) |
| #define EA_AX_PI_8 | ( | ) | (AX++) |
| #define EA_AY_AI_16 | ( | ) | EA_AY_AI_8() |
| #define EA_AY_AI_32 | ( | ) | EA_AY_AI_8() |
| #define EA_AY_AI_8 | ( | ) | AY /* address register indirect */ |
| #define EA_AY_DI_16 | ( | ) | EA_AY_DI_8() |
| #define EA_AY_DI_32 | ( | ) | EA_AY_DI_8() |
| #define EA_AY_DI_8 | ( | ) | (AY+MAKE_INT_16(m68ki_read_imm_16())) /* displacement */ |
| #define EA_AY_IX_16 | ( | ) | EA_AY_IX_8() |
| #define EA_AY_IX_32 | ( | ) | EA_AY_IX_8() |
| #define EA_AY_IX_8 | ( | ) | m68ki_get_ea_ix(AY) /* indirect + index */ |
| #define EA_AY_PD_32 | ( | ) | (AY-=4) /* predecrement (size = long) */ |
| #define EA_AY_PI_32 | ( | ) | ((AY+=4)-4) /* postincrement (size = long) */ |
| #define EA_PCDI_16 | ( | ) | EA_PCDI_8() |
| #define EA_PCDI_32 | ( | ) | EA_PCDI_8() |
| #define EA_PCDI_8 | ( | ) | m68ki_get_ea_pcdi() /* pc indirect + displacement */ |
| #define EA_PCIX_16 | ( | ) | EA_PCIX_8() |
| #define EA_PCIX_32 | ( | ) | EA_PCIX_8() |
| #define EA_PCIX_8 | ( | ) | m68ki_get_ea_pcix() /* pc indirect + index */ |
| #define EXCEPTION_1010 10 |
| #define EXCEPTION_1111 11 |
| #define EXCEPTION_ADDRESS_ERROR 3 /* This one is partially emulated (doesn't stack a proper frame yet) */ |
| #define EXCEPTION_BUS_ERROR 2 /* This one is not emulated! */ |
| #define EXCEPTION_CHK 6 |
| #define EXCEPTION_FORMAT_ERROR 14 |
| #define EXCEPTION_ILLEGAL_INSTRUCTION 4 |
| #define EXCEPTION_INTERRUPT_AUTOVECTOR 24 |
| #define EXCEPTION_PRIVILEGE_VIOLATION 8 |
| #define EXCEPTION_SPURIOUS_INTERRUPT 24 |
| #define EXCEPTION_TRACE 9 |
| #define EXCEPTION_TRAP_BASE 32 |
| #define EXCEPTION_TRAPV 7 |
| #define EXCEPTION_UNINITIALIZED_INTERRUPT 15 |
| #define EXCEPTION_ZERO_DIVIDE 5 |
| #define FLAG_C m68ki_cpu.c_flag |
| #define FLAG_INT_MASK m68ki_cpu.int_mask |
| #define FLAG_M m68ki_cpu.m_flag |
| #define FLAG_N m68ki_cpu.n_flag |
| #define FLAG_S m68ki_cpu.s_flag |
| #define FLAG_T0 m68ki_cpu.t0_flag |
| #define FLAG_T1 m68ki_cpu.t1_flag |
| #define FLAG_V m68ki_cpu.v_flag |
| #define FLAG_X m68ki_cpu.x_flag |
| #define FLAG_Z m68ki_cpu.not_z_flag |
| #define FUNCTION_CODE_CPU_SPACE 7 |
| #define FUNCTION_CODE_SUPERVISOR_DATA 5 |
| #define FUNCTION_CODE_SUPERVISOR_PROGRAM 6 |
| #define FUNCTION_CODE_USER_DATA 1 |
| #define FUNCTION_CODE_USER_PROGRAM 2 |
| #define GET_CYCLES | ( | ) | m68ki_remaining_cycles |
| #define GET_MSB_16 | ( | A | ) | ((A) & 0x8000) |
| #define GET_MSB_17 | ( | A | ) | ((A) & 0x10000) |
| #define GET_MSB_32 | ( | A | ) | ((A) & 0x80000000) |
| #define GET_MSB_8 | ( | A | ) | ((A) & 0x80) |
| #define GET_MSB_9 | ( | A | ) | ((A) & 0x100) |
| #define HIGH_NIBBLE | ( | A | ) | ((A) & 0xf0) |
| #define INSTRUCTION_NO 0x08 |
| #define INSTRUCTION_YES 0 |
| #define LOW_NIBBLE | ( | A | ) | ((A) & 0x0f) |
| #define LSL | ( | A, | |
| C | |||
| ) | ((A) << (C)) |
| #define LSL_32 | ( | A, | |
| C | |||
| ) | ((C) < 32 ? (A) << (C) : 0) |
| #define LSR | ( | A, | |
| C | |||
| ) | ((A) >> (C)) |
| #define LSR_32 | ( | A, | |
| C | |||
| ) | ((C) < 32 ? (A) >> (C) : 0) |
| #define M68K_DO_LOG | ( | A | ) |
| #define M68K_DO_LOG_EMU | ( | A | ) |
| #define M68K_INT_GT_32_BIT 0 |
| #define m68k_read_immediate_16 | ( | A | ) | m68ki_read_program_16(A) |
| #define m68k_read_immediate_32 | ( | A | ) | m68ki_read_program_32(A) |
| #define m68k_read_pcrelative_16 | ( | A | ) | m68ki_read_program_16(A) |
| #define m68k_read_pcrelative_32 | ( | A | ) | m68ki_read_program_32(A) |
| #define m68k_read_pcrelative_8 | ( | A | ) | m68ki_read_program_8(A) |
| #define m68ki_bkpt_ack | ( | A | ) |
| #define m68ki_check_address_error | ( | ADDR, | |
| WRITE_MODE, | |||
| FC | |||
| ) |
| #define m68ki_check_address_error_010_less | ( | ADDR, | |
| WRITE_MODE, | |||
| FC | |||
| ) |
| #define m68ki_clear_trace | ( | ) |
| #define m68ki_cmpild_callback | ( | v, | |
| r | |||
| ) |
| #define m68ki_exception_if_trace | ( | ) |
| #define m68ki_get_address_space | ( | ) | FUNCTION_CODE_USER_DATA |
| #define m68ki_get_ccr | ( | ) |
| #define m68ki_get_sr | ( | ) |
| #define m68ki_instr_hook | ( | ) | CALLBACK_INSTR_HOOK() |
| #define m68ki_int_ack | ( | A | ) | CALLBACK_INT_ACK(A) |
| #define m68ki_output_reset | ( | ) |
| #define m68ki_pc_changed | ( | A | ) |
| #define m68ki_read_16 | ( | A | ) | m68ki_read_16_fc(A, FLAG_S | m68ki_get_address_space()) |
| #define m68ki_read_32 | ( | A | ) | m68ki_read_32_fc(A, FLAG_S | m68ki_get_address_space()) |
| #define m68ki_read_8 | ( | A | ) | m68ki_read_8_fc (A, FLAG_S | m68ki_get_address_space()) |
| #define m68ki_read_data_16 | ( | A | ) | m68ki_read_16_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA) |
| #define m68ki_read_data_32 | ( | A | ) | m68ki_read_32_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA) |
| #define m68ki_read_data_8 | ( | A | ) | m68ki_read_8_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA) |
| #define m68ki_read_imm_8 | ( | ) | MASK_OUT_ABOVE_8(m68ki_read_imm_16()) |
| #define m68ki_read_memory_16_direct | ( | a | ) |
| #define m68ki_read_memory_32_direct | ( | a | ) |
| #define m68ki_read_memory_8_direct | ( | a | ) |
| #define m68ki_read_pcrel_16 | ( | A | ) | m68k_read_pcrelative_16(A) |
| #define m68ki_read_pcrel_32 | ( | A | ) | m68k_read_pcrelative_32(A) |
| #define m68ki_read_pcrel_8 | ( | A | ) | m68k_read_pcrelative_8(A) |
| #define m68ki_read_program_16 | ( | A | ) | m68ki_read_16_fc(A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) |
| #define m68ki_read_program_32 | ( | A | ) | m68ki_read_32_fc(A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) |
| #define m68ki_read_program_8 | ( | A | ) | m68ki_read_8_fc(A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) |
| #define m68ki_rte_callback | ( | ) |
| #define m68ki_set_address_error_trap | ( | ) |
| #define m68ki_set_fc | ( | A | ) | (void)(A) |
| #define m68ki_tas_callback | ( | ) | 0 |
| #define m68ki_trace_t0 | ( | ) |
| #define m68ki_trace_t1 | ( | ) |
| #define m68ki_use_data_space | ( | ) |
| #define m68ki_use_program_space | ( | ) |
| #define m68ki_write_16 | ( | A, | |
| V | |||
| ) | m68ki_write_16_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA, V) |
| #define m68ki_write_32 | ( | A, | |
| V | |||
| ) | m68ki_write_32_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA, V) |
| #define m68ki_write_32_pd | ( | A, | |
| V | |||
| ) | m68ki_write_32_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA, V) |
| #define m68ki_write_8 | ( | A, | |
| V | |||
| ) | m68ki_write_8_fc (A, FLAG_S | FUNCTION_CODE_USER_DATA, V) |
| #define m68ki_write_memory_16_direct | ( | a, | |
| v | |||
| ) |
| #define m68ki_write_memory_32_direct | ( | a, | |
| v | |||
| ) |
| #define m68ki_write_memory_8_direct | ( | a, | |
| v | |||
| ) |
| #define MAKE_INT_16 | ( | A | ) | (sint16)(A) |
| #define MAKE_INT_32 | ( | A | ) | (sint32)(A) |
| #define MAKE_INT_8 | ( | A | ) | (sint8)(A) |
| #define MAKE_UINT_16 | ( | A | ) | (uint16)(A) |
| #define MAKE_UINT_32 | ( | A | ) | (uint32)(A) |
| #define MAKE_UINT_8 | ( | A | ) | (uint8)(A) |
| #define MASK_OUT_ABOVE_16 | ( | A | ) | ((A) & 0xffff) |
| #define MASK_OUT_ABOVE_2 | ( | A | ) | ((A) & 3) |
| #define MASK_OUT_ABOVE_32 | ( | A | ) | (A) |
| #define MASK_OUT_ABOVE_8 | ( | A | ) | ((A) & 0xff) |
| #define MASK_OUT_BELOW_16 | ( | A | ) | ((A) & ~0xffff) |
| #define MASK_OUT_BELOW_2 | ( | A | ) | ((A) & ~3) |
| #define MASK_OUT_BELOW_32 | ( | A | ) | 0 |
| #define MASK_OUT_BELOW_8 | ( | A | ) | ((A) & ~0xff) |
| #define MFLAG_CLEAR 0 |
| #define MFLAG_SET 2 |
| #define MODE_READ 0x10 |
| #define MODE_WRITE 0 |
| #define NFLAG_16 | ( | A | ) | ((A)>>8) |
| #define NFLAG_32 | ( | A | ) | ((A)>>24) |
| #define NFLAG_64 | ( | A | ) | ((A)>>56) |
| #define NFLAG_8 | ( | A | ) | (A) |
| #define NFLAG_AS_1 | ( | ) | ((FLAG_N>>7)&1) |
| #define NFLAG_CLEAR 0 |
| #define NFLAG_SET 0x80 |
| #define NULL ((void*)0) |
| #define OPER_I_16 | ( | ) | m68ki_read_imm_16() |
| #define OPER_I_32 | ( | ) | m68ki_read_imm_32() |
| #define OPER_I_8 | ( | ) | m68ki_read_imm_8() |
| #define REG_A (m68ki_cpu.dar+8) |
| #define REG_CAAR m68ki_cpu.caar |
| #define REG_CACR m68ki_cpu.cacr |
| #define REG_D m68ki_cpu.dar |
| #define REG_DA m68ki_cpu.dar /* easy access to data and address regs */ |
| #define REG_DFC m68ki_cpu.dfc |
| #define REG_FP m68ki_cpu.fpr |
| #define REG_FPCR m68ki_cpu.fpcr |
| #define REG_FPIAR m68ki_cpu.fpiar |
| #define REG_FPSR m68ki_cpu.fpsr |
| #define REG_IR m68ki_cpu.ir |
| #define REG_ISP m68ki_cpu.sp[4] |
| #define REG_MSP m68ki_cpu.sp[6] |
| #define REG_PC m68ki_cpu.pc |
| #define REG_PPC m68ki_cpu.ppc |
| #define REG_SFC m68ki_cpu.sfc |
| #define REG_SP m68ki_cpu.dar[15] |
| #define REG_SP_BASE m68ki_cpu.sp |
| #define REG_USP m68ki_cpu.sp[0] |
| #define REG_VBR m68ki_cpu.vbr |
| #define ROL_16 | ( | A, | |
| C | |||
| ) | MASK_OUT_ABOVE_16(LSL(A, C) | LSR(A, 16-(C))) |
| #define ROL_32 | ( | A, | |
| C | |||
| ) | MASK_OUT_ABOVE_32(LSL_32(A, C) | LSR_32(A, 32-(C))) |
| #define ROL_8 | ( | A, | |
| C | |||
| ) | MASK_OUT_ABOVE_8(LSL(A, C) | LSR(A, 8-(C))) |
| #define ROR_16 | ( | A, | |
| C | |||
| ) | MASK_OUT_ABOVE_16(LSR(A, C) | LSL(A, 16-(C))) |
| #define ROR_32 | ( | A, | |
| C | |||
| ) | MASK_OUT_ABOVE_32(LSR_32(A, C) | LSL_32(A, 32-(C))) |
| #define ROR_8 | ( | A, | |
| C | |||
| ) | MASK_OUT_ABOVE_8(LSR(A, C) | LSL(A, 8-(C))) |
| #define RUN_MODE_BERR_AERR_RESET 1 |
| #define RUN_MODE_NORMAL 0 |
| #define SET_CYCLES | ( | A | ) | m68ki_remaining_cycles = A |
| #define SFLAG_CLEAR 0 |
| #define SFLAG_SET 4 |
| #define STOP_LEVEL_HALT 2 |
| #define STOP_LEVEL_STOP 1 |
| #define UINT16 uint16_t |
| #define UINT64 uint64_t |
| #define USE_ALL_CYCLES | ( | ) | m68ki_remaining_cycles = 0 |
| #define USE_CYCLES | ( | A | ) | m68ki_remaining_cycles -= (A) |
| #define VFLAG_AS_1 | ( | ) | ((FLAG_V>>7)&1) |
| #define VFLAG_CLEAR 0 |
| #define VFLAG_SET 0x80 |
| #define XFLAG_AS_1 | ( | ) | ((FLAG_X>>8)&1) |
| #define XFLAG_CLEAR 0 |
| #define XFLAG_SET 0x100 |
| #define ZFLAG_16 | ( | A | ) | MASK_OUT_ABOVE_16(A) |
| #define ZFLAG_32 | ( | A | ) | MASK_OUT_ABOVE_32(A) |
| #define ZFLAG_8 | ( | A | ) | MASK_OUT_ABOVE_8(A) |
| #define ZFLAG_AS_1 | ( | ) | (!FLAG_Z) |
| #define ZFLAG_CLEAR 0xffffffff |
| #define ZFLAG_SET 0 |
| typedef int_least32_t sint |
| typedef int16_t sint16 |
| typedef int32_t sint32 |
| typedef int8_t sint8 |
| typedef uint_least32_t uint |
| typedef uint16_t uint16 |
| typedef uint32_t uint32 |
| typedef uint8_t uint8 |
| INLINE void m68ki_check_interrupts | ( | void | ) |
| char* m68ki_disassemble_quick | ( | unsigned int | pc, |
| unsigned int | cpu_type | ||
| ) |
| INLINE void m68ki_exception_1010 | ( | void | ) |
| INLINE void m68ki_exception_1111 | ( | void | ) |
| INLINE void m68ki_exception_address_error | ( | void | ) |
| INLINE void m68ki_exception_format_error | ( | void | ) |
| INLINE void m68ki_exception_illegal | ( | void | ) |
| void m68ki_exception_interrupt | ( | uint | int_level | ) |
| INLINE void m68ki_exception_privilege_violation | ( | void | ) |
| INLINE void m68ki_exception_trace | ( | void | ) |
| INLINE void m68ki_fake_pull_16 | ( | void | ) |
| INLINE void m68ki_fake_pull_32 | ( | void | ) |
| INLINE void m68ki_fake_push_16 | ( | void | ) |
| INLINE void m68ki_fake_push_32 | ( | void | ) |
| INLINE m68k_mem_t* m68ki_locate_memory | ( | uint | address | ) |
| uint m68ki_address_space |
| uint m68ki_aerr_address |
| uint m68ki_aerr_fc |
| uint m68ki_aerr_write_mode |
| m68ki_cpu_core m68ki_cpu |
| uint8 m68ki_ea_idx_cycle_table[] |
| uint8 m68ki_exception_cycle_table[][256] |
| sint m68ki_remaining_cycles |
| uint16 m68ki_shift_16_table[] |
| uint m68ki_shift_32_table[] |
| uint8 m68ki_shift_8_table[] |
| uint m68ki_tracing |
1.8.1.1