#ifndef M68KCONF__HEADER1#define M68KCONF__HEADER23/* ======================================================================== */4/* ======================== MAIN 68K CONFIGURATION ======================== */5/* ======================================================================== */67/* Configuration switches.8* Use OPT_SPECIFY_HANDLER for configuration options that allow callbacks.9* OPT_SPECIFY_HANDLER causes the core to link directly to the function10* or macro you specify, rather than using callback functions whose pointer11* must be passed in using m68k_set_xxx_callback().12*/13#define OPT_OFF 014#define OPT_ON 115#define OPT_SPECIFY_HANDLER 21617/* If ON, the CPU will call m68k_write_32_pd() when it executes move.l with a18* predecrement destination EA mode instead of m68k_write_32().19* To simulate real 68k behavior, m68k_write_32_pd() must first write the high20* word to [address+2], and then write the low word to [address].21*/22#define M68K_SIMULATE_PD_WRITES OPT_OFF2324/* If ON, CPU will call the interrupt acknowledge callback when it services an25* interrupt.26* If off, all interrupts will be autovectored and all interrupt requests will27* auto-clear when the interrupt is serviced.28*/29#define M68K_EMULATE_INT_ACK OPT_SPECIFY_HANDLER30#define M68K_INT_ACK_CALLBACK(A) vdp_68k_irq_ack(A)3132/* If ON, CPU will call the output reset callback when it encounters a reset33* instruction.34*/35#define M68K_EMULATE_RESET OPT_OFF36#define M68K_RESET_CALLBACK() your_reset_handler_function()3738/* If ON, CPU will call the callback when it encounters a tas39* instruction.40*/41#define M68K_TAS_HAS_CALLBACK OPT_OFF42#define M68K_TAS_CALLBACK() your_tas_handler_function()4344/* If ON, CPU will call the set fc callback on every memory access to45* differentiate between user/supervisor, program/data access like a real46* 68000 would. This should be enabled and the callback should be set if you47* want to properly emulate the m68010 or higher. (moves uses function codes48* to read/write data from different address spaces)49*/50#define M68K_EMULATE_FC OPT_OFF51#define M68K_SET_FC_CALLBACK(A) your_set_fc_handler_function(A)5253/* If ON, the CPU will monitor the trace flags and take trace exceptions54*/55#define M68K_EMULATE_TRACE OPT_OFF5657/* If ON, the CPU will emulate the 4-byte prefetch queue of a real 68000 */58#define M68K_EMULATE_PREFETCH OPT_OFF5960/* If ON, the CPU will generate address error exceptions if it tries to61* access a word or longword at an odd address.62* NOTE: This is only emulated properly for 68000 mode.63*/64#define M68K_EMULATE_ADDRESS_ERROR OPT_ON6566/* If ON and previous option is also ON, address error exceptions will67also be checked when fetching instructions. Disabling this can help68speeding up emulation while still emulating address error exceptions69on other memory access if needed.70* NOTE: This is only emulated properly for 68000 mode.71*/72#define M68K_CHECK_PC_ADDRESS_ERROR OPT_OFF737475/* ----------------------------- COMPATIBILITY ---------------------------- */7677/* The following options set optimizations that violate the current ANSI78* standard, but will be compliant under the forthcoming C9X standard.79*/808182/* If ON, the enulation core will use 64-bit integers to speed up some83* operations.84*/85#define M68K_USE_64_BIT OPT_OFF868788/* ======================================================================== */89/* ============================== END OF FILE ============================= */90/* ======================================================================== */9192#endif /* M68KCONF__HEADER */939495