diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2010-07-04 10:51:28 +0200 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2010-07-04 10:51:28 +0200 |
commit | e6013001a3e730497e4606add4aff3ac743aedc4 (patch) | |
tree | 0b347abed118addaf7631f78cbc1649b0b9d0596 /plugins/ao/eng_ssf | |
parent | efd7ae55acdca5eef47432eefed35d90d594d572 (diff) |
ao plugin: eng_ssf reentrant
Diffstat (limited to 'plugins/ao/eng_ssf')
-rw-r--r-- | plugins/ao/eng_ssf/eng_ssf.c | 34 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/m68k.h | 70 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/m68kcpu.c | 148 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/m68kcpu.h | 1014 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/m68kopac.c | 2301 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/m68kopdm.c | 2592 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/m68kopnz.c | 1895 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/m68kops.c | 4 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/m68kops.h | 3930 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/sat_hw.c | 76 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/sat_hw.h | 5 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/scsp.c | 95 | ||||
-rw-r--r-- | plugins/ao/eng_ssf/scsp.h | 12 |
13 files changed, 6103 insertions, 6073 deletions
diff --git a/plugins/ao/eng_ssf/eng_ssf.c b/plugins/ao/eng_ssf/eng_ssf.c index d3b63e2f..68d2c632 100644 --- a/plugins/ao/eng_ssf/eng_ssf.c +++ b/plugins/ao/eng_ssf/eng_ssf.c @@ -74,8 +74,7 @@ Sega driver commands: #include "corlett.h" #include "sat_hw.h" #include "scsp.h" - -extern int m68k_execute(int num_cycles); +#include "m68kcpu.h" #define DEBUG_LOADER (0) @@ -83,11 +82,9 @@ typedef struct { corlett_t *c; char psfby[256]; uint32 decaybegin, decayend, total_samples; + m68ki_cpu_core *cpu; } ssf_synth_t; -void *scsp_start(const void *config); -void SCSP_Update(void *param, INT16 **inputs, INT16 **buf, int samples); - void *ssf_start(const char *path, uint8 *buffer, uint32 length) { ssf_synth_t *s = malloc (sizeof (ssf_synth_t)); @@ -99,8 +96,9 @@ void *ssf_start(const char *path, uint8 *buffer, uint32 length) char *libfile; int i; - // clear Saturn work RAM before we start scribbling in it - memset(sat_ram, 0, 512*1024); + s->cpu = m68k_init (); +// // clear Saturn work RAM before we start scribbling in it +// memset(cpu->sat_ram, 0, 512*1024); // Decode the current SSF if (corlett_decode(buffer, length, &file, &file_len, &s->c) != AO_SUCCESS) @@ -149,7 +147,7 @@ void *ssf_start(const char *path, uint8 *buffer, uint32 length) { lib_len = 0x80000-offset+4; } - memcpy(&sat_ram[offset], lib_decoded+4, lib_len-4); + memcpy(&s->cpu->sat_ram[offset], lib_decoded+4, lib_len-4); // Dispose the corlett structure for the lib - we don't use it free(lib); @@ -165,7 +163,7 @@ void *ssf_start(const char *path, uint8 *buffer, uint32 length) file_len = 0x80000-offset+4; } - memcpy(&sat_ram[offset], file+4, file_len-4); + memcpy(&s->cpu->sat_ram[offset], file+4, file_len-4); free(file); @@ -185,7 +183,7 @@ void *ssf_start(const char *path, uint8 *buffer, uint32 length) FILE *f; f = fopen("satram.bin", "wb"); - fwrite(sat_ram, 512*1024, 1, f); + fwrite(cpu->sat_ram, 512*1024, 1, f); fclose(f); } #endif @@ -195,12 +193,12 @@ void *ssf_start(const char *path, uint8 *buffer, uint32 length) { uint8 temp; - temp = sat_ram[i]; - sat_ram[i] = sat_ram[i+1]; - sat_ram[i+1] = temp; + temp = s->cpu->sat_ram[i]; + s->cpu->sat_ram[i] = s->cpu->sat_ram[i+1]; + s->cpu->sat_ram[i+1] = temp; } - sat_hw_init(); + sat_hw_init(s->cpu); // now figure out the time in samples for the length/fade lengthMS = psfTimeToMS(s->c->inf_length); @@ -238,10 +236,10 @@ int32 ssf_gen(void *handle, int16 *buffer, uint32 samples) for (i = 0; i < samples; i++) { - m68k_execute((11300000/60)/735); + m68k_execute(s->cpu, (11300000/60)/735); stereo[0] = &output[i]; stereo[1] = &output2[i]; - SCSP_Update(NULL, NULL, stereo, 1); + SCSP_Update(s->cpu->SCSP, NULL, stereo, 1); } for (i = 0; i < samples; i++) @@ -278,7 +276,9 @@ int32 ssf_gen(void *handle, int16 *buffer, uint32 samples) int32 ssf_stop(void *handle) { - return AO_SUCCESS; + ssf_synth_t *s = handle; + sat_hw_free (s->cpu); + return AO_SUCCESS; } int32 ssf_command(void *handle, int32 command, int32 parameter) diff --git a/plugins/ao/eng_ssf/m68k.h b/plugins/ao/eng_ssf/m68k.h index 082ed4df..851c7132 100644 --- a/plugins/ao/eng_ssf/m68k.h +++ b/plugins/ao/eng_ssf/m68k.h @@ -1,6 +1,8 @@ #ifndef M68K__HEADER #define M68K__HEADER +struct m68ki_cpu_core_s; + /* ======================================================================== */ /* ========================= LICENSING & COPYRIGHT ======================== */ /* ======================================================================== */ @@ -142,9 +144,9 @@ typedef enum */ /* Read from anywhere */ -unsigned int m68k_read_memory_8(unsigned int address); -unsigned int m68k_read_memory_16(unsigned int address); -unsigned int m68k_read_memory_32(unsigned int address); +unsigned int m68k_read_memory_8(struct m68ki_cpu_core_s *cpu, unsigned int address); +unsigned int m68k_read_memory_16(struct m68ki_cpu_core_s *cpu, unsigned int address); +unsigned int m68k_read_memory_32(struct m68ki_cpu_core_s *cpu, unsigned int address); /* Read data immediately following the PC */ //INLINE unsigned int m68k_read_immediate_16(unsigned int address); @@ -156,14 +158,14 @@ unsigned int m68k_read_memory_32(unsigned int address); //INLINE unsigned int m68k_read_pcrelative_32(unsigned int address); /* Memory access for the disassembler */ -unsigned int m68k_read_disassembler_8 (unsigned int address); -unsigned int m68k_read_disassembler_16 (unsigned int address); -unsigned int m68k_read_disassembler_32 (unsigned int address); +unsigned int m68k_read_disassembler_8 (struct m68ki_cpu_core_s *cpu, unsigned int address); +unsigned int m68k_read_disassembler_16 (struct m68ki_cpu_core_s *cpu, unsigned int address); +unsigned int m68k_read_disassembler_32 (struct m68ki_cpu_core_s *cpu, unsigned int address); /* Write to anywhere */ -void m68k_write_memory_8(unsigned int address, unsigned int value); -void m68k_write_memory_16(unsigned int address, unsigned int value); -void m68k_write_memory_32(unsigned int address, unsigned int value); +void m68k_write_memory_8(struct m68ki_cpu_core_s *cpu, unsigned int address, unsigned int value); +void m68k_write_memory_16(struct m68ki_cpu_core_s *cpu, unsigned int address, unsigned int value); +void m68k_write_memory_32(struct m68ki_cpu_core_s *cpu, unsigned int address, unsigned int value); /* Special call to simulate undocumented 68k behavior when move.l with a * predecrement destination mode is executed. @@ -198,7 +200,7 @@ void m68k_write_memory_32(unsigned int address, unsigned int value); * services the interrupt. * Default behavior: return M68K_INT_ACK_AUTOVECTOR. */ -void m68k_set_int_ack_callback(int (*callback)(int int_level)); +void m68k_set_int_ack_callback(struct m68ki_cpu_core_s *cpu, int (*callback)(struct m68ki_cpu_core_s *cpu, int int_level)); /* Set the callback for a breakpoint acknowledge (68010+). @@ -207,7 +209,7 @@ void m68k_set_int_ack_callback(int (*callback)(int int_level)); * BKPT instruction for 68020+, or 0 for 68010. * Default behavior: do nothing. */ -void m68k_set_bkpt_ack_callback(void (*callback)(unsigned int data)); +void m68k_set_bkpt_ack_callback(struct m68ki_cpu_core_s *cpu, void (*callback)(struct m68ki_cpu_core_s *cpu, unsigned int data)); /* Set the callback for the RESET instruction. @@ -215,7 +217,7 @@ void m68k_set_bkpt_ack_callback(void (*callback)(unsigned int data)); * The CPU calls this callback every time it encounters a RESET instruction. * Default behavior: do nothing. */ -void m68k_set_reset_instr_callback(void (*callback)(void)); +void m68k_set_reset_instr_callback(struct m68ki_cpu_core_s *cpu, void (*callback)(struct m68ki_cpu_core_s *cpu)); /* Set the callback for informing of a large PC change. @@ -224,7 +226,7 @@ void m68k_set_reset_instr_callback(void (*callback)(void)); * by a large value (currently set for changes by longwords). * Default behavior: do nothing. */ -void m68k_set_pc_changed_callback(void (*callback)(unsigned int new_pc)); +void m68k_set_pc_changed_callback(struct m68ki_cpu_core_s *cpu, void (*callback)(struct m68ki_cpu_core_s *cpu, unsigned int new_pc)); /* Set the callback for CPU function code changes. @@ -234,7 +236,7 @@ void m68k_set_pc_changed_callback(void (*callback)(unsigned int new_pc)); * access it is (supervisor/user, program/data and such). * Default behavior: do nothing. */ -void m68k_set_fc_callback(void (*callback)(unsigned int new_fc)); +void m68k_set_fc_callback(struct m68ki_cpu_core_s *cpu, void (*callback)(struct m68ki_cpu_core_s *cpu, unsigned int new_fc)); /* Set a callback for the instruction cycle of the CPU. @@ -243,7 +245,7 @@ void m68k_set_fc_callback(void (*callback)(unsigned int new_fc)); * instruction cycle. * Default behavior: do nothing. */ -void m68k_set_instr_hook_callback(void (*callback)(void)); +void m68k_set_instr_hook_callback(struct m68ki_cpu_core_s *cpu, void (*callback)(struct m68ki_cpu_core_s *cpu)); @@ -255,12 +257,12 @@ void m68k_set_instr_hook_callback(void (*callback)(void)); * Currently supported types are: M68K_CPU_TYPE_68000, M68K_CPU_TYPE_68010, * M68K_CPU_TYPE_EC020, and M68K_CPU_TYPE_68020. */ -void m68k_set_cpu_type(unsigned int cpu_type); +void m68k_set_cpu_type(struct m68ki_cpu_core_s *cpu, unsigned int cpu_type); /* Do whatever initialisations the core requires. Should be called * at least once at init time. */ -void m68k_init(void); +struct m68ki_cpu_core_s *m68k_init(void); /* Pulse the RESET pin on the CPU. * You *MUST* reset the CPU at least once to initialize the emulation @@ -268,63 +270,65 @@ void m68k_init(void); * the CPU for the first time, the CPU will be set to * M68K_CPU_TYPE_68000. */ -void m68k_pulse_reset(void); +void m68k_pulse_reset(struct m68ki_cpu_core_s *cpu); /* execute num_cycles worth of instructions. returns number of cycles used */ -int m68k_execute(int num_cycles); +int m68k_execute(struct m68ki_cpu_core_s *cpu, int num_cycles); /* These functions let you read/write/modify the number of cycles left to run * while m68k_execute() is running. * These are useful if the 68k accesses a memory-mapped port on another device * that requires immediate processing by another CPU. */ -int m68k_cycles_run(void); /* Number of cycles run so far */ -int m68k_cycles_remaining(void); /* Number of cycles left */ -void m68k_modify_timeslice(int cycles); /* Modify cycles left */ -void m68k_end_timeslice(void); /* End timeslice now */ +int m68k_cycles_run(struct m68ki_cpu_core_s *cpu); /* Number of cycles run so far */ +int m68k_cycles_remaining(struct m68ki_cpu_core_s *cpu); /* Number of cycles left */ +void m68k_modify_timeslice(struct m68ki_cpu_core_s *cpu, int cycles); /* Modify cycles left */ +void m68k_end_timeslice(struct m68ki_cpu_core_s *cpu); /* End timeslice now */ /* Set the IPL0-IPL2 pins on the CPU (IRQ). * A transition from < 7 to 7 will cause a non-maskable interrupt (NMI). * Setting IRQ to 0 will clear an interrupt request. */ -void m68k_set_irq(unsigned int int_level); +void m68k_set_irq(struct m68ki_cpu_core_s *cpu, unsigned int int_level); /* Halt the CPU as if you pulsed the HALT pin. */ -void m68k_pulse_halt(void); +void m68k_pulse_halt(struct m68ki_cpu_core_s *cpu); +#if 0 /* Context switching to allow multiple CPUs */ /* Get the size of the cpu context in bytes */ -unsigned int m68k_context_size(void); +unsigned int m68k_context_size(struct m68ki_cpu_core_s *cpu); /* Get a cpu context */ -unsigned int m68k_get_context(void* dst); +unsigned int m68k_get_context(struct m68ki_cpu_core_s *cpu, void* dst); /* set the current cpu context */ -void m68k_set_context(void* dst); +void m68k_set_context(struct m68ki_cpu_core_s *cpu, void* dst); +#endif /* Register the CPU state information */ -void m68k_state_register(const char *type); +void m68k_state_register(struct m68ki_cpu_core_s *cpu, const char *type); /* Peek at the internals of a CPU context. This can either be a context * retrieved using m68k_get_context() or the currently running context. * If context is NULL, the currently running CPU context will be used. */ -unsigned int m68k_get_reg(void* context, m68k_register_t reg); +unsigned int m68k_get_reg(struct m68ki_cpu_core_s *cpu, void* context, m68k_register_t reg); /* Poke values into the internals of the currently running CPU context */ -void m68k_set_reg(m68k_register_t reg, unsigned int value); +void m68k_set_reg(struct m68ki_cpu_core_s *cpu, m68k_register_t reg, unsigned int value); /* Check if an instruction is valid for the specified CPU type */ -unsigned int m68k_is_valid_instruction(unsigned int instruction, unsigned int cpu_type); +unsigned int m68k_is_valid_instruction(struct m68ki_cpu_core_s *cpu, unsigned int instruction, unsigned int cpu_type); /* Disassemble 1 instruction using the epecified CPU type at pc. Stores * disassembly in str_buff and returns the size of the instruction in bytes. */ -unsigned int m68k_disassemble(char* str_buff, unsigned int pc, unsigned int cpu_type); +unsigned int m68k_disassemble(struct m68ki_cpu_core_s *cpu, char* str_buff, unsigned int pc, unsigned int cpu_type); /* ======================================================================== */ diff --git a/plugins/ao/eng_ssf/m68kcpu.c b/plugins/ao/eng_ssf/m68kcpu.c index 94e3635f..9624ea5c 100644 --- a/plugins/ao/eng_ssf/m68kcpu.c +++ b/plugins/ao/eng_ssf/m68kcpu.c @@ -32,18 +32,17 @@ static const char* copyright_notice = /* ================================ INCLUDES ============================== */ /* ======================================================================== */ +#include <stdlib.h> +#include <string.h> #include "m68kops.h" #include "m68kcpu.h" +#pragma GCC optimize("O0") + /* ======================================================================== */ /* ================================= DATA ================================= */ /* ======================================================================== */ -int m68ki_initial_cycles; -int m68ki_remaining_cycles = 0; /* Number of clocks remaining */ -uint m68ki_tracing = 0; -uint m68ki_address_space; - #ifdef M68K_LOG_ENABLE char* m68ki_cpu_names[9] = { @@ -59,17 +58,6 @@ char* m68ki_cpu_names[9] = }; #endif /* M68K_LOG_ENABLE */ -/* The CPU core */ -m68ki_cpu_core m68ki_cpu = {0}; - -#if M68K_EMULATE_ADDRESS_ERROR -jmp_buf m68ki_aerr_trap; -#endif /* M68K_EMULATE_ADDRESS_ERROR */ - -uint m68ki_aerr_address; -uint m68ki_aerr_write_mode; -uint m68ki_aerr_fc; - /* Used by shift & rotate instructions */ uint8 m68ki_shift_8_table[65] = { @@ -364,60 +352,51 @@ uint8 m68ki_ea_idx_cycle_table[64] = */ /* Interrupt acknowledge */ -static int default_int_ack_callback_data; -static int default_int_ack_callback(int int_level) +static int default_int_ack_callback(m68ki_cpu_core *cpu, int int_level) { - default_int_ack_callback_data = int_level; + cpu->default_int_ack_callback_data = int_level; CPU_INT_LEVEL = 0; return M68K_INT_ACK_AUTOVECTOR; } /* Breakpoint acknowledge */ -static unsigned int default_bkpt_ack_callback_data; -static void default_bkpt_ack_callback(unsigned int data) +static void default_bkpt_ack_callback(m68ki_cpu_core *cpu, unsigned int data) { - default_bkpt_ack_callback_data = data; + cpu->default_bkpt_ack_callback_data = data; } /* Called when a reset instruction is executed */ -static void default_reset_instr_callback(void) +static void default_reset_instr_callback(m68ki_cpu_core *cpu) { } /* Called when the program counter changed by a large value */ -static unsigned int default_pc_changed_callback_data; -static void default_pc_changed_callback(unsigned int new_pc) +static void default_pc_changed_callback(m68ki_cpu_core *cpu, unsigned int new_pc) { - default_pc_changed_callback_data = new_pc; + cpu->default_pc_changed_callback_data = new_pc; } /* Called every time there's bus activity (read/write to/from memory */ -static unsigned int default_set_fc_callback_data; -static void default_set_fc_callback(unsigned int new_fc) +static void default_set_fc_callback(m68ki_cpu_core *cpu, unsigned int new_fc) { - default_set_fc_callback_data = new_fc; + cpu->default_set_fc_callback_data = new_fc; } /* Called every instruction cycle prior to execution */ -static void default_instr_hook_callback(void) +static void default_instr_hook_callback(m68ki_cpu_core *cpu) { } -#if M68K_EMULATE_ADDRESS_ERROR - #include <setjmp.h> - jmp_buf m68ki_aerr_trap; -#endif /* M68K_EMULATE_ADDRESS_ERROR */ - /* ======================================================================== */ /* ================================= API ================================== */ /* ======================================================================== */ /* Access the internals of the CPU */ -unsigned int m68k_get_reg(void* context, m68k_register_t regnum) +unsigned int m68k_get_reg(m68ki_cpu_core *_cpu, void* context, m68k_register_t regnum) { - m68ki_cpu_core* cpu = context != NULL ?(m68ki_cpu_core*)context : &m68ki_cpu; + m68ki_cpu_core* cpu = context != NULL ?(m68ki_cpu_core*)context : _cpu; switch(regnum) { @@ -475,7 +454,7 @@ unsigned int m68k_get_reg(void* context, m68k_register_t regnum) return 0; } -void m68k_set_reg(m68k_register_t regnum, unsigned int value) +void m68k_set_reg(m68ki_cpu_core *cpu, m68k_register_t regnum, unsigned int value) { switch(regnum) { @@ -495,8 +474,8 @@ void m68k_set_reg(m68k_register_t regnum, unsigned int value) case M68K_REG_A5: REG_A[5] = MASK_OUT_ABOVE_32(value); return; case M68K_REG_A6: REG_A[6] = MASK_OUT_ABOVE_32(value); return; case M68K_REG_A7: REG_A[7] = MASK_OUT_ABOVE_32(value); return; - case M68K_REG_PC: m68ki_jump(MASK_OUT_ABOVE_32(value)); return; - case M68K_REG_SR: m68ki_set_sr(value); return; + case M68K_REG_PC: m68ki_jump(cpu, MASK_OUT_ABOVE_32(value)); return; + case M68K_REG_SR: m68ki_set_sr(cpu, value); return; case M68K_REG_SP: REG_SP = MASK_OUT_ABOVE_32(value); return; case M68K_REG_USP: if(FLAG_S) REG_USP = MASK_OUT_ABOVE_32(value); @@ -520,45 +499,45 @@ void m68k_set_reg(m68k_register_t regnum, unsigned int value) 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_CPU_TYPE: m68k_set_cpu_type(value); return; + case M68K_REG_CPU_TYPE: m68k_set_cpu_type(cpu, value); return; default: return; } } /* Set the callbacks */ -void m68k_set_int_ack_callback(int (*callback)(int int_level)) +void m68k_set_int_ack_callback(m68ki_cpu_core *cpu, int (*callback)(m68ki_cpu_core *cpu, int int_level)) { CALLBACK_INT_ACK = callback ? callback : default_int_ack_callback; } -void m68k_set_bkpt_ack_callback(void (*callback)(unsigned int data)) +void m68k_set_bkpt_ack_callback(m68ki_cpu_core *cpu, void (*callback)(m68ki_cpu_core *cpu, unsigned int data)) { CALLBACK_BKPT_ACK = callback ? callback : default_bkpt_ack_callback; } -void m68k_set_reset_instr_callback(void (*callback)(void)) +void m68k_set_reset_instr_callback(m68ki_cpu_core *cpu, void (*callback)(m68ki_cpu_core *cpu)) { CALLBACK_RESET_INSTR = callback ? callback : default_reset_instr_callback; } -void m68k_set_pc_changed_callback(void (*callback)(unsigned int new_pc)) +void m68k_set_pc_changed_callback(m68ki_cpu_core *cpu, void (*callback)(m68ki_cpu_core *cpu, unsigned int new_pc)) { CALLBACK_PC_CHANGED = callback ? callback : default_pc_changed_callback; } -void m68k_set_fc_callback(void (*callback)(unsigned int new_fc)) +void m68k_set_fc_callback(m68ki_cpu_core *cpu, void (*callback)(m68ki_cpu_core *cpu, unsigned int new_fc)) { CALLBACK_SET_FC = callback ? callback : default_set_fc_callback; } -void m68k_set_instr_hook_callback(void (*callback)(void)) +void m68k_set_instr_hook_callback(m68ki_cpu_core *cpu, void (*callback)(m68ki_cpu_core *cpu)) { CALLBACK_INSTR_HOOK = callback ? callback : default_instr_hook_callback; } #include <stdio.h> /* Set the CPU type. */ -void m68k_set_cpu_type(unsigned int cpu_type) +void m68k_set_cpu_type(m68ki_cpu_core *cpu, unsigned int cpu_type) { switch(cpu_type) { @@ -629,18 +608,16 @@ void m68k_set_cpu_type(unsigned int cpu_type) } } -int m68k_trap0; - /* Execute some instructions until we use up num_cycles clock cycles */ /* ASG: removed per-instruction interrupt checks */ -int m68k_execute(int num_cycles) +int m68k_execute(m68ki_cpu_core *cpu, int num_cycles) { /* Make sure we're not stopped */ if(!CPU_STOPPED) { /* Set our pool of clock cycles available */ SET_CYCLES(num_cycles); - m68ki_initial_cycles = num_cycles; + cpu->m68ki_initial_cycles = num_cycles; /* ASG: update cycles */ USE_CYCLES(CPU_INT_CYCLES); @@ -667,8 +644,8 @@ int m68k_execute(int num_cycles) REG_PPC = REG_PC; /* Read an instruction and call its handler */ - REG_IR = m68ki_read_imm_16(); - m68ki_instruction_jump_table[REG_IR](); + REG_IR = m68ki_read_imm_16(cpu); + m68ki_instruction_jump_table[REG_IR](cpu); USE_CYCLES(CYC_INSTRUCTION[REG_IR]); /* Trace m68k_exception, if necessary */ @@ -683,7 +660,7 @@ int m68k_execute(int num_cycles) CPU_INT_CYCLES = 0; /* return how many clocks we used */ - return m68ki_initial_cycles - GET_CYCLES(); + return cpu->m68ki_initial_cycles - GET_CYCLES(); } /* We get here if the CPU is stopped or halted */ @@ -694,27 +671,27 @@ int m68k_execute(int num_cycles) } -int m68k_cycles_run(void) +int m68k_cycles_run(m68ki_cpu_core *cpu) { - return m68ki_initial_cycles - GET_CYCLES(); + return cpu->m68ki_initial_cycles - GET_CYCLES(); } -int m68k_cycles_remaining(void) +int m68k_cycles_remaining(m68ki_cpu_core *cpu) { return GET_CYCLES(); } /* Change the timeslice */ -void m68k_modify_timeslice(int cycles) +void m68k_modify_timeslice(m68ki_cpu_core *cpu, int cycles) { - m68ki_initial_cycles += cycles; + cpu->m68ki_initial_cycles += cycles; ADD_CYCLES(cycles); } -void m68k_end_timeslice(void) +void m68k_end_timeslice(m68ki_cpu_core *cpu) { - m68ki_initial_cycles = GET_CYCLES(); + cpu->m68ki_initial_cycles = GET_CYCLES(); SET_CYCLES(0); } @@ -723,7 +700,7 @@ void m68k_end_timeslice(void) /* KS: Modified so that IPL* bits match with mask positions in the SR * and cleaned out remenants of the interrupt controller. */ -void m68k_set_irq(unsigned int int_level) +void m68k_set_irq(m68ki_cpu_core *cpu, unsigned int int_level) { uint old_level = CPU_INT_LEVEL; CPU_INT_LEVEL = int_level << 8; @@ -731,12 +708,12 @@ void m68k_set_irq(unsigned int int_level) /* 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) - m68ki_exception_interrupt(7); /* Edge triggered level 7 (NMI) */ + m68ki_exception_interrupt(cpu, 7); /* Edge triggered level 7 (NMI) */ else - m68ki_check_interrupts(); /* Level triggered (IRQ) */ + m68ki_check_interrupts(cpu); /* Level triggered (IRQ) */ } -void m68k_init(void) +m68ki_cpu_core *m68k_init(void) { static uint emulation_initialized = 0; @@ -747,16 +724,20 @@ void m68k_init(void) emulation_initialized = 1; } - m68k_set_int_ack_callback(NULL); - m68k_set_bkpt_ack_callback(NULL); - m68k_set_reset_instr_callback(NULL); - m68k_set_pc_changed_callback(NULL); - m68k_set_fc_callback(NULL); - m68k_set_instr_hook_callback(NULL); + m68ki_cpu_core *cpu = malloc (sizeof (m68ki_cpu_core)); + memset (cpu, 0, sizeof (m68ki_cpu_core)); + + m68k_set_int_ack_callback(cpu, NULL); + m68k_set_bkpt_ack_callback(cpu, NULL); + m68k_set_reset_instr_callback(cpu, NULL); + m68k_set_pc_changed_callback(cpu, NULL); + m68k_set_fc_callback(cpu, NULL); + m68k_set_instr_hook_callback(cpu, NULL); + return cpu; } /* Pulse the RESET line on the CPU */ -void m68k_pulse_reset(void) +void m68k_pulse_reset(m68ki_cpu_core *cpu) { /* Clear all stop levels and eat up all remaining cycles */ CPU_STOPPED = 0; @@ -772,7 +753,7 @@ void m68k_pulse_reset(void) /* Reset VBR */ REG_VBR = 0; /* Go to supervisor mode */ - m68ki_set_sm_flag(SFLAG_SET | MFLAG_CLEAR); + m68ki_set_sm_flag(cpu, SFLAG_SET | MFLAG_CLEAR); /* Invalidate the prefetch queue */ #if M68K_EMULATE_PREFETCH @@ -781,31 +762,32 @@ void m68k_pulse_reset(void) #endif /* M68K_EMULATE_PREFETCH */ /* Read the initial stack pointer and program counter */ - m68ki_jump(0); - REG_SP = m68ki_read_imm_32(); - REG_PC = m68ki_read_imm_32(); - m68ki_jump(REG_PC); + m68ki_jump(cpu, 0); + REG_SP = m68ki_read_imm_32(cpu); + REG_PC = m68ki_read_imm_32(cpu); + m68ki_jump(cpu, REG_PC); CPU_RUN_MODE = RUN_MODE_NORMAL; } /* Pulse the HALT line on the CPU */ -void m68k_pulse_halt(void) +void m68k_pulse_halt(m68ki_cpu_core *cpu) { CPU_STOPPED |= STOP_LEVEL_HALT; } +#if 0 /* Get and set the current CPU context */ /* This is to allow for multiple CPUs */ -unsigned int m68k_context_size() +unsigned int m68k_context_size(m68ki_cpu_core *cpu) { return sizeof(m68ki_cpu_core); } -unsigned int m68k_get_context(void* dst) +unsigned int m68k_get_context(m68ki_cpu_core *cpu, void* dst) { - if(dst) *(m68ki_cpu_core*)dst = m68ki_cpu; + if(dst) *(m68ki_cpu_core*)dst = cpu; return sizeof(m68ki_cpu_core); } @@ -814,7 +796,7 @@ void m68k_set_context(void* src) if(src) m68ki_cpu = *(m68ki_cpu_core*)src; } - +#endif /* ======================================================================== */ /* ============================== MAME STUFF ============================== */ diff --git a/plugins/ao/eng_ssf/m68kcpu.h b/plugins/ao/eng_ssf/m68kcpu.h index 80d4e19a..77e4191b 100644 --- a/plugins/ao/eng_ssf/m68kcpu.h +++ b/plugins/ao/eng_ssf/m68kcpu.h @@ -2,6 +2,7 @@ #ifdef _MSC_VER #include "ao.h" #else +#undef INLINE #define INLINE static inline #endif /* ======================================================================== */ @@ -67,12 +68,12 @@ #define uint8 unsigned char #define uint16 unsigned short #define uint32 unsigned long - /* signed and unsigned int must be at least 32 bits wide */ #define sint signed int #define uint unsigned int +#if 0 #if M68K_USE_64_BIT #define sint64 signed long long #define uint64 unsigned long long @@ -80,7 +81,7 @@ #define sint64 sint32 #define uint64 uint32 #endif /* M68K_USE_64_BIT */ - +#endif /* Allow for architectures that don't have 8-bit sizes */ @@ -127,7 +128,99 @@ } #endif /* ULONG_MAX == 0xffffffff */ +/* ======================================================================== */ +/* =============================== PROTOTYPES ============================= */ +/* ======================================================================== */ + + +typedef struct m68ki_cpu_core_s +{ + uint cpu_type; /* CPU Type: 68000, 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 */ + 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 int_cycles; /* ASG: extra cycles from generated interrupts */ + 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 */ + + /* 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_false; + uint cyc_movem_w; + uint cyc_movem_l; + uint cyc_shift; + uint cyc_reset; + uint8* cyc_instruction; + uint8* cyc_exception; + + /* Callbacks to host */ + int (*int_ack_callback)(struct m68ki_cpu_core_s *cpu, int int_line); /* Interrupt Acknowledge */ + void (*bkpt_ack_callback)(struct m68ki_cpu_core_s *cpu, unsigned int data); /* Breakpoint Acknowledge */ + void (*reset_instr_callback)(struct m68ki_cpu_core_s *cpu); /* Called when a RESET instruction is encountered */ + void (*pc_changed_callback)(struct m68ki_cpu_core_s *cpu, unsigned int new_pc); /* Called when the PC changes by a large amount */ + void (*set_fc_callback)(struct m68ki_cpu_core_s *cpu, unsigned int new_fc); /* Called when the CPU function code changes */ + void (*instr_hook_callback)(struct m68ki_cpu_core_s *cpu); /* Called every instruction cycle prior to execution */ + +#if M68K_EMULATE_ADDRESS_ERROR + jmp_buf m68ki_aerr_trap; +#endif /* M68K_EMULATE_ADDRESS_ERROR */ + + uint m68ki_aerr_address; + uint m68ki_aerr_write_mode; + uint m68ki_aerr_fc; + + int default_int_ack_callback_data; + unsigned int default_bkpt_ack_callback_data; + unsigned int default_pc_changed_callback_data; + unsigned int default_set_fc_callback_data; + int m68k_trap0; + int m68ki_initial_cycles; + int m68ki_remaining_cycles; /* Number of clocks remaining */ + uint m68ki_tracing; + uint m68ki_address_space; + + uint8 sat_ram[512*1024]; + + void *SCSP; +} m68ki_cpu_core; + + +extern uint8 m68ki_shift_8_table[]; +extern uint16 m68ki_shift_16_table[]; +extern uint m68ki_shift_32_table[]; +extern uint8 m68ki_exception_cycle_table[][256]; +extern uint8 m68ki_ea_idx_cycle_table[]; +m68ki_cpu_core *m68k_init(void); +/* Execute some instructions until we use up num_cycles clock cycles */ +/* ASG: removed per-instruction interrupt checks */ +int m68k_execute(m68ki_cpu_core *cpu, int num_cycles); /* ======================================================================== */ @@ -300,65 +393,65 @@ /* ------------------------------ CPU Access ------------------------------ */ /* Access the CPU registers */ -#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 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_FALSE m68ki_cpu.cyc_scc_r_false -#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_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 cpu->cpu_type + +#define REG_DA cpu->dar /* easy access to data and address regs */ +#define REG_D cpu->dar +#define REG_A (cpu->dar+8) +#define REG_PPC cpu->ppc +#define REG_PC cpu->pc +#define REG_SP_BASE cpu->sp +#define REG_USP cpu->sp[0] +#define REG_ISP cpu->sp[4] +#define REG_MSP cpu->sp[6] +#define REG_SP cpu->dar[15] +#define REG_VBR cpu->vbr +#define REG_SFC cpu->sfc +#define REG_DFC cpu->dfc +#define REG_CACR cpu->cacr +#define REG_CAAR cpu->caar +#define REG_IR cpu->ir + +#define FLAG_T1 cpu->t1_flag +#define FLAG_T0 cpu->t0_flag +#define FLAG_S cpu->s_flag +#define FLAG_M cpu->m_flag +#define FLAG_X cpu->x_flag +#define FLAG_N cpu->n_flag +#define FLAG_Z cpu->not_z_flag +#define FLAG_V cpu->v_flag +#define FLAG_C cpu->c_flag +#define FLAG_INT_MASK cpu->int_mask + +#define CPU_INT_LEVEL cpu->int_level /* ASG: changed from CPU_INTS_PENDING */ +#define CPU_INT_CYCLES cpu->int_cycles /* ASG */ +#define CPU_STOPPED cpu->stopped +#define CPU_PREF_ADDR cpu->pref_addr +#define CPU_PREF_DATA cpu->pref_data +#define CPU_ADDRESS_MASK cpu->address_mask +#define CPU_SR_MASK cpu->sr_mask +#define CPU_INSTR_MODE cpu->instr_mode +#define CPU_RUN_MODE cpu->run_mode + +#define CYC_INSTRUCTION cpu->cyc_instruction +#define CYC_EXCEPTION cpu->cyc_exception +#define CYC_BCC_NOTAKE_B cpu->cyc_bcc_notake_b +#define CYC_BCC_NOTAKE_W cpu->cyc_bcc_notake_w +#define CYC_DBCC_F_NOEXP cpu->cyc_dbcc_f_noexp +#define CYC_DBCC_F_EXP cpu->cyc_dbcc_f_exp +#define CYC_SCC_R_FALSE cpu->cyc_scc_r_false +#define CYC_MOVEM_W cpu->cyc_movem_w +#define CYC_MOVEM_L cpu->cyc_movem_l +#define CYC_SHIFT cpu->cyc_shift +#define CYC_RESET cpu->cyc_reset + + +#define CALLBACK_INT_ACK cpu->int_ack_callback +#define CALLBACK_BKPT_ACK cpu->bkpt_ack_callback +#define CALLBACK_RESET_INSTR cpu->reset_instr_callback +#define CALLBACK_PC_CHANGED cpu->pc_changed_callback +#define CALLBACK_SET_FC cpu->set_fc_callback +#define CALLBACK_INSTR_HOOK cpu->instr_hook_callback @@ -419,13 +512,13 @@ /* Enable or disable callback functions */ #if M68K_EMULATE_INT_ACK #if M68K_EMULATE_INT_ACK == OPT_SPECIFY_HANDLER - #define m68ki_int_ack(A) M68K_INT_ACK_CALLBACK(A) + #define m68ki_int_ack(cpu, A) M68K_INT_ACK_CALLBACK(cpu, A) #else - #define m68ki_int_ack(A) CALLBACK_INT_ACK(A) + #define m68ki_int_ack(cpu, A) CALLBACK_INT_ACK(cpu, A) #endif #else /* Default action is to used autovector mode, which is most common */ - #define m68ki_int_ack(A) M68K_INT_ACK_AUTOVECTOR + #define m68ki_int_ack(cpu, A) M68K_INT_ACK_AUTOVECTOR #endif /* M68K_EMULATE_INT_ACK */ #if M68K_EMULATE_BKPT_ACK @@ -580,10 +673,10 @@ #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_8() (AY+MAKE_INT_16(m68ki_read_imm_16(cpu))) /* 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_8() m68ki_get_ea_ix(cpu, AY) /* indirect + index */ #define EA_AY_IX_16() EA_AY_IX_8() #define EA_AY_IX_32() EA_AY_IX_8() @@ -596,33 +689,33 @@ #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_8() (AX+MAKE_INT_16(m68ki_read_imm_16(cpu))) #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_8() m68ki_get_ea_ix(cpu, 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_8() MAKE_INT_16(m68ki_read_imm_16(cpu)) /* 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_8() m68ki_read_imm_32(cpu) /* 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_8() m68ki_get_ea_pcdi(cpu) /* 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_8() m68ki_get_ea_pcix(cpu) /* 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 OPER_I_16() m68ki_read_imm_16(cpu) +#define OPER_I_32() m68ki_read_imm_32(cpu) @@ -739,34 +832,34 @@ /* ---------------------------- Cycle Counting ---------------------------- */ -#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 ADD_CYCLES(A) cpu->m68ki_remaining_cycles += (A) +#define USE_CYCLES(A) cpu->m68ki_remaining_cycles -= (A) +#define SET_CYCLES(A) cpu->m68ki_remaining_cycles = A +#define GET_CYCLES() cpu->m68ki_remaining_cycles +#define USE_ALL_CYCLES() cpu->m68ki_remaining_cycles = 0 /* ----------------------------- Read / Write ----------------------------- */ /* Read from the current address space */ -#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_read_8(A) m68ki_read_8_fc (cpu, A, FLAG_S | m68ki_get_address_space()) +#define m68ki_read_16(A) m68ki_read_16_fc(cpu, A, FLAG_S | m68ki_get_address_space()) +#define m68ki_read_32(A) m68ki_read_32_fc(cpu, A, FLAG_S | m68ki_get_address_space()) /* Write to the current data 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_8(A, V) m68ki_write_8_fc (cpu, A, FLAG_S | FUNCTION_CODE_USER_DATA, V) +#define m68ki_write_16(A, V) m68ki_write_16_fc(cpu, A, FLAG_S | FUNCTION_CODE_USER_DATA, V) +#define m68ki_write_32(A, V) m68ki_write_32_fc(cpu, A, FLAG_S | FUNCTION_CODE_USER_DATA, V) #if M68K_SIMULATE_PD_WRITES -#define m68ki_write_32_pd(A, V) m68ki_write_32_pd_fc(A, FLAG_S | FUNCTION_CODE_USER_DATA, V) +#define m68ki_write_32_pd(A, V) m68ki_write_32_pd_fc(cpu, A, FLAG_S | FUNCTION_CODE_USER_DATA, V) #else -#define m68ki_write_32_pd(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(cpu, A, FLAG_S | FUNCTION_CODE_USER_DATA, V) #endif /* map read immediate 8 to read immediate 16 */ -#define m68ki_read_imm_8() MASK_OUT_ABOVE_8(m68ki_read_imm_16()) +#define m68ki_read_imm_8() MASK_OUT_ABOVE_8(m68ki_read_imm_16(cpu)) /* Map PC-relative reads */ #define m68ki_read_pcrel_8(A) m68k_read_pcrelative_8(A) @@ -774,207 +867,130 @@ #define m68ki_read_pcrel_32(A) m68k_read_pcrelative_32(A) /* Read from the program space */ -#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_program_8(A) m68ki_read_8_fc(cpu, A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) +#define m68ki_read_program_16(A) m68ki_read_16_fc(cpu, A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) +#define m68ki_read_program_32(A) m68ki_read_32_fc(cpu, A, FLAG_S | FUNCTION_CODE_USER_PROGRAM) /* Read from the data space */ -#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) - - - -/* ======================================================================== */ -/* =============================== PROTOTYPES ============================= */ -/* ======================================================================== */ - -typedef struct -{ - uint cpu_type; /* CPU Type: 68000, 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 */ - 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 int_cycles; /* ASG: extra cycles from generated interrupts */ - 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 */ - - /* 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_false; - uint cyc_movem_w; - uint cyc_movem_l; - uint cyc_shift; - uint cyc_reset; - uint8* cyc_instruction; - uint8* cyc_exception; - - /* Callbacks to host */ - int (*int_ack_callback)(int int_line); /* Interrupt Acknowledge */ - void (*bkpt_ack_callback)(unsigned int data); /* Breakpoint Acknowledge */ - void (*reset_instr_callback)(void); /* Called when a RESET instruction is encountered */ - void (*pc_changed_callback)(unsigned int new_pc); /* Called when the PC changes by a large amount */ - void (*set_fc_callback)(unsigned int new_fc); /* Called when the CPU function code changes */ - void (*instr_hook_callback)(void); /* Called every instruction cycle prior to execution */ - -} m68ki_cpu_core; - - -extern m68ki_cpu_core m68ki_cpu; -extern sint m68ki_remaining_cycles; -extern uint m68ki_tracing; -extern uint8 m68ki_shift_8_table[]; -extern uint16 m68ki_shift_16_table[]; -extern uint m68ki_shift_32_table[]; -extern uint8 m68ki_exception_cycle_table[][256]; -extern uint m68ki_address_space; -extern uint8 m68ki_ea_idx_cycle_table[]; - -extern uint m68ki_aerr_address; -extern uint m68ki_aerr_write_mode; -extern uint m68ki_aerr_fc; +#define m68ki_read_data_8(A) m68ki_read_8_fc(cpu, A, FLAG_S | FUNCTION_CODE_USER_DATA) +#define m68ki_read_data_16(A) m68ki_read_16_fc(cpu, A, FLAG_S | FUNCTION_CODE_USER_DATA) +#define m68ki_read_data_32(A) m68ki_read_32_fc(cpu, A, FLAG_S | FUNCTION_CODE_USER_DATA) /* Read data immediately after the program counter */ -INLINE uint m68ki_read_imm_16(void); -INLINE uint m68ki_read_imm_32(void); +INLINE uint m68ki_read_imm_16(m68ki_cpu_core *cpu); +INLINE uint m68ki_read_imm_32(m68ki_cpu_core *cpu); /* Read data with specific function code */ -INLINE uint m68ki_read_8_fc (uint address, uint fc); -INLINE uint m68ki_read_16_fc (uint address, uint fc); -INLINE uint m68ki_read_32_fc (uint address, uint fc); +INLINE uint m68ki_read_8_fc (m68ki_cpu_core *cpu, uint address, uint fc); +INLINE uint m68ki_read_16_fc (m68ki_cpu_core *cpu, uint address, uint fc); +INLINE uint m68ki_read_32_fc (m68ki_cpu_core *cpu, uint address, uint fc); /* Write data with specific function code */ -INLINE void m68ki_write_8_fc (uint address, uint fc, uint value); -INLINE void m68ki_write_16_fc(uint address, uint fc, uint value); -INLINE void m68ki_write_32_fc(uint address, uint fc, uint value); +INLINE void m68ki_write_8_fc (m68ki_cpu_core *cpu, uint address, uint fc, uint value); +INLINE void m68ki_write_16_fc(m68ki_cpu_core *cpu, uint address, uint fc, uint value); +INLINE void m68ki_write_32_fc(m68ki_cpu_core *cpu, uint address, uint fc, uint value); #if M68K_SIMULATE_PD_WRITES -INLINE void m68ki_write_32_pd_fc(uint address, uint fc, uint value); +INLINE void m68ki_write_32_pd_fc(m68ki_cpu_core *cpu, uint address, uint fc, uint value); #endif /* M68K_SIMULATE_PD_WRITES */ /* Indexed and PC-relative ea fetching */ -INLINE uint m68ki_get_ea_pcdi(void); -INLINE uint m68ki_get_ea_pcix(void); -INLINE uint m68ki_get_ea_ix(uint An); +INLINE uint m68ki_get_ea_pcdi(m68ki_cpu_core *cpu); +INLINE uint m68ki_get_ea_pcix(m68ki_cpu_core *cpu); +INLINE uint m68ki_get_ea_ix(m68ki_cpu_core *cpu, uint An); /* Operand fetching */ -INLINE uint OPER_AY_AI_8(void); -INLINE uint OPER_AY_AI_16(void); -INLINE uint OPER_AY_AI_32(void); -INLINE uint OPER_AY_PI_8(void); -INLINE uint OPER_AY_PI_16(void); -INLINE uint OPER_AY_PI_32(void); -INLINE uint OPER_AY_PD_8(void); -INLINE uint OPER_AY_PD_16(void); -INLINE uint OPER_AY_PD_32(void); -INLINE uint OPER_AY_DI_8(void); -INLINE uint OPER_AY_DI_16(void); -INLINE uint OPER_AY_DI_32(void); -INLINE uint OPER_AY_IX_8(void); -INLINE uint OPER_AY_IX_16(void); -INLINE uint OPER_AY_IX_32(void); - -INLINE uint OPER_AX_AI_8(void); -INLINE uint OPER_AX_AI_16(void); -INLINE uint OPER_AX_AI_32(void); -INLINE uint OPER_AX_PI_8(void); -INLINE uint OPER_AX_PI_16(void); -INLINE uint OPER_AX_PI_32(void); -INLINE uint OPER_AX_PD_8(void); -INLINE uint OPER_AX_PD_16(void); -INLINE uint OPER_AX_PD_32(void); -INLINE uint OPER_AX_DI_8(void); -INLINE uint OPER_AX_DI_16(void); -INLINE uint OPER_AX_DI_32(void); -INLINE uint OPER_AX_IX_8(void); -INLINE uint OPER_AX_IX_16(void); -INLINE uint OPER_AX_IX_32(void); - -INLINE uint OPER_A7_PI_8(void); -INLINE uint OPER_A7_PD_8(void); - -INLINE uint OPER_AW_8(void); -INLINE uint OPER_AW_16(void); -INLINE uint OPER_AW_32(void); -INLINE uint OPER_AL_8(void); -INLINE uint OPER_AL_16(void); -INLINE uint OPER_AL_32(void); -INLINE uint OPER_PCDI_8(void); -INLINE uint OPER_PCDI_16(void); -INLINE uint OPER_PCDI_32(void); -INLINE uint OPER_PCIX_8(void); -INLINE uint OPER_PCIX_16(void); -INLINE uint OPER_PCIX_32(void); +INLINE uint OPER_AY_AI_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_AI_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_AI_32(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_PI_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_PI_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_PI_32(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_PD_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_PD_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_PD_32(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_DI_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_DI_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_DI_32(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_IX_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_IX_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AY_IX_32(m68ki_cpu_core *cpu); + +INLINE uint OPER_AX_AI_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_AI_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_AI_32(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_PI_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_PI_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_PI_32(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_PD_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_PD_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_PD_32(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_DI_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_DI_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_DI_32(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_IX_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_IX_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AX_IX_32(m68ki_cpu_core *cpu); + +INLINE uint OPER_A7_PI_8(m68ki_cpu_core *cpu); +INLINE uint OPER_A7_PD_8(m68ki_cpu_core *cpu); + +INLINE uint OPER_AW_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AW_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AW_32(m68ki_cpu_core *cpu); +INLINE uint OPER_AL_8(m68ki_cpu_core *cpu); +INLINE uint OPER_AL_16(m68ki_cpu_core *cpu); +INLINE uint OPER_AL_32(m68ki_cpu_core *cpu); +INLINE uint OPER_PCDI_8(m68ki_cpu_core *cpu); +INLINE uint OPER_PCDI_16(m68ki_cpu_core *cpu); +INLINE uint OPER_PCDI_32(m68ki_cpu_core *cpu); +INLINE uint OPER_PCIX_8(m68ki_cpu_core *cpu); +INLINE uint OPER_PCIX_16(m68ki_cpu_core *cpu); +INLINE uint OPER_PCIX_32(m68ki_cpu_core *cpu); /* Stack operations */ -INLINE void m68ki_push_16(uint value); -INLINE void m68ki_push_32(uint value); -INLINE uint m68ki_pull_16(void); -INLINE uint m68ki_pull_32(void); +INLINE void m68ki_push_16(m68ki_cpu_core *cpu, uint value); +INLINE void m68ki_push_32(m68ki_cpu_core *cpu, uint value); +INLINE uint m68ki_pull_16(m68ki_cpu_core *cpu); +INLINE uint m68ki_pull_32(m68ki_cpu_core *cpu); /* Program flow operations */ -INLINE void m68ki_jump(uint new_pc); -INLINE void m68ki_jump_vector(uint vector); -INLINE void m68ki_branch_8(uint offset); -INLINE void m68ki_branch_16(uint offset); -INLINE void m68ki_branch_32(uint offset); +INLINE void m68ki_jump(m68ki_cpu_core *cpu, uint new_pc); +INLINE void m68ki_jump_vector(m68ki_cpu_core *cpu, uint vector); +INLINE void m68ki_branch_8(m68ki_cpu_core *cpu, uint offset); +INLINE void m68ki_branch_16(m68ki_cpu_core *cpu, uint offset); +INLINE void m68ki_branch_32(m68ki_cpu_core *cpu, uint offset); /* Status register operations. */ -INLINE void m68ki_set_s_flag(uint value); /* Only bit 2 of value should be set (i.e. 4 or 0) */ -INLINE void m68ki_set_sm_flag(uint value); /* only bits 1 and 2 of value should be set */ -INLINE void m68ki_set_ccr(uint value); /* set the condition code register */ -INLINE void m68ki_set_sr(uint value); /* set the status register */ -INLINE void m68ki_set_sr_noint(uint value); /* set the status register */ +INLINE void m68ki_set_s_flag(m68ki_cpu_core *cpu, uint value); /* Only bit 2 of value should be set (i.e. 4 or 0) */ +INLINE void m68ki_set_sm_flag(m68ki_cpu_core *cpu, uint value); /* only bits 1 and 2 of value should be set */ +INLINE void m68ki_set_ccr(m68ki_cpu_core *cpu, uint value); /* set the condition code register */ +INLINE void m68ki_set_sr(m68ki_cpu_core *cpu, uint value); /* set the status register */ +INLINE void m68ki_set_sr_noint(m68ki_cpu_core *cpu, uint value); /* set the status register */ /* Exception processing */ -INLINE uint m68ki_init_exception(void); /* Initial exception processing */ - -INLINE void m68ki_stack_frame_3word(uint pc, uint sr); /* Stack various frame types */ -INLINE void m68ki_stack_frame_buserr(uint sr); - -INLINE void m68ki_stack_frame_0000(uint pc, uint sr, uint vector); -INLINE void m68ki_stack_frame_0001(uint pc, uint sr, uint vector); -INLINE void m68ki_stack_frame_0010(uint sr, uint vector); -INLINE void m68ki_stack_frame_1000(uint pc, uint sr, uint vector); -INLINE void m68ki_stack_frame_1010(uint sr, uint vector, uint pc); -INLINE void m68ki_stack_frame_1011(uint sr, uint vector, uint pc); - -INLINE void m68ki_exception_trap(uint vector); -INLINE void m68ki_exception_trapN(uint vector); -INLINE void m68ki_exception_trace(void); -INLINE void m68ki_exception_privilege_violation(void); -INLINE void m68ki_exception_1010(void); -INLINE void m68ki_exception_1111(void); -INLINE void m68ki_exception_illegal(void); -INLINE void m68ki_exception_format_error(void); -INLINE void m68ki_exception_address_error(void); -INLINE void m68ki_exception_interrupt(uint int_level); -INLINE void m68ki_check_interrupts(void); /* ASG: check for interrupts */ +INLINE uint m68ki_init_exception(m68ki_cpu_core *cpu); /* Initial exception processing */ + +INLINE void m68ki_stack_frame_3word(m68ki_cpu_core *cpu, uint pc, uint sr); /* Stack various frame types */ +INLINE void m68ki_stack_frame_buserr(m68ki_cpu_core *cpu, uint sr); + +INLINE void m68ki_stack_frame_0000(m68ki_cpu_core *cpu, uint pc, uint sr, uint vector); +INLINE void m68ki_stack_frame_0001(m68ki_cpu_core *cpu, uint pc, uint sr, uint vector); +INLINE void m68ki_stack_frame_0010(m68ki_cpu_core *cpu, uint sr, uint vector); +INLINE void m68ki_stack_frame_1000(m68ki_cpu_core *cpu, uint pc, uint sr, uint vector); +INLINE void m68ki_stack_frame_1010(m68ki_cpu_core *cpu, uint sr, uint vector, uint pc); +INLINE void m68ki_stack_frame_1011(m68ki_cpu_core *cpu, uint sr, uint vector, uint pc); + +INLINE void m68ki_exception_trap(m68ki_cpu_core *cpu, uint vector); +INLINE void m68ki_exception_trapN(m68ki_cpu_core *cpu, uint vector); +INLINE void m68ki_exception_trace(m68ki_cpu_core *cpu); +INLINE void m68ki_exception_privilege_violation(m68ki_cpu_core *cpu); +INLINE void m68ki_exception_1010(m68ki_cpu_core *cpu); +INLINE void m68ki_exception_1111(m68ki_cpu_core *cpu); +INLINE void m68ki_exception_illegal(m68ki_cpu_core *cpu); +INLINE void m68ki_exception_format_error(m68ki_cpu_core *cpu); +INLINE void m68ki_exception_address_error(m68ki_cpu_core *cpu); +INLINE void m68ki_exception_interrupt(m68ki_cpu_core *cpu, uint int_level); +INLINE void m68ki_check_interrupts(m68ki_cpu_core *cpu); /* ASG: check for interrupts */ /* quick disassembly (used for logging) */ char* m68ki_disassemble_quick(unsigned int pc, unsigned int cpu_type); @@ -990,7 +1006,7 @@ 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(void) +INLINE uint m68ki_read_imm_16(m68ki_cpu_core *cpu) { m68ki_set_fc(FLAG_S | FUNCTION_CODE_USER_PROGRAM); /* auto-disable (see m68kcpu.h) */ m68ki_check_address_error(REG_PC, MODE_READ, FLAG_S | FUNCTION_CODE_USER_PROGRAM); /* auto-disable (see m68kcpu.h) */ @@ -1007,7 +1023,7 @@ INLINE uint m68ki_read_imm_16(void) return m68k_read_immediate_16(ADDRESS_68K(REG_PC-2)); #endif /* M68K_EMULATE_PREFETCH */ } -INLINE uint m68ki_read_imm_32(void) +INLINE uint m68ki_read_imm_32(m68ki_cpu_core *cpu) { #if M68K_EMULATE_PREFETCH uint temp_val; @@ -1048,44 +1064,44 @@ INLINE uint m68ki_read_imm_32(void) * 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(uint address, uint fc) +INLINE uint m68ki_read_8_fc(m68ki_cpu_core *cpu, uint address, uint fc) { m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ - return m68k_read_memory_8(ADDRESS_68K(address)); + return m68k_read_memory_8(cpu, ADDRESS_68K(address)); } -INLINE uint m68ki_read_16_fc(uint address, uint fc) +INLINE uint m68ki_read_16_fc(m68ki_cpu_core *cpu, uint address, uint fc) { m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ m68ki_check_address_error(address, MODE_READ, fc); /* auto-disable (see m68kcpu.h) */ - return m68k_read_memory_16(ADDRESS_68K(address)); + return m68k_read_memory_16(cpu, ADDRESS_68K(address)); } -INLINE uint m68ki_read_32_fc(uint address, uint fc) +INLINE uint m68ki_read_32_fc(m68ki_cpu_core *cpu, uint address, uint fc) { m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ m68ki_check_address_error(address, MODE_READ, fc); /* auto-disable (see m68kcpu.h) */ - return m68k_read_memory_32(ADDRESS_68K(address)); + return m68k_read_memory_32(cpu, ADDRESS_68K(address)); } -INLINE void m68ki_write_8_fc(uint address, uint fc, uint value) +INLINE void m68ki_write_8_fc(m68ki_cpu_core *cpu, uint address, uint fc, uint value) { m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ - m68k_write_memory_8(ADDRESS_68K(address), value); + m68k_write_memory_8(cpu, ADDRESS_68K(address), value); } -INLINE void m68ki_write_16_fc(uint address, uint fc, uint value) +INLINE void m68ki_write_16_fc(m68ki_cpu_core *cpu, uint address, uint fc, uint value) { m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ m68ki_check_address_error(address, MODE_WRITE, fc); /* auto-disable (see m68kcpu.h) */ - m68k_write_memory_16(ADDRESS_68K(address), value); + m68k_write_memory_16(cpu, ADDRESS_68K(address), value); } -INLINE void m68ki_write_32_fc(uint address, uint fc, uint value) +INLINE void m68ki_write_32_fc(m68ki_cpu_core *cpu, uint address, uint fc, uint value) { m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ m68ki_check_address_error(address, MODE_WRITE, fc); /* auto-disable (see m68kcpu.h) */ - m68k_write_memory_32(ADDRESS_68K(address), value); + m68k_write_memory_32(cpu, ADDRESS_68K(address), value); } #if M68K_SIMULATE_PD_WRITES -INLINE void m68ki_write_32_pd_fc(uint address, uint fc, uint value) +INLINE void m68ki_write_32_pd_fc(m68ki_cpu_core *cpu, uint address, uint fc, uint value) { m68ki_set_fc(fc); /* auto-disable (see m68kcpu.h) */ m68ki_check_address_error(address, MODE_WRITE, fc); /* auto-disable (see m68kcpu.h) */ @@ -1099,18 +1115,18 @@ INLINE void m68ki_write_32_pd_fc(uint address, uint fc, uint value) /* The program counter relative addressing modes cause operands to be * retrieved from program space, not data space. */ -INLINE uint m68ki_get_ea_pcdi(void) +INLINE uint m68ki_get_ea_pcdi(m68ki_cpu_core *cpu) { uint old_pc = REG_PC; m68ki_use_program_space(); /* auto-disable */ - return old_pc + MAKE_INT_16(m68ki_read_imm_16()); + return old_pc + MAKE_INT_16(m68ki_read_imm_16(cpu)); } -INLINE uint m68ki_get_ea_pcix(void) +INLINE uint m68ki_get_ea_pcix(m68ki_cpu_core *cpu) { m68ki_use_program_space(); /* auto-disable */ - return m68ki_get_ea_ix(REG_PC); + return m68ki_get_ea_ix(cpu, REG_PC); } /* Indexed addressing modes are encoded as follows: @@ -1155,10 +1171,10 @@ INLINE uint m68ki_get_ea_pcix(void) * 1 011 mem indir with long outer * 1 100-111 reserved */ -INLINE uint m68ki_get_ea_ix(uint An) +INLINE uint m68ki_get_ea_ix(m68ki_cpu_core *cpu, uint An) { /* An = base register */ - uint extension = m68ki_read_imm_16(); + uint extension = m68ki_read_imm_16(cpu); uint Xn = 0; /* Index register */ uint bd = 0; /* Base Displacement */ uint od = 0; /* Outer Displacement */ @@ -1208,7 +1224,7 @@ INLINE uint m68ki_get_ea_ix(uint An) /* Check if base displacement is present */ if(BIT_5(extension)) /* BD SIZE */ - bd = BIT_4(extension) ? m68ki_read_imm_32() : MAKE_INT_16(m68ki_read_imm_16()); + bd = BIT_4(extension) ? m68ki_read_imm_32(cpu) : MAKE_INT_16(m68ki_read_imm_16(cpu)); /* If no indirect action, we are done */ if(!(extension&7)) /* No Memory Indirect */ @@ -1216,7 +1232,7 @@ INLINE uint m68ki_get_ea_ix(uint An) /* Check if outer displacement is present */ if(BIT_1(extension)) /* I/IS: od */ - od = BIT_0(extension) ? m68ki_read_imm_32() : MAKE_INT_16(m68ki_read_imm_16()); + od = BIT_0(extension) ? m68ki_read_imm_32(cpu) : MAKE_INT_16(m68ki_read_imm_16(cpu)); /* Postindex */ if(BIT_2(extension)) /* I/IS: 0 = preindex, 1 = postindex */ @@ -1228,78 +1244,78 @@ INLINE uint m68ki_get_ea_ix(uint An) /* Fetch operands */ -INLINE uint OPER_AY_AI_8(void) {uint ea = EA_AY_AI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AY_AI_16(void) {uint ea = EA_AY_AI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AY_AI_32(void) {uint ea = EA_AY_AI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AY_PI_8(void) {uint ea = EA_AY_PI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AY_PI_16(void) {uint ea = EA_AY_PI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AY_PI_32(void) {uint ea = EA_AY_PI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AY_PD_8(void) {uint ea = EA_AY_PD_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AY_PD_16(void) {uint ea = EA_AY_PD_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AY_PD_32(void) {uint ea = EA_AY_PD_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AY_DI_8(void) {uint ea = EA_AY_DI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AY_DI_16(void) {uint ea = EA_AY_DI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AY_DI_32(void) {uint ea = EA_AY_DI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AY_IX_8(void) {uint ea = EA_AY_IX_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AY_IX_16(void) {uint ea = EA_AY_IX_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AY_IX_32(void) {uint ea = EA_AY_IX_32(); return m68ki_read_32(ea);} - -INLINE uint OPER_AX_AI_8(void) {uint ea = EA_AX_AI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AX_AI_16(void) {uint ea = EA_AX_AI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AX_AI_32(void) {uint ea = EA_AX_AI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AX_PI_8(void) {uint ea = EA_AX_PI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AX_PI_16(void) {uint ea = EA_AX_PI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AX_PI_32(void) {uint ea = EA_AX_PI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AX_PD_8(void) {uint ea = EA_AX_PD_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AX_PD_16(void) {uint ea = EA_AX_PD_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AX_PD_32(void) {uint ea = EA_AX_PD_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AX_DI_8(void) {uint ea = EA_AX_DI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AX_DI_16(void) {uint ea = EA_AX_DI_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AX_DI_32(void) {uint ea = EA_AX_DI_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AX_IX_8(void) {uint ea = EA_AX_IX_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AX_IX_16(void) {uint ea = EA_AX_IX_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AX_IX_32(void) {uint ea = EA_AX_IX_32(); return m68ki_read_32(ea);} - -INLINE uint OPER_A7_PI_8(void) {uint ea = EA_A7_PI_8(); return m68ki_read_8(ea); } -INLINE uint OPER_A7_PD_8(void) {uint ea = EA_A7_PD_8(); return m68ki_read_8(ea); } - -INLINE uint OPER_AW_8(void) {uint ea = EA_AW_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AW_16(void) {uint ea = EA_AW_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AW_32(void) {uint ea = EA_AW_32(); return m68ki_read_32(ea);} -INLINE uint OPER_AL_8(void) {uint ea = EA_AL_8(); return m68ki_read_8(ea); } -INLINE uint OPER_AL_16(void) {uint ea = EA_AL_16(); return m68ki_read_16(ea);} -INLINE uint OPER_AL_32(void) {uint ea = EA_AL_32(); return m68ki_read_32(ea);} -INLINE uint OPER_PCDI_8(void) {uint ea = EA_PCDI_8(); return m68ki_read_pcrel_8(ea); } -INLINE uint OPER_PCDI_16(void) {uint ea = EA_PCDI_16(); return m68ki_read_pcrel_16(ea);} -INLINE uint OPER_PCDI_32(void) {uint ea = EA_PCDI_32(); return m68ki_read_pcrel_32(ea);} -INLINE uint OPER_PCIX_8(void) {uint ea = EA_PCIX_8(); return m68ki_read_pcrel_8(ea); } -INLINE uint OPER_PCIX_16(void) {uint ea = EA_PCIX_16(); return m68ki_read_pcrel_16(ea);} -INLINE uint OPER_PCIX_32(void) {uint ea = EA_PCIX_32(); return m68ki_read_pcrel_32(ea);} +INLINE uint OPER_AY_AI_8(m68ki_cpu_core *cpu) {uint ea = EA_AY_AI_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AY_AI_16(m68ki_cpu_core *cpu) {uint ea = EA_AY_AI_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AY_AI_32(m68ki_cpu_core *cpu) {uint ea = EA_AY_AI_32(); return m68ki_read_32(ea);} +INLINE uint OPER_AY_PI_8(m68ki_cpu_core *cpu) {uint ea = EA_AY_PI_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AY_PI_16(m68ki_cpu_core *cpu) {uint ea = EA_AY_PI_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AY_PI_32(m68ki_cpu_core *cpu) {uint ea = EA_AY_PI_32(); return m68ki_read_32(ea);} +INLINE uint OPER_AY_PD_8(m68ki_cpu_core *cpu) {uint ea = EA_AY_PD_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AY_PD_16(m68ki_cpu_core *cpu) {uint ea = EA_AY_PD_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AY_PD_32(m68ki_cpu_core *cpu) {uint ea = EA_AY_PD_32(); return m68ki_read_32(ea);} +INLINE uint OPER_AY_DI_8(m68ki_cpu_core *cpu) {uint ea = EA_AY_DI_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AY_DI_16(m68ki_cpu_core *cpu) {uint ea = EA_AY_DI_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AY_DI_32(m68ki_cpu_core *cpu) {uint ea = EA_AY_DI_32(); return m68ki_read_32(ea);} +INLINE uint OPER_AY_IX_8(m68ki_cpu_core *cpu) {uint ea = EA_AY_IX_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AY_IX_16(m68ki_cpu_core *cpu) {uint ea = EA_AY_IX_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AY_IX_32(m68ki_cpu_core *cpu) {uint ea = EA_AY_IX_32(); return m68ki_read_32(ea);} + +INLINE uint OPER_AX_AI_8(m68ki_cpu_core *cpu) {uint ea = EA_AX_AI_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AX_AI_16(m68ki_cpu_core *cpu) {uint ea = EA_AX_AI_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AX_AI_32(m68ki_cpu_core *cpu) {uint ea = EA_AX_AI_32(); return m68ki_read_32(ea);} +INLINE uint OPER_AX_PI_8(m68ki_cpu_core *cpu) {uint ea = EA_AX_PI_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AX_PI_16(m68ki_cpu_core *cpu) {uint ea = EA_AX_PI_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AX_PI_32(m68ki_cpu_core *cpu) {uint ea = EA_AX_PI_32(); return m68ki_read_32(ea);} +INLINE uint OPER_AX_PD_8(m68ki_cpu_core *cpu) {uint ea = EA_AX_PD_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AX_PD_16(m68ki_cpu_core *cpu) {uint ea = EA_AX_PD_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AX_PD_32(m68ki_cpu_core *cpu) {uint ea = EA_AX_PD_32(); return m68ki_read_32(ea);} +INLINE uint OPER_AX_DI_8(m68ki_cpu_core *cpu) {uint ea = EA_AX_DI_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AX_DI_16(m68ki_cpu_core *cpu) {uint ea = EA_AX_DI_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AX_DI_32(m68ki_cpu_core *cpu) {uint ea = EA_AX_DI_32(); return m68ki_read_32(ea);} +INLINE uint OPER_AX_IX_8(m68ki_cpu_core *cpu) {uint ea = EA_AX_IX_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AX_IX_16(m68ki_cpu_core *cpu) {uint ea = EA_AX_IX_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AX_IX_32(m68ki_cpu_core *cpu) {uint ea = EA_AX_IX_32(); return m68ki_read_32(ea);} + +INLINE uint OPER_A7_PI_8(m68ki_cpu_core *cpu) {uint ea = EA_A7_PI_8(); return m68ki_read_8(ea); } +INLINE uint OPER_A7_PD_8(m68ki_cpu_core *cpu) {uint ea = EA_A7_PD_8(); return m68ki_read_8(ea); } + +INLINE uint OPER_AW_8(m68ki_cpu_core *cpu) {uint ea = EA_AW_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AW_16(m68ki_cpu_core *cpu) {uint ea = EA_AW_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AW_32(m68ki_cpu_core *cpu) {uint ea = EA_AW_32(); return m68ki_read_32(ea);} +INLINE uint OPER_AL_8(m68ki_cpu_core *cpu) {uint ea = EA_AL_8(); return m68ki_read_8(ea); } +INLINE uint OPER_AL_16(m68ki_cpu_core *cpu) {uint ea = EA_AL_16(); return m68ki_read_16(ea);} +INLINE uint OPER_AL_32(m68ki_cpu_core *cpu) {uint ea = EA_AL_32(); return m68ki_read_32(ea);} +INLINE uint OPER_PCDI_8(m68ki_cpu_core *cpu) {uint ea = EA_PCDI_8(); return m68ki_read_pcrel_8(ea); } +INLINE uint OPER_PCDI_16(m68ki_cpu_core *cpu) {uint ea = EA_PCDI_16(); return m68ki_read_pcrel_16(ea);} +INLINE uint OPER_PCDI_32(m68ki_cpu_core *cpu) {uint ea = EA_PCDI_32(); return m68ki_read_pcrel_32(ea);} +INLINE uint OPER_PCIX_8(m68ki_cpu_core *cpu) {uint ea = EA_PCIX_8(); return m68ki_read_pcrel_8(ea); } +INLINE uint OPER_PCIX_16(m68ki_cpu_core *cpu) {uint ea = EA_PCIX_16(); return m68ki_read_pcrel_16(ea);} +INLINE uint OPER_PCIX_32(m68ki_cpu_core *cpu) {uint ea = EA_PCIX_32(); return m68ki_read_pcrel_32(ea);} /* ---------------------------- Stack Functions --------------------------- */ /* Push/pull data from the stack */ -INLINE void m68ki_push_16(uint value) +INLINE void m68ki_push_16(m68ki_cpu_core *cpu, uint value) { REG_SP = MASK_OUT_ABOVE_32(REG_SP - 2); m68ki_write_16(REG_SP, value); } -INLINE void m68ki_push_32(uint value) +INLINE void m68ki_push_32(m68ki_cpu_core *cpu, uint value) { REG_SP = MASK_OUT_ABOVE_32(REG_SP - 4); m68ki_write_32(REG_SP, value); } -INLINE uint m68ki_pull_16(void) +INLINE uint m68ki_pull_16(m68ki_cpu_core *cpu) { REG_SP = MASK_OUT_ABOVE_32(REG_SP + 2); return m68ki_read_16(REG_SP-2); } -INLINE uint m68ki_pull_32(void) +INLINE uint m68ki_pull_32(m68ki_cpu_core *cpu) { REG_SP = MASK_OUT_ABOVE_32(REG_SP + 4); return m68ki_read_32(REG_SP-4); @@ -1309,22 +1325,22 @@ INLINE uint m68ki_pull_32(void) /* Increment/decrement the stack as if doing a push/pull but * don't do any memory access. */ -INLINE void m68ki_fake_push_16(void) +INLINE void m68ki_fake_push_16(m68ki_cpu_core *cpu) { REG_SP = MASK_OUT_ABOVE_32(REG_SP - 2); } -INLINE void m68ki_fake_push_32(void) +INLINE void m68ki_fake_push_32(m68ki_cpu_core *cpu) { REG_SP = MASK_OUT_ABOVE_32(REG_SP - 4); } -INLINE void m68ki_fake_pull_16(void) +INLINE void m68ki_fake_pull_16(m68ki_cpu_core *cpu) { REG_SP = MASK_OUT_ABOVE_32(REG_SP + 2); } -INLINE void m68ki_fake_pull_32(void) +INLINE void m68ki_fake_pull_32(m68ki_cpu_core *cpu) { REG_SP = MASK_OUT_ABOVE_32(REG_SP + 4); } @@ -1336,13 +1352,13 @@ INLINE void m68ki_fake_pull_32(void) * These functions will also call the pc_changed callback if it was enabled * in m68kconf.h. */ -INLINE void m68ki_jump(uint new_pc) +INLINE void m68ki_jump(m68ki_cpu_core *cpu, uint new_pc) { REG_PC = new_pc; m68ki_pc_changed(REG_PC); } -INLINE void m68ki_jump_vector(uint vector) +INLINE void m68ki_jump_vector(m68ki_cpu_core *cpu, uint vector) { REG_PC = (vector<<2) + REG_VBR; REG_PC = m68ki_read_data_32(REG_PC); @@ -1355,17 +1371,17 @@ INLINE void m68ki_jump_vector(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(uint offset) +INLINE void m68ki_branch_8(m68ki_cpu_core *cpu, uint offset) { REG_PC += MAKE_INT_8(offset); } -INLINE void m68ki_branch_16(uint offset) +INLINE void m68ki_branch_16(m68ki_cpu_core *cpu, uint offset) { REG_PC += MAKE_INT_16(offset); } -INLINE void m68ki_branch_32(uint offset) +INLINE void m68ki_branch_32(m68ki_cpu_core *cpu, uint offset) { REG_PC += offset; m68ki_pc_changed(REG_PC); @@ -1378,7 +1394,7 @@ INLINE void m68ki_branch_32(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(uint value) +INLINE void m68ki_set_s_flag(m68ki_cpu_core *cpu, uint value) { /* Backup the old stack pointer */ REG_SP_BASE[FLAG_S | ((FLAG_S>>1) & FLAG_M)] = REG_SP; @@ -1391,7 +1407,7 @@ INLINE void m68ki_set_s_flag(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(uint value) +INLINE void m68ki_set_sm_flag(m68ki_cpu_core *cpu, uint value) { /* Backup the old stack pointer */ REG_SP_BASE[FLAG_S | ((FLAG_S>>1) & FLAG_M)] = REG_SP; @@ -1403,7 +1419,7 @@ INLINE void m68ki_set_sm_flag(uint value) } /* Set the S and M flags. Don't touch the stack pointer. */ -INLINE void m68ki_set_sm_flag_nosp(uint value) +INLINE void m68ki_set_sm_flag_nosp(m68ki_cpu_core *cpu, uint value) { /* Set the S and M flags */ FLAG_S = value & SFLAG_SET; @@ -1412,7 +1428,7 @@ INLINE void m68ki_set_sm_flag_nosp(uint value) /* Set the condition code register */ -INLINE void m68ki_set_ccr(uint value) +INLINE void m68ki_set_ccr(m68ki_cpu_core *cpu, uint value) { FLAG_X = BIT_4(value) << 4; FLAG_N = BIT_3(value) << 4; @@ -1422,7 +1438,7 @@ INLINE void m68ki_set_ccr(uint value) } /* Set the status register but don't check for interrupts */ -INLINE void m68ki_set_sr_noint(uint value) +INLINE void m68ki_set_sr_noint(m68ki_cpu_core *cpu, uint value) { /* Mask out the "unimplemented" bits */ value &= CPU_SR_MASK; @@ -1431,14 +1447,14 @@ INLINE void m68ki_set_sr_noint(uint value) FLAG_T1 = BIT_F(value); FLAG_T0 = BIT_E(value); FLAG_INT_MASK = value & 0x0700; - m68ki_set_ccr(value); - m68ki_set_sm_flag((value >> 11) & 6); + m68ki_set_ccr(cpu, value); + m68ki_set_sm_flag(cpu, (value >> 11) & 6); } /* Set the status register but don't check for interrupts nor * change the stack pointer */ -INLINE void m68ki_set_sr_noint_nosp(uint value) +INLINE void m68ki_set_sr_noint_nosp(m68ki_cpu_core *cpu, uint value) { /* Mask out the "unimplemented" bits */ value &= CPU_SR_MASK; @@ -1447,22 +1463,22 @@ INLINE void m68ki_set_sr_noint_nosp(uint value) FLAG_T1 = BIT_F(value); FLAG_T0 = BIT_E(value); FLAG_INT_MASK = value & 0x0700; - m68ki_set_ccr(value); - m68ki_set_sm_flag_nosp((value >> 11) & 6); + m68ki_set_ccr(cpu, value); + m68ki_set_sm_flag_nosp(cpu, (value >> 11) & 6); } /* Set the status register and check for interrupts */ -INLINE void m68ki_set_sr(uint value) +INLINE void m68ki_set_sr(m68ki_cpu_core *cpu, uint value) { - m68ki_set_sr_noint(value); - m68ki_check_interrupts(); + m68ki_set_sr_noint(cpu, value); + m68ki_check_interrupts(cpu); } /* ------------------------- Exception Processing ------------------------- */ /* Initiate exception processing */ -INLINE uint m68ki_init_exception(void) +INLINE uint m68ki_init_exception(m68ki_cpu_core *cpu) { /* Save the old status register */ uint sr = m68ki_get_sr(); @@ -1471,122 +1487,122 @@ INLINE uint m68ki_init_exception(void) FLAG_T1 = FLAG_T0 = 0; m68ki_clear_trace(); /* Enter supervisor mode */ - m68ki_set_s_flag(SFLAG_SET); + m68ki_set_s_flag(cpu, SFLAG_SET); return sr; } /* 3 word stack frame (68000 only) */ -INLINE void m68ki_stack_frame_3word(uint pc, uint sr) +INLINE void m68ki_stack_frame_3word(m68ki_cpu_core *cpu, uint pc, uint sr) { - m68ki_push_32(pc); - m68ki_push_16(sr); + m68ki_push_32(cpu, pc); + m68ki_push_16(cpu, sr); } /* Format 0 stack frame. * This is the standard stack frame for 68010+. */ -INLINE void m68ki_stack_frame_0000(uint pc, uint sr, uint vector) +INLINE void m68ki_stack_frame_0000(m68ki_cpu_core *cpu, uint pc, uint sr, uint vector) { /* Stack a 3-word frame if we are 68000 */ if(CPU_TYPE == CPU_TYPE_000) { - m68ki_stack_frame_3word(pc, sr); + m68ki_stack_frame_3word(cpu, pc, sr); return; } - m68ki_push_16(vector<<2); - m68ki_push_32(pc); - m68ki_push_16(sr); + m68ki_push_16(cpu, vector<<2); + m68ki_push_32(cpu, pc); + m68ki_push_16(cpu, sr); } /* Format 1 stack frame (68020). * For 68020, this is the 4 word throwaway frame. */ -INLINE void m68ki_stack_frame_0001(uint pc, uint sr, uint vector) +INLINE void m68ki_stack_frame_0001(m68ki_cpu_core *cpu, uint pc, uint sr, uint vector) { - m68ki_push_16(0x1000 | (vector<<2)); - m68ki_push_32(pc); - m68ki_push_16(sr); + m68ki_push_16(cpu, 0x1000 | (vector<<2)); + m68ki_push_32(cpu, pc); + m68ki_push_16(cpu, sr); } /* Format 2 stack frame. * This is used only by 68020 for trap exceptions. */ -INLINE void m68ki_stack_frame_0010(uint sr, uint vector) +INLINE void m68ki_stack_frame_0010(m68ki_cpu_core *cpu, uint sr, uint vector) { - m68ki_push_32(REG_PPC); - m68ki_push_16(0x2000 | (vector<<2)); - m68ki_push_32(REG_PC); - m68ki_push_16(sr); + m68ki_push_32(cpu, REG_PPC); + m68ki_push_16(cpu, 0x2000 | (vector<<2)); + m68ki_push_32(cpu, REG_PC); + m68ki_push_16(cpu, sr); } /* Bus error stack frame (68000 only). */ -INLINE void m68ki_stack_frame_buserr(uint sr) +INLINE void m68ki_stack_frame_buserr(m68ki_cpu_core *cpu, uint sr) { - m68ki_push_32(REG_PC); - m68ki_push_16(sr); - m68ki_push_16(REG_IR); - m68ki_push_32(m68ki_aerr_address); /* access address */ + m68ki_push_32(cpu,REG_PC); + m68ki_push_16(cpu,sr); + m68ki_push_16(cpu,REG_IR); + m68ki_push_32(cpu,cpu->m68ki_aerr_address); /* access address */ /* 0 0 0 0 0 0 0 0 0 0 0 R/W I/N FC * R/W 0 = write, 1 = read * I/N 0 = instruction, 1 = not * FC 3-bit function code */ - m68ki_push_16(m68ki_aerr_write_mode | CPU_INSTR_MODE | m68ki_aerr_fc); + m68ki_push_16(cpu,cpu->m68ki_aerr_write_mode | CPU_INSTR_MODE | cpu->m68ki_aerr_fc); } /* Format 8 stack frame (68010). * 68010 only. This is the 29 word bus/address error frame. */ -void m68ki_stack_frame_1000(uint pc, uint sr, uint vector) +void m68ki_stack_frame_1000(m68ki_cpu_core *cpu, uint pc, uint sr, uint vector) { /* VERSION * NUMBER * INTERNAL INFORMATION, 16 WORDS */ - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); - m68ki_fake_push_32(); + m68ki_fake_push_32(cpu); + m68ki_fake_push_32(cpu); + m68ki_fake_push_32(cpu); + m68ki_fake_push_32(cpu); + m68ki_fake_push_32(cpu); + m68ki_fake_push_32(cpu); + m68ki_fake_push_32(cpu); + m68ki_fake_push_32(cpu); /* INSTRUCTION INPUT BUFFER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* UNUSED, RESERVED (not written) */ - m68ki_fake_push_16(); + m68ki_fake_push_16(cpu); /* DATA INPUT BUFFER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* UNUSED, RESERVED (not written) */ - m68ki_fake_push_16(); + m68ki_fake_push_16(cpu); /* DATA OUTPUT BUFFER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* UNUSED, RESERVED (not written) */ - m68ki_fake_push_16(); + m68ki_fake_push_16(cpu); /* FAULT ADDRESS */ - m68ki_push_32(0); + m68ki_push_32(cpu,0); /* SPECIAL STATUS WORD */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* 1000, VECTOR OFFSET */ - m68ki_push_16(0x8000 | (vector<<2)); + m68ki_push_16(cpu,0x8000 | (vector<<2)); /* PROGRAM COUNTER */ - m68ki_push_32(pc); + m68ki_push_32(cpu,pc); /* STATUS REGISTER */ - m68ki_push_16(sr); + m68ki_push_16(cpu,sr); } /* Format A stack frame (short bus fault). @@ -1594,46 +1610,46 @@ void m68ki_stack_frame_1000(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(uint sr, uint vector, uint pc) +void m68ki_stack_frame_1010(m68ki_cpu_core *cpu, uint sr, uint vector, uint pc) { /* INTERNAL REGISTER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* INTERNAL REGISTER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* DATA OUTPUT BUFFER (2 words) */ - m68ki_push_32(0); + m68ki_push_32(cpu,0); /* INTERNAL REGISTER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* INTERNAL REGISTER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* DATA CYCLE FAULT ADDRESS (2 words) */ - m68ki_push_32(0); + m68ki_push_32(cpu,0); /* INSTRUCTION PIPE STAGE B */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* INSTRUCTION PIPE STAGE C */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* SPECIAL STATUS REGISTER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* INTERNAL REGISTER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* 1010, VECTOR OFFSET */ - m68ki_push_16(0xa000 | (vector<<2)); + m68ki_push_16(cpu,0xa000 | (vector<<2)); /* PROGRAM COUNTER */ - m68ki_push_32(pc); + m68ki_push_32(cpu,pc); /* STATUS REGISTER */ - m68ki_push_16(sr); + m68ki_push_16(cpu,sr); } /* Format B stack frame (long bus fault). @@ -1641,107 +1657,107 @@ void m68ki_stack_frame_1010(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(uint sr, uint vector, uint pc) +void m68ki_stack_frame_1011(m68ki_cpu_core *cpu, uint sr, uint vector, uint pc) { /* INTERNAL REGISTERS (18 words) */ - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); - m68ki_push_32(0); + m68ki_push_32(cpu,0); + m68ki_push_32(cpu,0); + m68ki_push_32(cpu,0); + m68ki_push_32(cpu,0); + m68ki_push_32(cpu,0); + m68ki_push_32(cpu,0); + m68ki_push_32(cpu,0); + m68ki_push_32(cpu,0); + m68ki_push_32(cpu,0); /* VERSION# (4 bits), INTERNAL INFORMATION */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* INTERNAL REGISTERS (3 words) */ - m68ki_push_32(0); - m68ki_push_16(0); + m68ki_push_32(cpu,0); + m68ki_push_16(cpu,0); /* DATA INTPUT BUFFER (2 words) */ - m68ki_push_32(0); + m68ki_push_32(cpu,0); /* INTERNAL REGISTERS (2 words) */ - m68ki_push_32(0); + m68ki_push_32(cpu,0); /* STAGE B ADDRESS (2 words) */ - m68ki_push_32(0); + m68ki_push_32(cpu,0); /* INTERNAL REGISTER (4 words) */ - m68ki_push_32(0); - m68ki_push_32(0); + m68ki_push_32(cpu,0); + m68ki_push_32(cpu,0); /* DATA OUTPUT BUFFER (2 words) */ - m68ki_push_32(0); + m68ki_push_32(cpu,0); /* INTERNAL REGISTER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* INTERNAL REGISTER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* DATA CYCLE FAULT ADDRESS (2 words) */ - m68ki_push_32(0); + m68ki_push_32(cpu,0); /* INSTRUCTION PIPE STAGE B */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* INSTRUCTION PIPE STAGE C */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* SPECIAL STATUS REGISTER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* INTERNAL REGISTER */ - m68ki_push_16(0); + m68ki_push_16(cpu,0); /* 1011, VECTOR OFFSET */ - m68ki_push_16(0xb000 | (vector<<2)); + m68ki_push_16(cpu,0xb000 | (vector<<2)); /* PROGRAM COUNTER */ - m68ki_push_32(pc); + m68ki_push_32(cpu,pc); /* STATUS REGISTER */ - m68ki_push_16(sr); + m68ki_push_16(cpu,sr); } /* Used for Group 2 exceptions. * These stack a type 2 frame on the 020. */ -INLINE void m68ki_exception_trap(uint vector) +INLINE void m68ki_exception_trap(m68ki_cpu_core *cpu, uint vector) { - uint sr = m68ki_init_exception(); + uint sr = m68ki_init_exception(cpu); if(CPU_TYPE_IS_010_LESS(CPU_TYPE)) - m68ki_stack_frame_0000(REG_PC, sr, vector); + m68ki_stack_frame_0000(cpu, REG_PC, sr, vector); else - m68ki_stack_frame_0010(sr, vector); + m68ki_stack_frame_0010(cpu, sr, vector); - m68ki_jump_vector(vector); + m68ki_jump_vector(cpu, vector); /* Use up some clock cycles */ USE_CYCLES(CYC_EXCEPTION[vector]); } /* Trap#n stacks a 0 frame but behaves like group2 otherwise */ -INLINE void m68ki_exception_trapN(uint vector) +INLINE void m68ki_exception_trapN(m68ki_cpu_core *cpu, uint vector) { - uint sr = m68ki_init_exception(); - m68ki_stack_frame_0000(REG_PC, sr, vector); - m68ki_jump_vector(vector); + uint sr = m68ki_init_exception(cpu); + m68ki_stack_frame_0000(cpu, REG_PC, sr, vector); + m68ki_jump_vector(cpu, vector); /* Use up some clock cycles */ USE_CYCLES(CYC_EXCEPTION[vector]); } /* Exception for trace mode */ -INLINE void m68ki_exception_trace(void) +INLINE void m68ki_exception_trace(m68ki_cpu_core *cpu) { - uint sr = m68ki_init_exception(); + uint sr = m68ki_init_exception(cpu); if(CPU_TYPE_IS_010_LESS(CPU_TYPE)) { @@ -1751,12 +1767,12 @@ INLINE void m68ki_exception_trace(void) CPU_INSTR_MODE = INSTRUCTION_NO; } #endif /* M68K_EMULATE_ADDRESS_ERROR */ - m68ki_stack_frame_0000(REG_PC, sr, EXCEPTION_TRACE); + m68ki_stack_frame_0000(cpu, REG_PC, sr, EXCEPTION_TRACE); } else - m68ki_stack_frame_0010(sr, EXCEPTION_TRACE); + m68ki_stack_frame_0010(cpu, sr, EXCEPTION_TRACE); - m68ki_jump_vector(EXCEPTION_TRACE); + m68ki_jump_vector(cpu, EXCEPTION_TRACE); /* Trace nullifies a STOP instruction */ CPU_STOPPED &= ~STOP_LEVEL_STOP; @@ -1766,9 +1782,9 @@ INLINE void m68ki_exception_trace(void) } /* Exception for privilege violation */ -INLINE void m68ki_exception_privilege_violation(void) +INLINE void m68ki_exception_privilege_violation(m68ki_cpu_core *cpu) { - uint sr = m68ki_init_exception(); + uint sr = m68ki_init_exception(cpu); #if M68K_EMULATE_ADDRESS_ERROR == OPT_ON if(CPU_TYPE_IS_000(CPU_TYPE)) @@ -1777,15 +1793,15 @@ INLINE void m68ki_exception_privilege_violation(void) } #endif /* M68K_EMULATE_ADDRESS_ERROR */ - m68ki_stack_frame_0000(REG_PPC, sr, EXCEPTION_PRIVILEGE_VIOLATION); - m68ki_jump_vector(EXCEPTION_PRIVILEGE_VIOLATION); + m68ki_stack_frame_0000(cpu, REG_PPC, sr, EXCEPTION_PRIVILEGE_VIOLATION); + m68ki_jump_vector(cpu, EXCEPTION_PRIVILEGE_VIOLATION); /* Use up some clock cycles and undo the instruction's cycles */ USE_CYCLES(CYC_EXCEPTION[EXCEPTION_PRIVILEGE_VIOLATION] - CYC_INSTRUCTION[REG_IR]); } /* Exception for A-Line instructions */ -INLINE void m68ki_exception_1010(void) +INLINE void m68ki_exception_1010(m68ki_cpu_core *cpu) { uint sr; #if M68K_LOG_1010_1111 == OPT_ON @@ -1794,16 +1810,16 @@ INLINE void m68ki_exception_1010(void) m68ki_disassemble_quick(ADDRESS_68K(REG_PPC)))); #endif - sr = m68ki_init_exception(); - m68ki_stack_frame_0000(REG_PPC, sr, EXCEPTION_1010); - m68ki_jump_vector(EXCEPTION_1010); + sr = m68ki_init_exception(cpu); + m68ki_stack_frame_0000(cpu, REG_PPC, sr, EXCEPTION_1010); + m68ki_jump_vector(cpu, EXCEPTION_1010); /* Use up some clock cycles and undo the instruction's cycles */ USE_CYCLES(CYC_EXCEPTION[EXCEPTION_1010] - CYC_INSTRUCTION[REG_IR]); } /* Exception for F-Line instructions */ -INLINE void m68ki_exception_1111(void) +INLINE void m68ki_exception_1111(m68ki_cpu_core *cpu) { uint sr; @@ -1813,16 +1829,16 @@ INLINE void m68ki_exception_1111(void) m68ki_disassemble_quick(ADDRESS_68K(REG_PPC)))); #endif - sr = m68ki_init_exception(); - m68ki_stack_frame_0000(REG_PPC, sr, EXCEPTION_1111); - m68ki_jump_vector(EXCEPTION_1111); + sr = m68ki_init_exception(cpu); + m68ki_stack_frame_0000(cpu, REG_PPC, sr, EXCEPTION_1111); + m68ki_jump_vector(cpu, EXCEPTION_1111); /* Use up some clock cycles and undo the instruction's cycles */ USE_CYCLES(CYC_EXCEPTION[EXCEPTION_1111] - CYC_INSTRUCTION[REG_IR]); } /* Exception for illegal instructions */ -INLINE void m68ki_exception_illegal(void) +INLINE void m68ki_exception_illegal(m68ki_cpu_core *cpu) { uint sr; @@ -1830,7 +1846,7 @@ INLINE void m68ki_exception_illegal(void) m68ki_cpu_names[CPU_TYPE], ADDRESS_68K(REG_PPC), REG_IR, m68ki_disassemble_quick(ADDRESS_68K(REG_PPC)))); - sr = m68ki_init_exception(); + sr = m68ki_init_exception(cpu); #if M68K_EMULATE_ADDRESS_ERROR == OPT_ON if(CPU_TYPE_IS_000(CPU_TYPE)) @@ -1839,28 +1855,28 @@ INLINE void m68ki_exception_illegal(void) } #endif /* M68K_EMULATE_ADDRESS_ERROR */ - m68ki_stack_frame_0000(REG_PPC, sr, EXCEPTION_ILLEGAL_INSTRUCTION); - m68ki_jump_vector(EXCEPTION_ILLEGAL_INSTRUCTION); + m68ki_stack_frame_0000(cpu, REG_PPC, sr, EXCEPTION_ILLEGAL_INSTRUCTION); + m68ki_jump_vector(cpu, EXCEPTION_ILLEGAL_INSTRUCTION); /* Use up some clock cycles and undo the instruction's cycles */ USE_CYCLES(CYC_EXCEPTION[EXCEPTION_ILLEGAL_INSTRUCTION] - CYC_INSTRUCTION[REG_IR]); } /* Exception for format errror in RTE */ -INLINE void m68ki_exception_format_error(void) +INLINE void m68ki_exception_format_error(m68ki_cpu_core *cpu) { - uint sr = m68ki_init_exception(); - m68ki_stack_frame_0000(REG_PC, sr, EXCEPTION_FORMAT_ERROR); - m68ki_jump_vector(EXCEPTION_FORMAT_ERROR); + uint sr = m68ki_init_exception(cpu); + m68ki_stack_frame_0000(cpu, REG_PC, sr, EXCEPTION_FORMAT_ERROR); + m68ki_jump_vector(cpu, EXCEPTION_FORMAT_ERROR); /* Use up some clock cycles and undo the instruction's cycles */ USE_CYCLES(CYC_EXCEPTION[EXCEPTION_FORMAT_ERROR] - CYC_INSTRUCTION[REG_IR]); } /* Exception for address error */ -INLINE void m68ki_exception_address_error(void) +INLINE void m68ki_exception_address_error(m68ki_cpu_core *cpu) { - uint sr = m68ki_init_exception(); + uint sr = m68ki_init_exception(cpu); /* If we were processing a bus error, address error, or reset, * this is a catastrophic failure. @@ -1868,16 +1884,16 @@ INLINE void m68ki_exception_address_error(void) */ if(CPU_RUN_MODE == RUN_MODE_BERR_AERR_RESET) { -m68k_read_memory_8(0x00ffff01); + m68k_read_memory_8(cpu, 0x00ffff01); CPU_STOPPED = STOP_LEVEL_HALT; return; } CPU_RUN_MODE = RUN_MODE_BERR_AERR_RESET; /* Note: This is implemented for 68000 only! */ - m68ki_stack_frame_buserr(sr); + m68ki_stack_frame_buserr(cpu, sr); - m68ki_jump_vector(EXCEPTION_ADDRESS_ERROR); + m68ki_jump_vector(cpu, EXCEPTION_ADDRESS_ERROR); /* Use up some clock cycles and undo the instruction's cycles */ USE_CYCLES(CYC_EXCEPTION[EXCEPTION_ADDRESS_ERROR] - CYC_INSTRUCTION[REG_IR]); @@ -1885,7 +1901,7 @@ m68k_read_memory_8(0x00ffff01); /* Service an interrupt request and start exception processing */ -void m68ki_exception_interrupt(uint int_level) +void m68ki_exception_interrupt(m68ki_cpu_core *cpu, uint int_level) { uint vector; uint sr; @@ -1906,7 +1922,7 @@ void m68ki_exception_interrupt(uint int_level) return; /* Acknowledge the interrupt */ - vector = m68ki_int_ack(int_level); + vector = m68ki_int_ack(cpu, int_level); /* Get the interrupt vector */ if(vector == M68K_INT_ACK_AUTOVECTOR) @@ -1923,7 +1939,7 @@ void m68ki_exception_interrupt(uint int_level) } /* Start exception processing */ - sr = m68ki_init_exception(); + sr = m68ki_init_exception(cpu); /* Set the interrupt mask to the level of the one being serviced */ FLAG_INT_MASK = int_level<<8; @@ -1936,16 +1952,16 @@ void m68ki_exception_interrupt(uint int_level) new_pc = m68ki_read_data_32((EXCEPTION_UNINITIALIZED_INTERRUPT<<2) + REG_VBR); /* Generate a stack frame */ - m68ki_stack_frame_0000(REG_PC, sr, vector); + m68ki_stack_frame_0000(cpu, REG_PC, sr, vector); if(FLAG_M && CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { /* Create throwaway frame */ - m68ki_set_sm_flag(FLAG_S); /* clear M */ + m68ki_set_sm_flag(cpu, FLAG_S); /* clear M */ sr |= 0x2000; /* Same as SR in master stack frame except S is forced high */ - m68ki_stack_frame_0001(REG_PC, sr, vector); + m68ki_stack_frame_0001(cpu, REG_PC, sr, vector); } - m68ki_jump(new_pc); + m68ki_jump(cpu, new_pc); /* Defer cycle counting until later */ CPU_INT_CYCLES += CYC_EXCEPTION[vector]; @@ -1958,10 +1974,10 @@ void m68ki_exception_interrupt(uint int_level) /* ASG: Check for interrupts */ -INLINE void m68ki_check_interrupts(void) +INLINE void m68ki_check_interrupts(m68ki_cpu_core *cpu) { if(CPU_INT_LEVEL > FLAG_INT_MASK) - m68ki_exception_interrupt(CPU_INT_LEVEL>>8); + m68ki_exception_interrupt(cpu, CPU_INT_LEVEL>>8); } diff --git a/plugins/ao/eng_ssf/m68kopac.c b/plugins/ao/eng_ssf/m68kopac.c index 535eb888..405b6bbd 100644 --- a/plugins/ao/eng_ssf/m68kopac.c +++ b/plugins/ao/eng_ssf/m68kopac.c @@ -1,3 +1,4 @@ +#include "ao.h" #include "m68kcpu.h" /* ======================================================================== */ @@ -5,19 +6,19 @@ /* ======================================================================== */ -void m68k_op_1010(void) +void m68k_op_1010(m68ki_cpu_core *cpu) { - m68ki_exception_1010(); + m68ki_exception_1010(cpu); } -void m68k_op_1111(void) +void m68k_op_1111(m68ki_cpu_core *cpu) { - m68ki_exception_1111(); + m68ki_exception_1111(cpu); } -void m68k_op_abcd_8_rr(void) +void m68k_op_abcd_8_rr(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = DY; @@ -43,9 +44,9 @@ void m68k_op_abcd_8_rr(void) } -void m68k_op_abcd_8_mm_ax7(void) +void m68k_op_abcd_8_mm_ax7(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint ea = EA_A7_PD_8(); uint dst = m68ki_read_8(ea); uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1(); @@ -69,9 +70,9 @@ void m68k_op_abcd_8_mm_ax7(void) } -void m68k_op_abcd_8_mm_ay7(void) +void m68k_op_abcd_8_mm_ay7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint ea = EA_AX_PD_8(); uint dst = m68ki_read_8(ea); uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1(); @@ -95,9 +96,9 @@ void m68k_op_abcd_8_mm_ay7(void) } -void m68k_op_abcd_8_mm_axy7(void) +void m68k_op_abcd_8_mm_axy7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint ea = EA_A7_PD_8(); uint dst = m68ki_read_8(ea); uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1(); @@ -121,9 +122,9 @@ void m68k_op_abcd_8_mm_axy7(void) } -void m68k_op_abcd_8_mm(void) +void m68k_op_abcd_8_mm(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint ea = EA_AX_PD_8(); uint dst = m68ki_read_8(ea); uint res = LOW_NIBBLE(src) + LOW_NIBBLE(dst) + XFLAG_AS_1(); @@ -147,7 +148,7 @@ void m68k_op_abcd_8_mm(void) } -void m68k_op_add_8_er_d(void) +void m68k_op_add_8_er_d(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = MASK_OUT_ABOVE_8(DY); @@ -163,10 +164,10 @@ void m68k_op_add_8_er_d(void) } -void m68k_op_add_8_er_ai(void) +void m68k_op_add_8_er_ai(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_AI_8(); + uint src = OPER_AY_AI_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = src + dst; @@ -179,10 +180,10 @@ void m68k_op_add_8_er_ai(void) } -void m68k_op_add_8_er_pi(void) +void m68k_op_add_8_er_pi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PI_8(); + uint src = OPER_AY_PI_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = src + dst; @@ -195,10 +196,10 @@ void m68k_op_add_8_er_pi(void) } -void m68k_op_add_8_er_pi7(void) +void m68k_op_add_8_er_pi7(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_A7_PI_8(); + uint src = OPER_A7_PI_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = src + dst; @@ -211,10 +212,10 @@ void m68k_op_add_8_er_pi7(void) } -void m68k_op_add_8_er_pd(void) +void m68k_op_add_8_er_pd(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = src + dst; @@ -227,10 +228,10 @@ void m68k_op_add_8_er_pd(void) } -void m68k_op_add_8_er_pd7(void) +void m68k_op_add_8_er_pd7(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = src + dst; @@ -243,10 +244,10 @@ void m68k_op_add_8_er_pd7(void) } -void m68k_op_add_8_er_di(void) +void m68k_op_add_8_er_di(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_DI_8(); + uint src = OPER_AY_DI_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = src + dst; @@ -259,10 +260,10 @@ void m68k_op_add_8_er_di(void) } -void m68k_op_add_8_er_ix(void) +void m68k_op_add_8_er_ix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_IX_8(); + uint src = OPER_AY_IX_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = src + dst; @@ -275,10 +276,10 @@ void m68k_op_add_8_er_ix(void) } -void m68k_op_add_8_er_aw(void) +void m68k_op_add_8_er_aw(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AW_8(); + uint src = OPER_AW_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = src + dst; @@ -291,10 +292,10 @@ void m68k_op_add_8_er_aw(void) } -void m68k_op_add_8_er_al(void) +void m68k_op_add_8_er_al(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AL_8(); + uint src = OPER_AL_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = src + dst; @@ -307,10 +308,10 @@ void m68k_op_add_8_er_al(void) } -void m68k_op_add_8_er_pcdi(void) +void m68k_op_add_8_er_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCDI_8(); + uint src = OPER_PCDI_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = src + dst; @@ -323,10 +324,10 @@ void m68k_op_add_8_er_pcdi(void) } -void m68k_op_add_8_er_pcix(void) +void m68k_op_add_8_er_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCIX_8(); + uint src = OPER_PCIX_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = src + dst; @@ -339,7 +340,7 @@ void m68k_op_add_8_er_pcix(void) } -void m68k_op_add_8_er_i(void) +void m68k_op_add_8_er_i(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = OPER_I_8(); @@ -355,7 +356,7 @@ void m68k_op_add_8_er_i(void) } -void m68k_op_add_16_er_d(void) +void m68k_op_add_16_er_d(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = MASK_OUT_ABOVE_16(DY); @@ -371,7 +372,7 @@ void m68k_op_add_16_er_d(void) } -void m68k_op_add_16_er_a(void) +void m68k_op_add_16_er_a(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = MASK_OUT_ABOVE_16(AY); @@ -387,10 +388,10 @@ void m68k_op_add_16_er_a(void) } -void m68k_op_add_16_er_ai(void) +void m68k_op_add_16_er_ai(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_AI_16(); + uint src = OPER_AY_AI_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = src + dst; @@ -403,10 +404,10 @@ void m68k_op_add_16_er_ai(void) } -void m68k_op_add_16_er_pi(void) +void m68k_op_add_16_er_pi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PI_16(); + uint src = OPER_AY_PI_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = src + dst; @@ -419,10 +420,10 @@ void m68k_op_add_16_er_pi(void) } -void m68k_op_add_16_er_pd(void) +void m68k_op_add_16_er_pd(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PD_16(); + uint src = OPER_AY_PD_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = src + dst; @@ -435,10 +436,10 @@ void m68k_op_add_16_er_pd(void) } -void m68k_op_add_16_er_di(void) +void m68k_op_add_16_er_di(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_DI_16(); + uint src = OPER_AY_DI_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = src + dst; @@ -451,10 +452,10 @@ void m68k_op_add_16_er_di(void) } -void m68k_op_add_16_er_ix(void) +void m68k_op_add_16_er_ix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_IX_16(); + uint src = OPER_AY_IX_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = src + dst; @@ -467,10 +468,10 @@ void m68k_op_add_16_er_ix(void) } -void m68k_op_add_16_er_aw(void) +void m68k_op_add_16_er_aw(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AW_16(); + uint src = OPER_AW_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = src + dst; @@ -483,10 +484,10 @@ void m68k_op_add_16_er_aw(void) } -void m68k_op_add_16_er_al(void) +void m68k_op_add_16_er_al(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AL_16(); + uint src = OPER_AL_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = src + dst; @@ -499,10 +500,10 @@ void m68k_op_add_16_er_al(void) } -void m68k_op_add_16_er_pcdi(void) +void m68k_op_add_16_er_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCDI_16(); + uint src = OPER_PCDI_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = src + dst; @@ -515,10 +516,10 @@ void m68k_op_add_16_er_pcdi(void) } -void m68k_op_add_16_er_pcix(void) +void m68k_op_add_16_er_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCIX_16(); + uint src = OPER_PCIX_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = src + dst; @@ -531,7 +532,7 @@ void m68k_op_add_16_er_pcix(void) } -void m68k_op_add_16_er_i(void) +void m68k_op_add_16_er_i(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = OPER_I_16(); @@ -547,7 +548,7 @@ void m68k_op_add_16_er_i(void) } -void m68k_op_add_32_er_d(void) +void m68k_op_add_32_er_d(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = DY; @@ -563,7 +564,7 @@ void m68k_op_add_32_er_d(void) } -void m68k_op_add_32_er_a(void) +void m68k_op_add_32_er_a(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = AY; @@ -579,10 +580,10 @@ void m68k_op_add_32_er_a(void) } -void m68k_op_add_32_er_ai(void) +void m68k_op_add_32_er_ai(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_AI_32(); + uint src = OPER_AY_AI_32(cpu); uint dst = *r_dst; uint res = src + dst; @@ -595,10 +596,10 @@ void m68k_op_add_32_er_ai(void) } -void m68k_op_add_32_er_pi(void) +void m68k_op_add_32_er_pi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PI_32(); + uint src = OPER_AY_PI_32(cpu); uint dst = *r_dst; uint res = src + dst; @@ -611,10 +612,10 @@ void m68k_op_add_32_er_pi(void) } -void m68k_op_add_32_er_pd(void) +void m68k_op_add_32_er_pd(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PD_32(); + uint src = OPER_AY_PD_32(cpu); uint dst = *r_dst; uint res = src + dst; @@ -627,10 +628,10 @@ void m68k_op_add_32_er_pd(void) } -void m68k_op_add_32_er_di(void) +void m68k_op_add_32_er_di(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_DI_32(); + uint src = OPER_AY_DI_32(cpu); uint dst = *r_dst; uint res = src + dst; @@ -643,10 +644,10 @@ void m68k_op_add_32_er_di(void) } -void m68k_op_add_32_er_ix(void) +void m68k_op_add_32_er_ix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_IX_32(); + uint src = OPER_AY_IX_32(cpu); uint dst = *r_dst; uint res = src + dst; @@ -659,10 +660,10 @@ void m68k_op_add_32_er_ix(void) } -void m68k_op_add_32_er_aw(void) +void m68k_op_add_32_er_aw(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AW_32(); + uint src = OPER_AW_32(cpu); uint dst = *r_dst; uint res = src + dst; @@ -675,10 +676,10 @@ void m68k_op_add_32_er_aw(void) } -void m68k_op_add_32_er_al(void) +void m68k_op_add_32_er_al(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AL_32(); + uint src = OPER_AL_32(cpu); uint dst = *r_dst; uint res = src + dst; @@ -691,10 +692,10 @@ void m68k_op_add_32_er_al(void) } -void m68k_op_add_32_er_pcdi(void) +void m68k_op_add_32_er_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCDI_32(); + uint src = OPER_PCDI_32(cpu); uint dst = *r_dst; uint res = src + dst; @@ -707,10 +708,10 @@ void m68k_op_add_32_er_pcdi(void) } -void m68k_op_add_32_er_pcix(void) +void m68k_op_add_32_er_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCIX_32(); + uint src = OPER_PCIX_32(cpu); uint dst = *r_dst; uint res = src + dst; @@ -723,7 +724,7 @@ void m68k_op_add_32_er_pcix(void) } -void m68k_op_add_32_er_i(void) +void m68k_op_add_32_er_i(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = OPER_I_32(); @@ -739,7 +740,7 @@ void m68k_op_add_32_er_i(void) } -void m68k_op_add_8_re_ai(void) +void m68k_op_add_8_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -755,7 +756,7 @@ void m68k_op_add_8_re_ai(void) } -void m68k_op_add_8_re_pi(void) +void m68k_op_add_8_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -771,7 +772,7 @@ void m68k_op_add_8_re_pi(void) } -void m68k_op_add_8_re_pi7(void) +void m68k_op_add_8_re_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -787,7 +788,7 @@ void m68k_op_add_8_re_pi7(void) } -void m68k_op_add_8_re_pd(void) +void m68k_op_add_8_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -803,7 +804,7 @@ void m68k_op_add_8_re_pd(void) } -void m68k_op_add_8_re_pd7(void) +void m68k_op_add_8_re_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -819,7 +820,7 @@ void m68k_op_add_8_re_pd7(void) } -void m68k_op_add_8_re_di(void) +void m68k_op_add_8_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -835,7 +836,7 @@ void m68k_op_add_8_re_di(void) } -void m68k_op_add_8_re_ix(void) +void m68k_op_add_8_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -851,7 +852,7 @@ void m68k_op_add_8_re_ix(void) } -void m68k_op_add_8_re_aw(void) +void m68k_op_add_8_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -867,7 +868,7 @@ void m68k_op_add_8_re_aw(void) } -void m68k_op_add_8_re_al(void) +void m68k_op_add_8_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -883,7 +884,7 @@ void m68k_op_add_8_re_al(void) } -void m68k_op_add_16_re_ai(void) +void m68k_op_add_16_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -899,7 +900,7 @@ void m68k_op_add_16_re_ai(void) } -void m68k_op_add_16_re_pi(void) +void m68k_op_add_16_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -915,7 +916,7 @@ void m68k_op_add_16_re_pi(void) } -void m68k_op_add_16_re_pd(void) +void m68k_op_add_16_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -931,7 +932,7 @@ void m68k_op_add_16_re_pd(void) } -void m68k_op_add_16_re_di(void) +void m68k_op_add_16_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -947,7 +948,7 @@ void m68k_op_add_16_re_di(void) } -void m68k_op_add_16_re_ix(void) +void m68k_op_add_16_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -963,7 +964,7 @@ void m68k_op_add_16_re_ix(void) } -void m68k_op_add_16_re_aw(void) +void m68k_op_add_16_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -979,7 +980,7 @@ void m68k_op_add_16_re_aw(void) } -void m68k_op_add_16_re_al(void) +void m68k_op_add_16_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -995,7 +996,7 @@ void m68k_op_add_16_re_al(void) } -void m68k_op_add_32_re_ai(void) +void m68k_op_add_32_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_32(); uint src = DX; @@ -1011,7 +1012,7 @@ void m68k_op_add_32_re_ai(void) } -void m68k_op_add_32_re_pi(void) +void m68k_op_add_32_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_32(); uint src = DX; @@ -1027,7 +1028,7 @@ void m68k_op_add_32_re_pi(void) } -void m68k_op_add_32_re_pd(void) +void m68k_op_add_32_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_32(); uint src = DX; @@ -1043,7 +1044,7 @@ void m68k_op_add_32_re_pd(void) } -void m68k_op_add_32_re_di(void) +void m68k_op_add_32_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); uint src = DX; @@ -1059,7 +1060,7 @@ void m68k_op_add_32_re_di(void) } -void m68k_op_add_32_re_ix(void) +void m68k_op_add_32_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_32(); uint src = DX; @@ -1075,7 +1076,7 @@ void m68k_op_add_32_re_ix(void) } -void m68k_op_add_32_re_aw(void) +void m68k_op_add_32_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_32(); uint src = DX; @@ -1091,7 +1092,7 @@ void m68k_op_add_32_re_aw(void) } -void m68k_op_add_32_re_al(void) +void m68k_op_add_32_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_32(); uint src = DX; @@ -1107,7 +1108,7 @@ void m68k_op_add_32_re_al(void) } -void m68k_op_adda_16_d(void) +void m68k_op_adda_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -1115,7 +1116,7 @@ void m68k_op_adda_16_d(void) } -void m68k_op_adda_16_a(void) +void m68k_op_adda_16_a(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -1123,79 +1124,79 @@ void m68k_op_adda_16_a(void) } -void m68k_op_adda_16_ai(void) +void m68k_op_adda_16_ai(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AY_AI_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AY_AI_16(cpu))); } -void m68k_op_adda_16_pi(void) +void m68k_op_adda_16_pi(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AY_PI_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AY_PI_16(cpu))); } -void m68k_op_adda_16_pd(void) +void m68k_op_adda_16_pd(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AY_PD_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AY_PD_16(cpu))); } -void m68k_op_adda_16_di(void) +void m68k_op_adda_16_di(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AY_DI_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AY_DI_16(cpu))); } -void m68k_op_adda_16_ix(void) +void m68k_op_adda_16_ix(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AY_IX_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AY_IX_16(cpu))); } -void m68k_op_adda_16_aw(void) +void m68k_op_adda_16_aw(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AW_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AW_16(cpu))); } -void m68k_op_adda_16_al(void) +void m68k_op_adda_16_al(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AL_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_AL_16(cpu))); } -void m68k_op_adda_16_pcdi(void) +void m68k_op_adda_16_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_PCDI_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_PCDI_16(cpu))); } -void m68k_op_adda_16_pcix(void) +void m68k_op_adda_16_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_PCIX_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + MAKE_INT_16(OPER_PCIX_16(cpu))); } -void m68k_op_adda_16_i(void) +void m68k_op_adda_16_i(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -1203,7 +1204,7 @@ void m68k_op_adda_16_i(void) } -void m68k_op_adda_32_d(void) +void m68k_op_adda_32_d(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -1211,7 +1212,7 @@ void m68k_op_adda_32_d(void) } -void m68k_op_adda_32_a(void) +void m68k_op_adda_32_a(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -1219,79 +1220,79 @@ void m68k_op_adda_32_a(void) } -void m68k_op_adda_32_ai(void) +void m68k_op_adda_32_ai(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AY_AI_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AY_AI_32(cpu)); } -void m68k_op_adda_32_pi(void) +void m68k_op_adda_32_pi(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AY_PI_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AY_PI_32(cpu)); } -void m68k_op_adda_32_pd(void) +void m68k_op_adda_32_pd(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AY_PD_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AY_PD_32(cpu)); } -void m68k_op_adda_32_di(void) +void m68k_op_adda_32_di(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AY_DI_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AY_DI_32(cpu)); } -void m68k_op_adda_32_ix(void) +void m68k_op_adda_32_ix(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AY_IX_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AY_IX_32(cpu)); } -void m68k_op_adda_32_aw(void) +void m68k_op_adda_32_aw(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AW_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AW_32(cpu)); } -void m68k_op_adda_32_al(void) +void m68k_op_adda_32_al(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AL_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_AL_32(cpu)); } -void m68k_op_adda_32_pcdi(void) +void m68k_op_adda_32_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_PCDI_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_PCDI_32(cpu)); } -void m68k_op_adda_32_pcix(void) +void m68k_op_adda_32_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_PCIX_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst + OPER_PCIX_32(cpu)); } -void m68k_op_adda_32_i(void) +void m68k_op_adda_32_i(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -1299,7 +1300,7 @@ void m68k_op_adda_32_i(void) } -void m68k_op_addi_8_d(void) +void m68k_op_addi_8_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = OPER_I_8(); @@ -1315,7 +1316,7 @@ void m68k_op_addi_8_d(void) } -void m68k_op_addi_8_ai(void) +void m68k_op_addi_8_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_AI_8(); @@ -1331,7 +1332,7 @@ void m68k_op_addi_8_ai(void) } -void m68k_op_addi_8_pi(void) +void m68k_op_addi_8_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_PI_8(); @@ -1347,7 +1348,7 @@ void m68k_op_addi_8_pi(void) } -void m68k_op_addi_8_pi7(void) +void m68k_op_addi_8_pi7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_A7_PI_8(); @@ -1363,7 +1364,7 @@ void m68k_op_addi_8_pi7(void) } -void m68k_op_addi_8_pd(void) +void m68k_op_addi_8_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_PD_8(); @@ -1379,7 +1380,7 @@ void m68k_op_addi_8_pd(void) } -void m68k_op_addi_8_pd7(void) +void m68k_op_addi_8_pd7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_A7_PD_8(); @@ -1395,7 +1396,7 @@ void m68k_op_addi_8_pd7(void) } -void m68k_op_addi_8_di(void) +void m68k_op_addi_8_di(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_DI_8(); @@ -1411,7 +1412,7 @@ void m68k_op_addi_8_di(void) } -void m68k_op_addi_8_ix(void) +void m68k_op_addi_8_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_IX_8(); @@ -1427,7 +1428,7 @@ void m68k_op_addi_8_ix(void) } -void m68k_op_addi_8_aw(void) +void m68k_op_addi_8_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AW_8(); @@ -1443,7 +1444,7 @@ void m68k_op_addi_8_aw(void) } -void m68k_op_addi_8_al(void) +void m68k_op_addi_8_al(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AL_8(); @@ -1459,7 +1460,7 @@ void m68k_op_addi_8_al(void) } -void m68k_op_addi_16_d(void) +void m68k_op_addi_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = OPER_I_16(); @@ -1475,7 +1476,7 @@ void m68k_op_addi_16_d(void) } -void m68k_op_addi_16_ai(void) +void m68k_op_addi_16_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_AI_16(); @@ -1491,7 +1492,7 @@ void m68k_op_addi_16_ai(void) } -void m68k_op_addi_16_pi(void) +void m68k_op_addi_16_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_PI_16(); @@ -1507,7 +1508,7 @@ void m68k_op_addi_16_pi(void) } -void m68k_op_addi_16_pd(void) +void m68k_op_addi_16_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_PD_16(); @@ -1523,7 +1524,7 @@ void m68k_op_addi_16_pd(void) } -void m68k_op_addi_16_di(void) +void m68k_op_addi_16_di(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_DI_16(); @@ -1539,7 +1540,7 @@ void m68k_op_addi_16_di(void) } -void m68k_op_addi_16_ix(void) +void m68k_op_addi_16_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_IX_16(); @@ -1555,7 +1556,7 @@ void m68k_op_addi_16_ix(void) } -void m68k_op_addi_16_aw(void) +void m68k_op_addi_16_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AW_16(); @@ -1571,7 +1572,7 @@ void m68k_op_addi_16_aw(void) } -void m68k_op_addi_16_al(void) +void m68k_op_addi_16_al(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AL_16(); @@ -1587,7 +1588,7 @@ void m68k_op_addi_16_al(void) } -void m68k_op_addi_32_d(void) +void m68k_op_addi_32_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = OPER_I_32(); @@ -1603,7 +1604,7 @@ void m68k_op_addi_32_d(void) } -void m68k_op_addi_32_ai(void) +void m68k_op_addi_32_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_AI_32(); @@ -1619,7 +1620,7 @@ void m68k_op_addi_32_ai(void) } -void m68k_op_addi_32_pi(void) +void m68k_op_addi_32_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_PI_32(); @@ -1635,7 +1636,7 @@ void m68k_op_addi_32_pi(void) } -void m68k_op_addi_32_pd(void) +void m68k_op_addi_32_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_PD_32(); @@ -1651,7 +1652,7 @@ void m68k_op_addi_32_pd(void) } -void m68k_op_addi_32_di(void) +void m68k_op_addi_32_di(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_DI_32(); @@ -1667,7 +1668,7 @@ void m68k_op_addi_32_di(void) } -void m68k_op_addi_32_ix(void) +void m68k_op_addi_32_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_IX_32(); @@ -1683,7 +1684,7 @@ void m68k_op_addi_32_ix(void) } -void m68k_op_addi_32_aw(void) +void m68k_op_addi_32_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AW_32(); @@ -1699,7 +1700,7 @@ void m68k_op_addi_32_aw(void) } -void m68k_op_addi_32_al(void) +void m68k_op_addi_32_al(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AL_32(); @@ -1715,7 +1716,7 @@ void m68k_op_addi_32_al(void) } -void m68k_op_addq_8_d(void) +void m68k_op_addq_8_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = (((REG_IR >> 9) - 1) & 7) + 1; @@ -1731,7 +1732,7 @@ void m68k_op_addq_8_d(void) } -void m68k_op_addq_8_ai(void) +void m68k_op_addq_8_ai(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_AI_8(); @@ -1747,7 +1748,7 @@ void m68k_op_addq_8_ai(void) } -void m68k_op_addq_8_pi(void) +void m68k_op_addq_8_pi(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PI_8(); @@ -1763,7 +1764,7 @@ void m68k_op_addq_8_pi(void) } -void m68k_op_addq_8_pi7(void) +void m68k_op_addq_8_pi7(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_A7_PI_8(); @@ -1779,7 +1780,7 @@ void m68k_op_addq_8_pi7(void) } -void m68k_op_addq_8_pd(void) +void m68k_op_addq_8_pd(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PD_8(); @@ -1795,7 +1796,7 @@ void m68k_op_addq_8_pd(void) } -void m68k_op_addq_8_pd7(void) +void m68k_op_addq_8_pd7(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_A7_PD_8(); @@ -1811,7 +1812,7 @@ void m68k_op_addq_8_pd7(void) } -void m68k_op_addq_8_di(void) +void m68k_op_addq_8_di(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_DI_8(); @@ -1827,7 +1828,7 @@ void m68k_op_addq_8_di(void) } -void m68k_op_addq_8_ix(void) +void m68k_op_addq_8_ix(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_IX_8(); @@ -1843,7 +1844,7 @@ void m68k_op_addq_8_ix(void) } -void m68k_op_addq_8_aw(void) +void m68k_op_addq_8_aw(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AW_8(); @@ -1859,7 +1860,7 @@ void m68k_op_addq_8_aw(void) } -void m68k_op_addq_8_al(void) +void m68k_op_addq_8_al(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AL_8(); @@ -1875,7 +1876,7 @@ void m68k_op_addq_8_al(void) } -void m68k_op_addq_16_d(void) +void m68k_op_addq_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = (((REG_IR >> 9) - 1) & 7) + 1; @@ -1891,7 +1892,7 @@ void m68k_op_addq_16_d(void) } -void m68k_op_addq_16_a(void) +void m68k_op_addq_16_a(m68ki_cpu_core *cpu) { uint* r_dst = &AY; @@ -1899,7 +1900,7 @@ void m68k_op_addq_16_a(void) } -void m68k_op_addq_16_ai(void) +void m68k_op_addq_16_ai(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_AI_16(); @@ -1915,7 +1916,7 @@ void m68k_op_addq_16_ai(void) } -void m68k_op_addq_16_pi(void) +void m68k_op_addq_16_pi(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PI_16(); @@ -1931,7 +1932,7 @@ void m68k_op_addq_16_pi(void) } -void m68k_op_addq_16_pd(void) +void m68k_op_addq_16_pd(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PD_16(); @@ -1947,7 +1948,7 @@ void m68k_op_addq_16_pd(void) } -void m68k_op_addq_16_di(void) +void m68k_op_addq_16_di(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_DI_16(); @@ -1963,7 +1964,7 @@ void m68k_op_addq_16_di(void) } -void m68k_op_addq_16_ix(void) +void m68k_op_addq_16_ix(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_IX_16(); @@ -1979,7 +1980,7 @@ void m68k_op_addq_16_ix(void) } -void m68k_op_addq_16_aw(void) +void m68k_op_addq_16_aw(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AW_16(); @@ -1995,7 +1996,7 @@ void m68k_op_addq_16_aw(void) } -void m68k_op_addq_16_al(void) +void m68k_op_addq_16_al(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AL_16(); @@ -2011,7 +2012,7 @@ void m68k_op_addq_16_al(void) } -void m68k_op_addq_32_d(void) +void m68k_op_addq_32_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = (((REG_IR >> 9) - 1) & 7) + 1; @@ -2027,7 +2028,7 @@ void m68k_op_addq_32_d(void) } -void m68k_op_addq_32_a(void) +void m68k_op_addq_32_a(m68ki_cpu_core *cpu) { uint* r_dst = &AY; @@ -2035,7 +2036,7 @@ void m68k_op_addq_32_a(void) } -void m68k_op_addq_32_ai(void) +void m68k_op_addq_32_ai(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_AI_32(); @@ -2052,7 +2053,7 @@ void m68k_op_addq_32_ai(void) } -void m68k_op_addq_32_pi(void) +void m68k_op_addq_32_pi(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PI_32(); @@ -2069,7 +2070,7 @@ void m68k_op_addq_32_pi(void) } -void m68k_op_addq_32_pd(void) +void m68k_op_addq_32_pd(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PD_32(); @@ -2086,7 +2087,7 @@ void m68k_op_addq_32_pd(void) } -void m68k_op_addq_32_di(void) +void m68k_op_addq_32_di(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_DI_32(); @@ -2103,7 +2104,7 @@ void m68k_op_addq_32_di(void) } -void m68k_op_addq_32_ix(void) +void m68k_op_addq_32_ix(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_IX_32(); @@ -2120,7 +2121,7 @@ void m68k_op_addq_32_ix(void) } -void m68k_op_addq_32_aw(void) +void m68k_op_addq_32_aw(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AW_32(); @@ -2137,7 +2138,7 @@ void m68k_op_addq_32_aw(void) } -void m68k_op_addq_32_al(void) +void m68k_op_addq_32_al(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AL_32(); @@ -2154,7 +2155,7 @@ void m68k_op_addq_32_al(void) } -void m68k_op_addx_8_rr(void) +void m68k_op_addx_8_rr(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = MASK_OUT_ABOVE_8(DY); @@ -2172,7 +2173,7 @@ void m68k_op_addx_8_rr(void) } -void m68k_op_addx_16_rr(void) +void m68k_op_addx_16_rr(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = MASK_OUT_ABOVE_16(DY); @@ -2190,7 +2191,7 @@ void m68k_op_addx_16_rr(void) } -void m68k_op_addx_32_rr(void) +void m68k_op_addx_32_rr(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = DY; @@ -2208,9 +2209,9 @@ void m68k_op_addx_32_rr(void) } -void m68k_op_addx_8_mm_ax7(void) +void m68k_op_addx_8_mm_ax7(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint ea = EA_A7_PD_8(); uint dst = m68ki_read_8(ea); uint res = src + dst + XFLAG_AS_1(); @@ -2226,9 +2227,9 @@ void m68k_op_addx_8_mm_ax7(void) } -void m68k_op_addx_8_mm_ay7(void) +void m68k_op_addx_8_mm_ay7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint ea = EA_AX_PD_8(); uint dst = m68ki_read_8(ea); uint res = src + dst + XFLAG_AS_1(); @@ -2244,9 +2245,9 @@ void m68k_op_addx_8_mm_ay7(void) } -void m68k_op_addx_8_mm_axy7(void) +void m68k_op_addx_8_mm_axy7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint ea = EA_A7_PD_8(); uint dst = m68ki_read_8(ea); uint res = src + dst + XFLAG_AS_1(); @@ -2262,9 +2263,9 @@ void m68k_op_addx_8_mm_axy7(void) } -void m68k_op_addx_8_mm(void) +void m68k_op_addx_8_mm(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint ea = EA_AX_PD_8(); uint dst = m68ki_read_8(ea); uint res = src + dst + XFLAG_AS_1(); @@ -2280,9 +2281,9 @@ void m68k_op_addx_8_mm(void) } -void m68k_op_addx_16_mm(void) +void m68k_op_addx_16_mm(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_16(); + uint src = OPER_AY_PD_16(cpu); uint ea = EA_AX_PD_16(); uint dst = m68ki_read_16(ea); uint res = src + dst + XFLAG_AS_1(); @@ -2298,9 +2299,9 @@ void m68k_op_addx_16_mm(void) } -void m68k_op_addx_32_mm(void) +void m68k_op_addx_32_mm(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_32(); + uint src = OPER_AY_PD_32(cpu); uint ea = EA_AX_PD_32(); uint dst = m68ki_read_32(ea); uint res = src + dst + XFLAG_AS_1(); @@ -2316,7 +2317,7 @@ void m68k_op_addx_32_mm(void) } -void m68k_op_and_8_er_d(void) +void m68k_op_and_8_er_d(m68ki_cpu_core *cpu) { FLAG_Z = MASK_OUT_ABOVE_8(DX &= (DY | 0xffffff00)); @@ -2326,9 +2327,9 @@ void m68k_op_and_8_er_d(void) } -void m68k_op_and_8_er_ai(void) +void m68k_op_and_8_er_ai(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AY_AI_8() | 0xffffff00)); + FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AY_AI_8(cpu) | 0xffffff00)); FLAG_N = NFLAG_8(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2336,9 +2337,9 @@ void m68k_op_and_8_er_ai(void) } -void m68k_op_and_8_er_pi(void) +void m68k_op_and_8_er_pi(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AY_PI_8() | 0xffffff00)); + FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AY_PI_8(cpu) | 0xffffff00)); FLAG_N = NFLAG_8(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2346,9 +2347,9 @@ void m68k_op_and_8_er_pi(void) } -void m68k_op_and_8_er_pi7(void) +void m68k_op_and_8_er_pi7(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_A7_PI_8() | 0xffffff00)); + FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_A7_PI_8(cpu) | 0xffffff00)); FLAG_N = NFLAG_8(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2356,9 +2357,9 @@ void m68k_op_and_8_er_pi7(void) } -void m68k_op_and_8_er_pd(void) +void m68k_op_and_8_er_pd(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AY_PD_8() | 0xffffff00)); + FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AY_PD_8(cpu) | 0xffffff00)); FLAG_N = NFLAG_8(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2366,9 +2367,9 @@ void m68k_op_and_8_er_pd(void) } -void m68k_op_and_8_er_pd7(void) +void m68k_op_and_8_er_pd7(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_A7_PD_8() | 0xffffff00)); + FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_A7_PD_8(cpu) | 0xffffff00)); FLAG_N = NFLAG_8(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2376,9 +2377,9 @@ void m68k_op_and_8_er_pd7(void) } -void m68k_op_and_8_er_di(void) +void m68k_op_and_8_er_di(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AY_DI_8() | 0xffffff00)); + FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AY_DI_8(cpu) | 0xffffff00)); FLAG_N = NFLAG_8(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2386,9 +2387,9 @@ void m68k_op_and_8_er_di(void) } -void m68k_op_and_8_er_ix(void) +void m68k_op_and_8_er_ix(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AY_IX_8() | 0xffffff00)); + FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AY_IX_8(cpu) | 0xffffff00)); FLAG_N = NFLAG_8(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2396,9 +2397,9 @@ void m68k_op_and_8_er_ix(void) } -void m68k_op_and_8_er_aw(void) +void m68k_op_and_8_er_aw(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AW_8() | 0xffffff00)); + FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AW_8(cpu) | 0xffffff00)); FLAG_N = NFLAG_8(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2406,9 +2407,9 @@ void m68k_op_and_8_er_aw(void) } -void m68k_op_and_8_er_al(void) +void m68k_op_and_8_er_al(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AL_8() | 0xffffff00)); + FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_AL_8(cpu) | 0xffffff00)); FLAG_N = NFLAG_8(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2416,9 +2417,9 @@ void m68k_op_and_8_er_al(void) } -void m68k_op_and_8_er_pcdi(void) +void m68k_op_and_8_er_pcdi(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_PCDI_8() | 0xffffff00)); + FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_PCDI_8(cpu) | 0xffffff00)); FLAG_N = NFLAG_8(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2426,9 +2427,9 @@ void m68k_op_and_8_er_pcdi(void) } -void m68k_op_and_8_er_pcix(void) +void m68k_op_and_8_er_pcix(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_PCIX_8() | 0xffffff00)); + FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_PCIX_8(cpu) | 0xffffff00)); FLAG_N = NFLAG_8(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2436,7 +2437,7 @@ void m68k_op_and_8_er_pcix(void) } -void m68k_op_and_8_er_i(void) +void m68k_op_and_8_er_i(m68ki_cpu_core *cpu) { FLAG_Z = MASK_OUT_ABOVE_8(DX &= (OPER_I_8() | 0xffffff00)); @@ -2446,7 +2447,7 @@ void m68k_op_and_8_er_i(void) } -void m68k_op_and_16_er_d(void) +void m68k_op_and_16_er_d(m68ki_cpu_core *cpu) { FLAG_Z = MASK_OUT_ABOVE_16(DX &= (DY | 0xffff0000)); @@ -2456,9 +2457,9 @@ void m68k_op_and_16_er_d(void) } -void m68k_op_and_16_er_ai(void) +void m68k_op_and_16_er_ai(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AY_AI_16() | 0xffff0000)); + FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AY_AI_16(cpu) | 0xffff0000)); FLAG_N = NFLAG_16(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2466,9 +2467,9 @@ void m68k_op_and_16_er_ai(void) } -void m68k_op_and_16_er_pi(void) +void m68k_op_and_16_er_pi(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AY_PI_16() | 0xffff0000)); + FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AY_PI_16(cpu) | 0xffff0000)); FLAG_N = NFLAG_16(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2476,9 +2477,9 @@ void m68k_op_and_16_er_pi(void) } -void m68k_op_and_16_er_pd(void) +void m68k_op_and_16_er_pd(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AY_PD_16() | 0xffff0000)); + FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AY_PD_16(cpu) | 0xffff0000)); FLAG_N = NFLAG_16(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2486,9 +2487,9 @@ void m68k_op_and_16_er_pd(void) } -void m68k_op_and_16_er_di(void) +void m68k_op_and_16_er_di(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AY_DI_16() | 0xffff0000)); + FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AY_DI_16(cpu) | 0xffff0000)); FLAG_N = NFLAG_16(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2496,9 +2497,9 @@ void m68k_op_and_16_er_di(void) } -void m68k_op_and_16_er_ix(void) +void m68k_op_and_16_er_ix(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AY_IX_16() | 0xffff0000)); + FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AY_IX_16(cpu) | 0xffff0000)); FLAG_N = NFLAG_16(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2506,9 +2507,9 @@ void m68k_op_and_16_er_ix(void) } -void m68k_op_and_16_er_aw(void) +void m68k_op_and_16_er_aw(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AW_16() | 0xffff0000)); + FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AW_16(cpu) | 0xffff0000)); FLAG_N = NFLAG_16(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2516,9 +2517,9 @@ void m68k_op_and_16_er_aw(void) } -void m68k_op_and_16_er_al(void) +void m68k_op_and_16_er_al(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AL_16() | 0xffff0000)); + FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_AL_16(cpu) | 0xffff0000)); FLAG_N = NFLAG_16(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2526,9 +2527,9 @@ void m68k_op_and_16_er_al(void) } -void m68k_op_and_16_er_pcdi(void) +void m68k_op_and_16_er_pcdi(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_PCDI_16() | 0xffff0000)); + FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_PCDI_16(cpu) | 0xffff0000)); FLAG_N = NFLAG_16(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2536,9 +2537,9 @@ void m68k_op_and_16_er_pcdi(void) } -void m68k_op_and_16_er_pcix(void) +void m68k_op_and_16_er_pcix(m68ki_cpu_core *cpu) { - FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_PCIX_16() | 0xffff0000)); + FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_PCIX_16(cpu) | 0xffff0000)); FLAG_N = NFLAG_16(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2546,7 +2547,7 @@ void m68k_op_and_16_er_pcix(void) } -void m68k_op_and_16_er_i(void) +void m68k_op_and_16_er_i(m68ki_cpu_core *cpu) { FLAG_Z = MASK_OUT_ABOVE_16(DX &= (OPER_I_16() | 0xffff0000)); @@ -2556,7 +2557,7 @@ void m68k_op_and_16_er_i(void) } -void m68k_op_and_32_er_d(void) +void m68k_op_and_32_er_d(m68ki_cpu_core *cpu) { FLAG_Z = DX &= DY; @@ -2566,9 +2567,9 @@ void m68k_op_and_32_er_d(void) } -void m68k_op_and_32_er_ai(void) +void m68k_op_and_32_er_ai(m68ki_cpu_core *cpu) { - FLAG_Z = DX &= OPER_AY_AI_32(); + FLAG_Z = DX &= OPER_AY_AI_32(cpu); FLAG_N = NFLAG_32(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2576,9 +2577,9 @@ void m68k_op_and_32_er_ai(void) } -void m68k_op_and_32_er_pi(void) +void m68k_op_and_32_er_pi(m68ki_cpu_core *cpu) { - FLAG_Z = DX &= OPER_AY_PI_32(); + FLAG_Z = DX &= OPER_AY_PI_32(cpu); FLAG_N = NFLAG_32(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2586,9 +2587,9 @@ void m68k_op_and_32_er_pi(void) } -void m68k_op_and_32_er_pd(void) +void m68k_op_and_32_er_pd(m68ki_cpu_core *cpu) { - FLAG_Z = DX &= OPER_AY_PD_32(); + FLAG_Z = DX &= OPER_AY_PD_32(cpu); FLAG_N = NFLAG_32(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2596,9 +2597,9 @@ void m68k_op_and_32_er_pd(void) } -void m68k_op_and_32_er_di(void) +void m68k_op_and_32_er_di(m68ki_cpu_core *cpu) { - FLAG_Z = DX &= OPER_AY_DI_32(); + FLAG_Z = DX &= OPER_AY_DI_32(cpu); FLAG_N = NFLAG_32(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2606,9 +2607,9 @@ void m68k_op_and_32_er_di(void) } -void m68k_op_and_32_er_ix(void) +void m68k_op_and_32_er_ix(m68ki_cpu_core *cpu) { - FLAG_Z = DX &= OPER_AY_IX_32(); + FLAG_Z = DX &= OPER_AY_IX_32(cpu); FLAG_N = NFLAG_32(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2616,9 +2617,9 @@ void m68k_op_and_32_er_ix(void) } -void m68k_op_and_32_er_aw(void) +void m68k_op_and_32_er_aw(m68ki_cpu_core *cpu) { - FLAG_Z = DX &= OPER_AW_32(); + FLAG_Z = DX &= OPER_AW_32(cpu); FLAG_N = NFLAG_32(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2626,9 +2627,9 @@ void m68k_op_and_32_er_aw(void) } -void m68k_op_and_32_er_al(void) +void m68k_op_and_32_er_al(m68ki_cpu_core *cpu) { - FLAG_Z = DX &= OPER_AL_32(); + FLAG_Z = DX &= OPER_AL_32(cpu); FLAG_N = NFLAG_32(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2636,9 +2637,9 @@ void m68k_op_and_32_er_al(void) } -void m68k_op_and_32_er_pcdi(void) +void m68k_op_and_32_er_pcdi(m68ki_cpu_core *cpu) { - FLAG_Z = DX &= OPER_PCDI_32(); + FLAG_Z = DX &= OPER_PCDI_32(cpu); FLAG_N = NFLAG_32(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2646,9 +2647,9 @@ void m68k_op_and_32_er_pcdi(void) } -void m68k_op_and_32_er_pcix(void) +void m68k_op_and_32_er_pcix(m68ki_cpu_core *cpu) { - FLAG_Z = DX &= OPER_PCIX_32(); + FLAG_Z = DX &= OPER_PCIX_32(cpu); FLAG_N = NFLAG_32(FLAG_Z); FLAG_C = CFLAG_CLEAR; @@ -2656,7 +2657,7 @@ void m68k_op_and_32_er_pcix(void) } -void m68k_op_and_32_er_i(void) +void m68k_op_and_32_er_i(m68ki_cpu_core *cpu) { FLAG_Z = DX &= OPER_I_32(); @@ -2666,7 +2667,7 @@ void m68k_op_and_32_er_i(void) } -void m68k_op_and_8_re_ai(void) +void m68k_op_and_8_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint res = DX & m68ki_read_8(ea); @@ -2680,7 +2681,7 @@ void m68k_op_and_8_re_ai(void) } -void m68k_op_and_8_re_pi(void) +void m68k_op_and_8_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint res = DX & m68ki_read_8(ea); @@ -2694,7 +2695,7 @@ void m68k_op_and_8_re_pi(void) } -void m68k_op_and_8_re_pi7(void) +void m68k_op_and_8_re_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint res = DX & m68ki_read_8(ea); @@ -2708,7 +2709,7 @@ void m68k_op_and_8_re_pi7(void) } -void m68k_op_and_8_re_pd(void) +void m68k_op_and_8_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint res = DX & m68ki_read_8(ea); @@ -2722,7 +2723,7 @@ void m68k_op_and_8_re_pd(void) } -void m68k_op_and_8_re_pd7(void) +void m68k_op_and_8_re_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint res = DX & m68ki_read_8(ea); @@ -2736,7 +2737,7 @@ void m68k_op_and_8_re_pd7(void) } -void m68k_op_and_8_re_di(void) +void m68k_op_and_8_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint res = DX & m68ki_read_8(ea); @@ -2750,7 +2751,7 @@ void m68k_op_and_8_re_di(void) } -void m68k_op_and_8_re_ix(void) +void m68k_op_and_8_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint res = DX & m68ki_read_8(ea); @@ -2764,7 +2765,7 @@ void m68k_op_and_8_re_ix(void) } -void m68k_op_and_8_re_aw(void) +void m68k_op_and_8_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint res = DX & m68ki_read_8(ea); @@ -2778,7 +2779,7 @@ void m68k_op_and_8_re_aw(void) } -void m68k_op_and_8_re_al(void) +void m68k_op_and_8_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint res = DX & m68ki_read_8(ea); @@ -2792,7 +2793,7 @@ void m68k_op_and_8_re_al(void) } -void m68k_op_and_16_re_ai(void) +void m68k_op_and_16_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint res = DX & m68ki_read_16(ea); @@ -2806,7 +2807,7 @@ void m68k_op_and_16_re_ai(void) } -void m68k_op_and_16_re_pi(void) +void m68k_op_and_16_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint res = DX & m68ki_read_16(ea); @@ -2820,7 +2821,7 @@ void m68k_op_and_16_re_pi(void) } -void m68k_op_and_16_re_pd(void) +void m68k_op_and_16_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint res = DX & m68ki_read_16(ea); @@ -2834,7 +2835,7 @@ void m68k_op_and_16_re_pd(void) } -void m68k_op_and_16_re_di(void) +void m68k_op_and_16_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint res = DX & m68ki_read_16(ea); @@ -2848,7 +2849,7 @@ void m68k_op_and_16_re_di(void) } -void m68k_op_and_16_re_ix(void) +void m68k_op_and_16_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint res = DX & m68ki_read_16(ea); @@ -2862,7 +2863,7 @@ void m68k_op_and_16_re_ix(void) } -void m68k_op_and_16_re_aw(void) +void m68k_op_and_16_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint res = DX & m68ki_read_16(ea); @@ -2876,7 +2877,7 @@ void m68k_op_and_16_re_aw(void) } -void m68k_op_and_16_re_al(void) +void m68k_op_and_16_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint res = DX & m68ki_read_16(ea); @@ -2890,7 +2891,7 @@ void m68k_op_and_16_re_al(void) } -void m68k_op_and_32_re_ai(void) +void m68k_op_and_32_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_32(); uint res = DX & m68ki_read_32(ea); @@ -2904,7 +2905,7 @@ void m68k_op_and_32_re_ai(void) } -void m68k_op_and_32_re_pi(void) +void m68k_op_and_32_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_32(); uint res = DX & m68ki_read_32(ea); @@ -2918,7 +2919,7 @@ void m68k_op_and_32_re_pi(void) } -void m68k_op_and_32_re_pd(void) +void m68k_op_and_32_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_32(); uint res = DX & m68ki_read_32(ea); @@ -2932,7 +2933,7 @@ void m68k_op_and_32_re_pd(void) } -void m68k_op_and_32_re_di(void) +void m68k_op_and_32_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); uint res = DX & m68ki_read_32(ea); @@ -2946,7 +2947,7 @@ void m68k_op_and_32_re_di(void) } -void m68k_op_and_32_re_ix(void) +void m68k_op_and_32_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_32(); uint res = DX & m68ki_read_32(ea); @@ -2960,7 +2961,7 @@ void m68k_op_and_32_re_ix(void) } -void m68k_op_and_32_re_aw(void) +void m68k_op_and_32_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_32(); uint res = DX & m68ki_read_32(ea); @@ -2974,7 +2975,7 @@ void m68k_op_and_32_re_aw(void) } -void m68k_op_and_32_re_al(void) +void m68k_op_and_32_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_32(); uint res = DX & m68ki_read_32(ea); @@ -2988,7 +2989,7 @@ void m68k_op_and_32_re_al(void) } -void m68k_op_andi_8_d(void) +void m68k_op_andi_8_d(m68ki_cpu_core *cpu) { FLAG_Z = MASK_OUT_ABOVE_8(DY &= (OPER_I_8() | 0xffffff00)); @@ -2998,7 +2999,7 @@ void m68k_op_andi_8_d(void) } -void m68k_op_andi_8_ai(void) +void m68k_op_andi_8_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_AI_8(); @@ -3013,7 +3014,7 @@ void m68k_op_andi_8_ai(void) } -void m68k_op_andi_8_pi(void) +void m68k_op_andi_8_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_PI_8(); @@ -3028,7 +3029,7 @@ void m68k_op_andi_8_pi(void) } -void m68k_op_andi_8_pi7(void) +void m68k_op_andi_8_pi7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_A7_PI_8(); @@ -3043,7 +3044,7 @@ void m68k_op_andi_8_pi7(void) } -void m68k_op_andi_8_pd(void) +void m68k_op_andi_8_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_PD_8(); @@ -3058,7 +3059,7 @@ void m68k_op_andi_8_pd(void) } -void m68k_op_andi_8_pd7(void) +void m68k_op_andi_8_pd7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_A7_PD_8(); @@ -3073,7 +3074,7 @@ void m68k_op_andi_8_pd7(void) } -void m68k_op_andi_8_di(void) +void m68k_op_andi_8_di(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_DI_8(); @@ -3088,7 +3089,7 @@ void m68k_op_andi_8_di(void) } -void m68k_op_andi_8_ix(void) +void m68k_op_andi_8_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_IX_8(); @@ -3103,7 +3104,7 @@ void m68k_op_andi_8_ix(void) } -void m68k_op_andi_8_aw(void) +void m68k_op_andi_8_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AW_8(); @@ -3118,7 +3119,7 @@ void m68k_op_andi_8_aw(void) } -void m68k_op_andi_8_al(void) +void m68k_op_andi_8_al(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AL_8(); @@ -3133,7 +3134,7 @@ void m68k_op_andi_8_al(void) } -void m68k_op_andi_16_d(void) +void m68k_op_andi_16_d(m68ki_cpu_core *cpu) { FLAG_Z = MASK_OUT_ABOVE_16(DY &= (OPER_I_16() | 0xffff0000)); @@ -3143,7 +3144,7 @@ void m68k_op_andi_16_d(void) } -void m68k_op_andi_16_ai(void) +void m68k_op_andi_16_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_AI_16(); @@ -3158,7 +3159,7 @@ void m68k_op_andi_16_ai(void) } -void m68k_op_andi_16_pi(void) +void m68k_op_andi_16_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_PI_16(); @@ -3173,7 +3174,7 @@ void m68k_op_andi_16_pi(void) } -void m68k_op_andi_16_pd(void) +void m68k_op_andi_16_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_PD_16(); @@ -3188,7 +3189,7 @@ void m68k_op_andi_16_pd(void) } -void m68k_op_andi_16_di(void) +void m68k_op_andi_16_di(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_DI_16(); @@ -3203,7 +3204,7 @@ void m68k_op_andi_16_di(void) } -void m68k_op_andi_16_ix(void) +void m68k_op_andi_16_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_IX_16(); @@ -3218,7 +3219,7 @@ void m68k_op_andi_16_ix(void) } -void m68k_op_andi_16_aw(void) +void m68k_op_andi_16_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AW_16(); @@ -3233,7 +3234,7 @@ void m68k_op_andi_16_aw(void) } -void m68k_op_andi_16_al(void) +void m68k_op_andi_16_al(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AL_16(); @@ -3248,7 +3249,7 @@ void m68k_op_andi_16_al(void) } -void m68k_op_andi_32_d(void) +void m68k_op_andi_32_d(m68ki_cpu_core *cpu) { FLAG_Z = DY &= (OPER_I_32()); @@ -3258,7 +3259,7 @@ void m68k_op_andi_32_d(void) } -void m68k_op_andi_32_ai(void) +void m68k_op_andi_32_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_AI_32(); @@ -3273,7 +3274,7 @@ void m68k_op_andi_32_ai(void) } -void m68k_op_andi_32_pi(void) +void m68k_op_andi_32_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_PI_32(); @@ -3288,7 +3289,7 @@ void m68k_op_andi_32_pi(void) } -void m68k_op_andi_32_pd(void) +void m68k_op_andi_32_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_PD_32(); @@ -3303,7 +3304,7 @@ void m68k_op_andi_32_pd(void) } -void m68k_op_andi_32_di(void) +void m68k_op_andi_32_di(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_DI_32(); @@ -3318,7 +3319,7 @@ void m68k_op_andi_32_di(void) } -void m68k_op_andi_32_ix(void) +void m68k_op_andi_32_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_IX_32(); @@ -3333,7 +3334,7 @@ void m68k_op_andi_32_ix(void) } -void m68k_op_andi_32_aw(void) +void m68k_op_andi_32_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AW_32(); @@ -3348,7 +3349,7 @@ void m68k_op_andi_32_aw(void) } -void m68k_op_andi_32_al(void) +void m68k_op_andi_32_al(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AL_32(); @@ -3363,26 +3364,26 @@ void m68k_op_andi_32_al(void) } -void m68k_op_andi_16_toc(void) +void m68k_op_andi_16_toc(m68ki_cpu_core *cpu) { - m68ki_set_ccr(m68ki_get_ccr() & OPER_I_16()); + m68ki_set_ccr(cpu, m68ki_get_ccr() & OPER_I_16()); } -void m68k_op_andi_16_tos(void) +void m68k_op_andi_16_tos(m68ki_cpu_core *cpu) { if(FLAG_S) { uint src = OPER_I_16(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(m68ki_get_sr() & src); + m68ki_set_sr(cpu, m68ki_get_sr() & src); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_asr_8_s(void) +void m68k_op_asr_8_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3401,7 +3402,7 @@ void m68k_op_asr_8_s(void) } -void m68k_op_asr_16_s(void) +void m68k_op_asr_16_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3420,7 +3421,7 @@ void m68k_op_asr_16_s(void) } -void m68k_op_asr_32_s(void) +void m68k_op_asr_32_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3439,7 +3440,7 @@ void m68k_op_asr_32_s(void) } -void m68k_op_asr_8_r(void) +void m68k_op_asr_8_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -3491,7 +3492,7 @@ void m68k_op_asr_8_r(void) } -void m68k_op_asr_16_r(void) +void m68k_op_asr_16_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -3543,7 +3544,7 @@ void m68k_op_asr_16_r(void) } -void m68k_op_asr_32_r(void) +void m68k_op_asr_32_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -3595,7 +3596,7 @@ void m68k_op_asr_32_r(void) } -void m68k_op_asr_16_ai(void) +void m68k_op_asr_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = m68ki_read_16(ea); @@ -3613,7 +3614,7 @@ void m68k_op_asr_16_ai(void) } -void m68k_op_asr_16_pi(void) +void m68k_op_asr_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = m68ki_read_16(ea); @@ -3631,7 +3632,7 @@ void m68k_op_asr_16_pi(void) } -void m68k_op_asr_16_pd(void) +void m68k_op_asr_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = m68ki_read_16(ea); @@ -3649,7 +3650,7 @@ void m68k_op_asr_16_pd(void) } -void m68k_op_asr_16_di(void) +void m68k_op_asr_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = m68ki_read_16(ea); @@ -3667,7 +3668,7 @@ void m68k_op_asr_16_di(void) } -void m68k_op_asr_16_ix(void) +void m68k_op_asr_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = m68ki_read_16(ea); @@ -3685,7 +3686,7 @@ void m68k_op_asr_16_ix(void) } -void m68k_op_asr_16_aw(void) +void m68k_op_asr_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = m68ki_read_16(ea); @@ -3703,7 +3704,7 @@ void m68k_op_asr_16_aw(void) } -void m68k_op_asr_16_al(void) +void m68k_op_asr_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = m68ki_read_16(ea); @@ -3721,7 +3722,7 @@ void m68k_op_asr_16_al(void) } -void m68k_op_asl_8_s(void) +void m68k_op_asl_8_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3738,7 +3739,7 @@ void m68k_op_asl_8_s(void) } -void m68k_op_asl_16_s(void) +void m68k_op_asl_16_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3755,7 +3756,7 @@ void m68k_op_asl_16_s(void) } -void m68k_op_asl_32_s(void) +void m68k_op_asl_32_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3772,7 +3773,7 @@ void m68k_op_asl_32_s(void) } -void m68k_op_asl_8_r(void) +void m68k_op_asl_8_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -3809,7 +3810,7 @@ void m68k_op_asl_8_r(void) } -void m68k_op_asl_16_r(void) +void m68k_op_asl_16_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -3846,7 +3847,7 @@ void m68k_op_asl_16_r(void) } -void m68k_op_asl_32_r(void) +void m68k_op_asl_32_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -3883,7 +3884,7 @@ void m68k_op_asl_32_r(void) } -void m68k_op_asl_16_ai(void) +void m68k_op_asl_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = m68ki_read_16(ea); @@ -3899,7 +3900,7 @@ void m68k_op_asl_16_ai(void) } -void m68k_op_asl_16_pi(void) +void m68k_op_asl_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = m68ki_read_16(ea); @@ -3915,7 +3916,7 @@ void m68k_op_asl_16_pi(void) } -void m68k_op_asl_16_pd(void) +void m68k_op_asl_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = m68ki_read_16(ea); @@ -3931,7 +3932,7 @@ void m68k_op_asl_16_pd(void) } -void m68k_op_asl_16_di(void) +void m68k_op_asl_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = m68ki_read_16(ea); @@ -3947,7 +3948,7 @@ void m68k_op_asl_16_di(void) } -void m68k_op_asl_16_ix(void) +void m68k_op_asl_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = m68ki_read_16(ea); @@ -3963,7 +3964,7 @@ void m68k_op_asl_16_ix(void) } -void m68k_op_asl_16_aw(void) +void m68k_op_asl_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = m68ki_read_16(ea); @@ -3979,7 +3980,7 @@ void m68k_op_asl_16_aw(void) } -void m68k_op_asl_16_al(void) +void m68k_op_asl_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = m68ki_read_16(ea); @@ -3995,182 +3996,182 @@ void m68k_op_asl_16_al(void) } -void m68k_op_bhi_8(void) +void m68k_op_bhi_8(m68ki_cpu_core *cpu) { if(COND_HI()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_bls_8(void) +void m68k_op_bls_8(m68ki_cpu_core *cpu) { if(COND_LS()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_bcc_8(void) +void m68k_op_bcc_8(m68ki_cpu_core *cpu) { if(COND_CC()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_bcs_8(void) +void m68k_op_bcs_8(m68ki_cpu_core *cpu) { if(COND_CS()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_bne_8(void) +void m68k_op_bne_8(m68ki_cpu_core *cpu) { if(COND_NE()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_beq_8(void) +void m68k_op_beq_8(m68ki_cpu_core *cpu) { if(COND_EQ()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_bvc_8(void) +void m68k_op_bvc_8(m68ki_cpu_core *cpu) { if(COND_VC()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_bvs_8(void) +void m68k_op_bvs_8(m68ki_cpu_core *cpu) { if(COND_VS()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_bpl_8(void) +void m68k_op_bpl_8(m68ki_cpu_core *cpu) { if(COND_PL()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_bmi_8(void) +void m68k_op_bmi_8(m68ki_cpu_core *cpu) { if(COND_MI()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_bge_8(void) +void m68k_op_bge_8(m68ki_cpu_core *cpu) { if(COND_GE()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_blt_8(void) +void m68k_op_blt_8(m68ki_cpu_core *cpu) { if(COND_LT()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_bgt_8(void) +void m68k_op_bgt_8(m68ki_cpu_core *cpu) { if(COND_GT()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_ble_8(void) +void m68k_op_ble_8(m68ki_cpu_core *cpu) { if(COND_LE()) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); return; } USE_CYCLES(CYC_BCC_NOTAKE_B); } -void m68k_op_bhi_16(void) +void m68k_op_bhi_16(m68ki_cpu_core *cpu) { if(COND_HI()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4178,14 +4179,14 @@ void m68k_op_bhi_16(void) } -void m68k_op_bls_16(void) +void m68k_op_bls_16(m68ki_cpu_core *cpu) { if(COND_LS()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4193,14 +4194,14 @@ void m68k_op_bls_16(void) } -void m68k_op_bcc_16(void) +void m68k_op_bcc_16(m68ki_cpu_core *cpu) { if(COND_CC()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4208,14 +4209,14 @@ void m68k_op_bcc_16(void) } -void m68k_op_bcs_16(void) +void m68k_op_bcs_16(m68ki_cpu_core *cpu) { if(COND_CS()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4223,14 +4224,14 @@ void m68k_op_bcs_16(void) } -void m68k_op_bne_16(void) +void m68k_op_bne_16(m68ki_cpu_core *cpu) { if(COND_NE()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4238,14 +4239,14 @@ void m68k_op_bne_16(void) } -void m68k_op_beq_16(void) +void m68k_op_beq_16(m68ki_cpu_core *cpu) { if(COND_EQ()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4253,14 +4254,14 @@ void m68k_op_beq_16(void) } -void m68k_op_bvc_16(void) +void m68k_op_bvc_16(m68ki_cpu_core *cpu) { if(COND_VC()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4268,14 +4269,14 @@ void m68k_op_bvc_16(void) } -void m68k_op_bvs_16(void) +void m68k_op_bvs_16(m68ki_cpu_core *cpu) { if(COND_VS()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4283,14 +4284,14 @@ void m68k_op_bvs_16(void) } -void m68k_op_bpl_16(void) +void m68k_op_bpl_16(m68ki_cpu_core *cpu) { if(COND_PL()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4298,14 +4299,14 @@ void m68k_op_bpl_16(void) } -void m68k_op_bmi_16(void) +void m68k_op_bmi_16(m68ki_cpu_core *cpu) { if(COND_MI()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4313,14 +4314,14 @@ void m68k_op_bmi_16(void) } -void m68k_op_bge_16(void) +void m68k_op_bge_16(m68ki_cpu_core *cpu) { if(COND_GE()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4328,14 +4329,14 @@ void m68k_op_bge_16(void) } -void m68k_op_blt_16(void) +void m68k_op_blt_16(m68ki_cpu_core *cpu) { if(COND_LT()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4343,14 +4344,14 @@ void m68k_op_blt_16(void) } -void m68k_op_bgt_16(void) +void m68k_op_bgt_16(m68ki_cpu_core *cpu) { if(COND_GT()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4358,14 +4359,14 @@ void m68k_op_bgt_16(void) } -void m68k_op_ble_16(void) +void m68k_op_ble_16(m68ki_cpu_core *cpu) { if(COND_LE()) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; @@ -4373,7 +4374,7 @@ void m68k_op_ble_16(void) } -void m68k_op_bhi_32(void) +void m68k_op_bhi_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4382,17 +4383,17 @@ void m68k_op_bhi_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bls_32(void) +void m68k_op_bls_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4401,17 +4402,17 @@ void m68k_op_bls_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bcc_32(void) +void m68k_op_bcc_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4420,17 +4421,17 @@ void m68k_op_bcc_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bcs_32(void) +void m68k_op_bcs_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4439,17 +4440,17 @@ void m68k_op_bcs_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bne_32(void) +void m68k_op_bne_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4458,17 +4459,17 @@ void m68k_op_bne_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_beq_32(void) +void m68k_op_beq_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4477,17 +4478,17 @@ void m68k_op_beq_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bvc_32(void) +void m68k_op_bvc_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4496,17 +4497,17 @@ void m68k_op_bvc_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bvs_32(void) +void m68k_op_bvs_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4515,17 +4516,17 @@ void m68k_op_bvs_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bpl_32(void) +void m68k_op_bpl_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4534,17 +4535,17 @@ void m68k_op_bpl_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bmi_32(void) +void m68k_op_bmi_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4553,17 +4554,17 @@ void m68k_op_bmi_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bge_32(void) +void m68k_op_bge_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4572,17 +4573,17 @@ void m68k_op_bge_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_blt_32(void) +void m68k_op_blt_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4591,17 +4592,17 @@ void m68k_op_blt_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bgt_32(void) +void m68k_op_bgt_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4610,17 +4611,17 @@ void m68k_op_bgt_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_ble_32(void) +void m68k_op_ble_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4629,17 +4630,17 @@ void m68k_op_ble_32(void) uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bchg_32_r_d(void) +void m68k_op_bchg_32_r_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint mask = 1 << (DX & 0x1f); @@ -4649,7 +4650,7 @@ void m68k_op_bchg_32_r_d(void) } -void m68k_op_bchg_8_r_ai(void) +void m68k_op_bchg_8_r_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint src = m68ki_read_8(ea); @@ -4660,7 +4661,7 @@ void m68k_op_bchg_8_r_ai(void) } -void m68k_op_bchg_8_r_pi(void) +void m68k_op_bchg_8_r_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint src = m68ki_read_8(ea); @@ -4671,7 +4672,7 @@ void m68k_op_bchg_8_r_pi(void) } -void m68k_op_bchg_8_r_pi7(void) +void m68k_op_bchg_8_r_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint src = m68ki_read_8(ea); @@ -4682,7 +4683,7 @@ void m68k_op_bchg_8_r_pi7(void) } -void m68k_op_bchg_8_r_pd(void) +void m68k_op_bchg_8_r_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint src = m68ki_read_8(ea); @@ -4693,7 +4694,7 @@ void m68k_op_bchg_8_r_pd(void) } -void m68k_op_bchg_8_r_pd7(void) +void m68k_op_bchg_8_r_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint src = m68ki_read_8(ea); @@ -4704,7 +4705,7 @@ void m68k_op_bchg_8_r_pd7(void) } -void m68k_op_bchg_8_r_di(void) +void m68k_op_bchg_8_r_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint src = m68ki_read_8(ea); @@ -4715,7 +4716,7 @@ void m68k_op_bchg_8_r_di(void) } -void m68k_op_bchg_8_r_ix(void) +void m68k_op_bchg_8_r_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint src = m68ki_read_8(ea); @@ -4726,7 +4727,7 @@ void m68k_op_bchg_8_r_ix(void) } -void m68k_op_bchg_8_r_aw(void) +void m68k_op_bchg_8_r_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint src = m68ki_read_8(ea); @@ -4737,7 +4738,7 @@ void m68k_op_bchg_8_r_aw(void) } -void m68k_op_bchg_8_r_al(void) +void m68k_op_bchg_8_r_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint src = m68ki_read_8(ea); @@ -4748,7 +4749,7 @@ void m68k_op_bchg_8_r_al(void) } -void m68k_op_bchg_32_s_d(void) +void m68k_op_bchg_32_s_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint mask = 1 << (OPER_I_8() & 0x1f); @@ -4758,7 +4759,7 @@ void m68k_op_bchg_32_s_d(void) } -void m68k_op_bchg_8_s_ai(void) +void m68k_op_bchg_8_s_ai(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_AI_8(); @@ -4769,7 +4770,7 @@ void m68k_op_bchg_8_s_ai(void) } -void m68k_op_bchg_8_s_pi(void) +void m68k_op_bchg_8_s_pi(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_PI_8(); @@ -4780,7 +4781,7 @@ void m68k_op_bchg_8_s_pi(void) } -void m68k_op_bchg_8_s_pi7(void) +void m68k_op_bchg_8_s_pi7(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_A7_PI_8(); @@ -4791,7 +4792,7 @@ void m68k_op_bchg_8_s_pi7(void) } -void m68k_op_bchg_8_s_pd(void) +void m68k_op_bchg_8_s_pd(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_PD_8(); @@ -4802,7 +4803,7 @@ void m68k_op_bchg_8_s_pd(void) } -void m68k_op_bchg_8_s_pd7(void) +void m68k_op_bchg_8_s_pd7(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_A7_PD_8(); @@ -4813,7 +4814,7 @@ void m68k_op_bchg_8_s_pd7(void) } -void m68k_op_bchg_8_s_di(void) +void m68k_op_bchg_8_s_di(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_DI_8(); @@ -4824,7 +4825,7 @@ void m68k_op_bchg_8_s_di(void) } -void m68k_op_bchg_8_s_ix(void) +void m68k_op_bchg_8_s_ix(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_IX_8(); @@ -4835,7 +4836,7 @@ void m68k_op_bchg_8_s_ix(void) } -void m68k_op_bchg_8_s_aw(void) +void m68k_op_bchg_8_s_aw(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AW_8(); @@ -4846,7 +4847,7 @@ void m68k_op_bchg_8_s_aw(void) } -void m68k_op_bchg_8_s_al(void) +void m68k_op_bchg_8_s_al(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AL_8(); @@ -4857,7 +4858,7 @@ void m68k_op_bchg_8_s_al(void) } -void m68k_op_bclr_32_r_d(void) +void m68k_op_bclr_32_r_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint mask = 1 << (DX & 0x1f); @@ -4867,7 +4868,7 @@ void m68k_op_bclr_32_r_d(void) } -void m68k_op_bclr_8_r_ai(void) +void m68k_op_bclr_8_r_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint src = m68ki_read_8(ea); @@ -4878,7 +4879,7 @@ void m68k_op_bclr_8_r_ai(void) } -void m68k_op_bclr_8_r_pi(void) +void m68k_op_bclr_8_r_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint src = m68ki_read_8(ea); @@ -4889,7 +4890,7 @@ void m68k_op_bclr_8_r_pi(void) } -void m68k_op_bclr_8_r_pi7(void) +void m68k_op_bclr_8_r_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint src = m68ki_read_8(ea); @@ -4900,7 +4901,7 @@ void m68k_op_bclr_8_r_pi7(void) } -void m68k_op_bclr_8_r_pd(void) +void m68k_op_bclr_8_r_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint src = m68ki_read_8(ea); @@ -4911,7 +4912,7 @@ void m68k_op_bclr_8_r_pd(void) } -void m68k_op_bclr_8_r_pd7(void) +void m68k_op_bclr_8_r_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint src = m68ki_read_8(ea); @@ -4922,7 +4923,7 @@ void m68k_op_bclr_8_r_pd7(void) } -void m68k_op_bclr_8_r_di(void) +void m68k_op_bclr_8_r_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint src = m68ki_read_8(ea); @@ -4933,7 +4934,7 @@ void m68k_op_bclr_8_r_di(void) } -void m68k_op_bclr_8_r_ix(void) +void m68k_op_bclr_8_r_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint src = m68ki_read_8(ea); @@ -4944,7 +4945,7 @@ void m68k_op_bclr_8_r_ix(void) } -void m68k_op_bclr_8_r_aw(void) +void m68k_op_bclr_8_r_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint src = m68ki_read_8(ea); @@ -4955,7 +4956,7 @@ void m68k_op_bclr_8_r_aw(void) } -void m68k_op_bclr_8_r_al(void) +void m68k_op_bclr_8_r_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint src = m68ki_read_8(ea); @@ -4966,7 +4967,7 @@ void m68k_op_bclr_8_r_al(void) } -void m68k_op_bclr_32_s_d(void) +void m68k_op_bclr_32_s_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint mask = 1 << (OPER_I_8() & 0x1f); @@ -4976,7 +4977,7 @@ void m68k_op_bclr_32_s_d(void) } -void m68k_op_bclr_8_s_ai(void) +void m68k_op_bclr_8_s_ai(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_AI_8(); @@ -4987,7 +4988,7 @@ void m68k_op_bclr_8_s_ai(void) } -void m68k_op_bclr_8_s_pi(void) +void m68k_op_bclr_8_s_pi(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_PI_8(); @@ -4998,7 +4999,7 @@ void m68k_op_bclr_8_s_pi(void) } -void m68k_op_bclr_8_s_pi7(void) +void m68k_op_bclr_8_s_pi7(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_A7_PI_8(); @@ -5009,7 +5010,7 @@ void m68k_op_bclr_8_s_pi7(void) } -void m68k_op_bclr_8_s_pd(void) +void m68k_op_bclr_8_s_pd(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_PD_8(); @@ -5020,7 +5021,7 @@ void m68k_op_bclr_8_s_pd(void) } -void m68k_op_bclr_8_s_pd7(void) +void m68k_op_bclr_8_s_pd7(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_A7_PD_8(); @@ -5031,7 +5032,7 @@ void m68k_op_bclr_8_s_pd7(void) } -void m68k_op_bclr_8_s_di(void) +void m68k_op_bclr_8_s_di(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_DI_8(); @@ -5042,7 +5043,7 @@ void m68k_op_bclr_8_s_di(void) } -void m68k_op_bclr_8_s_ix(void) +void m68k_op_bclr_8_s_ix(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_IX_8(); @@ -5053,7 +5054,7 @@ void m68k_op_bclr_8_s_ix(void) } -void m68k_op_bclr_8_s_aw(void) +void m68k_op_bclr_8_s_aw(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AW_8(); @@ -5064,7 +5065,7 @@ void m68k_op_bclr_8_s_aw(void) } -void m68k_op_bclr_8_s_al(void) +void m68k_op_bclr_8_s_al(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AL_8(); @@ -5075,7 +5076,7 @@ void m68k_op_bclr_8_s_al(void) } -void m68k_op_bfchg_32_d(void) +void m68k_op_bfchg_32_d(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5106,11 +5107,11 @@ void m68k_op_bfchg_32_d(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfchg_32_ai(void) +void m68k_op_bfchg_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5160,11 +5161,11 @@ void m68k_op_bfchg_32_ai(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfchg_32_di(void) +void m68k_op_bfchg_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5214,11 +5215,11 @@ void m68k_op_bfchg_32_di(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfchg_32_ix(void) +void m68k_op_bfchg_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5268,11 +5269,11 @@ void m68k_op_bfchg_32_ix(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfchg_32_aw(void) +void m68k_op_bfchg_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5322,11 +5323,11 @@ void m68k_op_bfchg_32_aw(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfchg_32_al(void) +void m68k_op_bfchg_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5376,11 +5377,11 @@ void m68k_op_bfchg_32_al(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfclr_32_d(void) +void m68k_op_bfclr_32_d(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5413,11 +5414,11 @@ void m68k_op_bfclr_32_d(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfclr_32_ai(void) +void m68k_op_bfclr_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5467,11 +5468,11 @@ void m68k_op_bfclr_32_ai(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfclr_32_di(void) +void m68k_op_bfclr_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5521,11 +5522,11 @@ void m68k_op_bfclr_32_di(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfclr_32_ix(void) +void m68k_op_bfclr_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5575,11 +5576,11 @@ void m68k_op_bfclr_32_ix(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfclr_32_aw(void) +void m68k_op_bfclr_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5629,11 +5630,11 @@ void m68k_op_bfclr_32_aw(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfclr_32_al(void) +void m68k_op_bfclr_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5683,11 +5684,11 @@ void m68k_op_bfclr_32_al(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfexts_32_d(void) +void m68k_op_bfexts_32_d(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5717,11 +5718,11 @@ void m68k_op_bfexts_32_d(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfexts_32_ai(void) +void m68k_op_bfexts_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5765,11 +5766,11 @@ void m68k_op_bfexts_32_ai(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfexts_32_di(void) +void m68k_op_bfexts_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5813,11 +5814,11 @@ void m68k_op_bfexts_32_di(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfexts_32_ix(void) +void m68k_op_bfexts_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5861,11 +5862,11 @@ void m68k_op_bfexts_32_ix(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfexts_32_aw(void) +void m68k_op_bfexts_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5909,11 +5910,11 @@ void m68k_op_bfexts_32_aw(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfexts_32_al(void) +void m68k_op_bfexts_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -5957,11 +5958,11 @@ void m68k_op_bfexts_32_al(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfexts_32_pcdi(void) +void m68k_op_bfexts_32_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6005,11 +6006,11 @@ void m68k_op_bfexts_32_pcdi(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfexts_32_pcix(void) +void m68k_op_bfexts_32_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6053,11 +6054,11 @@ void m68k_op_bfexts_32_pcix(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfextu_32_d(void) +void m68k_op_bfextu_32_d(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6087,11 +6088,11 @@ void m68k_op_bfextu_32_d(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfextu_32_ai(void) +void m68k_op_bfextu_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6134,11 +6135,11 @@ void m68k_op_bfextu_32_ai(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfextu_32_di(void) +void m68k_op_bfextu_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6181,11 +6182,11 @@ void m68k_op_bfextu_32_di(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfextu_32_ix(void) +void m68k_op_bfextu_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6228,11 +6229,11 @@ void m68k_op_bfextu_32_ix(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfextu_32_aw(void) +void m68k_op_bfextu_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6275,11 +6276,11 @@ void m68k_op_bfextu_32_aw(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfextu_32_al(void) +void m68k_op_bfextu_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6322,11 +6323,11 @@ void m68k_op_bfextu_32_al(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfextu_32_pcdi(void) +void m68k_op_bfextu_32_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6369,11 +6370,11 @@ void m68k_op_bfextu_32_pcdi(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfextu_32_pcix(void) +void m68k_op_bfextu_32_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6416,11 +6417,11 @@ void m68k_op_bfextu_32_pcix(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfffo_32_d(void) +void m68k_op_bfffo_32_d(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6454,11 +6455,11 @@ void m68k_op_bfffo_32_d(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfffo_32_ai(void) +void m68k_op_bfffo_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6506,11 +6507,11 @@ void m68k_op_bfffo_32_ai(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfffo_32_di(void) +void m68k_op_bfffo_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6558,11 +6559,11 @@ void m68k_op_bfffo_32_di(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfffo_32_ix(void) +void m68k_op_bfffo_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6610,11 +6611,11 @@ void m68k_op_bfffo_32_ix(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfffo_32_aw(void) +void m68k_op_bfffo_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6662,11 +6663,11 @@ void m68k_op_bfffo_32_aw(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfffo_32_al(void) +void m68k_op_bfffo_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6714,11 +6715,11 @@ void m68k_op_bfffo_32_al(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfffo_32_pcdi(void) +void m68k_op_bfffo_32_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6766,11 +6767,11 @@ void m68k_op_bfffo_32_pcdi(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfffo_32_pcix(void) +void m68k_op_bfffo_32_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6818,11 +6819,11 @@ void m68k_op_bfffo_32_pcix(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfins_32_d(void) +void m68k_op_bfins_32_d(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6860,11 +6861,11 @@ void m68k_op_bfins_32_d(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfins_32_ai(void) +void m68k_op_bfins_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6921,11 +6922,11 @@ void m68k_op_bfins_32_ai(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfins_32_di(void) +void m68k_op_bfins_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -6982,11 +6983,11 @@ void m68k_op_bfins_32_di(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfins_32_ix(void) +void m68k_op_bfins_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7043,11 +7044,11 @@ void m68k_op_bfins_32_ix(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfins_32_aw(void) +void m68k_op_bfins_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7104,11 +7105,11 @@ void m68k_op_bfins_32_aw(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfins_32_al(void) +void m68k_op_bfins_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7165,11 +7166,11 @@ void m68k_op_bfins_32_al(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfset_32_d(void) +void m68k_op_bfset_32_d(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7202,11 +7203,11 @@ void m68k_op_bfset_32_d(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfset_32_ai(void) +void m68k_op_bfset_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7257,11 +7258,11 @@ void m68k_op_bfset_32_ai(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfset_32_di(void) +void m68k_op_bfset_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7312,11 +7313,11 @@ void m68k_op_bfset_32_di(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfset_32_ix(void) +void m68k_op_bfset_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7367,11 +7368,11 @@ void m68k_op_bfset_32_ix(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfset_32_aw(void) +void m68k_op_bfset_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7422,11 +7423,11 @@ void m68k_op_bfset_32_aw(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bfset_32_al(void) +void m68k_op_bfset_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7477,11 +7478,11 @@ void m68k_op_bfset_32_al(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bftst_32_d(void) +void m68k_op_bftst_32_d(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7512,11 +7513,11 @@ void m68k_op_bftst_32_d(void) return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bftst_32_ai(void) +void m68k_op_bftst_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7563,11 +7564,11 @@ void m68k_op_bftst_32_ai(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bftst_32_di(void) +void m68k_op_bftst_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7614,11 +7615,11 @@ void m68k_op_bftst_32_di(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bftst_32_ix(void) +void m68k_op_bftst_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7665,11 +7666,11 @@ void m68k_op_bftst_32_ix(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bftst_32_aw(void) +void m68k_op_bftst_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7716,11 +7717,11 @@ void m68k_op_bftst_32_aw(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bftst_32_al(void) +void m68k_op_bftst_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7767,11 +7768,11 @@ void m68k_op_bftst_32_al(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bftst_32_pcdi(void) +void m68k_op_bftst_32_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7818,11 +7819,11 @@ void m68k_op_bftst_32_pcdi(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bftst_32_pcix(void) +void m68k_op_bftst_32_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -7869,57 +7870,57 @@ void m68k_op_bftst_32_pcix(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bkpt(void) +void m68k_op_bkpt(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { m68ki_bkpt_ack(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE) ? REG_IR & 7 : 0); /* auto-disable (see m68kcpu.h) */ } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bra_8(void) +void m68k_op_bra_8(m68ki_cpu_core *cpu) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); if(REG_PC == REG_PPC) USE_ALL_CYCLES(); } -void m68k_op_bra_16(void) +void m68k_op_bra_16(m68ki_cpu_core *cpu) { uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); if(REG_PC == REG_PPC) USE_ALL_CYCLES(); } -void m68k_op_bra_32(void) +void m68k_op_bra_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint offset = OPER_I_32(); REG_PC -= 4; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); if(REG_PC == REG_PPC) USE_ALL_CYCLES(); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_bset_32_r_d(void) +void m68k_op_bset_32_r_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint mask = 1 << (DX & 0x1f); @@ -7929,7 +7930,7 @@ void m68k_op_bset_32_r_d(void) } -void m68k_op_bset_8_r_ai(void) +void m68k_op_bset_8_r_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint src = m68ki_read_8(ea); @@ -7940,7 +7941,7 @@ void m68k_op_bset_8_r_ai(void) } -void m68k_op_bset_8_r_pi(void) +void m68k_op_bset_8_r_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint src = m68ki_read_8(ea); @@ -7951,7 +7952,7 @@ void m68k_op_bset_8_r_pi(void) } -void m68k_op_bset_8_r_pi7(void) +void m68k_op_bset_8_r_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint src = m68ki_read_8(ea); @@ -7962,7 +7963,7 @@ void m68k_op_bset_8_r_pi7(void) } -void m68k_op_bset_8_r_pd(void) +void m68k_op_bset_8_r_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint src = m68ki_read_8(ea); @@ -7973,7 +7974,7 @@ void m68k_op_bset_8_r_pd(void) } -void m68k_op_bset_8_r_pd7(void) +void m68k_op_bset_8_r_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint src = m68ki_read_8(ea); @@ -7984,7 +7985,7 @@ void m68k_op_bset_8_r_pd7(void) } -void m68k_op_bset_8_r_di(void) +void m68k_op_bset_8_r_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint src = m68ki_read_8(ea); @@ -7995,7 +7996,7 @@ void m68k_op_bset_8_r_di(void) } -void m68k_op_bset_8_r_ix(void) +void m68k_op_bset_8_r_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint src = m68ki_read_8(ea); @@ -8006,7 +8007,7 @@ void m68k_op_bset_8_r_ix(void) } -void m68k_op_bset_8_r_aw(void) +void m68k_op_bset_8_r_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint src = m68ki_read_8(ea); @@ -8017,7 +8018,7 @@ void m68k_op_bset_8_r_aw(void) } -void m68k_op_bset_8_r_al(void) +void m68k_op_bset_8_r_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint src = m68ki_read_8(ea); @@ -8028,7 +8029,7 @@ void m68k_op_bset_8_r_al(void) } -void m68k_op_bset_32_s_d(void) +void m68k_op_bset_32_s_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint mask = 1 << (OPER_I_8() & 0x1f); @@ -8038,7 +8039,7 @@ void m68k_op_bset_32_s_d(void) } -void m68k_op_bset_8_s_ai(void) +void m68k_op_bset_8_s_ai(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_AI_8(); @@ -8049,7 +8050,7 @@ void m68k_op_bset_8_s_ai(void) } -void m68k_op_bset_8_s_pi(void) +void m68k_op_bset_8_s_pi(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_PI_8(); @@ -8060,7 +8061,7 @@ void m68k_op_bset_8_s_pi(void) } -void m68k_op_bset_8_s_pi7(void) +void m68k_op_bset_8_s_pi7(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_A7_PI_8(); @@ -8071,7 +8072,7 @@ void m68k_op_bset_8_s_pi7(void) } -void m68k_op_bset_8_s_pd(void) +void m68k_op_bset_8_s_pd(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_PD_8(); @@ -8082,7 +8083,7 @@ void m68k_op_bset_8_s_pd(void) } -void m68k_op_bset_8_s_pd7(void) +void m68k_op_bset_8_s_pd7(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_A7_PD_8(); @@ -8093,7 +8094,7 @@ void m68k_op_bset_8_s_pd7(void) } -void m68k_op_bset_8_s_di(void) +void m68k_op_bset_8_s_di(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_DI_8(); @@ -8104,7 +8105,7 @@ void m68k_op_bset_8_s_di(void) } -void m68k_op_bset_8_s_ix(void) +void m68k_op_bset_8_s_ix(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AY_IX_8(); @@ -8115,7 +8116,7 @@ void m68k_op_bset_8_s_ix(void) } -void m68k_op_bset_8_s_aw(void) +void m68k_op_bset_8_s_aw(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AW_8(); @@ -8126,7 +8127,7 @@ void m68k_op_bset_8_s_aw(void) } -void m68k_op_bset_8_s_al(void) +void m68k_op_bset_8_s_al(m68ki_cpu_core *cpu) { uint mask = 1 << (OPER_I_8() & 7); uint ea = EA_AL_8(); @@ -8137,212 +8138,212 @@ void m68k_op_bset_8_s_al(void) } -void m68k_op_bsr_8(void) +void m68k_op_bsr_8(m68ki_cpu_core *cpu) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - m68ki_branch_8(MASK_OUT_ABOVE_8(REG_IR)); + m68ki_push_32(cpu, REG_PC); + m68ki_branch_8(cpu, MASK_OUT_ABOVE_8(REG_IR)); } -void m68k_op_bsr_16(void) +void m68k_op_bsr_16(m68ki_cpu_core *cpu) { uint offset = OPER_I_16(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); + m68ki_push_32(cpu, REG_PC); REG_PC -= 2; - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); } -void m68k_op_bsr_32(void) +void m68k_op_bsr_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint offset = OPER_I_32(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); + m68ki_push_32(cpu, REG_PC); REG_PC -= 4; - m68ki_branch_32(offset); + m68ki_branch_32(cpu, offset); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_btst_32_r_d(void) +void m68k_op_btst_32_r_d(m68ki_cpu_core *cpu) { FLAG_Z = DY & (1 << (DX & 0x1f)); } -void m68k_op_btst_8_r_ai(void) +void m68k_op_btst_8_r_ai(m68ki_cpu_core *cpu) { - FLAG_Z = OPER_AY_AI_8() & (1 << (DX & 7)); + FLAG_Z = OPER_AY_AI_8(cpu) & (1 << (DX & 7)); } -void m68k_op_btst_8_r_pi(void) +void m68k_op_btst_8_r_pi(m68ki_cpu_core *cpu) { - FLAG_Z = OPER_AY_PI_8() & (1 << (DX & 7)); + FLAG_Z = OPER_AY_PI_8(cpu) & (1 << (DX & 7)); } -void m68k_op_btst_8_r_pi7(void) +void m68k_op_btst_8_r_pi7(m68ki_cpu_core *cpu) { - FLAG_Z = OPER_A7_PI_8() & (1 << (DX & 7)); + FLAG_Z = OPER_A7_PI_8(cpu) & (1 << (DX & 7)); } -void m68k_op_btst_8_r_pd(void) +void m68k_op_btst_8_r_pd(m68ki_cpu_core *cpu) { - FLAG_Z = OPER_AY_PD_8() & (1 << (DX & 7)); + FLAG_Z = OPER_AY_PD_8(cpu) & (1 << (DX & 7)); } -void m68k_op_btst_8_r_pd7(void) +void m68k_op_btst_8_r_pd7(m68ki_cpu_core *cpu) { - FLAG_Z = OPER_A7_PD_8() & (1 << (DX & 7)); + FLAG_Z = OPER_A7_PD_8(cpu) & (1 << (DX & 7)); } -void m68k_op_btst_8_r_di(void) +void m68k_op_btst_8_r_di(m68ki_cpu_core *cpu) { - FLAG_Z = OPER_AY_DI_8() & (1 << (DX & 7)); + FLAG_Z = OPER_AY_DI_8(cpu) & (1 << (DX & 7)); } -void m68k_op_btst_8_r_ix(void) +void m68k_op_btst_8_r_ix(m68ki_cpu_core *cpu) { - FLAG_Z = OPER_AY_IX_8() & (1 << (DX & 7)); + FLAG_Z = OPER_AY_IX_8(cpu) & (1 << (DX & 7)); } -void m68k_op_btst_8_r_aw(void) +void m68k_op_btst_8_r_aw(m68ki_cpu_core *cpu) { - FLAG_Z = OPER_AW_8() & (1 << (DX & 7)); + FLAG_Z = OPER_AW_8(cpu) & (1 << (DX & 7)); } -void m68k_op_btst_8_r_al(void) +void m68k_op_btst_8_r_al(m68ki_cpu_core *cpu) { - FLAG_Z = OPER_AL_8() & (1 << (DX & 7)); + FLAG_Z = OPER_AL_8(cpu) & (1 << (DX & 7)); } -void m68k_op_btst_8_r_pcdi(void) +void m68k_op_btst_8_r_pcdi(m68ki_cpu_core *cpu) { - FLAG_Z = OPER_PCDI_8() & (1 << (DX & 7)); + FLAG_Z = OPER_PCDI_8(cpu) & (1 << (DX & 7)); } -void m68k_op_btst_8_r_pcix(void) +void m68k_op_btst_8_r_pcix(m68ki_cpu_core *cpu) { - FLAG_Z = OPER_PCIX_8() & (1 << (DX & 7)); + FLAG_Z = OPER_PCIX_8(cpu) & (1 << (DX & 7)); } -void m68k_op_btst_8_r_i(void) +void m68k_op_btst_8_r_i(m68ki_cpu_core *cpu) { FLAG_Z = OPER_I_8() & (1 << (DX & 7)); } -void m68k_op_btst_32_s_d(void) +void m68k_op_btst_32_s_d(m68ki_cpu_core *cpu) { FLAG_Z = DY & (1 << (OPER_I_8() & 0x1f)); } -void m68k_op_btst_8_s_ai(void) +void m68k_op_btst_8_s_ai(m68ki_cpu_core *cpu) { uint bit = OPER_I_8() & 7; - FLAG_Z = OPER_AY_AI_8() & (1 << bit); + FLAG_Z = OPER_AY_AI_8(cpu) & (1 << bit); } -void m68k_op_btst_8_s_pi(void) +void m68k_op_btst_8_s_pi(m68ki_cpu_core *cpu) { uint bit = OPER_I_8() & 7; - FLAG_Z = OPER_AY_PI_8() & (1 << bit); + FLAG_Z = OPER_AY_PI_8(cpu) & (1 << bit); } -void m68k_op_btst_8_s_pi7(void) +void m68k_op_btst_8_s_pi7(m68ki_cpu_core *cpu) { uint bit = OPER_I_8() & 7; - FLAG_Z = OPER_A7_PI_8() & (1 << bit); + FLAG_Z = OPER_A7_PI_8(cpu) & (1 << bit); } -void m68k_op_btst_8_s_pd(void) +void m68k_op_btst_8_s_pd(m68ki_cpu_core *cpu) { uint bit = OPER_I_8() & 7; - FLAG_Z = OPER_AY_PD_8() & (1 << bit); + FLAG_Z = OPER_AY_PD_8(cpu) & (1 << bit); } -void m68k_op_btst_8_s_pd7(void) +void m68k_op_btst_8_s_pd7(m68ki_cpu_core *cpu) { uint bit = OPER_I_8() & 7; - FLAG_Z = OPER_A7_PD_8() & (1 << bit); + FLAG_Z = OPER_A7_PD_8(cpu) & (1 << bit); } -void m68k_op_btst_8_s_di(void) +void m68k_op_btst_8_s_di(m68ki_cpu_core *cpu) { uint bit = OPER_I_8() & 7; - FLAG_Z = OPER_AY_DI_8() & (1 << bit); + FLAG_Z = OPER_AY_DI_8(cpu) & (1 << bit); } -void m68k_op_btst_8_s_ix(void) +void m68k_op_btst_8_s_ix(m68ki_cpu_core *cpu) { uint bit = OPER_I_8() & 7; - FLAG_Z = OPER_AY_IX_8() & (1 << bit); + FLAG_Z = OPER_AY_IX_8(cpu) & (1 << bit); } -void m68k_op_btst_8_s_aw(void) +void m68k_op_btst_8_s_aw(m68ki_cpu_core *cpu) { uint bit = OPER_I_8() & 7; - FLAG_Z = OPER_AW_8() & (1 << bit); + FLAG_Z = OPER_AW_8(cpu) & (1 << bit); } -void m68k_op_btst_8_s_al(void) +void m68k_op_btst_8_s_al(m68ki_cpu_core *cpu) { uint bit = OPER_I_8() & 7; - FLAG_Z = OPER_AL_8() & (1 << bit); + FLAG_Z = OPER_AL_8(cpu) & (1 << bit); } -void m68k_op_btst_8_s_pcdi(void) +void m68k_op_btst_8_s_pcdi(m68ki_cpu_core *cpu) { uint bit = OPER_I_8() & 7; - FLAG_Z = OPER_PCDI_8() & (1 << bit); + FLAG_Z = OPER_PCDI_8(cpu) & (1 << bit); } -void m68k_op_btst_8_s_pcix(void) +void m68k_op_btst_8_s_pcix(m68ki_cpu_core *cpu) { uint bit = OPER_I_8() & 7; - FLAG_Z = OPER_PCIX_8() & (1 << bit); + FLAG_Z = OPER_PCIX_8(cpu) & (1 << bit); } -void m68k_op_callm_32_ai(void) +void m68k_op_callm_32_ai(m68ki_cpu_core *cpu) { /* note: watch out for pcrelative modes */ if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) @@ -8351,17 +8352,17 @@ void m68k_op_callm_32_ai(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ REG_PC += 2; -(void)ea; /* just to avoid an 'unused variable' warning */ + (uint)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, m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_callm_32_di(void) +void m68k_op_callm_32_di(m68ki_cpu_core *cpu) { /* note: watch out for pcrelative modes */ if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) @@ -8370,17 +8371,17 @@ void m68k_op_callm_32_di(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ REG_PC += 2; -(void)ea; /* just to avoid an 'unused variable' warning */ + (uint)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, m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_callm_32_ix(void) +void m68k_op_callm_32_ix(m68ki_cpu_core *cpu) { /* note: watch out for pcrelative modes */ if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) @@ -8389,17 +8390,17 @@ void m68k_op_callm_32_ix(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ REG_PC += 2; -(void)ea; /* just to avoid an 'unused variable' warning */ + (uint)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, m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_callm_32_aw(void) +void m68k_op_callm_32_aw(m68ki_cpu_core *cpu) { /* note: watch out for pcrelative modes */ if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) @@ -8408,17 +8409,17 @@ void m68k_op_callm_32_aw(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ REG_PC += 2; -(void)ea; /* just to avoid an 'unused variable' warning */ + (uint)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, m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_callm_32_al(void) +void m68k_op_callm_32_al(m68ki_cpu_core *cpu) { /* note: watch out for pcrelative modes */ if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) @@ -8427,17 +8428,17 @@ void m68k_op_callm_32_al(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ REG_PC += 2; -(void)ea; /* just to avoid an 'unused variable' warning */ + (uint)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, m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_callm_32_pcdi(void) +void m68k_op_callm_32_pcdi(m68ki_cpu_core *cpu) { /* note: watch out for pcrelative modes */ if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) @@ -8446,17 +8447,17 @@ void m68k_op_callm_32_pcdi(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ REG_PC += 2; -(void)ea; /* just to avoid an 'unused variable' warning */ + (uint)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, m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_callm_32_pcix(void) +void m68k_op_callm_32_pcix(m68ki_cpu_core *cpu) { /* note: watch out for pcrelative modes */ if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) @@ -8465,17 +8466,17 @@ void m68k_op_callm_32_pcix(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ REG_PC += 2; -(void)ea; /* just to avoid an 'unused variable' warning */ + (uint)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, m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_8_ai(void) +void m68k_op_cas_8_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8500,11 +8501,11 @@ void m68k_op_cas_8_ai(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_8_pi(void) +void m68k_op_cas_8_pi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8529,11 +8530,11 @@ void m68k_op_cas_8_pi(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_8_pi7(void) +void m68k_op_cas_8_pi7(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8558,11 +8559,11 @@ void m68k_op_cas_8_pi7(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_8_pd(void) +void m68k_op_cas_8_pd(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8587,11 +8588,11 @@ void m68k_op_cas_8_pd(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_8_pd7(void) +void m68k_op_cas_8_pd7(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8616,11 +8617,11 @@ void m68k_op_cas_8_pd7(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_8_di(void) +void m68k_op_cas_8_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8645,11 +8646,11 @@ void m68k_op_cas_8_di(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_8_ix(void) +void m68k_op_cas_8_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8674,11 +8675,11 @@ void m68k_op_cas_8_ix(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_8_aw(void) +void m68k_op_cas_8_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8703,11 +8704,11 @@ void m68k_op_cas_8_aw(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_8_al(void) +void m68k_op_cas_8_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8732,11 +8733,11 @@ void m68k_op_cas_8_al(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_16_ai(void) +void m68k_op_cas_16_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8761,11 +8762,11 @@ void m68k_op_cas_16_ai(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_16_pi(void) +void m68k_op_cas_16_pi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8790,11 +8791,11 @@ void m68k_op_cas_16_pi(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_16_pd(void) +void m68k_op_cas_16_pd(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8819,11 +8820,11 @@ void m68k_op_cas_16_pd(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_16_di(void) +void m68k_op_cas_16_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8848,11 +8849,11 @@ void m68k_op_cas_16_di(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_16_ix(void) +void m68k_op_cas_16_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8877,11 +8878,11 @@ void m68k_op_cas_16_ix(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_16_aw(void) +void m68k_op_cas_16_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8906,11 +8907,11 @@ void m68k_op_cas_16_aw(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_16_al(void) +void m68k_op_cas_16_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8935,11 +8936,11 @@ void m68k_op_cas_16_al(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_32_ai(void) +void m68k_op_cas_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8964,11 +8965,11 @@ void m68k_op_cas_32_ai(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_32_pi(void) +void m68k_op_cas_32_pi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8993,11 +8994,11 @@ void m68k_op_cas_32_pi(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_32_pd(void) +void m68k_op_cas_32_pd(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9022,11 +9023,11 @@ void m68k_op_cas_32_pd(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_32_di(void) +void m68k_op_cas_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9051,11 +9052,11 @@ void m68k_op_cas_32_di(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_32_ix(void) +void m68k_op_cas_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9080,11 +9081,11 @@ void m68k_op_cas_32_ix(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_32_aw(void) +void m68k_op_cas_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9109,11 +9110,11 @@ void m68k_op_cas_32_aw(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas_32_al(void) +void m68k_op_cas_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9138,11 +9139,11 @@ void m68k_op_cas_32_al(void) } return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas2_16(void) +void m68k_op_cas2_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9183,11 +9184,11 @@ void m68k_op_cas2_16(void) *compare2 = BIT_F(word2) ? MAKE_INT_16(dest2) : MASK_OUT_BELOW_16(*compare2) | dest2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cas2_32(void) +void m68k_op_cas2_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9228,11 +9229,11 @@ void m68k_op_cas2_32(void) *compare2 = dest2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk_16_d(void) +void m68k_op_chk_16_d(m68ki_cpu_core *cpu) { sint src = MAKE_INT_16(DX); sint bound = MAKE_INT_16(DY); @@ -9246,14 +9247,14 @@ void m68k_op_chk_16_d(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); } -void m68k_op_chk_16_ai(void) +void m68k_op_chk_16_ai(m68ki_cpu_core *cpu) { sint src = MAKE_INT_16(DX); - sint bound = MAKE_INT_16(OPER_AY_AI_16()); + sint bound = MAKE_INT_16(OPER_AY_AI_16(cpu)); FLAG_Z = ZFLAG_16(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9264,14 +9265,14 @@ void m68k_op_chk_16_ai(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); } -void m68k_op_chk_16_pi(void) +void m68k_op_chk_16_pi(m68ki_cpu_core *cpu) { sint src = MAKE_INT_16(DX); - sint bound = MAKE_INT_16(OPER_AY_PI_16()); + sint bound = MAKE_INT_16(OPER_AY_PI_16(cpu)); FLAG_Z = ZFLAG_16(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9282,14 +9283,14 @@ void m68k_op_chk_16_pi(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); } -void m68k_op_chk_16_pd(void) +void m68k_op_chk_16_pd(m68ki_cpu_core *cpu) { sint src = MAKE_INT_16(DX); - sint bound = MAKE_INT_16(OPER_AY_PD_16()); + sint bound = MAKE_INT_16(OPER_AY_PD_16(cpu)); FLAG_Z = ZFLAG_16(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9300,14 +9301,14 @@ void m68k_op_chk_16_pd(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); } -void m68k_op_chk_16_di(void) +void m68k_op_chk_16_di(m68ki_cpu_core *cpu) { sint src = MAKE_INT_16(DX); - sint bound = MAKE_INT_16(OPER_AY_DI_16()); + sint bound = MAKE_INT_16(OPER_AY_DI_16(cpu)); FLAG_Z = ZFLAG_16(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9318,14 +9319,14 @@ void m68k_op_chk_16_di(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); } -void m68k_op_chk_16_ix(void) +void m68k_op_chk_16_ix(m68ki_cpu_core *cpu) { sint src = MAKE_INT_16(DX); - sint bound = MAKE_INT_16(OPER_AY_IX_16()); + sint bound = MAKE_INT_16(OPER_AY_IX_16(cpu)); FLAG_Z = ZFLAG_16(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9336,14 +9337,14 @@ void m68k_op_chk_16_ix(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); } -void m68k_op_chk_16_aw(void) +void m68k_op_chk_16_aw(m68ki_cpu_core *cpu) { sint src = MAKE_INT_16(DX); - sint bound = MAKE_INT_16(OPER_AW_16()); + sint bound = MAKE_INT_16(OPER_AW_16(cpu)); FLAG_Z = ZFLAG_16(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9354,14 +9355,14 @@ void m68k_op_chk_16_aw(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); } -void m68k_op_chk_16_al(void) +void m68k_op_chk_16_al(m68ki_cpu_core *cpu) { sint src = MAKE_INT_16(DX); - sint bound = MAKE_INT_16(OPER_AL_16()); + sint bound = MAKE_INT_16(OPER_AL_16(cpu)); FLAG_Z = ZFLAG_16(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9372,14 +9373,14 @@ void m68k_op_chk_16_al(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); } -void m68k_op_chk_16_pcdi(void) +void m68k_op_chk_16_pcdi(m68ki_cpu_core *cpu) { sint src = MAKE_INT_16(DX); - sint bound = MAKE_INT_16(OPER_PCDI_16()); + sint bound = MAKE_INT_16(OPER_PCDI_16(cpu)); FLAG_Z = ZFLAG_16(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9390,14 +9391,14 @@ void m68k_op_chk_16_pcdi(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); } -void m68k_op_chk_16_pcix(void) +void m68k_op_chk_16_pcix(m68ki_cpu_core *cpu) { sint src = MAKE_INT_16(DX); - sint bound = MAKE_INT_16(OPER_PCIX_16()); + sint bound = MAKE_INT_16(OPER_PCIX_16(cpu)); FLAG_Z = ZFLAG_16(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9408,11 +9409,11 @@ void m68k_op_chk_16_pcix(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); } -void m68k_op_chk_16_i(void) +void m68k_op_chk_16_i(m68ki_cpu_core *cpu) { sint src = MAKE_INT_16(DX); sint bound = MAKE_INT_16(OPER_I_16()); @@ -9426,11 +9427,11 @@ void m68k_op_chk_16_i(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); } -void m68k_op_chk_32_d(void) +void m68k_op_chk_32_d(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9446,19 +9447,19 @@ void m68k_op_chk_32_d(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk_32_ai(void) +void m68k_op_chk_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { sint src = MAKE_INT_32(DX); - sint bound = MAKE_INT_32(OPER_AY_AI_32()); + sint bound = MAKE_INT_32(OPER_AY_AI_32(cpu)); FLAG_Z = ZFLAG_32(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9469,19 +9470,19 @@ void m68k_op_chk_32_ai(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk_32_pi(void) +void m68k_op_chk_32_pi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { sint src = MAKE_INT_32(DX); - sint bound = MAKE_INT_32(OPER_AY_PI_32()); + sint bound = MAKE_INT_32(OPER_AY_PI_32(cpu)); FLAG_Z = ZFLAG_32(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9492,19 +9493,19 @@ void m68k_op_chk_32_pi(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk_32_pd(void) +void m68k_op_chk_32_pd(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { sint src = MAKE_INT_32(DX); - sint bound = MAKE_INT_32(OPER_AY_PD_32()); + sint bound = MAKE_INT_32(OPER_AY_PD_32(cpu)); FLAG_Z = ZFLAG_32(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9515,19 +9516,19 @@ void m68k_op_chk_32_pd(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk_32_di(void) +void m68k_op_chk_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { sint src = MAKE_INT_32(DX); - sint bound = MAKE_INT_32(OPER_AY_DI_32()); + sint bound = MAKE_INT_32(OPER_AY_DI_32(cpu)); FLAG_Z = ZFLAG_32(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9538,19 +9539,19 @@ void m68k_op_chk_32_di(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk_32_ix(void) +void m68k_op_chk_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { sint src = MAKE_INT_32(DX); - sint bound = MAKE_INT_32(OPER_AY_IX_32()); + sint bound = MAKE_INT_32(OPER_AY_IX_32(cpu)); FLAG_Z = ZFLAG_32(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9561,19 +9562,19 @@ void m68k_op_chk_32_ix(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk_32_aw(void) +void m68k_op_chk_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { sint src = MAKE_INT_32(DX); - sint bound = MAKE_INT_32(OPER_AW_32()); + sint bound = MAKE_INT_32(OPER_AW_32(cpu)); FLAG_Z = ZFLAG_32(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9584,19 +9585,19 @@ void m68k_op_chk_32_aw(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk_32_al(void) +void m68k_op_chk_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { sint src = MAKE_INT_32(DX); - sint bound = MAKE_INT_32(OPER_AL_32()); + sint bound = MAKE_INT_32(OPER_AL_32(cpu)); FLAG_Z = ZFLAG_32(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9607,19 +9608,19 @@ void m68k_op_chk_32_al(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk_32_pcdi(void) +void m68k_op_chk_32_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { sint src = MAKE_INT_32(DX); - sint bound = MAKE_INT_32(OPER_PCDI_32()); + sint bound = MAKE_INT_32(OPER_PCDI_32(cpu)); FLAG_Z = ZFLAG_32(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9630,19 +9631,19 @@ void m68k_op_chk_32_pcdi(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk_32_pcix(void) +void m68k_op_chk_32_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { sint src = MAKE_INT_32(DX); - sint bound = MAKE_INT_32(OPER_PCIX_32()); + sint bound = MAKE_INT_32(OPER_PCIX_32(cpu)); FLAG_Z = ZFLAG_32(src); /* Undocumented */ FLAG_V = VFLAG_CLEAR; /* Undocumented */ @@ -9653,14 +9654,14 @@ void m68k_op_chk_32_pcix(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk_32_i(void) +void m68k_op_chk_32_i(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9676,14 +9677,14 @@ void m68k_op_chk_32_i(void) return; } FLAG_N = (src < 0)<<7; - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_8_pcdi(void) +void m68k_op_chk2cmp2_8_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9701,20 +9702,20 @@ void m68k_op_chk2cmp2_8_pcdi(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_8_pcix(void) +void m68k_op_chk2cmp2_8_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9732,20 +9733,20 @@ void m68k_op_chk2cmp2_8_pcix(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_8_ai(void) +void m68k_op_chk2cmp2_8_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9763,20 +9764,20 @@ void m68k_op_chk2cmp2_8_ai(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_8_di(void) +void m68k_op_chk2cmp2_8_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9794,20 +9795,20 @@ void m68k_op_chk2cmp2_8_di(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_8_ix(void) +void m68k_op_chk2cmp2_8_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9825,20 +9826,20 @@ void m68k_op_chk2cmp2_8_ix(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_8_aw(void) +void m68k_op_chk2cmp2_8_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9856,20 +9857,20 @@ void m68k_op_chk2cmp2_8_aw(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_8_al(void) +void m68k_op_chk2cmp2_8_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9887,20 +9888,20 @@ void m68k_op_chk2cmp2_8_al(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_16_pcdi(void) +void m68k_op_chk2cmp2_16_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9919,7 +9920,7 @@ void m68k_op_chk2cmp2_16_pcdi(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } @@ -9929,14 +9930,14 @@ void m68k_op_chk2cmp2_16_pcdi(void) FLAG_C = upper_bound - compare; FLAG_C = CFLAG_16(FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_16_pcix(void) +void m68k_op_chk2cmp2_16_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9955,7 +9956,7 @@ void m68k_op_chk2cmp2_16_pcix(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } @@ -9965,14 +9966,14 @@ void m68k_op_chk2cmp2_16_pcix(void) FLAG_C = upper_bound - compare; FLAG_C = CFLAG_16(FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_16_ai(void) +void m68k_op_chk2cmp2_16_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -9992,7 +9993,7 @@ void m68k_op_chk2cmp2_16_ai(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } if(!BIT_F(word2)) @@ -10002,14 +10003,14 @@ void m68k_op_chk2cmp2_16_ai(void) FLAG_C = CFLAG_16(FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_16_di(void) +void m68k_op_chk2cmp2_16_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -10029,7 +10030,7 @@ void m68k_op_chk2cmp2_16_di(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } if(!BIT_F(word2)) @@ -10039,14 +10040,14 @@ void m68k_op_chk2cmp2_16_di(void) FLAG_C = CFLAG_16(FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_16_ix(void) +void m68k_op_chk2cmp2_16_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -10066,7 +10067,7 @@ void m68k_op_chk2cmp2_16_ix(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } if(!BIT_F(word2)) @@ -10076,14 +10077,14 @@ void m68k_op_chk2cmp2_16_ix(void) FLAG_C = CFLAG_16(FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_16_aw(void) +void m68k_op_chk2cmp2_16_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -10103,7 +10104,7 @@ void m68k_op_chk2cmp2_16_aw(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } if(!BIT_F(word2)) @@ -10113,14 +10114,14 @@ void m68k_op_chk2cmp2_16_aw(void) FLAG_C = CFLAG_16(FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_16_al(void) +void m68k_op_chk2cmp2_16_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -10140,7 +10141,7 @@ void m68k_op_chk2cmp2_16_al(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } if(!BIT_F(word2)) @@ -10150,14 +10151,14 @@ void m68k_op_chk2cmp2_16_al(void) FLAG_C = CFLAG_16(FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_32_pcdi(void) +void m68k_op_chk2cmp2_32_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -10173,21 +10174,21 @@ void m68k_op_chk2cmp2_32_pcdi(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; FLAG_C = CFLAG_SUB_32(compare, upper_bound, FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_32_pcix(void) +void m68k_op_chk2cmp2_32_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -10203,21 +10204,21 @@ void m68k_op_chk2cmp2_32_pcix(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; FLAG_C = CFLAG_SUB_32(compare, upper_bound, FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_32_ai(void) +void m68k_op_chk2cmp2_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -10233,21 +10234,21 @@ void m68k_op_chk2cmp2_32_ai(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; FLAG_C = CFLAG_SUB_32(compare, upper_bound, FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_32_di(void) +void m68k_op_chk2cmp2_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -10263,21 +10264,21 @@ void m68k_op_chk2cmp2_32_di(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; FLAG_C = CFLAG_SUB_32(compare, upper_bound, FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_32_ix(void) +void m68k_op_chk2cmp2_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -10293,21 +10294,21 @@ void m68k_op_chk2cmp2_32_ix(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; FLAG_C = CFLAG_SUB_32(compare, upper_bound, FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_32_aw(void) +void m68k_op_chk2cmp2_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -10323,21 +10324,21 @@ void m68k_op_chk2cmp2_32_aw(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; FLAG_C = CFLAG_SUB_32(compare, upper_bound, FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_chk2cmp2_32_al(void) +void m68k_op_chk2cmp2_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -10353,21 +10354,21 @@ void m68k_op_chk2cmp2_32_al(void) if(COND_CS()) { if(BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } FLAG_C = upper_bound - compare; FLAG_C = CFLAG_SUB_32(compare, upper_bound, FLAG_C); if(COND_CS() && BIT_B(word2)) - m68ki_exception_trap(EXCEPTION_CHK); + m68ki_exception_trap(cpu, EXCEPTION_CHK); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_clr_8_d(void) +void m68k_op_clr_8_d(m68ki_cpu_core *cpu) { DY &= 0xffffff00; @@ -10378,7 +10379,7 @@ void m68k_op_clr_8_d(void) } -void m68k_op_clr_8_ai(void) +void m68k_op_clr_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), 0); @@ -10389,7 +10390,7 @@ void m68k_op_clr_8_ai(void) } -void m68k_op_clr_8_pi(void) +void m68k_op_clr_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), 0); @@ -10400,7 +10401,7 @@ void m68k_op_clr_8_pi(void) } -void m68k_op_clr_8_pi7(void) +void m68k_op_clr_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), 0); @@ -10411,7 +10412,7 @@ void m68k_op_clr_8_pi7(void) } -void m68k_op_clr_8_pd(void) +void m68k_op_clr_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), 0); @@ -10422,7 +10423,7 @@ void m68k_op_clr_8_pd(void) } -void m68k_op_clr_8_pd7(void) +void m68k_op_clr_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), 0); @@ -10433,7 +10434,7 @@ void m68k_op_clr_8_pd7(void) } -void m68k_op_clr_8_di(void) +void m68k_op_clr_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), 0); @@ -10444,7 +10445,7 @@ void m68k_op_clr_8_di(void) } -void m68k_op_clr_8_ix(void) +void m68k_op_clr_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), 0); @@ -10455,7 +10456,7 @@ void m68k_op_clr_8_ix(void) } -void m68k_op_clr_8_aw(void) +void m68k_op_clr_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), 0); @@ -10466,7 +10467,7 @@ void m68k_op_clr_8_aw(void) } -void m68k_op_clr_8_al(void) +void m68k_op_clr_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), 0); @@ -10477,7 +10478,7 @@ void m68k_op_clr_8_al(void) } -void m68k_op_clr_16_d(void) +void m68k_op_clr_16_d(m68ki_cpu_core *cpu) { DY &= 0xffff0000; @@ -10488,7 +10489,7 @@ void m68k_op_clr_16_d(void) } -void m68k_op_clr_16_ai(void) +void m68k_op_clr_16_ai(m68ki_cpu_core *cpu) { m68ki_write_16(EA_AY_AI_16(), 0); @@ -10499,7 +10500,7 @@ void m68k_op_clr_16_ai(void) } -void m68k_op_clr_16_pi(void) +void m68k_op_clr_16_pi(m68ki_cpu_core *cpu) { m68ki_write_16(EA_AY_PI_16(), 0); @@ -10510,7 +10511,7 @@ void m68k_op_clr_16_pi(void) } -void m68k_op_clr_16_pd(void) +void m68k_op_clr_16_pd(m68ki_cpu_core *cpu) { m68ki_write_16(EA_AY_PD_16(), 0); @@ -10521,7 +10522,7 @@ void m68k_op_clr_16_pd(void) } -void m68k_op_clr_16_di(void) +void m68k_op_clr_16_di(m68ki_cpu_core *cpu) { m68ki_write_16(EA_AY_DI_16(), 0); @@ -10532,7 +10533,7 @@ void m68k_op_clr_16_di(void) } -void m68k_op_clr_16_ix(void) +void m68k_op_clr_16_ix(m68ki_cpu_core *cpu) { m68ki_write_16(EA_AY_IX_16(), 0); @@ -10543,7 +10544,7 @@ void m68k_op_clr_16_ix(void) } -void m68k_op_clr_16_aw(void) +void m68k_op_clr_16_aw(m68ki_cpu_core *cpu) { m68ki_write_16(EA_AW_16(), 0); @@ -10554,7 +10555,7 @@ void m68k_op_clr_16_aw(void) } -void m68k_op_clr_16_al(void) +void m68k_op_clr_16_al(m68ki_cpu_core *cpu) { m68ki_write_16(EA_AL_16(), 0); @@ -10565,7 +10566,7 @@ void m68k_op_clr_16_al(void) } -void m68k_op_clr_32_d(void) +void m68k_op_clr_32_d(m68ki_cpu_core *cpu) { DY = 0; @@ -10576,7 +10577,7 @@ void m68k_op_clr_32_d(void) } -void m68k_op_clr_32_ai(void) +void m68k_op_clr_32_ai(m68ki_cpu_core *cpu) { m68ki_write_32(EA_AY_AI_32(), 0); @@ -10587,7 +10588,7 @@ void m68k_op_clr_32_ai(void) } -void m68k_op_clr_32_pi(void) +void m68k_op_clr_32_pi(m68ki_cpu_core *cpu) { m68ki_write_32(EA_AY_PI_32(), 0); @@ -10598,7 +10599,7 @@ void m68k_op_clr_32_pi(void) } -void m68k_op_clr_32_pd(void) +void m68k_op_clr_32_pd(m68ki_cpu_core *cpu) { m68ki_write_32(EA_AY_PD_32(), 0); @@ -10609,7 +10610,7 @@ void m68k_op_clr_32_pd(void) } -void m68k_op_clr_32_di(void) +void m68k_op_clr_32_di(m68ki_cpu_core *cpu) { m68ki_write_32(EA_AY_DI_32(), 0); @@ -10620,7 +10621,7 @@ void m68k_op_clr_32_di(void) } -void m68k_op_clr_32_ix(void) +void m68k_op_clr_32_ix(m68ki_cpu_core *cpu) { m68ki_write_32(EA_AY_IX_32(), 0); @@ -10631,7 +10632,7 @@ void m68k_op_clr_32_ix(void) } -void m68k_op_clr_32_aw(void) +void m68k_op_clr_32_aw(m68ki_cpu_core *cpu) { m68ki_write_32(EA_AW_32(), 0); @@ -10642,7 +10643,7 @@ void m68k_op_clr_32_aw(void) } -void m68k_op_clr_32_al(void) +void m68k_op_clr_32_al(m68ki_cpu_core *cpu) { m68ki_write_32(EA_AL_32(), 0); @@ -10653,7 +10654,7 @@ void m68k_op_clr_32_al(void) } -void m68k_op_cmp_8_d(void) +void m68k_op_cmp_8_d(m68ki_cpu_core *cpu) { uint src = MASK_OUT_ABOVE_8(DY); uint dst = MASK_OUT_ABOVE_8(DX); @@ -10666,9 +10667,9 @@ void m68k_op_cmp_8_d(void) } -void m68k_op_cmp_8_ai(void) +void m68k_op_cmp_8_ai(m68ki_cpu_core *cpu) { - uint src = OPER_AY_AI_8(); + uint src = OPER_AY_AI_8(cpu); uint dst = MASK_OUT_ABOVE_8(DX); uint res = dst - src; @@ -10679,9 +10680,9 @@ void m68k_op_cmp_8_ai(void) } -void m68k_op_cmp_8_pi(void) +void m68k_op_cmp_8_pi(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PI_8(); + uint src = OPER_AY_PI_8(cpu); uint dst = MASK_OUT_ABOVE_8(DX); uint res = dst - src; @@ -10692,9 +10693,9 @@ void m68k_op_cmp_8_pi(void) } -void m68k_op_cmp_8_pi7(void) +void m68k_op_cmp_8_pi7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PI_8(); + uint src = OPER_A7_PI_8(cpu); uint dst = MASK_OUT_ABOVE_8(DX); uint res = dst - src; @@ -10705,9 +10706,9 @@ void m68k_op_cmp_8_pi7(void) } -void m68k_op_cmp_8_pd(void) +void m68k_op_cmp_8_pd(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint dst = MASK_OUT_ABOVE_8(DX); uint res = dst - src; @@ -10718,9 +10719,9 @@ void m68k_op_cmp_8_pd(void) } -void m68k_op_cmp_8_pd7(void) +void m68k_op_cmp_8_pd7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint dst = MASK_OUT_ABOVE_8(DX); uint res = dst - src; @@ -10731,9 +10732,9 @@ void m68k_op_cmp_8_pd7(void) } -void m68k_op_cmp_8_di(void) +void m68k_op_cmp_8_di(m68ki_cpu_core *cpu) { - uint src = OPER_AY_DI_8(); + uint src = OPER_AY_DI_8(cpu); uint dst = MASK_OUT_ABOVE_8(DX); uint res = dst - src; @@ -10744,9 +10745,9 @@ void m68k_op_cmp_8_di(void) } -void m68k_op_cmp_8_ix(void) +void m68k_op_cmp_8_ix(m68ki_cpu_core *cpu) { - uint src = OPER_AY_IX_8(); + uint src = OPER_AY_IX_8(cpu); uint dst = MASK_OUT_ABOVE_8(DX); uint res = dst - src; @@ -10757,9 +10758,9 @@ void m68k_op_cmp_8_ix(void) } -void m68k_op_cmp_8_aw(void) +void m68k_op_cmp_8_aw(m68ki_cpu_core *cpu) { - uint src = OPER_AW_8(); + uint src = OPER_AW_8(cpu); uint dst = MASK_OUT_ABOVE_8(DX); uint res = dst - src; @@ -10770,9 +10771,9 @@ void m68k_op_cmp_8_aw(void) } -void m68k_op_cmp_8_al(void) +void m68k_op_cmp_8_al(m68ki_cpu_core *cpu) { - uint src = OPER_AL_8(); + uint src = OPER_AL_8(cpu); uint dst = MASK_OUT_ABOVE_8(DX); uint res = dst - src; @@ -10783,9 +10784,9 @@ void m68k_op_cmp_8_al(void) } -void m68k_op_cmp_8_pcdi(void) +void m68k_op_cmp_8_pcdi(m68ki_cpu_core *cpu) { - uint src = OPER_PCDI_8(); + uint src = OPER_PCDI_8(cpu); uint dst = MASK_OUT_ABOVE_8(DX); uint res = dst - src; @@ -10796,9 +10797,9 @@ void m68k_op_cmp_8_pcdi(void) } -void m68k_op_cmp_8_pcix(void) +void m68k_op_cmp_8_pcix(m68ki_cpu_core *cpu) { - uint src = OPER_PCIX_8(); + uint src = OPER_PCIX_8(cpu); uint dst = MASK_OUT_ABOVE_8(DX); uint res = dst - src; @@ -10809,7 +10810,7 @@ void m68k_op_cmp_8_pcix(void) } -void m68k_op_cmp_8_i(void) +void m68k_op_cmp_8_i(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint dst = MASK_OUT_ABOVE_8(DX); @@ -10822,7 +10823,7 @@ void m68k_op_cmp_8_i(void) } -void m68k_op_cmp_16_d(void) +void m68k_op_cmp_16_d(m68ki_cpu_core *cpu) { uint src = MASK_OUT_ABOVE_16(DY); uint dst = MASK_OUT_ABOVE_16(DX); @@ -10835,7 +10836,7 @@ void m68k_op_cmp_16_d(void) } -void m68k_op_cmp_16_a(void) +void m68k_op_cmp_16_a(m68ki_cpu_core *cpu) { uint src = MASK_OUT_ABOVE_16(AY); uint dst = MASK_OUT_ABOVE_16(DX); @@ -10848,9 +10849,9 @@ void m68k_op_cmp_16_a(void) } -void m68k_op_cmp_16_ai(void) +void m68k_op_cmp_16_ai(m68ki_cpu_core *cpu) { - uint src = OPER_AY_AI_16(); + uint src = OPER_AY_AI_16(cpu); uint dst = MASK_OUT_ABOVE_16(DX); uint res = dst - src; @@ -10861,9 +10862,9 @@ void m68k_op_cmp_16_ai(void) } -void m68k_op_cmp_16_pi(void) +void m68k_op_cmp_16_pi(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PI_16(); + uint src = OPER_AY_PI_16(cpu); uint dst = MASK_OUT_ABOVE_16(DX); uint res = dst - src; @@ -10874,9 +10875,9 @@ void m68k_op_cmp_16_pi(void) } -void m68k_op_cmp_16_pd(void) +void m68k_op_cmp_16_pd(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_16(); + uint src = OPER_AY_PD_16(cpu); uint dst = MASK_OUT_ABOVE_16(DX); uint res = dst - src; @@ -10887,9 +10888,9 @@ void m68k_op_cmp_16_pd(void) } -void m68k_op_cmp_16_di(void) +void m68k_op_cmp_16_di(m68ki_cpu_core *cpu) { - uint src = OPER_AY_DI_16(); + uint src = OPER_AY_DI_16(cpu); uint dst = MASK_OUT_ABOVE_16(DX); uint res = dst - src; @@ -10900,9 +10901,9 @@ void m68k_op_cmp_16_di(void) } -void m68k_op_cmp_16_ix(void) +void m68k_op_cmp_16_ix(m68ki_cpu_core *cpu) { - uint src = OPER_AY_IX_16(); + uint src = OPER_AY_IX_16(cpu); uint dst = MASK_OUT_ABOVE_16(DX); uint res = dst - src; @@ -10913,9 +10914,9 @@ void m68k_op_cmp_16_ix(void) } -void m68k_op_cmp_16_aw(void) +void m68k_op_cmp_16_aw(m68ki_cpu_core *cpu) { - uint src = OPER_AW_16(); + uint src = OPER_AW_16(cpu); uint dst = MASK_OUT_ABOVE_16(DX); uint res = dst - src; @@ -10926,9 +10927,9 @@ void m68k_op_cmp_16_aw(void) } -void m68k_op_cmp_16_al(void) +void m68k_op_cmp_16_al(m68ki_cpu_core *cpu) { - uint src = OPER_AL_16(); + uint src = OPER_AL_16(cpu); uint dst = MASK_OUT_ABOVE_16(DX); uint res = dst - src; @@ -10939,9 +10940,9 @@ void m68k_op_cmp_16_al(void) } -void m68k_op_cmp_16_pcdi(void) +void m68k_op_cmp_16_pcdi(m68ki_cpu_core *cpu) { - uint src = OPER_PCDI_16(); + uint src = OPER_PCDI_16(cpu); uint dst = MASK_OUT_ABOVE_16(DX); uint res = dst - src; @@ -10952,9 +10953,9 @@ void m68k_op_cmp_16_pcdi(void) } -void m68k_op_cmp_16_pcix(void) +void m68k_op_cmp_16_pcix(m68ki_cpu_core *cpu) { - uint src = OPER_PCIX_16(); + uint src = OPER_PCIX_16(cpu); uint dst = MASK_OUT_ABOVE_16(DX); uint res = dst - src; @@ -10965,7 +10966,7 @@ void m68k_op_cmp_16_pcix(void) } -void m68k_op_cmp_16_i(void) +void m68k_op_cmp_16_i(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint dst = MASK_OUT_ABOVE_16(DX); @@ -10978,7 +10979,7 @@ void m68k_op_cmp_16_i(void) } -void m68k_op_cmp_32_d(void) +void m68k_op_cmp_32_d(m68ki_cpu_core *cpu) { uint src = DY; uint dst = DX; @@ -10991,7 +10992,7 @@ void m68k_op_cmp_32_d(void) } -void m68k_op_cmp_32_a(void) +void m68k_op_cmp_32_a(m68ki_cpu_core *cpu) { uint src = AY; uint dst = DX; @@ -11004,9 +11005,9 @@ void m68k_op_cmp_32_a(void) } -void m68k_op_cmp_32_ai(void) +void m68k_op_cmp_32_ai(m68ki_cpu_core *cpu) { - uint src = OPER_AY_AI_32(); + uint src = OPER_AY_AI_32(cpu); uint dst = DX; uint res = dst - src; @@ -11017,9 +11018,9 @@ void m68k_op_cmp_32_ai(void) } -void m68k_op_cmp_32_pi(void) +void m68k_op_cmp_32_pi(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PI_32(); + uint src = OPER_AY_PI_32(cpu); uint dst = DX; uint res = dst - src; @@ -11030,9 +11031,9 @@ void m68k_op_cmp_32_pi(void) } -void m68k_op_cmp_32_pd(void) +void m68k_op_cmp_32_pd(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_32(); + uint src = OPER_AY_PD_32(cpu); uint dst = DX; uint res = dst - src; @@ -11043,9 +11044,9 @@ void m68k_op_cmp_32_pd(void) } -void m68k_op_cmp_32_di(void) +void m68k_op_cmp_32_di(m68ki_cpu_core *cpu) { - uint src = OPER_AY_DI_32(); + uint src = OPER_AY_DI_32(cpu); uint dst = DX; uint res = dst - src; @@ -11056,9 +11057,9 @@ void m68k_op_cmp_32_di(void) } -void m68k_op_cmp_32_ix(void) +void m68k_op_cmp_32_ix(m68ki_cpu_core *cpu) { - uint src = OPER_AY_IX_32(); + uint src = OPER_AY_IX_32(cpu); uint dst = DX; uint res = dst - src; @@ -11069,9 +11070,9 @@ void m68k_op_cmp_32_ix(void) } -void m68k_op_cmp_32_aw(void) +void m68k_op_cmp_32_aw(m68ki_cpu_core *cpu) { - uint src = OPER_AW_32(); + uint src = OPER_AW_32(cpu); uint dst = DX; uint res = dst - src; @@ -11082,9 +11083,9 @@ void m68k_op_cmp_32_aw(void) } -void m68k_op_cmp_32_al(void) +void m68k_op_cmp_32_al(m68ki_cpu_core *cpu) { - uint src = OPER_AL_32(); + uint src = OPER_AL_32(cpu); uint dst = DX; uint res = dst - src; @@ -11095,9 +11096,9 @@ void m68k_op_cmp_32_al(void) } -void m68k_op_cmp_32_pcdi(void) +void m68k_op_cmp_32_pcdi(m68ki_cpu_core *cpu) { - uint src = OPER_PCDI_32(); + uint src = OPER_PCDI_32(cpu); uint dst = DX; uint res = dst - src; @@ -11108,9 +11109,9 @@ void m68k_op_cmp_32_pcdi(void) } -void m68k_op_cmp_32_pcix(void) +void m68k_op_cmp_32_pcix(m68ki_cpu_core *cpu) { - uint src = OPER_PCIX_32(); + uint src = OPER_PCIX_32(cpu); uint dst = DX; uint res = dst - src; @@ -11121,7 +11122,7 @@ void m68k_op_cmp_32_pcix(void) } -void m68k_op_cmp_32_i(void) +void m68k_op_cmp_32_i(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint dst = DX; @@ -11134,7 +11135,7 @@ void m68k_op_cmp_32_i(void) } -void m68k_op_cmpa_16_d(void) +void m68k_op_cmpa_16_d(m68ki_cpu_core *cpu) { uint src = MAKE_INT_16(DY); uint dst = AX; @@ -11147,7 +11148,7 @@ void m68k_op_cmpa_16_d(void) } -void m68k_op_cmpa_16_a(void) +void m68k_op_cmpa_16_a(m68ki_cpu_core *cpu) { uint src = MAKE_INT_16(AY); uint dst = AX; @@ -11160,9 +11161,9 @@ void m68k_op_cmpa_16_a(void) } -void m68k_op_cmpa_16_ai(void) +void m68k_op_cmpa_16_ai(m68ki_cpu_core *cpu) { - uint src = MAKE_INT_16(OPER_AY_AI_16()); + uint src = MAKE_INT_16(OPER_AY_AI_16(cpu)); uint dst = AX; uint res = dst - src; @@ -11173,9 +11174,9 @@ void m68k_op_cmpa_16_ai(void) } -void m68k_op_cmpa_16_pi(void) +void m68k_op_cmpa_16_pi(m68ki_cpu_core *cpu) { - uint src = MAKE_INT_16(OPER_AY_PI_16()); + uint src = MAKE_INT_16(OPER_AY_PI_16(cpu)); uint dst = AX; uint res = dst - src; @@ -11186,9 +11187,9 @@ void m68k_op_cmpa_16_pi(void) } -void m68k_op_cmpa_16_pd(void) +void m68k_op_cmpa_16_pd(m68ki_cpu_core *cpu) { - uint src = MAKE_INT_16(OPER_AY_PD_16()); + uint src = MAKE_INT_16(OPER_AY_PD_16(cpu)); uint dst = AX; uint res = dst - src; @@ -11199,9 +11200,9 @@ void m68k_op_cmpa_16_pd(void) } -void m68k_op_cmpa_16_di(void) +void m68k_op_cmpa_16_di(m68ki_cpu_core *cpu) { - uint src = MAKE_INT_16(OPER_AY_DI_16()); + uint src = MAKE_INT_16(OPER_AY_DI_16(cpu)); uint dst = AX; uint res = dst - src; @@ -11212,9 +11213,9 @@ void m68k_op_cmpa_16_di(void) } -void m68k_op_cmpa_16_ix(void) +void m68k_op_cmpa_16_ix(m68ki_cpu_core *cpu) { - uint src = MAKE_INT_16(OPER_AY_IX_16()); + uint src = MAKE_INT_16(OPER_AY_IX_16(cpu)); uint dst = AX; uint res = dst - src; @@ -11225,9 +11226,9 @@ void m68k_op_cmpa_16_ix(void) } -void m68k_op_cmpa_16_aw(void) +void m68k_op_cmpa_16_aw(m68ki_cpu_core *cpu) { - uint src = MAKE_INT_16(OPER_AW_16()); + uint src = MAKE_INT_16(OPER_AW_16(cpu)); uint dst = AX; uint res = dst - src; @@ -11238,9 +11239,9 @@ void m68k_op_cmpa_16_aw(void) } -void m68k_op_cmpa_16_al(void) +void m68k_op_cmpa_16_al(m68ki_cpu_core *cpu) { - uint src = MAKE_INT_16(OPER_AL_16()); + uint src = MAKE_INT_16(OPER_AL_16(cpu)); uint dst = AX; uint res = dst - src; @@ -11251,9 +11252,9 @@ void m68k_op_cmpa_16_al(void) } -void m68k_op_cmpa_16_pcdi(void) +void m68k_op_cmpa_16_pcdi(m68ki_cpu_core *cpu) { - uint src = MAKE_INT_16(OPER_PCDI_16()); + uint src = MAKE_INT_16(OPER_PCDI_16(cpu)); uint dst = AX; uint res = dst - src; @@ -11264,9 +11265,9 @@ void m68k_op_cmpa_16_pcdi(void) } -void m68k_op_cmpa_16_pcix(void) +void m68k_op_cmpa_16_pcix(m68ki_cpu_core *cpu) { - uint src = MAKE_INT_16(OPER_PCIX_16()); + uint src = MAKE_INT_16(OPER_PCIX_16(cpu)); uint dst = AX; uint res = dst - src; @@ -11277,7 +11278,7 @@ void m68k_op_cmpa_16_pcix(void) } -void m68k_op_cmpa_16_i(void) +void m68k_op_cmpa_16_i(m68ki_cpu_core *cpu) { uint src = MAKE_INT_16(OPER_I_16()); uint dst = AX; @@ -11290,7 +11291,7 @@ void m68k_op_cmpa_16_i(void) } -void m68k_op_cmpa_32_d(void) +void m68k_op_cmpa_32_d(m68ki_cpu_core *cpu) { uint src = DY; uint dst = AX; @@ -11303,7 +11304,7 @@ void m68k_op_cmpa_32_d(void) } -void m68k_op_cmpa_32_a(void) +void m68k_op_cmpa_32_a(m68ki_cpu_core *cpu) { uint src = AY; uint dst = AX; @@ -11316,9 +11317,9 @@ void m68k_op_cmpa_32_a(void) } -void m68k_op_cmpa_32_ai(void) +void m68k_op_cmpa_32_ai(m68ki_cpu_core *cpu) { - uint src = OPER_AY_AI_32(); + uint src = OPER_AY_AI_32(cpu); uint dst = AX; uint res = dst - src; @@ -11329,9 +11330,9 @@ void m68k_op_cmpa_32_ai(void) } -void m68k_op_cmpa_32_pi(void) +void m68k_op_cmpa_32_pi(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PI_32(); + uint src = OPER_AY_PI_32(cpu); uint dst = AX; uint res = dst - src; @@ -11342,9 +11343,9 @@ void m68k_op_cmpa_32_pi(void) } -void m68k_op_cmpa_32_pd(void) +void m68k_op_cmpa_32_pd(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_32(); + uint src = OPER_AY_PD_32(cpu); uint dst = AX; uint res = dst - src; @@ -11355,9 +11356,9 @@ void m68k_op_cmpa_32_pd(void) } -void m68k_op_cmpa_32_di(void) +void m68k_op_cmpa_32_di(m68ki_cpu_core *cpu) { - uint src = OPER_AY_DI_32(); + uint src = OPER_AY_DI_32(cpu); uint dst = AX; uint res = dst - src; @@ -11368,9 +11369,9 @@ void m68k_op_cmpa_32_di(void) } -void m68k_op_cmpa_32_ix(void) +void m68k_op_cmpa_32_ix(m68ki_cpu_core *cpu) { - uint src = OPER_AY_IX_32(); + uint src = OPER_AY_IX_32(cpu); uint dst = AX; uint res = dst - src; @@ -11381,9 +11382,9 @@ void m68k_op_cmpa_32_ix(void) } -void m68k_op_cmpa_32_aw(void) +void m68k_op_cmpa_32_aw(m68ki_cpu_core *cpu) { - uint src = OPER_AW_32(); + uint src = OPER_AW_32(cpu); uint dst = AX; uint res = dst - src; @@ -11394,9 +11395,9 @@ void m68k_op_cmpa_32_aw(void) } -void m68k_op_cmpa_32_al(void) +void m68k_op_cmpa_32_al(m68ki_cpu_core *cpu) { - uint src = OPER_AL_32(); + uint src = OPER_AL_32(cpu); uint dst = AX; uint res = dst - src; @@ -11407,9 +11408,9 @@ void m68k_op_cmpa_32_al(void) } -void m68k_op_cmpa_32_pcdi(void) +void m68k_op_cmpa_32_pcdi(m68ki_cpu_core *cpu) { - uint src = OPER_PCDI_32(); + uint src = OPER_PCDI_32(cpu); uint dst = AX; uint res = dst - src; @@ -11420,9 +11421,9 @@ void m68k_op_cmpa_32_pcdi(void) } -void m68k_op_cmpa_32_pcix(void) +void m68k_op_cmpa_32_pcix(m68ki_cpu_core *cpu) { - uint src = OPER_PCIX_32(); + uint src = OPER_PCIX_32(cpu); uint dst = AX; uint res = dst - src; @@ -11433,7 +11434,7 @@ void m68k_op_cmpa_32_pcix(void) } -void m68k_op_cmpa_32_i(void) +void m68k_op_cmpa_32_i(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint dst = AX; @@ -11446,7 +11447,7 @@ void m68k_op_cmpa_32_i(void) } -void m68k_op_cmpi_8_d(void) +void m68k_op_cmpi_8_d(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint dst = MASK_OUT_ABOVE_8(DY); @@ -11459,10 +11460,10 @@ void m68k_op_cmpi_8_d(void) } -void m68k_op_cmpi_8_ai(void) +void m68k_op_cmpi_8_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); - uint dst = OPER_AY_AI_8(); + uint dst = OPER_AY_AI_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11472,10 +11473,10 @@ void m68k_op_cmpi_8_ai(void) } -void m68k_op_cmpi_8_pi(void) +void m68k_op_cmpi_8_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); - uint dst = OPER_AY_PI_8(); + uint dst = OPER_AY_PI_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11485,10 +11486,10 @@ void m68k_op_cmpi_8_pi(void) } -void m68k_op_cmpi_8_pi7(void) +void m68k_op_cmpi_8_pi7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); - uint dst = OPER_A7_PI_8(); + uint dst = OPER_A7_PI_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11498,10 +11499,10 @@ void m68k_op_cmpi_8_pi7(void) } -void m68k_op_cmpi_8_pd(void) +void m68k_op_cmpi_8_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); - uint dst = OPER_AY_PD_8(); + uint dst = OPER_AY_PD_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11511,10 +11512,10 @@ void m68k_op_cmpi_8_pd(void) } -void m68k_op_cmpi_8_pd7(void) +void m68k_op_cmpi_8_pd7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); - uint dst = OPER_A7_PD_8(); + uint dst = OPER_A7_PD_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11524,10 +11525,10 @@ void m68k_op_cmpi_8_pd7(void) } -void m68k_op_cmpi_8_di(void) +void m68k_op_cmpi_8_di(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); - uint dst = OPER_AY_DI_8(); + uint dst = OPER_AY_DI_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11537,10 +11538,10 @@ void m68k_op_cmpi_8_di(void) } -void m68k_op_cmpi_8_ix(void) +void m68k_op_cmpi_8_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); - uint dst = OPER_AY_IX_8(); + uint dst = OPER_AY_IX_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11550,10 +11551,10 @@ void m68k_op_cmpi_8_ix(void) } -void m68k_op_cmpi_8_aw(void) +void m68k_op_cmpi_8_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); - uint dst = OPER_AW_8(); + uint dst = OPER_AW_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11563,10 +11564,10 @@ void m68k_op_cmpi_8_aw(void) } -void m68k_op_cmpi_8_al(void) +void m68k_op_cmpi_8_al(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); - uint dst = OPER_AL_8(); + uint dst = OPER_AL_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11576,12 +11577,12 @@ void m68k_op_cmpi_8_al(void) } -void m68k_op_cmpi_8_pcdi(void) +void m68k_op_cmpi_8_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint src = OPER_I_8(); - uint dst = OPER_PCDI_8(); + uint dst = OPER_PCDI_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11590,16 +11591,16 @@ void m68k_op_cmpi_8_pcdi(void) FLAG_C = CFLAG_8(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cmpi_8_pcix(void) +void m68k_op_cmpi_8_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint src = OPER_I_8(); - uint dst = OPER_PCIX_8(); + uint dst = OPER_PCIX_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11608,11 +11609,11 @@ void m68k_op_cmpi_8_pcix(void) FLAG_C = CFLAG_8(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cmpi_16_d(void) +void m68k_op_cmpi_16_d(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint dst = MASK_OUT_ABOVE_16(DY); @@ -11625,10 +11626,10 @@ void m68k_op_cmpi_16_d(void) } -void m68k_op_cmpi_16_ai(void) +void m68k_op_cmpi_16_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); - uint dst = OPER_AY_AI_16(); + uint dst = OPER_AY_AI_16(cpu); uint res = dst - src; FLAG_N = NFLAG_16(res); @@ -11638,10 +11639,10 @@ void m68k_op_cmpi_16_ai(void) } -void m68k_op_cmpi_16_pi(void) +void m68k_op_cmpi_16_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); - uint dst = OPER_AY_PI_16(); + uint dst = OPER_AY_PI_16(cpu); uint res = dst - src; FLAG_N = NFLAG_16(res); @@ -11651,10 +11652,10 @@ void m68k_op_cmpi_16_pi(void) } -void m68k_op_cmpi_16_pd(void) +void m68k_op_cmpi_16_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); - uint dst = OPER_AY_PD_16(); + uint dst = OPER_AY_PD_16(cpu); uint res = dst - src; FLAG_N = NFLAG_16(res); @@ -11664,10 +11665,10 @@ void m68k_op_cmpi_16_pd(void) } -void m68k_op_cmpi_16_di(void) +void m68k_op_cmpi_16_di(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); - uint dst = OPER_AY_DI_16(); + uint dst = OPER_AY_DI_16(cpu); uint res = dst - src; FLAG_N = NFLAG_16(res); @@ -11677,10 +11678,10 @@ void m68k_op_cmpi_16_di(void) } -void m68k_op_cmpi_16_ix(void) +void m68k_op_cmpi_16_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); - uint dst = OPER_AY_IX_16(); + uint dst = OPER_AY_IX_16(cpu); uint res = dst - src; FLAG_N = NFLAG_16(res); @@ -11690,10 +11691,10 @@ void m68k_op_cmpi_16_ix(void) } -void m68k_op_cmpi_16_aw(void) +void m68k_op_cmpi_16_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); - uint dst = OPER_AW_16(); + uint dst = OPER_AW_16(cpu); uint res = dst - src; FLAG_N = NFLAG_16(res); @@ -11703,10 +11704,10 @@ void m68k_op_cmpi_16_aw(void) } -void m68k_op_cmpi_16_al(void) +void m68k_op_cmpi_16_al(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); - uint dst = OPER_AL_16(); + uint dst = OPER_AL_16(cpu); uint res = dst - src; FLAG_N = NFLAG_16(res); @@ -11716,12 +11717,12 @@ void m68k_op_cmpi_16_al(void) } -void m68k_op_cmpi_16_pcdi(void) +void m68k_op_cmpi_16_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint src = OPER_I_16(); - uint dst = OPER_PCDI_16(); + uint dst = OPER_PCDI_16(cpu); uint res = dst - src; FLAG_N = NFLAG_16(res); @@ -11730,16 +11731,16 @@ void m68k_op_cmpi_16_pcdi(void) FLAG_C = CFLAG_16(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cmpi_16_pcix(void) +void m68k_op_cmpi_16_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint src = OPER_I_16(); - uint dst = OPER_PCIX_16(); + uint dst = OPER_PCIX_16(cpu); uint res = dst - src; FLAG_N = NFLAG_16(res); @@ -11748,11 +11749,11 @@ void m68k_op_cmpi_16_pcix(void) FLAG_C = CFLAG_16(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cmpi_32_d(void) +void m68k_op_cmpi_32_d(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint dst = DY; @@ -11765,10 +11766,10 @@ void m68k_op_cmpi_32_d(void) } -void m68k_op_cmpi_32_ai(void) +void m68k_op_cmpi_32_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); - uint dst = OPER_AY_AI_32(); + uint dst = OPER_AY_AI_32(cpu); uint res = dst - src; FLAG_N = NFLAG_32(res); @@ -11778,10 +11779,10 @@ void m68k_op_cmpi_32_ai(void) } -void m68k_op_cmpi_32_pi(void) +void m68k_op_cmpi_32_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); - uint dst = OPER_AY_PI_32(); + uint dst = OPER_AY_PI_32(cpu); uint res = dst - src; FLAG_N = NFLAG_32(res); @@ -11791,10 +11792,10 @@ void m68k_op_cmpi_32_pi(void) } -void m68k_op_cmpi_32_pd(void) +void m68k_op_cmpi_32_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); - uint dst = OPER_AY_PD_32(); + uint dst = OPER_AY_PD_32(cpu); uint res = dst - src; FLAG_N = NFLAG_32(res); @@ -11804,10 +11805,10 @@ void m68k_op_cmpi_32_pd(void) } -void m68k_op_cmpi_32_di(void) +void m68k_op_cmpi_32_di(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); - uint dst = OPER_AY_DI_32(); + uint dst = OPER_AY_DI_32(cpu); uint res = dst - src; FLAG_N = NFLAG_32(res); @@ -11817,10 +11818,10 @@ void m68k_op_cmpi_32_di(void) } -void m68k_op_cmpi_32_ix(void) +void m68k_op_cmpi_32_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); - uint dst = OPER_AY_IX_32(); + uint dst = OPER_AY_IX_32(cpu); uint res = dst - src; FLAG_N = NFLAG_32(res); @@ -11830,10 +11831,10 @@ void m68k_op_cmpi_32_ix(void) } -void m68k_op_cmpi_32_aw(void) +void m68k_op_cmpi_32_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); - uint dst = OPER_AW_32(); + uint dst = OPER_AW_32(cpu); uint res = dst - src; FLAG_N = NFLAG_32(res); @@ -11843,10 +11844,10 @@ void m68k_op_cmpi_32_aw(void) } -void m68k_op_cmpi_32_al(void) +void m68k_op_cmpi_32_al(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); - uint dst = OPER_AL_32(); + uint dst = OPER_AL_32(cpu); uint res = dst - src; FLAG_N = NFLAG_32(res); @@ -11856,12 +11857,12 @@ void m68k_op_cmpi_32_al(void) } -void m68k_op_cmpi_32_pcdi(void) +void m68k_op_cmpi_32_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint src = OPER_I_32(); - uint dst = OPER_PCDI_32(); + uint dst = OPER_PCDI_32(cpu); uint res = dst - src; FLAG_N = NFLAG_32(res); @@ -11870,16 +11871,16 @@ void m68k_op_cmpi_32_pcdi(void) FLAG_C = CFLAG_SUB_32(src, dst, res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cmpi_32_pcix(void) +void m68k_op_cmpi_32_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint src = OPER_I_32(); - uint dst = OPER_PCIX_32(); + uint dst = OPER_PCIX_32(cpu); uint res = dst - src; FLAG_N = NFLAG_32(res); @@ -11888,14 +11889,14 @@ void m68k_op_cmpi_32_pcix(void) FLAG_C = CFLAG_SUB_32(src, dst, res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_cmpm_8_ax7(void) +void m68k_op_cmpm_8_ax7(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PI_8(); - uint dst = OPER_A7_PI_8(); + uint src = OPER_AY_PI_8(cpu); + uint dst = OPER_A7_PI_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11905,10 +11906,10 @@ void m68k_op_cmpm_8_ax7(void) } -void m68k_op_cmpm_8_ay7(void) +void m68k_op_cmpm_8_ay7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PI_8(); - uint dst = OPER_AX_PI_8(); + uint src = OPER_A7_PI_8(cpu); + uint dst = OPER_AX_PI_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11918,10 +11919,10 @@ void m68k_op_cmpm_8_ay7(void) } -void m68k_op_cmpm_8_axy7(void) +void m68k_op_cmpm_8_axy7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PI_8(); - uint dst = OPER_A7_PI_8(); + uint src = OPER_A7_PI_8(cpu); + uint dst = OPER_A7_PI_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11931,10 +11932,10 @@ void m68k_op_cmpm_8_axy7(void) } -void m68k_op_cmpm_8(void) +void m68k_op_cmpm_8(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PI_8(); - uint dst = OPER_AX_PI_8(); + uint src = OPER_AY_PI_8(cpu); + uint dst = OPER_AX_PI_8(cpu); uint res = dst - src; FLAG_N = NFLAG_8(res); @@ -11944,10 +11945,10 @@ void m68k_op_cmpm_8(void) } -void m68k_op_cmpm_16(void) +void m68k_op_cmpm_16(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PI_16(); - uint dst = OPER_AX_PI_16(); + uint src = OPER_AY_PI_16(cpu); + uint dst = OPER_AX_PI_16(cpu); uint res = dst - src; FLAG_N = NFLAG_16(res); @@ -11957,10 +11958,10 @@ void m68k_op_cmpm_16(void) } -void m68k_op_cmpm_32(void) +void m68k_op_cmpm_32(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PI_32(); - uint dst = OPER_AX_PI_32(); + uint src = OPER_AY_PI_32(cpu); + uint dst = OPER_AX_PI_32(cpu); uint res = dst - src; FLAG_N = NFLAG_32(res); @@ -11970,7 +11971,7 @@ void m68k_op_cmpm_32(void) } -void m68k_op_cpbcc_32(void) +void m68k_op_cpbcc_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -11979,11 +11980,11 @@ void m68k_op_cpbcc_32(void) m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_1111(); + m68ki_exception_1111(cpu); } -void m68k_op_cpdbcc_32(void) +void m68k_op_cpdbcc_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -11992,11 +11993,11 @@ void m68k_op_cpdbcc_32(void) m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_1111(); + m68ki_exception_1111(cpu); } -void m68k_op_cpgen_32(void) +void m68k_op_cpgen_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -12005,11 +12006,11 @@ void m68k_op_cpgen_32(void) m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_1111(); + m68ki_exception_1111(cpu); } -void m68k_op_cpscc_32(void) +void m68k_op_cpscc_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -12018,11 +12019,11 @@ void m68k_op_cpscc_32(void) m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_1111(); + m68ki_exception_1111(cpu); } -void m68k_op_cptrapcc_32(void) +void m68k_op_cptrapcc_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -12031,7 +12032,7 @@ void m68k_op_cptrapcc_32(void) m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_1111(); + m68ki_exception_1111(cpu); } diff --git a/plugins/ao/eng_ssf/m68kopdm.c b/plugins/ao/eng_ssf/m68kopdm.c index deb3586b..509435a1 100644 --- a/plugins/ao/eng_ssf/m68kopdm.c +++ b/plugins/ao/eng_ssf/m68kopdm.c @@ -5,13 +5,13 @@ /* ======================================================================== */ -void m68k_op_dbt_16(void) +void m68k_op_dbt_16(m68ki_cpu_core *cpu) { REG_PC += 2; } -void m68k_op_dbf_16(void) +void m68k_op_dbf_16(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint res = MASK_OUT_ABOVE_16(*r_dst - 1); @@ -22,14 +22,14 @@ void m68k_op_dbf_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); return; } REG_PC += 2; } -void m68k_op_dbhi_16(void) +void m68k_op_dbhi_16(m68ki_cpu_core *cpu) { if(COND_NOT_HI()) { @@ -42,7 +42,7 @@ void m68k_op_dbhi_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -54,7 +54,7 @@ void m68k_op_dbhi_16(void) } -void m68k_op_dbls_16(void) +void m68k_op_dbls_16(m68ki_cpu_core *cpu) { if(COND_NOT_LS()) { @@ -67,7 +67,7 @@ void m68k_op_dbls_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -79,7 +79,7 @@ void m68k_op_dbls_16(void) } -void m68k_op_dbcc_16(void) +void m68k_op_dbcc_16(m68ki_cpu_core *cpu) { if(COND_NOT_CC()) { @@ -92,7 +92,7 @@ void m68k_op_dbcc_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -104,7 +104,7 @@ void m68k_op_dbcc_16(void) } -void m68k_op_dbcs_16(void) +void m68k_op_dbcs_16(m68ki_cpu_core *cpu) { if(COND_NOT_CS()) { @@ -117,7 +117,7 @@ void m68k_op_dbcs_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -129,7 +129,7 @@ void m68k_op_dbcs_16(void) } -void m68k_op_dbne_16(void) +void m68k_op_dbne_16(m68ki_cpu_core *cpu) { if(COND_NOT_NE()) { @@ -142,7 +142,7 @@ void m68k_op_dbne_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -154,7 +154,7 @@ void m68k_op_dbne_16(void) } -void m68k_op_dbeq_16(void) +void m68k_op_dbeq_16(m68ki_cpu_core *cpu) { if(COND_NOT_EQ()) { @@ -167,7 +167,7 @@ void m68k_op_dbeq_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -179,7 +179,7 @@ void m68k_op_dbeq_16(void) } -void m68k_op_dbvc_16(void) +void m68k_op_dbvc_16(m68ki_cpu_core *cpu) { if(COND_NOT_VC()) { @@ -192,7 +192,7 @@ void m68k_op_dbvc_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -204,7 +204,7 @@ void m68k_op_dbvc_16(void) } -void m68k_op_dbvs_16(void) +void m68k_op_dbvs_16(m68ki_cpu_core *cpu) { if(COND_NOT_VS()) { @@ -217,7 +217,7 @@ void m68k_op_dbvs_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -229,7 +229,7 @@ void m68k_op_dbvs_16(void) } -void m68k_op_dbpl_16(void) +void m68k_op_dbpl_16(m68ki_cpu_core *cpu) { if(COND_NOT_PL()) { @@ -242,7 +242,7 @@ void m68k_op_dbpl_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -254,7 +254,7 @@ void m68k_op_dbpl_16(void) } -void m68k_op_dbmi_16(void) +void m68k_op_dbmi_16(m68ki_cpu_core *cpu) { if(COND_NOT_MI()) { @@ -267,7 +267,7 @@ void m68k_op_dbmi_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -279,7 +279,7 @@ void m68k_op_dbmi_16(void) } -void m68k_op_dbge_16(void) +void m68k_op_dbge_16(m68ki_cpu_core *cpu) { if(COND_NOT_GE()) { @@ -292,7 +292,7 @@ void m68k_op_dbge_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -304,7 +304,7 @@ void m68k_op_dbge_16(void) } -void m68k_op_dblt_16(void) +void m68k_op_dblt_16(m68ki_cpu_core *cpu) { if(COND_NOT_LT()) { @@ -317,7 +317,7 @@ void m68k_op_dblt_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -329,7 +329,7 @@ void m68k_op_dblt_16(void) } -void m68k_op_dbgt_16(void) +void m68k_op_dbgt_16(m68ki_cpu_core *cpu) { if(COND_NOT_GT()) { @@ -342,7 +342,7 @@ void m68k_op_dbgt_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -354,7 +354,7 @@ void m68k_op_dbgt_16(void) } -void m68k_op_dble_16(void) +void m68k_op_dble_16(m68ki_cpu_core *cpu) { if(COND_NOT_LE()) { @@ -367,7 +367,7 @@ void m68k_op_dble_16(void) uint offset = OPER_I_16(); REG_PC -= 2; m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_branch_16(offset); + m68ki_branch_16(cpu, offset); USE_CYCLES(CYC_DBCC_F_NOEXP); return; } @@ -379,7 +379,7 @@ void m68k_op_dble_16(void) } -void m68k_op_divs_16_d(void) +void m68k_op_divs_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &DX; sint src = MAKE_INT_16(DY); @@ -413,14 +413,14 @@ void m68k_op_divs_16_d(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divs_16_ai(void) +void m68k_op_divs_16_ai(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - sint src = MAKE_INT_16(OPER_AY_AI_16()); + sint src = MAKE_INT_16(OPER_AY_AI_16(cpu)); sint quotient; sint remainder; @@ -451,14 +451,14 @@ void m68k_op_divs_16_ai(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divs_16_pi(void) +void m68k_op_divs_16_pi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - sint src = MAKE_INT_16(OPER_AY_PI_16()); + sint src = MAKE_INT_16(OPER_AY_PI_16(cpu)); sint quotient; sint remainder; @@ -489,14 +489,14 @@ void m68k_op_divs_16_pi(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divs_16_pd(void) +void m68k_op_divs_16_pd(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - sint src = MAKE_INT_16(OPER_AY_PD_16()); + sint src = MAKE_INT_16(OPER_AY_PD_16(cpu)); sint quotient; sint remainder; @@ -527,14 +527,14 @@ void m68k_op_divs_16_pd(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divs_16_di(void) +void m68k_op_divs_16_di(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - sint src = MAKE_INT_16(OPER_AY_DI_16()); + sint src = MAKE_INT_16(OPER_AY_DI_16(cpu)); sint quotient; sint remainder; @@ -565,14 +565,14 @@ void m68k_op_divs_16_di(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divs_16_ix(void) +void m68k_op_divs_16_ix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - sint src = MAKE_INT_16(OPER_AY_IX_16()); + sint src = MAKE_INT_16(OPER_AY_IX_16(cpu)); sint quotient; sint remainder; @@ -603,14 +603,14 @@ void m68k_op_divs_16_ix(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divs_16_aw(void) +void m68k_op_divs_16_aw(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - sint src = MAKE_INT_16(OPER_AW_16()); + sint src = MAKE_INT_16(OPER_AW_16(cpu)); sint quotient; sint remainder; @@ -641,14 +641,14 @@ void m68k_op_divs_16_aw(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divs_16_al(void) +void m68k_op_divs_16_al(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - sint src = MAKE_INT_16(OPER_AL_16()); + sint src = MAKE_INT_16(OPER_AL_16(cpu)); sint quotient; sint remainder; @@ -679,14 +679,14 @@ void m68k_op_divs_16_al(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divs_16_pcdi(void) +void m68k_op_divs_16_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - sint src = MAKE_INT_16(OPER_PCDI_16()); + sint src = MAKE_INT_16(OPER_PCDI_16(cpu)); sint quotient; sint remainder; @@ -717,14 +717,14 @@ void m68k_op_divs_16_pcdi(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divs_16_pcix(void) +void m68k_op_divs_16_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - sint src = MAKE_INT_16(OPER_PCIX_16()); + sint src = MAKE_INT_16(OPER_PCIX_16(cpu)); sint quotient; sint remainder; @@ -755,11 +755,11 @@ void m68k_op_divs_16_pcix(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divs_16_i(void) +void m68k_op_divs_16_i(m68ki_cpu_core *cpu) { uint* r_dst = &DX; sint src = MAKE_INT_16(OPER_I_16()); @@ -793,11 +793,11 @@ void m68k_op_divs_16_i(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divu_16_d(void) +void m68k_op_divu_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = MASK_OUT_ABOVE_16(DY); @@ -819,14 +819,14 @@ void m68k_op_divu_16_d(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divu_16_ai(void) +void m68k_op_divu_16_ai(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_AI_16(); + uint src = OPER_AY_AI_16(cpu); if(src != 0) { @@ -845,14 +845,14 @@ void m68k_op_divu_16_ai(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divu_16_pi(void) +void m68k_op_divu_16_pi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PI_16(); + uint src = OPER_AY_PI_16(cpu); if(src != 0) { @@ -871,14 +871,14 @@ void m68k_op_divu_16_pi(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divu_16_pd(void) +void m68k_op_divu_16_pd(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PD_16(); + uint src = OPER_AY_PD_16(cpu); if(src != 0) { @@ -897,14 +897,14 @@ void m68k_op_divu_16_pd(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divu_16_di(void) +void m68k_op_divu_16_di(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_DI_16(); + uint src = OPER_AY_DI_16(cpu); if(src != 0) { @@ -923,14 +923,14 @@ void m68k_op_divu_16_di(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divu_16_ix(void) +void m68k_op_divu_16_ix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_IX_16(); + uint src = OPER_AY_IX_16(cpu); if(src != 0) { @@ -949,14 +949,14 @@ void m68k_op_divu_16_ix(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divu_16_aw(void) +void m68k_op_divu_16_aw(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AW_16(); + uint src = OPER_AW_16(cpu); if(src != 0) { @@ -975,14 +975,14 @@ void m68k_op_divu_16_aw(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divu_16_al(void) +void m68k_op_divu_16_al(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AL_16(); + uint src = OPER_AL_16(cpu); if(src != 0) { @@ -1001,14 +1001,14 @@ void m68k_op_divu_16_al(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divu_16_pcdi(void) +void m68k_op_divu_16_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCDI_16(); + uint src = OPER_PCDI_16(cpu); if(src != 0) { @@ -1027,14 +1027,14 @@ void m68k_op_divu_16_pcdi(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divu_16_pcix(void) +void m68k_op_divu_16_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCIX_16(); + uint src = OPER_PCIX_16(cpu); if(src != 0) { @@ -1053,11 +1053,11 @@ void m68k_op_divu_16_pcix(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divu_16_i(void) +void m68k_op_divu_16_i(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = OPER_I_16(); @@ -1079,11 +1079,11 @@ void m68k_op_divu_16_i(void) FLAG_V = VFLAG_SET; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); } -void m68k_op_divl_32_d(void) +void m68k_op_divl_32_d(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT @@ -1148,10 +1148,10 @@ void m68k_op_divl_32_d(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else @@ -1285,23 +1285,23 @@ void m68k_op_divl_32_d(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_divl_32_ai(void) +void m68k_op_divl_32_ai(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 divisor = OPER_AY_AI_32(); + uint64 divisor = OPER_AY_AI_32(cpu); uint64 dividend = 0; uint64 quotient = 0; uint64 remainder = 0; @@ -1359,17 +1359,17 @@ void m68k_op_divl_32_ai(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint divisor = OPER_AY_AI_32(); + uint divisor = OPER_AY_AI_32(cpu); uint dividend_hi = REG_D[word2 & 7]; uint dividend_lo = REG_D[(word2 >> 12) & 7]; uint quotient = 0; @@ -1496,23 +1496,23 @@ void m68k_op_divl_32_ai(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_divl_32_pi(void) +void m68k_op_divl_32_pi(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 divisor = OPER_AY_PI_32(); + uint64 divisor = OPER_AY_PI_32(cpu); uint64 dividend = 0; uint64 quotient = 0; uint64 remainder = 0; @@ -1570,17 +1570,17 @@ void m68k_op_divl_32_pi(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint divisor = OPER_AY_PI_32(); + uint divisor = OPER_AY_PI_32(cpu); uint dividend_hi = REG_D[word2 & 7]; uint dividend_lo = REG_D[(word2 >> 12) & 7]; uint quotient = 0; @@ -1707,23 +1707,23 @@ void m68k_op_divl_32_pi(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_divl_32_pd(void) +void m68k_op_divl_32_pd(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 divisor = OPER_AY_PD_32(); + uint64 divisor = OPER_AY_PD_32(cpu); uint64 dividend = 0; uint64 quotient = 0; uint64 remainder = 0; @@ -1781,17 +1781,17 @@ void m68k_op_divl_32_pd(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint divisor = OPER_AY_PD_32(); + uint divisor = OPER_AY_PD_32(cpu); uint dividend_hi = REG_D[word2 & 7]; uint dividend_lo = REG_D[(word2 >> 12) & 7]; uint quotient = 0; @@ -1918,23 +1918,23 @@ void m68k_op_divl_32_pd(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_divl_32_di(void) +void m68k_op_divl_32_di(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 divisor = OPER_AY_DI_32(); + uint64 divisor = OPER_AY_DI_32(cpu); uint64 dividend = 0; uint64 quotient = 0; uint64 remainder = 0; @@ -1992,17 +1992,17 @@ void m68k_op_divl_32_di(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint divisor = OPER_AY_DI_32(); + uint divisor = OPER_AY_DI_32(cpu); uint dividend_hi = REG_D[word2 & 7]; uint dividend_lo = REG_D[(word2 >> 12) & 7]; uint quotient = 0; @@ -2129,23 +2129,23 @@ void m68k_op_divl_32_di(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_divl_32_ix(void) +void m68k_op_divl_32_ix(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 divisor = OPER_AY_IX_32(); + uint64 divisor = OPER_AY_IX_32(cpu); uint64 dividend = 0; uint64 quotient = 0; uint64 remainder = 0; @@ -2203,17 +2203,17 @@ void m68k_op_divl_32_ix(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint divisor = OPER_AY_IX_32(); + uint divisor = OPER_AY_IX_32(cpu); uint dividend_hi = REG_D[word2 & 7]; uint dividend_lo = REG_D[(word2 >> 12) & 7]; uint quotient = 0; @@ -2340,23 +2340,23 @@ void m68k_op_divl_32_ix(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_divl_32_aw(void) +void m68k_op_divl_32_aw(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 divisor = OPER_AW_32(); + uint64 divisor = OPER_AW_32(cpu); uint64 dividend = 0; uint64 quotient = 0; uint64 remainder = 0; @@ -2414,17 +2414,17 @@ void m68k_op_divl_32_aw(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint divisor = OPER_AW_32(); + uint divisor = OPER_AW_32(cpu); uint dividend_hi = REG_D[word2 & 7]; uint dividend_lo = REG_D[(word2 >> 12) & 7]; uint quotient = 0; @@ -2551,23 +2551,23 @@ void m68k_op_divl_32_aw(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_divl_32_al(void) +void m68k_op_divl_32_al(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 divisor = OPER_AL_32(); + uint64 divisor = OPER_AL_32(cpu); uint64 dividend = 0; uint64 quotient = 0; uint64 remainder = 0; @@ -2625,17 +2625,17 @@ void m68k_op_divl_32_al(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint divisor = OPER_AL_32(); + uint divisor = OPER_AL_32(cpu); uint dividend_hi = REG_D[word2 & 7]; uint dividend_lo = REG_D[(word2 >> 12) & 7]; uint quotient = 0; @@ -2762,23 +2762,23 @@ void m68k_op_divl_32_al(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_divl_32_pcdi(void) +void m68k_op_divl_32_pcdi(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 divisor = OPER_PCDI_32(); + uint64 divisor = OPER_PCDI_32(cpu); uint64 dividend = 0; uint64 quotient = 0; uint64 remainder = 0; @@ -2836,17 +2836,17 @@ void m68k_op_divl_32_pcdi(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint divisor = OPER_PCDI_32(); + uint divisor = OPER_PCDI_32(cpu); uint dividend_hi = REG_D[word2 & 7]; uint dividend_lo = REG_D[(word2 >> 12) & 7]; uint quotient = 0; @@ -2973,23 +2973,23 @@ void m68k_op_divl_32_pcdi(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_divl_32_pcix(void) +void m68k_op_divl_32_pcix(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 divisor = OPER_PCIX_32(); + uint64 divisor = OPER_PCIX_32(cpu); uint64 dividend = 0; uint64 quotient = 0; uint64 remainder = 0; @@ -3047,17 +3047,17 @@ void m68k_op_divl_32_pcix(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint divisor = OPER_PCIX_32(); + uint divisor = OPER_PCIX_32(cpu); uint dividend_hi = REG_D[word2 & 7]; uint dividend_lo = REG_D[(word2 >> 12) & 7]; uint quotient = 0; @@ -3184,16 +3184,16 @@ void m68k_op_divl_32_pcix(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_divl_32_i(void) +void m68k_op_divl_32_i(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT @@ -3258,10 +3258,10 @@ void m68k_op_divl_32_i(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else @@ -3395,16 +3395,16 @@ void m68k_op_divl_32_i(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_trap(EXCEPTION_ZERO_DIVIDE); + m68ki_exception_trap(cpu, EXCEPTION_ZERO_DIVIDE); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_eor_8_d(void) +void m68k_op_eor_8_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY ^= MASK_OUT_ABOVE_8(DX)); @@ -3415,7 +3415,7 @@ void m68k_op_eor_8_d(void) } -void m68k_op_eor_8_ai(void) +void m68k_op_eor_8_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(ea)); @@ -3429,7 +3429,7 @@ void m68k_op_eor_8_ai(void) } -void m68k_op_eor_8_pi(void) +void m68k_op_eor_8_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(ea)); @@ -3443,7 +3443,7 @@ void m68k_op_eor_8_pi(void) } -void m68k_op_eor_8_pi7(void) +void m68k_op_eor_8_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(ea)); @@ -3457,7 +3457,7 @@ void m68k_op_eor_8_pi7(void) } -void m68k_op_eor_8_pd(void) +void m68k_op_eor_8_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(ea)); @@ -3471,7 +3471,7 @@ void m68k_op_eor_8_pd(void) } -void m68k_op_eor_8_pd7(void) +void m68k_op_eor_8_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(ea)); @@ -3485,7 +3485,7 @@ void m68k_op_eor_8_pd7(void) } -void m68k_op_eor_8_di(void) +void m68k_op_eor_8_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(ea)); @@ -3499,7 +3499,7 @@ void m68k_op_eor_8_di(void) } -void m68k_op_eor_8_ix(void) +void m68k_op_eor_8_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(ea)); @@ -3513,7 +3513,7 @@ void m68k_op_eor_8_ix(void) } -void m68k_op_eor_8_aw(void) +void m68k_op_eor_8_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(ea)); @@ -3527,7 +3527,7 @@ void m68k_op_eor_8_aw(void) } -void m68k_op_eor_8_al(void) +void m68k_op_eor_8_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint res = MASK_OUT_ABOVE_8(DX ^ m68ki_read_8(ea)); @@ -3541,7 +3541,7 @@ void m68k_op_eor_8_al(void) } -void m68k_op_eor_16_d(void) +void m68k_op_eor_16_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY ^= MASK_OUT_ABOVE_16(DX)); @@ -3552,7 +3552,7 @@ void m68k_op_eor_16_d(void) } -void m68k_op_eor_16_ai(void) +void m68k_op_eor_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint res = MASK_OUT_ABOVE_16(DX ^ m68ki_read_16(ea)); @@ -3566,7 +3566,7 @@ void m68k_op_eor_16_ai(void) } -void m68k_op_eor_16_pi(void) +void m68k_op_eor_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint res = MASK_OUT_ABOVE_16(DX ^ m68ki_read_16(ea)); @@ -3580,7 +3580,7 @@ void m68k_op_eor_16_pi(void) } -void m68k_op_eor_16_pd(void) +void m68k_op_eor_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint res = MASK_OUT_ABOVE_16(DX ^ m68ki_read_16(ea)); @@ -3594,7 +3594,7 @@ void m68k_op_eor_16_pd(void) } -void m68k_op_eor_16_di(void) +void m68k_op_eor_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint res = MASK_OUT_ABOVE_16(DX ^ m68ki_read_16(ea)); @@ -3608,7 +3608,7 @@ void m68k_op_eor_16_di(void) } -void m68k_op_eor_16_ix(void) +void m68k_op_eor_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint res = MASK_OUT_ABOVE_16(DX ^ m68ki_read_16(ea)); @@ -3622,7 +3622,7 @@ void m68k_op_eor_16_ix(void) } -void m68k_op_eor_16_aw(void) +void m68k_op_eor_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint res = MASK_OUT_ABOVE_16(DX ^ m68ki_read_16(ea)); @@ -3636,7 +3636,7 @@ void m68k_op_eor_16_aw(void) } -void m68k_op_eor_16_al(void) +void m68k_op_eor_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint res = MASK_OUT_ABOVE_16(DX ^ m68ki_read_16(ea)); @@ -3650,7 +3650,7 @@ void m68k_op_eor_16_al(void) } -void m68k_op_eor_32_d(void) +void m68k_op_eor_32_d(m68ki_cpu_core *cpu) { uint res = DY ^= DX; @@ -3661,7 +3661,7 @@ void m68k_op_eor_32_d(void) } -void m68k_op_eor_32_ai(void) +void m68k_op_eor_32_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_32(); uint res = DX ^ m68ki_read_32(ea); @@ -3675,7 +3675,7 @@ void m68k_op_eor_32_ai(void) } -void m68k_op_eor_32_pi(void) +void m68k_op_eor_32_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_32(); uint res = DX ^ m68ki_read_32(ea); @@ -3689,7 +3689,7 @@ void m68k_op_eor_32_pi(void) } -void m68k_op_eor_32_pd(void) +void m68k_op_eor_32_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_32(); uint res = DX ^ m68ki_read_32(ea); @@ -3703,7 +3703,7 @@ void m68k_op_eor_32_pd(void) } -void m68k_op_eor_32_di(void) +void m68k_op_eor_32_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); uint res = DX ^ m68ki_read_32(ea); @@ -3717,7 +3717,7 @@ void m68k_op_eor_32_di(void) } -void m68k_op_eor_32_ix(void) +void m68k_op_eor_32_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_32(); uint res = DX ^ m68ki_read_32(ea); @@ -3731,7 +3731,7 @@ void m68k_op_eor_32_ix(void) } -void m68k_op_eor_32_aw(void) +void m68k_op_eor_32_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_32(); uint res = DX ^ m68ki_read_32(ea); @@ -3745,7 +3745,7 @@ void m68k_op_eor_32_aw(void) } -void m68k_op_eor_32_al(void) +void m68k_op_eor_32_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_32(); uint res = DX ^ m68ki_read_32(ea); @@ -3759,7 +3759,7 @@ void m68k_op_eor_32_al(void) } -void m68k_op_eori_8_d(void) +void m68k_op_eori_8_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY ^= OPER_I_8()); @@ -3770,7 +3770,7 @@ void m68k_op_eori_8_d(void) } -void m68k_op_eori_8_ai(void) +void m68k_op_eori_8_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_AI_8(); @@ -3785,7 +3785,7 @@ void m68k_op_eori_8_ai(void) } -void m68k_op_eori_8_pi(void) +void m68k_op_eori_8_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_PI_8(); @@ -3800,7 +3800,7 @@ void m68k_op_eori_8_pi(void) } -void m68k_op_eori_8_pi7(void) +void m68k_op_eori_8_pi7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_A7_PI_8(); @@ -3815,7 +3815,7 @@ void m68k_op_eori_8_pi7(void) } -void m68k_op_eori_8_pd(void) +void m68k_op_eori_8_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_PD_8(); @@ -3830,7 +3830,7 @@ void m68k_op_eori_8_pd(void) } -void m68k_op_eori_8_pd7(void) +void m68k_op_eori_8_pd7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_A7_PD_8(); @@ -3845,7 +3845,7 @@ void m68k_op_eori_8_pd7(void) } -void m68k_op_eori_8_di(void) +void m68k_op_eori_8_di(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_DI_8(); @@ -3860,7 +3860,7 @@ void m68k_op_eori_8_di(void) } -void m68k_op_eori_8_ix(void) +void m68k_op_eori_8_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_IX_8(); @@ -3875,7 +3875,7 @@ void m68k_op_eori_8_ix(void) } -void m68k_op_eori_8_aw(void) +void m68k_op_eori_8_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AW_8(); @@ -3890,7 +3890,7 @@ void m68k_op_eori_8_aw(void) } -void m68k_op_eori_8_al(void) +void m68k_op_eori_8_al(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AL_8(); @@ -3905,7 +3905,7 @@ void m68k_op_eori_8_al(void) } -void m68k_op_eori_16_d(void) +void m68k_op_eori_16_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY ^= OPER_I_16()); @@ -3916,7 +3916,7 @@ void m68k_op_eori_16_d(void) } -void m68k_op_eori_16_ai(void) +void m68k_op_eori_16_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_AI_16(); @@ -3931,7 +3931,7 @@ void m68k_op_eori_16_ai(void) } -void m68k_op_eori_16_pi(void) +void m68k_op_eori_16_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_PI_16(); @@ -3946,7 +3946,7 @@ void m68k_op_eori_16_pi(void) } -void m68k_op_eori_16_pd(void) +void m68k_op_eori_16_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_PD_16(); @@ -3961,7 +3961,7 @@ void m68k_op_eori_16_pd(void) } -void m68k_op_eori_16_di(void) +void m68k_op_eori_16_di(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_DI_16(); @@ -3976,7 +3976,7 @@ void m68k_op_eori_16_di(void) } -void m68k_op_eori_16_ix(void) +void m68k_op_eori_16_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_IX_16(); @@ -3991,7 +3991,7 @@ void m68k_op_eori_16_ix(void) } -void m68k_op_eori_16_aw(void) +void m68k_op_eori_16_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AW_16(); @@ -4006,7 +4006,7 @@ void m68k_op_eori_16_aw(void) } -void m68k_op_eori_16_al(void) +void m68k_op_eori_16_al(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AL_16(); @@ -4021,7 +4021,7 @@ void m68k_op_eori_16_al(void) } -void m68k_op_eori_32_d(void) +void m68k_op_eori_32_d(m68ki_cpu_core *cpu) { uint res = DY ^= OPER_I_32(); @@ -4032,7 +4032,7 @@ void m68k_op_eori_32_d(void) } -void m68k_op_eori_32_ai(void) +void m68k_op_eori_32_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_AI_32(); @@ -4047,7 +4047,7 @@ void m68k_op_eori_32_ai(void) } -void m68k_op_eori_32_pi(void) +void m68k_op_eori_32_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_PI_32(); @@ -4062,7 +4062,7 @@ void m68k_op_eori_32_pi(void) } -void m68k_op_eori_32_pd(void) +void m68k_op_eori_32_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_PD_32(); @@ -4077,7 +4077,7 @@ void m68k_op_eori_32_pd(void) } -void m68k_op_eori_32_di(void) +void m68k_op_eori_32_di(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_DI_32(); @@ -4092,7 +4092,7 @@ void m68k_op_eori_32_di(void) } -void m68k_op_eori_32_ix(void) +void m68k_op_eori_32_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_IX_32(); @@ -4107,7 +4107,7 @@ void m68k_op_eori_32_ix(void) } -void m68k_op_eori_32_aw(void) +void m68k_op_eori_32_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AW_32(); @@ -4122,7 +4122,7 @@ void m68k_op_eori_32_aw(void) } -void m68k_op_eori_32_al(void) +void m68k_op_eori_32_al(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AL_32(); @@ -4137,26 +4137,26 @@ void m68k_op_eori_32_al(void) } -void m68k_op_eori_16_toc(void) +void m68k_op_eori_16_toc(m68ki_cpu_core *cpu) { - m68ki_set_ccr(m68ki_get_ccr() ^ OPER_I_16()); + m68ki_set_ccr(cpu, m68ki_get_ccr() ^ OPER_I_16()); } -void m68k_op_eori_16_tos(void) +void m68k_op_eori_16_tos(m68ki_cpu_core *cpu) { if(FLAG_S) { uint src = OPER_I_16(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(m68ki_get_sr() ^ src); + m68ki_set_sr(cpu, m68ki_get_sr() ^ src); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_exg_32_dd(void) +void m68k_op_exg_32_dd(m68ki_cpu_core *cpu) { uint* reg_a = &DX; uint* reg_b = &DY; @@ -4166,7 +4166,7 @@ void m68k_op_exg_32_dd(void) } -void m68k_op_exg_32_aa(void) +void m68k_op_exg_32_aa(m68ki_cpu_core *cpu) { uint* reg_a = &AX; uint* reg_b = &AY; @@ -4176,7 +4176,7 @@ void m68k_op_exg_32_aa(void) } -void m68k_op_exg_32_da(void) +void m68k_op_exg_32_da(m68ki_cpu_core *cpu) { uint* reg_a = &DX; uint* reg_b = &AY; @@ -4186,7 +4186,7 @@ void m68k_op_exg_32_da(void) } -void m68k_op_ext_16(void) +void m68k_op_ext_16(m68ki_cpu_core *cpu) { uint* r_dst = &DY; @@ -4199,7 +4199,7 @@ void m68k_op_ext_16(void) } -void m68k_op_ext_32(void) +void m68k_op_ext_32(m68ki_cpu_core *cpu) { uint* r_dst = &DY; @@ -4212,7 +4212,7 @@ void m68k_op_ext_32(void) } -void m68k_op_extb_32(void) +void m68k_op_extb_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4226,185 +4226,185 @@ void m68k_op_extb_32(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_illegal(void) +void m68k_op_illegal(m68ki_cpu_core *cpu) { - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_jmp_32_ai(void) +void m68k_op_jmp_32_ai(m68ki_cpu_core *cpu) { - m68ki_jump(EA_AY_AI_32()); + m68ki_jump(cpu, EA_AY_AI_32()); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(REG_PC == REG_PPC) USE_ALL_CYCLES(); } -void m68k_op_jmp_32_di(void) +void m68k_op_jmp_32_di(m68ki_cpu_core *cpu) { - m68ki_jump(EA_AY_DI_32()); + m68ki_jump(cpu, EA_AY_DI_32()); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(REG_PC == REG_PPC) USE_ALL_CYCLES(); } -void m68k_op_jmp_32_ix(void) +void m68k_op_jmp_32_ix(m68ki_cpu_core *cpu) { - m68ki_jump(EA_AY_IX_32()); + m68ki_jump(cpu, EA_AY_IX_32()); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(REG_PC == REG_PPC) USE_ALL_CYCLES(); } -void m68k_op_jmp_32_aw(void) +void m68k_op_jmp_32_aw(m68ki_cpu_core *cpu) { - m68ki_jump(EA_AW_32()); + m68ki_jump(cpu, EA_AW_32()); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(REG_PC == REG_PPC) USE_ALL_CYCLES(); } -void m68k_op_jmp_32_al(void) +void m68k_op_jmp_32_al(m68ki_cpu_core *cpu) { - m68ki_jump(EA_AL_32()); + m68ki_jump(cpu, EA_AL_32()); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(REG_PC == REG_PPC) USE_ALL_CYCLES(); } -void m68k_op_jmp_32_pcdi(void) +void m68k_op_jmp_32_pcdi(m68ki_cpu_core *cpu) { - m68ki_jump(EA_PCDI_32()); + m68ki_jump(cpu, EA_PCDI_32()); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(REG_PC == REG_PPC) USE_ALL_CYCLES(); } -void m68k_op_jmp_32_pcix(void) +void m68k_op_jmp_32_pcix(m68ki_cpu_core *cpu) { - m68ki_jump(EA_PCIX_32()); + m68ki_jump(cpu, EA_PCIX_32()); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(REG_PC == REG_PPC) USE_ALL_CYCLES(); } -void m68k_op_jsr_32_ai(void) +void m68k_op_jsr_32_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_32(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - m68ki_jump(ea); + m68ki_push_32(cpu, REG_PC); + m68ki_jump(cpu, ea); } -void m68k_op_jsr_32_di(void) +void m68k_op_jsr_32_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - m68ki_jump(ea); + m68ki_push_32(cpu, REG_PC); + m68ki_jump(cpu, ea); } -void m68k_op_jsr_32_ix(void) +void m68k_op_jsr_32_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_32(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - m68ki_jump(ea); + m68ki_push_32(cpu, REG_PC); + m68ki_jump(cpu, ea); } -void m68k_op_jsr_32_aw(void) +void m68k_op_jsr_32_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_32(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - m68ki_jump(ea); + m68ki_push_32(cpu, REG_PC); + m68ki_jump(cpu, ea); } -void m68k_op_jsr_32_al(void) +void m68k_op_jsr_32_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_32(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - m68ki_jump(ea); + m68ki_push_32(cpu, REG_PC); + m68ki_jump(cpu, ea); } -void m68k_op_jsr_32_pcdi(void) +void m68k_op_jsr_32_pcdi(m68ki_cpu_core *cpu) { uint ea = EA_PCDI_32(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - m68ki_jump(ea); + m68ki_push_32(cpu, REG_PC); + m68ki_jump(cpu, ea); } -void m68k_op_jsr_32_pcix(void) +void m68k_op_jsr_32_pcix(m68ki_cpu_core *cpu) { uint ea = EA_PCIX_32(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_push_32(REG_PC); - m68ki_jump(ea); + m68ki_push_32(cpu, REG_PC); + m68ki_jump(cpu, ea); } -void m68k_op_lea_32_ai(void) +void m68k_op_lea_32_ai(m68ki_cpu_core *cpu) { AX = EA_AY_AI_32(); } -void m68k_op_lea_32_di(void) +void m68k_op_lea_32_di(m68ki_cpu_core *cpu) { AX = EA_AY_DI_32(); } -void m68k_op_lea_32_ix(void) +void m68k_op_lea_32_ix(m68ki_cpu_core *cpu) { AX = EA_AY_IX_32(); } -void m68k_op_lea_32_aw(void) +void m68k_op_lea_32_aw(m68ki_cpu_core *cpu) { AX = EA_AW_32(); } -void m68k_op_lea_32_al(void) +void m68k_op_lea_32_al(m68ki_cpu_core *cpu) { AX = EA_AL_32(); } -void m68k_op_lea_32_pcdi(void) +void m68k_op_lea_32_pcdi(m68ki_cpu_core *cpu) { AX = EA_PCDI_32(); } -void m68k_op_lea_32_pcix(void) +void m68k_op_lea_32_pcix(m68ki_cpu_core *cpu) { AX = EA_PCIX_32(); } -void m68k_op_link_16_a7(void) +void m68k_op_link_16_a7(m68ki_cpu_core *cpu) { REG_A[7] -= 4; m68ki_write_32(REG_A[7], REG_A[7]); @@ -4412,17 +4412,17 @@ void m68k_op_link_16_a7(void) } -void m68k_op_link_16(void) +void m68k_op_link_16(m68ki_cpu_core *cpu) { uint* r_dst = &AY; - m68ki_push_32(*r_dst); + m68ki_push_32(cpu, *r_dst); *r_dst = REG_A[7]; REG_A[7] = MASK_OUT_ABOVE_32(REG_A[7] + MAKE_INT_16(OPER_I_16())); } -void m68k_op_link_32_a7(void) +void m68k_op_link_32_a7(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -4431,26 +4431,26 @@ void m68k_op_link_32_a7(void) REG_A[7] = MASK_OUT_ABOVE_32(REG_A[7] + OPER_I_32()); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_link_32(void) +void m68k_op_link_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint* r_dst = &AY; - m68ki_push_32(*r_dst); + m68ki_push_32(cpu, *r_dst); *r_dst = REG_A[7]; REG_A[7] = MASK_OUT_ABOVE_32(REG_A[7] + OPER_I_32()); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_lsr_8_s(void) +void m68k_op_lsr_8_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -4466,7 +4466,7 @@ void m68k_op_lsr_8_s(void) } -void m68k_op_lsr_16_s(void) +void m68k_op_lsr_16_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -4482,7 +4482,7 @@ void m68k_op_lsr_16_s(void) } -void m68k_op_lsr_32_s(void) +void m68k_op_lsr_32_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -4498,7 +4498,7 @@ void m68k_op_lsr_32_s(void) } -void m68k_op_lsr_8_r(void) +void m68k_op_lsr_8_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -4535,7 +4535,7 @@ void m68k_op_lsr_8_r(void) } -void m68k_op_lsr_16_r(void) +void m68k_op_lsr_16_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -4572,7 +4572,7 @@ void m68k_op_lsr_16_r(void) } -void m68k_op_lsr_32_r(void) +void m68k_op_lsr_32_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -4608,7 +4608,7 @@ void m68k_op_lsr_32_r(void) } -void m68k_op_lsr_16_ai(void) +void m68k_op_lsr_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = m68ki_read_16(ea); @@ -4623,7 +4623,7 @@ void m68k_op_lsr_16_ai(void) } -void m68k_op_lsr_16_pi(void) +void m68k_op_lsr_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = m68ki_read_16(ea); @@ -4638,7 +4638,7 @@ void m68k_op_lsr_16_pi(void) } -void m68k_op_lsr_16_pd(void) +void m68k_op_lsr_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = m68ki_read_16(ea); @@ -4653,7 +4653,7 @@ void m68k_op_lsr_16_pd(void) } -void m68k_op_lsr_16_di(void) +void m68k_op_lsr_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = m68ki_read_16(ea); @@ -4668,7 +4668,7 @@ void m68k_op_lsr_16_di(void) } -void m68k_op_lsr_16_ix(void) +void m68k_op_lsr_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = m68ki_read_16(ea); @@ -4683,7 +4683,7 @@ void m68k_op_lsr_16_ix(void) } -void m68k_op_lsr_16_aw(void) +void m68k_op_lsr_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = m68ki_read_16(ea); @@ -4698,7 +4698,7 @@ void m68k_op_lsr_16_aw(void) } -void m68k_op_lsr_16_al(void) +void m68k_op_lsr_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = m68ki_read_16(ea); @@ -4713,7 +4713,7 @@ void m68k_op_lsr_16_al(void) } -void m68k_op_lsl_8_s(void) +void m68k_op_lsl_8_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -4729,7 +4729,7 @@ void m68k_op_lsl_8_s(void) } -void m68k_op_lsl_16_s(void) +void m68k_op_lsl_16_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -4745,7 +4745,7 @@ void m68k_op_lsl_16_s(void) } -void m68k_op_lsl_32_s(void) +void m68k_op_lsl_32_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -4761,7 +4761,7 @@ void m68k_op_lsl_32_s(void) } -void m68k_op_lsl_8_r(void) +void m68k_op_lsl_8_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -4798,7 +4798,7 @@ void m68k_op_lsl_8_r(void) } -void m68k_op_lsl_16_r(void) +void m68k_op_lsl_16_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -4835,7 +4835,7 @@ void m68k_op_lsl_16_r(void) } -void m68k_op_lsl_32_r(void) +void m68k_op_lsl_32_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = DX & 0x3f; @@ -4871,7 +4871,7 @@ void m68k_op_lsl_32_r(void) } -void m68k_op_lsl_16_ai(void) +void m68k_op_lsl_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = m68ki_read_16(ea); @@ -4886,7 +4886,7 @@ void m68k_op_lsl_16_ai(void) } -void m68k_op_lsl_16_pi(void) +void m68k_op_lsl_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = m68ki_read_16(ea); @@ -4901,7 +4901,7 @@ void m68k_op_lsl_16_pi(void) } -void m68k_op_lsl_16_pd(void) +void m68k_op_lsl_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = m68ki_read_16(ea); @@ -4916,7 +4916,7 @@ void m68k_op_lsl_16_pd(void) } -void m68k_op_lsl_16_di(void) +void m68k_op_lsl_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = m68ki_read_16(ea); @@ -4931,7 +4931,7 @@ void m68k_op_lsl_16_di(void) } -void m68k_op_lsl_16_ix(void) +void m68k_op_lsl_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = m68ki_read_16(ea); @@ -4946,7 +4946,7 @@ void m68k_op_lsl_16_ix(void) } -void m68k_op_lsl_16_aw(void) +void m68k_op_lsl_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = m68ki_read_16(ea); @@ -4961,7 +4961,7 @@ void m68k_op_lsl_16_aw(void) } -void m68k_op_lsl_16_al(void) +void m68k_op_lsl_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = m68ki_read_16(ea); @@ -4976,7 +4976,7 @@ void m68k_op_lsl_16_al(void) } -void m68k_op_move_8_d_d(void) +void m68k_op_move_8_d_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY); uint* r_dst = &DX; @@ -4990,9 +4990,9 @@ void m68k_op_move_8_d_d(void) } -void m68k_op_move_8_d_ai(void) +void m68k_op_move_8_d_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_8(); + uint res = OPER_AY_AI_8(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; @@ -5004,9 +5004,9 @@ void m68k_op_move_8_d_ai(void) } -void m68k_op_move_8_d_pi(void) +void m68k_op_move_8_d_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_8(); + uint res = OPER_AY_PI_8(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; @@ -5018,9 +5018,9 @@ void m68k_op_move_8_d_pi(void) } -void m68k_op_move_8_d_pi7(void) +void m68k_op_move_8_d_pi7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PI_8(); + uint res = OPER_A7_PI_8(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; @@ -5032,9 +5032,9 @@ void m68k_op_move_8_d_pi7(void) } -void m68k_op_move_8_d_pd(void) +void m68k_op_move_8_d_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_8(); + uint res = OPER_AY_PD_8(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; @@ -5046,9 +5046,9 @@ void m68k_op_move_8_d_pd(void) } -void m68k_op_move_8_d_pd7(void) +void m68k_op_move_8_d_pd7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PD_8(); + uint res = OPER_A7_PD_8(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; @@ -5060,9 +5060,9 @@ void m68k_op_move_8_d_pd7(void) } -void m68k_op_move_8_d_di(void) +void m68k_op_move_8_d_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_8(); + uint res = OPER_AY_DI_8(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; @@ -5074,9 +5074,9 @@ void m68k_op_move_8_d_di(void) } -void m68k_op_move_8_d_ix(void) +void m68k_op_move_8_d_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_8(); + uint res = OPER_AY_IX_8(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; @@ -5088,9 +5088,9 @@ void m68k_op_move_8_d_ix(void) } -void m68k_op_move_8_d_aw(void) +void m68k_op_move_8_d_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_8(); + uint res = OPER_AW_8(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; @@ -5102,9 +5102,9 @@ void m68k_op_move_8_d_aw(void) } -void m68k_op_move_8_d_al(void) +void m68k_op_move_8_d_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_8(); + uint res = OPER_AL_8(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; @@ -5116,9 +5116,9 @@ void m68k_op_move_8_d_al(void) } -void m68k_op_move_8_d_pcdi(void) +void m68k_op_move_8_d_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_8(); + uint res = OPER_PCDI_8(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; @@ -5130,9 +5130,9 @@ void m68k_op_move_8_d_pcdi(void) } -void m68k_op_move_8_d_pcix(void) +void m68k_op_move_8_d_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_8(); + uint res = OPER_PCIX_8(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_8(*r_dst) | res; @@ -5144,7 +5144,7 @@ void m68k_op_move_8_d_pcix(void) } -void m68k_op_move_8_d_i(void) +void m68k_op_move_8_d_i(m68ki_cpu_core *cpu) { uint res = OPER_I_8(); uint* r_dst = &DX; @@ -5158,7 +5158,7 @@ void m68k_op_move_8_d_i(void) } -void m68k_op_move_8_ai_d(void) +void m68k_op_move_8_ai_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY); uint ea = EA_AX_AI_8(); @@ -5172,9 +5172,9 @@ void m68k_op_move_8_ai_d(void) } -void m68k_op_move_8_ai_ai(void) +void m68k_op_move_8_ai_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_8(); + uint res = OPER_AY_AI_8(cpu); uint ea = EA_AX_AI_8(); m68ki_write_8(ea, res); @@ -5186,9 +5186,9 @@ void m68k_op_move_8_ai_ai(void) } -void m68k_op_move_8_ai_pi(void) +void m68k_op_move_8_ai_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_8(); + uint res = OPER_AY_PI_8(cpu); uint ea = EA_AX_AI_8(); m68ki_write_8(ea, res); @@ -5200,9 +5200,9 @@ void m68k_op_move_8_ai_pi(void) } -void m68k_op_move_8_ai_pi7(void) +void m68k_op_move_8_ai_pi7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PI_8(); + uint res = OPER_A7_PI_8(cpu); uint ea = EA_AX_AI_8(); m68ki_write_8(ea, res); @@ -5214,9 +5214,9 @@ void m68k_op_move_8_ai_pi7(void) } -void m68k_op_move_8_ai_pd(void) +void m68k_op_move_8_ai_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_8(); + uint res = OPER_AY_PD_8(cpu); uint ea = EA_AX_AI_8(); m68ki_write_8(ea, res); @@ -5228,9 +5228,9 @@ void m68k_op_move_8_ai_pd(void) } -void m68k_op_move_8_ai_pd7(void) +void m68k_op_move_8_ai_pd7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PD_8(); + uint res = OPER_A7_PD_8(cpu); uint ea = EA_AX_AI_8(); m68ki_write_8(ea, res); @@ -5242,9 +5242,9 @@ void m68k_op_move_8_ai_pd7(void) } -void m68k_op_move_8_ai_di(void) +void m68k_op_move_8_ai_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_8(); + uint res = OPER_AY_DI_8(cpu); uint ea = EA_AX_AI_8(); m68ki_write_8(ea, res); @@ -5256,9 +5256,9 @@ void m68k_op_move_8_ai_di(void) } -void m68k_op_move_8_ai_ix(void) +void m68k_op_move_8_ai_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_8(); + uint res = OPER_AY_IX_8(cpu); uint ea = EA_AX_AI_8(); m68ki_write_8(ea, res); @@ -5270,9 +5270,9 @@ void m68k_op_move_8_ai_ix(void) } -void m68k_op_move_8_ai_aw(void) +void m68k_op_move_8_ai_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_8(); + uint res = OPER_AW_8(cpu); uint ea = EA_AX_AI_8(); m68ki_write_8(ea, res); @@ -5284,9 +5284,9 @@ void m68k_op_move_8_ai_aw(void) } -void m68k_op_move_8_ai_al(void) +void m68k_op_move_8_ai_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_8(); + uint res = OPER_AL_8(cpu); uint ea = EA_AX_AI_8(); m68ki_write_8(ea, res); @@ -5298,9 +5298,9 @@ void m68k_op_move_8_ai_al(void) } -void m68k_op_move_8_ai_pcdi(void) +void m68k_op_move_8_ai_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_8(); + uint res = OPER_PCDI_8(cpu); uint ea = EA_AX_AI_8(); m68ki_write_8(ea, res); @@ -5312,9 +5312,9 @@ void m68k_op_move_8_ai_pcdi(void) } -void m68k_op_move_8_ai_pcix(void) +void m68k_op_move_8_ai_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_8(); + uint res = OPER_PCIX_8(cpu); uint ea = EA_AX_AI_8(); m68ki_write_8(ea, res); @@ -5326,7 +5326,7 @@ void m68k_op_move_8_ai_pcix(void) } -void m68k_op_move_8_ai_i(void) +void m68k_op_move_8_ai_i(m68ki_cpu_core *cpu) { uint res = OPER_I_8(); uint ea = EA_AX_AI_8(); @@ -5340,7 +5340,7 @@ void m68k_op_move_8_ai_i(void) } -void m68k_op_move_8_pi7_d(void) +void m68k_op_move_8_pi7_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY); uint ea = EA_A7_PI_8(); @@ -5354,7 +5354,7 @@ void m68k_op_move_8_pi7_d(void) } -void m68k_op_move_8_pi_d(void) +void m68k_op_move_8_pi_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY); uint ea = EA_AX_PI_8(); @@ -5368,9 +5368,9 @@ void m68k_op_move_8_pi_d(void) } -void m68k_op_move_8_pi7_ai(void) +void m68k_op_move_8_pi7_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_8(); + uint res = OPER_AY_AI_8(cpu); uint ea = EA_A7_PI_8(); m68ki_write_8(ea, res); @@ -5382,9 +5382,9 @@ void m68k_op_move_8_pi7_ai(void) } -void m68k_op_move_8_pi7_pi(void) +void m68k_op_move_8_pi7_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_8(); + uint res = OPER_AY_PI_8(cpu); uint ea = EA_A7_PI_8(); m68ki_write_8(ea, res); @@ -5396,9 +5396,9 @@ void m68k_op_move_8_pi7_pi(void) } -void m68k_op_move_8_pi7_pi7(void) +void m68k_op_move_8_pi7_pi7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PI_8(); + uint res = OPER_A7_PI_8(cpu); uint ea = EA_A7_PI_8(); m68ki_write_8(ea, res); @@ -5410,9 +5410,9 @@ void m68k_op_move_8_pi7_pi7(void) } -void m68k_op_move_8_pi7_pd(void) +void m68k_op_move_8_pi7_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_8(); + uint res = OPER_AY_PD_8(cpu); uint ea = EA_A7_PI_8(); m68ki_write_8(ea, res); @@ -5424,9 +5424,9 @@ void m68k_op_move_8_pi7_pd(void) } -void m68k_op_move_8_pi7_pd7(void) +void m68k_op_move_8_pi7_pd7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PD_8(); + uint res = OPER_A7_PD_8(cpu); uint ea = EA_A7_PI_8(); m68ki_write_8(ea, res); @@ -5438,9 +5438,9 @@ void m68k_op_move_8_pi7_pd7(void) } -void m68k_op_move_8_pi7_di(void) +void m68k_op_move_8_pi7_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_8(); + uint res = OPER_AY_DI_8(cpu); uint ea = EA_A7_PI_8(); m68ki_write_8(ea, res); @@ -5452,9 +5452,9 @@ void m68k_op_move_8_pi7_di(void) } -void m68k_op_move_8_pi7_ix(void) +void m68k_op_move_8_pi7_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_8(); + uint res = OPER_AY_IX_8(cpu); uint ea = EA_A7_PI_8(); m68ki_write_8(ea, res); @@ -5466,9 +5466,9 @@ void m68k_op_move_8_pi7_ix(void) } -void m68k_op_move_8_pi7_aw(void) +void m68k_op_move_8_pi7_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_8(); + uint res = OPER_AW_8(cpu); uint ea = EA_A7_PI_8(); m68ki_write_8(ea, res); @@ -5480,9 +5480,9 @@ void m68k_op_move_8_pi7_aw(void) } -void m68k_op_move_8_pi7_al(void) +void m68k_op_move_8_pi7_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_8(); + uint res = OPER_AL_8(cpu); uint ea = EA_A7_PI_8(); m68ki_write_8(ea, res); @@ -5494,9 +5494,9 @@ void m68k_op_move_8_pi7_al(void) } -void m68k_op_move_8_pi7_pcdi(void) +void m68k_op_move_8_pi7_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_8(); + uint res = OPER_PCDI_8(cpu); uint ea = EA_A7_PI_8(); m68ki_write_8(ea, res); @@ -5508,9 +5508,9 @@ void m68k_op_move_8_pi7_pcdi(void) } -void m68k_op_move_8_pi7_pcix(void) +void m68k_op_move_8_pi7_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_8(); + uint res = OPER_PCIX_8(cpu); uint ea = EA_A7_PI_8(); m68ki_write_8(ea, res); @@ -5522,7 +5522,7 @@ void m68k_op_move_8_pi7_pcix(void) } -void m68k_op_move_8_pi7_i(void) +void m68k_op_move_8_pi7_i(m68ki_cpu_core *cpu) { uint res = OPER_I_8(); uint ea = EA_A7_PI_8(); @@ -5536,9 +5536,9 @@ void m68k_op_move_8_pi7_i(void) } -void m68k_op_move_8_pi_ai(void) +void m68k_op_move_8_pi_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_8(); + uint res = OPER_AY_AI_8(cpu); uint ea = EA_AX_PI_8(); m68ki_write_8(ea, res); @@ -5550,9 +5550,9 @@ void m68k_op_move_8_pi_ai(void) } -void m68k_op_move_8_pi_pi(void) +void m68k_op_move_8_pi_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_8(); + uint res = OPER_AY_PI_8(cpu); uint ea = EA_AX_PI_8(); m68ki_write_8(ea, res); @@ -5564,9 +5564,9 @@ void m68k_op_move_8_pi_pi(void) } -void m68k_op_move_8_pi_pi7(void) +void m68k_op_move_8_pi_pi7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PI_8(); + uint res = OPER_A7_PI_8(cpu); uint ea = EA_AX_PI_8(); m68ki_write_8(ea, res); @@ -5578,9 +5578,9 @@ void m68k_op_move_8_pi_pi7(void) } -void m68k_op_move_8_pi_pd(void) +void m68k_op_move_8_pi_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_8(); + uint res = OPER_AY_PD_8(cpu); uint ea = EA_AX_PI_8(); m68ki_write_8(ea, res); @@ -5592,9 +5592,9 @@ void m68k_op_move_8_pi_pd(void) } -void m68k_op_move_8_pi_pd7(void) +void m68k_op_move_8_pi_pd7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PD_8(); + uint res = OPER_A7_PD_8(cpu); uint ea = EA_AX_PI_8(); m68ki_write_8(ea, res); @@ -5606,9 +5606,9 @@ void m68k_op_move_8_pi_pd7(void) } -void m68k_op_move_8_pi_di(void) +void m68k_op_move_8_pi_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_8(); + uint res = OPER_AY_DI_8(cpu); uint ea = EA_AX_PI_8(); m68ki_write_8(ea, res); @@ -5620,9 +5620,9 @@ void m68k_op_move_8_pi_di(void) } -void m68k_op_move_8_pi_ix(void) +void m68k_op_move_8_pi_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_8(); + uint res = OPER_AY_IX_8(cpu); uint ea = EA_AX_PI_8(); m68ki_write_8(ea, res); @@ -5634,9 +5634,9 @@ void m68k_op_move_8_pi_ix(void) } -void m68k_op_move_8_pi_aw(void) +void m68k_op_move_8_pi_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_8(); + uint res = OPER_AW_8(cpu); uint ea = EA_AX_PI_8(); m68ki_write_8(ea, res); @@ -5648,9 +5648,9 @@ void m68k_op_move_8_pi_aw(void) } -void m68k_op_move_8_pi_al(void) +void m68k_op_move_8_pi_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_8(); + uint res = OPER_AL_8(cpu); uint ea = EA_AX_PI_8(); m68ki_write_8(ea, res); @@ -5662,9 +5662,9 @@ void m68k_op_move_8_pi_al(void) } -void m68k_op_move_8_pi_pcdi(void) +void m68k_op_move_8_pi_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_8(); + uint res = OPER_PCDI_8(cpu); uint ea = EA_AX_PI_8(); m68ki_write_8(ea, res); @@ -5676,9 +5676,9 @@ void m68k_op_move_8_pi_pcdi(void) } -void m68k_op_move_8_pi_pcix(void) +void m68k_op_move_8_pi_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_8(); + uint res = OPER_PCIX_8(cpu); uint ea = EA_AX_PI_8(); m68ki_write_8(ea, res); @@ -5690,7 +5690,7 @@ void m68k_op_move_8_pi_pcix(void) } -void m68k_op_move_8_pi_i(void) +void m68k_op_move_8_pi_i(m68ki_cpu_core *cpu) { uint res = OPER_I_8(); uint ea = EA_AX_PI_8(); @@ -5704,7 +5704,7 @@ void m68k_op_move_8_pi_i(void) } -void m68k_op_move_8_pd7_d(void) +void m68k_op_move_8_pd7_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY); uint ea = EA_A7_PD_8(); @@ -5718,7 +5718,7 @@ void m68k_op_move_8_pd7_d(void) } -void m68k_op_move_8_pd_d(void) +void m68k_op_move_8_pd_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY); uint ea = EA_AX_PD_8(); @@ -5732,9 +5732,9 @@ void m68k_op_move_8_pd_d(void) } -void m68k_op_move_8_pd7_ai(void) +void m68k_op_move_8_pd7_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_8(); + uint res = OPER_AY_AI_8(cpu); uint ea = EA_A7_PD_8(); m68ki_write_8(ea, res); @@ -5746,9 +5746,9 @@ void m68k_op_move_8_pd7_ai(void) } -void m68k_op_move_8_pd7_pi(void) +void m68k_op_move_8_pd7_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_8(); + uint res = OPER_AY_PI_8(cpu); uint ea = EA_A7_PD_8(); m68ki_write_8(ea, res); @@ -5760,9 +5760,9 @@ void m68k_op_move_8_pd7_pi(void) } -void m68k_op_move_8_pd7_pi7(void) +void m68k_op_move_8_pd7_pi7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PI_8(); + uint res = OPER_A7_PI_8(cpu); uint ea = EA_A7_PD_8(); m68ki_write_8(ea, res); @@ -5774,9 +5774,9 @@ void m68k_op_move_8_pd7_pi7(void) } -void m68k_op_move_8_pd7_pd(void) +void m68k_op_move_8_pd7_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_8(); + uint res = OPER_AY_PD_8(cpu); uint ea = EA_A7_PD_8(); m68ki_write_8(ea, res); @@ -5788,9 +5788,9 @@ void m68k_op_move_8_pd7_pd(void) } -void m68k_op_move_8_pd7_pd7(void) +void m68k_op_move_8_pd7_pd7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PD_8(); + uint res = OPER_A7_PD_8(cpu); uint ea = EA_A7_PD_8(); m68ki_write_8(ea, res); @@ -5802,9 +5802,9 @@ void m68k_op_move_8_pd7_pd7(void) } -void m68k_op_move_8_pd7_di(void) +void m68k_op_move_8_pd7_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_8(); + uint res = OPER_AY_DI_8(cpu); uint ea = EA_A7_PD_8(); m68ki_write_8(ea, res); @@ -5816,9 +5816,9 @@ void m68k_op_move_8_pd7_di(void) } -void m68k_op_move_8_pd7_ix(void) +void m68k_op_move_8_pd7_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_8(); + uint res = OPER_AY_IX_8(cpu); uint ea = EA_A7_PD_8(); m68ki_write_8(ea, res); @@ -5830,9 +5830,9 @@ void m68k_op_move_8_pd7_ix(void) } -void m68k_op_move_8_pd7_aw(void) +void m68k_op_move_8_pd7_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_8(); + uint res = OPER_AW_8(cpu); uint ea = EA_A7_PD_8(); m68ki_write_8(ea, res); @@ -5844,9 +5844,9 @@ void m68k_op_move_8_pd7_aw(void) } -void m68k_op_move_8_pd7_al(void) +void m68k_op_move_8_pd7_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_8(); + uint res = OPER_AL_8(cpu); uint ea = EA_A7_PD_8(); m68ki_write_8(ea, res); @@ -5858,9 +5858,9 @@ void m68k_op_move_8_pd7_al(void) } -void m68k_op_move_8_pd7_pcdi(void) +void m68k_op_move_8_pd7_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_8(); + uint res = OPER_PCDI_8(cpu); uint ea = EA_A7_PD_8(); m68ki_write_8(ea, res); @@ -5872,9 +5872,9 @@ void m68k_op_move_8_pd7_pcdi(void) } -void m68k_op_move_8_pd7_pcix(void) +void m68k_op_move_8_pd7_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_8(); + uint res = OPER_PCIX_8(cpu); uint ea = EA_A7_PD_8(); m68ki_write_8(ea, res); @@ -5886,7 +5886,7 @@ void m68k_op_move_8_pd7_pcix(void) } -void m68k_op_move_8_pd7_i(void) +void m68k_op_move_8_pd7_i(m68ki_cpu_core *cpu) { uint res = OPER_I_8(); uint ea = EA_A7_PD_8(); @@ -5900,9 +5900,9 @@ void m68k_op_move_8_pd7_i(void) } -void m68k_op_move_8_pd_ai(void) +void m68k_op_move_8_pd_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_8(); + uint res = OPER_AY_AI_8(cpu); uint ea = EA_AX_PD_8(); m68ki_write_8(ea, res); @@ -5914,9 +5914,9 @@ void m68k_op_move_8_pd_ai(void) } -void m68k_op_move_8_pd_pi(void) +void m68k_op_move_8_pd_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_8(); + uint res = OPER_AY_PI_8(cpu); uint ea = EA_AX_PD_8(); m68ki_write_8(ea, res); @@ -5928,9 +5928,9 @@ void m68k_op_move_8_pd_pi(void) } -void m68k_op_move_8_pd_pi7(void) +void m68k_op_move_8_pd_pi7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PI_8(); + uint res = OPER_A7_PI_8(cpu); uint ea = EA_AX_PD_8(); m68ki_write_8(ea, res); @@ -5942,9 +5942,9 @@ void m68k_op_move_8_pd_pi7(void) } -void m68k_op_move_8_pd_pd(void) +void m68k_op_move_8_pd_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_8(); + uint res = OPER_AY_PD_8(cpu); uint ea = EA_AX_PD_8(); m68ki_write_8(ea, res); @@ -5956,9 +5956,9 @@ void m68k_op_move_8_pd_pd(void) } -void m68k_op_move_8_pd_pd7(void) +void m68k_op_move_8_pd_pd7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PD_8(); + uint res = OPER_A7_PD_8(cpu); uint ea = EA_AX_PD_8(); m68ki_write_8(ea, res); @@ -5970,9 +5970,9 @@ void m68k_op_move_8_pd_pd7(void) } -void m68k_op_move_8_pd_di(void) +void m68k_op_move_8_pd_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_8(); + uint res = OPER_AY_DI_8(cpu); uint ea = EA_AX_PD_8(); m68ki_write_8(ea, res); @@ -5984,9 +5984,9 @@ void m68k_op_move_8_pd_di(void) } -void m68k_op_move_8_pd_ix(void) +void m68k_op_move_8_pd_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_8(); + uint res = OPER_AY_IX_8(cpu); uint ea = EA_AX_PD_8(); m68ki_write_8(ea, res); @@ -5998,9 +5998,9 @@ void m68k_op_move_8_pd_ix(void) } -void m68k_op_move_8_pd_aw(void) +void m68k_op_move_8_pd_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_8(); + uint res = OPER_AW_8(cpu); uint ea = EA_AX_PD_8(); m68ki_write_8(ea, res); @@ -6012,9 +6012,9 @@ void m68k_op_move_8_pd_aw(void) } -void m68k_op_move_8_pd_al(void) +void m68k_op_move_8_pd_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_8(); + uint res = OPER_AL_8(cpu); uint ea = EA_AX_PD_8(); m68ki_write_8(ea, res); @@ -6026,9 +6026,9 @@ void m68k_op_move_8_pd_al(void) } -void m68k_op_move_8_pd_pcdi(void) +void m68k_op_move_8_pd_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_8(); + uint res = OPER_PCDI_8(cpu); uint ea = EA_AX_PD_8(); m68ki_write_8(ea, res); @@ -6040,9 +6040,9 @@ void m68k_op_move_8_pd_pcdi(void) } -void m68k_op_move_8_pd_pcix(void) +void m68k_op_move_8_pd_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_8(); + uint res = OPER_PCIX_8(cpu); uint ea = EA_AX_PD_8(); m68ki_write_8(ea, res); @@ -6054,7 +6054,7 @@ void m68k_op_move_8_pd_pcix(void) } -void m68k_op_move_8_pd_i(void) +void m68k_op_move_8_pd_i(m68ki_cpu_core *cpu) { uint res = OPER_I_8(); uint ea = EA_AX_PD_8(); @@ -6068,7 +6068,7 @@ void m68k_op_move_8_pd_i(void) } -void m68k_op_move_8_di_d(void) +void m68k_op_move_8_di_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY); uint ea = EA_AX_DI_8(); @@ -6082,9 +6082,9 @@ void m68k_op_move_8_di_d(void) } -void m68k_op_move_8_di_ai(void) +void m68k_op_move_8_di_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_8(); + uint res = OPER_AY_AI_8(cpu); uint ea = EA_AX_DI_8(); m68ki_write_8(ea, res); @@ -6096,9 +6096,9 @@ void m68k_op_move_8_di_ai(void) } -void m68k_op_move_8_di_pi(void) +void m68k_op_move_8_di_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_8(); + uint res = OPER_AY_PI_8(cpu); uint ea = EA_AX_DI_8(); m68ki_write_8(ea, res); @@ -6110,9 +6110,9 @@ void m68k_op_move_8_di_pi(void) } -void m68k_op_move_8_di_pi7(void) +void m68k_op_move_8_di_pi7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PI_8(); + uint res = OPER_A7_PI_8(cpu); uint ea = EA_AX_DI_8(); m68ki_write_8(ea, res); @@ -6124,9 +6124,9 @@ void m68k_op_move_8_di_pi7(void) } -void m68k_op_move_8_di_pd(void) +void m68k_op_move_8_di_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_8(); + uint res = OPER_AY_PD_8(cpu); uint ea = EA_AX_DI_8(); m68ki_write_8(ea, res); @@ -6138,9 +6138,9 @@ void m68k_op_move_8_di_pd(void) } -void m68k_op_move_8_di_pd7(void) +void m68k_op_move_8_di_pd7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PD_8(); + uint res = OPER_A7_PD_8(cpu); uint ea = EA_AX_DI_8(); m68ki_write_8(ea, res); @@ -6152,9 +6152,9 @@ void m68k_op_move_8_di_pd7(void) } -void m68k_op_move_8_di_di(void) +void m68k_op_move_8_di_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_8(); + uint res = OPER_AY_DI_8(cpu); uint ea = EA_AX_DI_8(); m68ki_write_8(ea, res); @@ -6166,9 +6166,9 @@ void m68k_op_move_8_di_di(void) } -void m68k_op_move_8_di_ix(void) +void m68k_op_move_8_di_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_8(); + uint res = OPER_AY_IX_8(cpu); uint ea = EA_AX_DI_8(); m68ki_write_8(ea, res); @@ -6180,9 +6180,9 @@ void m68k_op_move_8_di_ix(void) } -void m68k_op_move_8_di_aw(void) +void m68k_op_move_8_di_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_8(); + uint res = OPER_AW_8(cpu); uint ea = EA_AX_DI_8(); m68ki_write_8(ea, res); @@ -6194,9 +6194,9 @@ void m68k_op_move_8_di_aw(void) } -void m68k_op_move_8_di_al(void) +void m68k_op_move_8_di_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_8(); + uint res = OPER_AL_8(cpu); uint ea = EA_AX_DI_8(); m68ki_write_8(ea, res); @@ -6208,9 +6208,9 @@ void m68k_op_move_8_di_al(void) } -void m68k_op_move_8_di_pcdi(void) +void m68k_op_move_8_di_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_8(); + uint res = OPER_PCDI_8(cpu); uint ea = EA_AX_DI_8(); m68ki_write_8(ea, res); @@ -6222,9 +6222,9 @@ void m68k_op_move_8_di_pcdi(void) } -void m68k_op_move_8_di_pcix(void) +void m68k_op_move_8_di_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_8(); + uint res = OPER_PCIX_8(cpu); uint ea = EA_AX_DI_8(); m68ki_write_8(ea, res); @@ -6236,7 +6236,7 @@ void m68k_op_move_8_di_pcix(void) } -void m68k_op_move_8_di_i(void) +void m68k_op_move_8_di_i(m68ki_cpu_core *cpu) { uint res = OPER_I_8(); uint ea = EA_AX_DI_8(); @@ -6250,7 +6250,7 @@ void m68k_op_move_8_di_i(void) } -void m68k_op_move_8_ix_d(void) +void m68k_op_move_8_ix_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY); uint ea = EA_AX_IX_8(); @@ -6264,9 +6264,9 @@ void m68k_op_move_8_ix_d(void) } -void m68k_op_move_8_ix_ai(void) +void m68k_op_move_8_ix_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_8(); + uint res = OPER_AY_AI_8(cpu); uint ea = EA_AX_IX_8(); m68ki_write_8(ea, res); @@ -6278,9 +6278,9 @@ void m68k_op_move_8_ix_ai(void) } -void m68k_op_move_8_ix_pi(void) +void m68k_op_move_8_ix_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_8(); + uint res = OPER_AY_PI_8(cpu); uint ea = EA_AX_IX_8(); m68ki_write_8(ea, res); @@ -6292,9 +6292,9 @@ void m68k_op_move_8_ix_pi(void) } -void m68k_op_move_8_ix_pi7(void) +void m68k_op_move_8_ix_pi7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PI_8(); + uint res = OPER_A7_PI_8(cpu); uint ea = EA_AX_IX_8(); m68ki_write_8(ea, res); @@ -6306,9 +6306,9 @@ void m68k_op_move_8_ix_pi7(void) } -void m68k_op_move_8_ix_pd(void) +void m68k_op_move_8_ix_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_8(); + uint res = OPER_AY_PD_8(cpu); uint ea = EA_AX_IX_8(); m68ki_write_8(ea, res); @@ -6320,9 +6320,9 @@ void m68k_op_move_8_ix_pd(void) } -void m68k_op_move_8_ix_pd7(void) +void m68k_op_move_8_ix_pd7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PD_8(); + uint res = OPER_A7_PD_8(cpu); uint ea = EA_AX_IX_8(); m68ki_write_8(ea, res); @@ -6334,9 +6334,9 @@ void m68k_op_move_8_ix_pd7(void) } -void m68k_op_move_8_ix_di(void) +void m68k_op_move_8_ix_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_8(); + uint res = OPER_AY_DI_8(cpu); uint ea = EA_AX_IX_8(); m68ki_write_8(ea, res); @@ -6348,9 +6348,9 @@ void m68k_op_move_8_ix_di(void) } -void m68k_op_move_8_ix_ix(void) +void m68k_op_move_8_ix_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_8(); + uint res = OPER_AY_IX_8(cpu); uint ea = EA_AX_IX_8(); m68ki_write_8(ea, res); @@ -6362,9 +6362,9 @@ void m68k_op_move_8_ix_ix(void) } -void m68k_op_move_8_ix_aw(void) +void m68k_op_move_8_ix_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_8(); + uint res = OPER_AW_8(cpu); uint ea = EA_AX_IX_8(); m68ki_write_8(ea, res); @@ -6376,9 +6376,9 @@ void m68k_op_move_8_ix_aw(void) } -void m68k_op_move_8_ix_al(void) +void m68k_op_move_8_ix_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_8(); + uint res = OPER_AL_8(cpu); uint ea = EA_AX_IX_8(); m68ki_write_8(ea, res); @@ -6390,9 +6390,9 @@ void m68k_op_move_8_ix_al(void) } -void m68k_op_move_8_ix_pcdi(void) +void m68k_op_move_8_ix_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_8(); + uint res = OPER_PCDI_8(cpu); uint ea = EA_AX_IX_8(); m68ki_write_8(ea, res); @@ -6404,9 +6404,9 @@ void m68k_op_move_8_ix_pcdi(void) } -void m68k_op_move_8_ix_pcix(void) +void m68k_op_move_8_ix_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_8(); + uint res = OPER_PCIX_8(cpu); uint ea = EA_AX_IX_8(); m68ki_write_8(ea, res); @@ -6418,7 +6418,7 @@ void m68k_op_move_8_ix_pcix(void) } -void m68k_op_move_8_ix_i(void) +void m68k_op_move_8_ix_i(m68ki_cpu_core *cpu) { uint res = OPER_I_8(); uint ea = EA_AX_IX_8(); @@ -6432,7 +6432,7 @@ void m68k_op_move_8_ix_i(void) } -void m68k_op_move_8_aw_d(void) +void m68k_op_move_8_aw_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY); uint ea = EA_AW_8(); @@ -6446,9 +6446,9 @@ void m68k_op_move_8_aw_d(void) } -void m68k_op_move_8_aw_ai(void) +void m68k_op_move_8_aw_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_8(); + uint res = OPER_AY_AI_8(cpu); uint ea = EA_AW_8(); m68ki_write_8(ea, res); @@ -6460,9 +6460,9 @@ void m68k_op_move_8_aw_ai(void) } -void m68k_op_move_8_aw_pi(void) +void m68k_op_move_8_aw_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_8(); + uint res = OPER_AY_PI_8(cpu); uint ea = EA_AW_8(); m68ki_write_8(ea, res); @@ -6474,9 +6474,9 @@ void m68k_op_move_8_aw_pi(void) } -void m68k_op_move_8_aw_pi7(void) +void m68k_op_move_8_aw_pi7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PI_8(); + uint res = OPER_A7_PI_8(cpu); uint ea = EA_AW_8(); m68ki_write_8(ea, res); @@ -6488,9 +6488,9 @@ void m68k_op_move_8_aw_pi7(void) } -void m68k_op_move_8_aw_pd(void) +void m68k_op_move_8_aw_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_8(); + uint res = OPER_AY_PD_8(cpu); uint ea = EA_AW_8(); m68ki_write_8(ea, res); @@ -6502,9 +6502,9 @@ void m68k_op_move_8_aw_pd(void) } -void m68k_op_move_8_aw_pd7(void) +void m68k_op_move_8_aw_pd7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PD_8(); + uint res = OPER_A7_PD_8(cpu); uint ea = EA_AW_8(); m68ki_write_8(ea, res); @@ -6516,9 +6516,9 @@ void m68k_op_move_8_aw_pd7(void) } -void m68k_op_move_8_aw_di(void) +void m68k_op_move_8_aw_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_8(); + uint res = OPER_AY_DI_8(cpu); uint ea = EA_AW_8(); m68ki_write_8(ea, res); @@ -6530,9 +6530,9 @@ void m68k_op_move_8_aw_di(void) } -void m68k_op_move_8_aw_ix(void) +void m68k_op_move_8_aw_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_8(); + uint res = OPER_AY_IX_8(cpu); uint ea = EA_AW_8(); m68ki_write_8(ea, res); @@ -6544,9 +6544,9 @@ void m68k_op_move_8_aw_ix(void) } -void m68k_op_move_8_aw_aw(void) +void m68k_op_move_8_aw_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_8(); + uint res = OPER_AW_8(cpu); uint ea = EA_AW_8(); m68ki_write_8(ea, res); @@ -6558,9 +6558,9 @@ void m68k_op_move_8_aw_aw(void) } -void m68k_op_move_8_aw_al(void) +void m68k_op_move_8_aw_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_8(); + uint res = OPER_AL_8(cpu); uint ea = EA_AW_8(); m68ki_write_8(ea, res); @@ -6572,9 +6572,9 @@ void m68k_op_move_8_aw_al(void) } -void m68k_op_move_8_aw_pcdi(void) +void m68k_op_move_8_aw_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_8(); + uint res = OPER_PCDI_8(cpu); uint ea = EA_AW_8(); m68ki_write_8(ea, res); @@ -6586,9 +6586,9 @@ void m68k_op_move_8_aw_pcdi(void) } -void m68k_op_move_8_aw_pcix(void) +void m68k_op_move_8_aw_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_8(); + uint res = OPER_PCIX_8(cpu); uint ea = EA_AW_8(); m68ki_write_8(ea, res); @@ -6600,7 +6600,7 @@ void m68k_op_move_8_aw_pcix(void) } -void m68k_op_move_8_aw_i(void) +void m68k_op_move_8_aw_i(m68ki_cpu_core *cpu) { uint res = OPER_I_8(); uint ea = EA_AW_8(); @@ -6614,7 +6614,7 @@ void m68k_op_move_8_aw_i(void) } -void m68k_op_move_8_al_d(void) +void m68k_op_move_8_al_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY); uint ea = EA_AL_8(); @@ -6628,9 +6628,9 @@ void m68k_op_move_8_al_d(void) } -void m68k_op_move_8_al_ai(void) +void m68k_op_move_8_al_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_8(); + uint res = OPER_AY_AI_8(cpu); uint ea = EA_AL_8(); m68ki_write_8(ea, res); @@ -6642,9 +6642,9 @@ void m68k_op_move_8_al_ai(void) } -void m68k_op_move_8_al_pi(void) +void m68k_op_move_8_al_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_8(); + uint res = OPER_AY_PI_8(cpu); uint ea = EA_AL_8(); m68ki_write_8(ea, res); @@ -6656,9 +6656,9 @@ void m68k_op_move_8_al_pi(void) } -void m68k_op_move_8_al_pi7(void) +void m68k_op_move_8_al_pi7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PI_8(); + uint res = OPER_A7_PI_8(cpu); uint ea = EA_AL_8(); m68ki_write_8(ea, res); @@ -6670,9 +6670,9 @@ void m68k_op_move_8_al_pi7(void) } -void m68k_op_move_8_al_pd(void) +void m68k_op_move_8_al_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_8(); + uint res = OPER_AY_PD_8(cpu); uint ea = EA_AL_8(); m68ki_write_8(ea, res); @@ -6684,9 +6684,9 @@ void m68k_op_move_8_al_pd(void) } -void m68k_op_move_8_al_pd7(void) +void m68k_op_move_8_al_pd7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PD_8(); + uint res = OPER_A7_PD_8(cpu); uint ea = EA_AL_8(); m68ki_write_8(ea, res); @@ -6698,9 +6698,9 @@ void m68k_op_move_8_al_pd7(void) } -void m68k_op_move_8_al_di(void) +void m68k_op_move_8_al_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_8(); + uint res = OPER_AY_DI_8(cpu); uint ea = EA_AL_8(); m68ki_write_8(ea, res); @@ -6712,9 +6712,9 @@ void m68k_op_move_8_al_di(void) } -void m68k_op_move_8_al_ix(void) +void m68k_op_move_8_al_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_8(); + uint res = OPER_AY_IX_8(cpu); uint ea = EA_AL_8(); m68ki_write_8(ea, res); @@ -6726,9 +6726,9 @@ void m68k_op_move_8_al_ix(void) } -void m68k_op_move_8_al_aw(void) +void m68k_op_move_8_al_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_8(); + uint res = OPER_AW_8(cpu); uint ea = EA_AL_8(); m68ki_write_8(ea, res); @@ -6740,9 +6740,9 @@ void m68k_op_move_8_al_aw(void) } -void m68k_op_move_8_al_al(void) +void m68k_op_move_8_al_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_8(); + uint res = OPER_AL_8(cpu); uint ea = EA_AL_8(); m68ki_write_8(ea, res); @@ -6754,9 +6754,9 @@ void m68k_op_move_8_al_al(void) } -void m68k_op_move_8_al_pcdi(void) +void m68k_op_move_8_al_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_8(); + uint res = OPER_PCDI_8(cpu); uint ea = EA_AL_8(); m68ki_write_8(ea, res); @@ -6768,9 +6768,9 @@ void m68k_op_move_8_al_pcdi(void) } -void m68k_op_move_8_al_pcix(void) +void m68k_op_move_8_al_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_8(); + uint res = OPER_PCIX_8(cpu); uint ea = EA_AL_8(); m68ki_write_8(ea, res); @@ -6782,7 +6782,7 @@ void m68k_op_move_8_al_pcix(void) } -void m68k_op_move_8_al_i(void) +void m68k_op_move_8_al_i(m68ki_cpu_core *cpu) { uint res = OPER_I_8(); uint ea = EA_AL_8(); @@ -6796,7 +6796,7 @@ void m68k_op_move_8_al_i(void) } -void m68k_op_move_16_d_d(void) +void m68k_op_move_16_d_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY); uint* r_dst = &DX; @@ -6810,7 +6810,7 @@ void m68k_op_move_16_d_d(void) } -void m68k_op_move_16_d_a(void) +void m68k_op_move_16_d_a(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(AY); uint* r_dst = &DX; @@ -6824,9 +6824,9 @@ void m68k_op_move_16_d_a(void) } -void m68k_op_move_16_d_ai(void) +void m68k_op_move_16_d_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_16(); + uint res = OPER_AY_AI_16(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; @@ -6838,9 +6838,9 @@ void m68k_op_move_16_d_ai(void) } -void m68k_op_move_16_d_pi(void) +void m68k_op_move_16_d_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_16(); + uint res = OPER_AY_PI_16(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; @@ -6852,9 +6852,9 @@ void m68k_op_move_16_d_pi(void) } -void m68k_op_move_16_d_pd(void) +void m68k_op_move_16_d_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_16(); + uint res = OPER_AY_PD_16(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; @@ -6866,9 +6866,9 @@ void m68k_op_move_16_d_pd(void) } -void m68k_op_move_16_d_di(void) +void m68k_op_move_16_d_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_16(); + uint res = OPER_AY_DI_16(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; @@ -6880,9 +6880,9 @@ void m68k_op_move_16_d_di(void) } -void m68k_op_move_16_d_ix(void) +void m68k_op_move_16_d_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_16(); + uint res = OPER_AY_IX_16(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; @@ -6894,9 +6894,9 @@ void m68k_op_move_16_d_ix(void) } -void m68k_op_move_16_d_aw(void) +void m68k_op_move_16_d_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_16(); + uint res = OPER_AW_16(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; @@ -6908,9 +6908,9 @@ void m68k_op_move_16_d_aw(void) } -void m68k_op_move_16_d_al(void) +void m68k_op_move_16_d_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_16(); + uint res = OPER_AL_16(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; @@ -6922,9 +6922,9 @@ void m68k_op_move_16_d_al(void) } -void m68k_op_move_16_d_pcdi(void) +void m68k_op_move_16_d_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_16(); + uint res = OPER_PCDI_16(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; @@ -6936,9 +6936,9 @@ void m68k_op_move_16_d_pcdi(void) } -void m68k_op_move_16_d_pcix(void) +void m68k_op_move_16_d_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_16(); + uint res = OPER_PCIX_16(cpu); uint* r_dst = &DX; *r_dst = MASK_OUT_BELOW_16(*r_dst) | res; @@ -6950,7 +6950,7 @@ void m68k_op_move_16_d_pcix(void) } -void m68k_op_move_16_d_i(void) +void m68k_op_move_16_d_i(m68ki_cpu_core *cpu) { uint res = OPER_I_16(); uint* r_dst = &DX; @@ -6964,7 +6964,7 @@ void m68k_op_move_16_d_i(void) } -void m68k_op_move_16_ai_d(void) +void m68k_op_move_16_ai_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY); uint ea = EA_AX_AI_16(); @@ -6978,7 +6978,7 @@ void m68k_op_move_16_ai_d(void) } -void m68k_op_move_16_ai_a(void) +void m68k_op_move_16_ai_a(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(AY); uint ea = EA_AX_AI_16(); @@ -6992,9 +6992,9 @@ void m68k_op_move_16_ai_a(void) } -void m68k_op_move_16_ai_ai(void) +void m68k_op_move_16_ai_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_16(); + uint res = OPER_AY_AI_16(cpu); uint ea = EA_AX_AI_16(); m68ki_write_16(ea, res); @@ -7006,9 +7006,9 @@ void m68k_op_move_16_ai_ai(void) } -void m68k_op_move_16_ai_pi(void) +void m68k_op_move_16_ai_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_16(); + uint res = OPER_AY_PI_16(cpu); uint ea = EA_AX_AI_16(); m68ki_write_16(ea, res); @@ -7020,9 +7020,9 @@ void m68k_op_move_16_ai_pi(void) } -void m68k_op_move_16_ai_pd(void) +void m68k_op_move_16_ai_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_16(); + uint res = OPER_AY_PD_16(cpu); uint ea = EA_AX_AI_16(); m68ki_write_16(ea, res); @@ -7034,9 +7034,9 @@ void m68k_op_move_16_ai_pd(void) } -void m68k_op_move_16_ai_di(void) +void m68k_op_move_16_ai_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_16(); + uint res = OPER_AY_DI_16(cpu); uint ea = EA_AX_AI_16(); m68ki_write_16(ea, res); @@ -7048,9 +7048,9 @@ void m68k_op_move_16_ai_di(void) } -void m68k_op_move_16_ai_ix(void) +void m68k_op_move_16_ai_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_16(); + uint res = OPER_AY_IX_16(cpu); uint ea = EA_AX_AI_16(); m68ki_write_16(ea, res); @@ -7062,9 +7062,9 @@ void m68k_op_move_16_ai_ix(void) } -void m68k_op_move_16_ai_aw(void) +void m68k_op_move_16_ai_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_16(); + uint res = OPER_AW_16(cpu); uint ea = EA_AX_AI_16(); m68ki_write_16(ea, res); @@ -7076,9 +7076,9 @@ void m68k_op_move_16_ai_aw(void) } -void m68k_op_move_16_ai_al(void) +void m68k_op_move_16_ai_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_16(); + uint res = OPER_AL_16(cpu); uint ea = EA_AX_AI_16(); m68ki_write_16(ea, res); @@ -7090,9 +7090,9 @@ void m68k_op_move_16_ai_al(void) } -void m68k_op_move_16_ai_pcdi(void) +void m68k_op_move_16_ai_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_16(); + uint res = OPER_PCDI_16(cpu); uint ea = EA_AX_AI_16(); m68ki_write_16(ea, res); @@ -7104,9 +7104,9 @@ void m68k_op_move_16_ai_pcdi(void) } -void m68k_op_move_16_ai_pcix(void) +void m68k_op_move_16_ai_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_16(); + uint res = OPER_PCIX_16(cpu); uint ea = EA_AX_AI_16(); m68ki_write_16(ea, res); @@ -7118,7 +7118,7 @@ void m68k_op_move_16_ai_pcix(void) } -void m68k_op_move_16_ai_i(void) +void m68k_op_move_16_ai_i(m68ki_cpu_core *cpu) { uint res = OPER_I_16(); uint ea = EA_AX_AI_16(); @@ -7132,7 +7132,7 @@ void m68k_op_move_16_ai_i(void) } -void m68k_op_move_16_pi_d(void) +void m68k_op_move_16_pi_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY); uint ea = EA_AX_PI_16(); @@ -7146,7 +7146,7 @@ void m68k_op_move_16_pi_d(void) } -void m68k_op_move_16_pi_a(void) +void m68k_op_move_16_pi_a(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(AY); uint ea = EA_AX_PI_16(); @@ -7160,9 +7160,9 @@ void m68k_op_move_16_pi_a(void) } -void m68k_op_move_16_pi_ai(void) +void m68k_op_move_16_pi_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_16(); + uint res = OPER_AY_AI_16(cpu); uint ea = EA_AX_PI_16(); m68ki_write_16(ea, res); @@ -7174,9 +7174,9 @@ void m68k_op_move_16_pi_ai(void) } -void m68k_op_move_16_pi_pi(void) +void m68k_op_move_16_pi_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_16(); + uint res = OPER_AY_PI_16(cpu); uint ea = EA_AX_PI_16(); m68ki_write_16(ea, res); @@ -7188,9 +7188,9 @@ void m68k_op_move_16_pi_pi(void) } -void m68k_op_move_16_pi_pd(void) +void m68k_op_move_16_pi_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_16(); + uint res = OPER_AY_PD_16(cpu); uint ea = EA_AX_PI_16(); m68ki_write_16(ea, res); @@ -7202,9 +7202,9 @@ void m68k_op_move_16_pi_pd(void) } -void m68k_op_move_16_pi_di(void) +void m68k_op_move_16_pi_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_16(); + uint res = OPER_AY_DI_16(cpu); uint ea = EA_AX_PI_16(); m68ki_write_16(ea, res); @@ -7216,9 +7216,9 @@ void m68k_op_move_16_pi_di(void) } -void m68k_op_move_16_pi_ix(void) +void m68k_op_move_16_pi_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_16(); + uint res = OPER_AY_IX_16(cpu); uint ea = EA_AX_PI_16(); m68ki_write_16(ea, res); @@ -7230,9 +7230,9 @@ void m68k_op_move_16_pi_ix(void) } -void m68k_op_move_16_pi_aw(void) +void m68k_op_move_16_pi_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_16(); + uint res = OPER_AW_16(cpu); uint ea = EA_AX_PI_16(); m68ki_write_16(ea, res); @@ -7244,9 +7244,9 @@ void m68k_op_move_16_pi_aw(void) } -void m68k_op_move_16_pi_al(void) +void m68k_op_move_16_pi_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_16(); + uint res = OPER_AL_16(cpu); uint ea = EA_AX_PI_16(); m68ki_write_16(ea, res); @@ -7258,9 +7258,9 @@ void m68k_op_move_16_pi_al(void) } -void m68k_op_move_16_pi_pcdi(void) +void m68k_op_move_16_pi_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_16(); + uint res = OPER_PCDI_16(cpu); uint ea = EA_AX_PI_16(); m68ki_write_16(ea, res); @@ -7272,9 +7272,9 @@ void m68k_op_move_16_pi_pcdi(void) } -void m68k_op_move_16_pi_pcix(void) +void m68k_op_move_16_pi_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_16(); + uint res = OPER_PCIX_16(cpu); uint ea = EA_AX_PI_16(); m68ki_write_16(ea, res); @@ -7286,7 +7286,7 @@ void m68k_op_move_16_pi_pcix(void) } -void m68k_op_move_16_pi_i(void) +void m68k_op_move_16_pi_i(m68ki_cpu_core *cpu) { uint res = OPER_I_16(); uint ea = EA_AX_PI_16(); @@ -7300,7 +7300,7 @@ void m68k_op_move_16_pi_i(void) } -void m68k_op_move_16_pd_d(void) +void m68k_op_move_16_pd_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY); uint ea = EA_AX_PD_16(); @@ -7314,7 +7314,7 @@ void m68k_op_move_16_pd_d(void) } -void m68k_op_move_16_pd_a(void) +void m68k_op_move_16_pd_a(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(AY); uint ea = EA_AX_PD_16(); @@ -7328,9 +7328,9 @@ void m68k_op_move_16_pd_a(void) } -void m68k_op_move_16_pd_ai(void) +void m68k_op_move_16_pd_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_16(); + uint res = OPER_AY_AI_16(cpu); uint ea = EA_AX_PD_16(); m68ki_write_16(ea, res); @@ -7342,9 +7342,9 @@ void m68k_op_move_16_pd_ai(void) } -void m68k_op_move_16_pd_pi(void) +void m68k_op_move_16_pd_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_16(); + uint res = OPER_AY_PI_16(cpu); uint ea = EA_AX_PD_16(); m68ki_write_16(ea, res); @@ -7356,9 +7356,9 @@ void m68k_op_move_16_pd_pi(void) } -void m68k_op_move_16_pd_pd(void) +void m68k_op_move_16_pd_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_16(); + uint res = OPER_AY_PD_16(cpu); uint ea = EA_AX_PD_16(); m68ki_write_16(ea, res); @@ -7370,9 +7370,9 @@ void m68k_op_move_16_pd_pd(void) } -void m68k_op_move_16_pd_di(void) +void m68k_op_move_16_pd_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_16(); + uint res = OPER_AY_DI_16(cpu); uint ea = EA_AX_PD_16(); m68ki_write_16(ea, res); @@ -7384,9 +7384,9 @@ void m68k_op_move_16_pd_di(void) } -void m68k_op_move_16_pd_ix(void) +void m68k_op_move_16_pd_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_16(); + uint res = OPER_AY_IX_16(cpu); uint ea = EA_AX_PD_16(); m68ki_write_16(ea, res); @@ -7398,9 +7398,9 @@ void m68k_op_move_16_pd_ix(void) } -void m68k_op_move_16_pd_aw(void) +void m68k_op_move_16_pd_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_16(); + uint res = OPER_AW_16(cpu); uint ea = EA_AX_PD_16(); m68ki_write_16(ea, res); @@ -7412,9 +7412,9 @@ void m68k_op_move_16_pd_aw(void) } -void m68k_op_move_16_pd_al(void) +void m68k_op_move_16_pd_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_16(); + uint res = OPER_AL_16(cpu); uint ea = EA_AX_PD_16(); m68ki_write_16(ea, res); @@ -7426,9 +7426,9 @@ void m68k_op_move_16_pd_al(void) } -void m68k_op_move_16_pd_pcdi(void) +void m68k_op_move_16_pd_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_16(); + uint res = OPER_PCDI_16(cpu); uint ea = EA_AX_PD_16(); m68ki_write_16(ea, res); @@ -7440,9 +7440,9 @@ void m68k_op_move_16_pd_pcdi(void) } -void m68k_op_move_16_pd_pcix(void) +void m68k_op_move_16_pd_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_16(); + uint res = OPER_PCIX_16(cpu); uint ea = EA_AX_PD_16(); m68ki_write_16(ea, res); @@ -7454,7 +7454,7 @@ void m68k_op_move_16_pd_pcix(void) } -void m68k_op_move_16_pd_i(void) +void m68k_op_move_16_pd_i(m68ki_cpu_core *cpu) { uint res = OPER_I_16(); uint ea = EA_AX_PD_16(); @@ -7468,7 +7468,7 @@ void m68k_op_move_16_pd_i(void) } -void m68k_op_move_16_di_d(void) +void m68k_op_move_16_di_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY); uint ea = EA_AX_DI_16(); @@ -7482,7 +7482,7 @@ void m68k_op_move_16_di_d(void) } -void m68k_op_move_16_di_a(void) +void m68k_op_move_16_di_a(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(AY); uint ea = EA_AX_DI_16(); @@ -7496,9 +7496,9 @@ void m68k_op_move_16_di_a(void) } -void m68k_op_move_16_di_ai(void) +void m68k_op_move_16_di_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_16(); + uint res = OPER_AY_AI_16(cpu); uint ea = EA_AX_DI_16(); m68ki_write_16(ea, res); @@ -7510,9 +7510,9 @@ void m68k_op_move_16_di_ai(void) } -void m68k_op_move_16_di_pi(void) +void m68k_op_move_16_di_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_16(); + uint res = OPER_AY_PI_16(cpu); uint ea = EA_AX_DI_16(); m68ki_write_16(ea, res); @@ -7524,9 +7524,9 @@ void m68k_op_move_16_di_pi(void) } -void m68k_op_move_16_di_pd(void) +void m68k_op_move_16_di_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_16(); + uint res = OPER_AY_PD_16(cpu); uint ea = EA_AX_DI_16(); m68ki_write_16(ea, res); @@ -7538,9 +7538,9 @@ void m68k_op_move_16_di_pd(void) } -void m68k_op_move_16_di_di(void) +void m68k_op_move_16_di_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_16(); + uint res = OPER_AY_DI_16(cpu); uint ea = EA_AX_DI_16(); m68ki_write_16(ea, res); @@ -7552,9 +7552,9 @@ void m68k_op_move_16_di_di(void) } -void m68k_op_move_16_di_ix(void) +void m68k_op_move_16_di_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_16(); + uint res = OPER_AY_IX_16(cpu); uint ea = EA_AX_DI_16(); m68ki_write_16(ea, res); @@ -7566,9 +7566,9 @@ void m68k_op_move_16_di_ix(void) } -void m68k_op_move_16_di_aw(void) +void m68k_op_move_16_di_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_16(); + uint res = OPER_AW_16(cpu); uint ea = EA_AX_DI_16(); m68ki_write_16(ea, res); @@ -7580,9 +7580,9 @@ void m68k_op_move_16_di_aw(void) } -void m68k_op_move_16_di_al(void) +void m68k_op_move_16_di_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_16(); + uint res = OPER_AL_16(cpu); uint ea = EA_AX_DI_16(); m68ki_write_16(ea, res); @@ -7594,9 +7594,9 @@ void m68k_op_move_16_di_al(void) } -void m68k_op_move_16_di_pcdi(void) +void m68k_op_move_16_di_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_16(); + uint res = OPER_PCDI_16(cpu); uint ea = EA_AX_DI_16(); m68ki_write_16(ea, res); @@ -7608,9 +7608,9 @@ void m68k_op_move_16_di_pcdi(void) } -void m68k_op_move_16_di_pcix(void) +void m68k_op_move_16_di_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_16(); + uint res = OPER_PCIX_16(cpu); uint ea = EA_AX_DI_16(); m68ki_write_16(ea, res); @@ -7622,7 +7622,7 @@ void m68k_op_move_16_di_pcix(void) } -void m68k_op_move_16_di_i(void) +void m68k_op_move_16_di_i(m68ki_cpu_core *cpu) { uint res = OPER_I_16(); uint ea = EA_AX_DI_16(); @@ -7636,7 +7636,7 @@ void m68k_op_move_16_di_i(void) } -void m68k_op_move_16_ix_d(void) +void m68k_op_move_16_ix_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY); uint ea = EA_AX_IX_16(); @@ -7650,7 +7650,7 @@ void m68k_op_move_16_ix_d(void) } -void m68k_op_move_16_ix_a(void) +void m68k_op_move_16_ix_a(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(AY); uint ea = EA_AX_IX_16(); @@ -7664,9 +7664,9 @@ void m68k_op_move_16_ix_a(void) } -void m68k_op_move_16_ix_ai(void) +void m68k_op_move_16_ix_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_16(); + uint res = OPER_AY_AI_16(cpu); uint ea = EA_AX_IX_16(); m68ki_write_16(ea, res); @@ -7678,9 +7678,9 @@ void m68k_op_move_16_ix_ai(void) } -void m68k_op_move_16_ix_pi(void) +void m68k_op_move_16_ix_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_16(); + uint res = OPER_AY_PI_16(cpu); uint ea = EA_AX_IX_16(); m68ki_write_16(ea, res); @@ -7692,9 +7692,9 @@ void m68k_op_move_16_ix_pi(void) } -void m68k_op_move_16_ix_pd(void) +void m68k_op_move_16_ix_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_16(); + uint res = OPER_AY_PD_16(cpu); uint ea = EA_AX_IX_16(); m68ki_write_16(ea, res); @@ -7706,9 +7706,9 @@ void m68k_op_move_16_ix_pd(void) } -void m68k_op_move_16_ix_di(void) +void m68k_op_move_16_ix_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_16(); + uint res = OPER_AY_DI_16(cpu); uint ea = EA_AX_IX_16(); m68ki_write_16(ea, res); @@ -7720,9 +7720,9 @@ void m68k_op_move_16_ix_di(void) } -void m68k_op_move_16_ix_ix(void) +void m68k_op_move_16_ix_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_16(); + uint res = OPER_AY_IX_16(cpu); uint ea = EA_AX_IX_16(); m68ki_write_16(ea, res); @@ -7734,9 +7734,9 @@ void m68k_op_move_16_ix_ix(void) } -void m68k_op_move_16_ix_aw(void) +void m68k_op_move_16_ix_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_16(); + uint res = OPER_AW_16(cpu); uint ea = EA_AX_IX_16(); m68ki_write_16(ea, res); @@ -7748,9 +7748,9 @@ void m68k_op_move_16_ix_aw(void) } -void m68k_op_move_16_ix_al(void) +void m68k_op_move_16_ix_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_16(); + uint res = OPER_AL_16(cpu); uint ea = EA_AX_IX_16(); m68ki_write_16(ea, res); @@ -7762,9 +7762,9 @@ void m68k_op_move_16_ix_al(void) } -void m68k_op_move_16_ix_pcdi(void) +void m68k_op_move_16_ix_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_16(); + uint res = OPER_PCDI_16(cpu); uint ea = EA_AX_IX_16(); m68ki_write_16(ea, res); @@ -7776,9 +7776,9 @@ void m68k_op_move_16_ix_pcdi(void) } -void m68k_op_move_16_ix_pcix(void) +void m68k_op_move_16_ix_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_16(); + uint res = OPER_PCIX_16(cpu); uint ea = EA_AX_IX_16(); m68ki_write_16(ea, res); @@ -7790,7 +7790,7 @@ void m68k_op_move_16_ix_pcix(void) } -void m68k_op_move_16_ix_i(void) +void m68k_op_move_16_ix_i(m68ki_cpu_core *cpu) { uint res = OPER_I_16(); uint ea = EA_AX_IX_16(); @@ -7804,7 +7804,7 @@ void m68k_op_move_16_ix_i(void) } -void m68k_op_move_16_aw_d(void) +void m68k_op_move_16_aw_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY); uint ea = EA_AW_16(); @@ -7818,7 +7818,7 @@ void m68k_op_move_16_aw_d(void) } -void m68k_op_move_16_aw_a(void) +void m68k_op_move_16_aw_a(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(AY); uint ea = EA_AW_16(); @@ -7832,9 +7832,9 @@ void m68k_op_move_16_aw_a(void) } -void m68k_op_move_16_aw_ai(void) +void m68k_op_move_16_aw_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_16(); + uint res = OPER_AY_AI_16(cpu); uint ea = EA_AW_16(); m68ki_write_16(ea, res); @@ -7846,9 +7846,9 @@ void m68k_op_move_16_aw_ai(void) } -void m68k_op_move_16_aw_pi(void) +void m68k_op_move_16_aw_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_16(); + uint res = OPER_AY_PI_16(cpu); uint ea = EA_AW_16(); m68ki_write_16(ea, res); @@ -7860,9 +7860,9 @@ void m68k_op_move_16_aw_pi(void) } -void m68k_op_move_16_aw_pd(void) +void m68k_op_move_16_aw_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_16(); + uint res = OPER_AY_PD_16(cpu); uint ea = EA_AW_16(); m68ki_write_16(ea, res); @@ -7874,9 +7874,9 @@ void m68k_op_move_16_aw_pd(void) } -void m68k_op_move_16_aw_di(void) +void m68k_op_move_16_aw_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_16(); + uint res = OPER_AY_DI_16(cpu); uint ea = EA_AW_16(); m68ki_write_16(ea, res); @@ -7888,9 +7888,9 @@ void m68k_op_move_16_aw_di(void) } -void m68k_op_move_16_aw_ix(void) +void m68k_op_move_16_aw_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_16(); + uint res = OPER_AY_IX_16(cpu); uint ea = EA_AW_16(); m68ki_write_16(ea, res); @@ -7902,9 +7902,9 @@ void m68k_op_move_16_aw_ix(void) } -void m68k_op_move_16_aw_aw(void) +void m68k_op_move_16_aw_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_16(); + uint res = OPER_AW_16(cpu); uint ea = EA_AW_16(); m68ki_write_16(ea, res); @@ -7916,9 +7916,9 @@ void m68k_op_move_16_aw_aw(void) } -void m68k_op_move_16_aw_al(void) +void m68k_op_move_16_aw_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_16(); + uint res = OPER_AL_16(cpu); uint ea = EA_AW_16(); m68ki_write_16(ea, res); @@ -7930,9 +7930,9 @@ void m68k_op_move_16_aw_al(void) } -void m68k_op_move_16_aw_pcdi(void) +void m68k_op_move_16_aw_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_16(); + uint res = OPER_PCDI_16(cpu); uint ea = EA_AW_16(); m68ki_write_16(ea, res); @@ -7944,9 +7944,9 @@ void m68k_op_move_16_aw_pcdi(void) } -void m68k_op_move_16_aw_pcix(void) +void m68k_op_move_16_aw_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_16(); + uint res = OPER_PCIX_16(cpu); uint ea = EA_AW_16(); m68ki_write_16(ea, res); @@ -7958,7 +7958,7 @@ void m68k_op_move_16_aw_pcix(void) } -void m68k_op_move_16_aw_i(void) +void m68k_op_move_16_aw_i(m68ki_cpu_core *cpu) { uint res = OPER_I_16(); uint ea = EA_AW_16(); @@ -7972,7 +7972,7 @@ void m68k_op_move_16_aw_i(void) } -void m68k_op_move_16_al_d(void) +void m68k_op_move_16_al_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY); uint ea = EA_AL_16(); @@ -7986,7 +7986,7 @@ void m68k_op_move_16_al_d(void) } -void m68k_op_move_16_al_a(void) +void m68k_op_move_16_al_a(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(AY); uint ea = EA_AL_16(); @@ -8000,9 +8000,9 @@ void m68k_op_move_16_al_a(void) } -void m68k_op_move_16_al_ai(void) +void m68k_op_move_16_al_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_16(); + uint res = OPER_AY_AI_16(cpu); uint ea = EA_AL_16(); m68ki_write_16(ea, res); @@ -8014,9 +8014,9 @@ void m68k_op_move_16_al_ai(void) } -void m68k_op_move_16_al_pi(void) +void m68k_op_move_16_al_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_16(); + uint res = OPER_AY_PI_16(cpu); uint ea = EA_AL_16(); m68ki_write_16(ea, res); @@ -8028,9 +8028,9 @@ void m68k_op_move_16_al_pi(void) } -void m68k_op_move_16_al_pd(void) +void m68k_op_move_16_al_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_16(); + uint res = OPER_AY_PD_16(cpu); uint ea = EA_AL_16(); m68ki_write_16(ea, res); @@ -8042,9 +8042,9 @@ void m68k_op_move_16_al_pd(void) } -void m68k_op_move_16_al_di(void) +void m68k_op_move_16_al_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_16(); + uint res = OPER_AY_DI_16(cpu); uint ea = EA_AL_16(); m68ki_write_16(ea, res); @@ -8056,9 +8056,9 @@ void m68k_op_move_16_al_di(void) } -void m68k_op_move_16_al_ix(void) +void m68k_op_move_16_al_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_16(); + uint res = OPER_AY_IX_16(cpu); uint ea = EA_AL_16(); m68ki_write_16(ea, res); @@ -8070,9 +8070,9 @@ void m68k_op_move_16_al_ix(void) } -void m68k_op_move_16_al_aw(void) +void m68k_op_move_16_al_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_16(); + uint res = OPER_AW_16(cpu); uint ea = EA_AL_16(); m68ki_write_16(ea, res); @@ -8084,9 +8084,9 @@ void m68k_op_move_16_al_aw(void) } -void m68k_op_move_16_al_al(void) +void m68k_op_move_16_al_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_16(); + uint res = OPER_AL_16(cpu); uint ea = EA_AL_16(); m68ki_write_16(ea, res); @@ -8098,9 +8098,9 @@ void m68k_op_move_16_al_al(void) } -void m68k_op_move_16_al_pcdi(void) +void m68k_op_move_16_al_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_16(); + uint res = OPER_PCDI_16(cpu); uint ea = EA_AL_16(); m68ki_write_16(ea, res); @@ -8112,9 +8112,9 @@ void m68k_op_move_16_al_pcdi(void) } -void m68k_op_move_16_al_pcix(void) +void m68k_op_move_16_al_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_16(); + uint res = OPER_PCIX_16(cpu); uint ea = EA_AL_16(); m68ki_write_16(ea, res); @@ -8126,7 +8126,7 @@ void m68k_op_move_16_al_pcix(void) } -void m68k_op_move_16_al_i(void) +void m68k_op_move_16_al_i(m68ki_cpu_core *cpu) { uint res = OPER_I_16(); uint ea = EA_AL_16(); @@ -8140,7 +8140,7 @@ void m68k_op_move_16_al_i(void) } -void m68k_op_move_32_d_d(void) +void m68k_op_move_32_d_d(m68ki_cpu_core *cpu) { uint res = DY; uint* r_dst = &DX; @@ -8154,7 +8154,7 @@ void m68k_op_move_32_d_d(void) } -void m68k_op_move_32_d_a(void) +void m68k_op_move_32_d_a(m68ki_cpu_core *cpu) { uint res = AY; uint* r_dst = &DX; @@ -8168,9 +8168,9 @@ void m68k_op_move_32_d_a(void) } -void m68k_op_move_32_d_ai(void) +void m68k_op_move_32_d_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_32(); + uint res = OPER_AY_AI_32(cpu); uint* r_dst = &DX; *r_dst = res; @@ -8182,9 +8182,9 @@ void m68k_op_move_32_d_ai(void) } -void m68k_op_move_32_d_pi(void) +void m68k_op_move_32_d_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_32(); + uint res = OPER_AY_PI_32(cpu); uint* r_dst = &DX; *r_dst = res; @@ -8196,9 +8196,9 @@ void m68k_op_move_32_d_pi(void) } -void m68k_op_move_32_d_pd(void) +void m68k_op_move_32_d_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_32(); + uint res = OPER_AY_PD_32(cpu); uint* r_dst = &DX; *r_dst = res; @@ -8210,9 +8210,9 @@ void m68k_op_move_32_d_pd(void) } -void m68k_op_move_32_d_di(void) +void m68k_op_move_32_d_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_32(); + uint res = OPER_AY_DI_32(cpu); uint* r_dst = &DX; *r_dst = res; @@ -8224,9 +8224,9 @@ void m68k_op_move_32_d_di(void) } -void m68k_op_move_32_d_ix(void) +void m68k_op_move_32_d_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_32(); + uint res = OPER_AY_IX_32(cpu); uint* r_dst = &DX; *r_dst = res; @@ -8238,9 +8238,9 @@ void m68k_op_move_32_d_ix(void) } -void m68k_op_move_32_d_aw(void) +void m68k_op_move_32_d_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_32(); + uint res = OPER_AW_32(cpu); uint* r_dst = &DX; *r_dst = res; @@ -8252,9 +8252,9 @@ void m68k_op_move_32_d_aw(void) } -void m68k_op_move_32_d_al(void) +void m68k_op_move_32_d_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_32(); + uint res = OPER_AL_32(cpu); uint* r_dst = &DX; *r_dst = res; @@ -8266,9 +8266,9 @@ void m68k_op_move_32_d_al(void) } -void m68k_op_move_32_d_pcdi(void) +void m68k_op_move_32_d_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_32(); + uint res = OPER_PCDI_32(cpu); uint* r_dst = &DX; *r_dst = res; @@ -8280,9 +8280,9 @@ void m68k_op_move_32_d_pcdi(void) } -void m68k_op_move_32_d_pcix(void) +void m68k_op_move_32_d_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_32(); + uint res = OPER_PCIX_32(cpu); uint* r_dst = &DX; *r_dst = res; @@ -8294,7 +8294,7 @@ void m68k_op_move_32_d_pcix(void) } -void m68k_op_move_32_d_i(void) +void m68k_op_move_32_d_i(m68ki_cpu_core *cpu) { uint res = OPER_I_32(); uint* r_dst = &DX; @@ -8308,7 +8308,7 @@ void m68k_op_move_32_d_i(void) } -void m68k_op_move_32_ai_d(void) +void m68k_op_move_32_ai_d(m68ki_cpu_core *cpu) { uint res = DY; uint ea = EA_AX_AI_32(); @@ -8322,7 +8322,7 @@ void m68k_op_move_32_ai_d(void) } -void m68k_op_move_32_ai_a(void) +void m68k_op_move_32_ai_a(m68ki_cpu_core *cpu) { uint res = AY; uint ea = EA_AX_AI_32(); @@ -8336,9 +8336,9 @@ void m68k_op_move_32_ai_a(void) } -void m68k_op_move_32_ai_ai(void) +void m68k_op_move_32_ai_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_32(); + uint res = OPER_AY_AI_32(cpu); uint ea = EA_AX_AI_32(); m68ki_write_32(ea, res); @@ -8350,9 +8350,9 @@ void m68k_op_move_32_ai_ai(void) } -void m68k_op_move_32_ai_pi(void) +void m68k_op_move_32_ai_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_32(); + uint res = OPER_AY_PI_32(cpu); uint ea = EA_AX_AI_32(); m68ki_write_32(ea, res); @@ -8364,9 +8364,9 @@ void m68k_op_move_32_ai_pi(void) } -void m68k_op_move_32_ai_pd(void) +void m68k_op_move_32_ai_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_32(); + uint res = OPER_AY_PD_32(cpu); uint ea = EA_AX_AI_32(); m68ki_write_32(ea, res); @@ -8378,9 +8378,9 @@ void m68k_op_move_32_ai_pd(void) } -void m68k_op_move_32_ai_di(void) +void m68k_op_move_32_ai_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_32(); + uint res = OPER_AY_DI_32(cpu); uint ea = EA_AX_AI_32(); m68ki_write_32(ea, res); @@ -8392,9 +8392,9 @@ void m68k_op_move_32_ai_di(void) } -void m68k_op_move_32_ai_ix(void) +void m68k_op_move_32_ai_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_32(); + uint res = OPER_AY_IX_32(cpu); uint ea = EA_AX_AI_32(); m68ki_write_32(ea, res); @@ -8406,9 +8406,9 @@ void m68k_op_move_32_ai_ix(void) } -void m68k_op_move_32_ai_aw(void) +void m68k_op_move_32_ai_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_32(); + uint res = OPER_AW_32(cpu); uint ea = EA_AX_AI_32(); m68ki_write_32(ea, res); @@ -8420,9 +8420,9 @@ void m68k_op_move_32_ai_aw(void) } -void m68k_op_move_32_ai_al(void) +void m68k_op_move_32_ai_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_32(); + uint res = OPER_AL_32(cpu); uint ea = EA_AX_AI_32(); m68ki_write_32(ea, res); @@ -8434,9 +8434,9 @@ void m68k_op_move_32_ai_al(void) } -void m68k_op_move_32_ai_pcdi(void) +void m68k_op_move_32_ai_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_32(); + uint res = OPER_PCDI_32(cpu); uint ea = EA_AX_AI_32(); m68ki_write_32(ea, res); @@ -8448,9 +8448,9 @@ void m68k_op_move_32_ai_pcdi(void) } -void m68k_op_move_32_ai_pcix(void) +void m68k_op_move_32_ai_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_32(); + uint res = OPER_PCIX_32(cpu); uint ea = EA_AX_AI_32(); m68ki_write_32(ea, res); @@ -8462,7 +8462,7 @@ void m68k_op_move_32_ai_pcix(void) } -void m68k_op_move_32_ai_i(void) +void m68k_op_move_32_ai_i(m68ki_cpu_core *cpu) { uint res = OPER_I_32(); uint ea = EA_AX_AI_32(); @@ -8476,7 +8476,7 @@ void m68k_op_move_32_ai_i(void) } -void m68k_op_move_32_pi_d(void) +void m68k_op_move_32_pi_d(m68ki_cpu_core *cpu) { uint res = DY; uint ea = EA_AX_PI_32(); @@ -8490,7 +8490,7 @@ void m68k_op_move_32_pi_d(void) } -void m68k_op_move_32_pi_a(void) +void m68k_op_move_32_pi_a(m68ki_cpu_core *cpu) { uint res = AY; uint ea = EA_AX_PI_32(); @@ -8504,9 +8504,9 @@ void m68k_op_move_32_pi_a(void) } -void m68k_op_move_32_pi_ai(void) +void m68k_op_move_32_pi_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_32(); + uint res = OPER_AY_AI_32(cpu); uint ea = EA_AX_PI_32(); m68ki_write_32(ea, res); @@ -8518,9 +8518,9 @@ void m68k_op_move_32_pi_ai(void) } -void m68k_op_move_32_pi_pi(void) +void m68k_op_move_32_pi_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_32(); + uint res = OPER_AY_PI_32(cpu); uint ea = EA_AX_PI_32(); m68ki_write_32(ea, res); @@ -8532,9 +8532,9 @@ void m68k_op_move_32_pi_pi(void) } -void m68k_op_move_32_pi_pd(void) +void m68k_op_move_32_pi_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_32(); + uint res = OPER_AY_PD_32(cpu); uint ea = EA_AX_PI_32(); m68ki_write_32(ea, res); @@ -8546,9 +8546,9 @@ void m68k_op_move_32_pi_pd(void) } -void m68k_op_move_32_pi_di(void) +void m68k_op_move_32_pi_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_32(); + uint res = OPER_AY_DI_32(cpu); uint ea = EA_AX_PI_32(); m68ki_write_32(ea, res); @@ -8560,9 +8560,9 @@ void m68k_op_move_32_pi_di(void) } -void m68k_op_move_32_pi_ix(void) +void m68k_op_move_32_pi_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_32(); + uint res = OPER_AY_IX_32(cpu); uint ea = EA_AX_PI_32(); m68ki_write_32(ea, res); @@ -8574,9 +8574,9 @@ void m68k_op_move_32_pi_ix(void) } -void m68k_op_move_32_pi_aw(void) +void m68k_op_move_32_pi_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_32(); + uint res = OPER_AW_32(cpu); uint ea = EA_AX_PI_32(); m68ki_write_32(ea, res); @@ -8588,9 +8588,9 @@ void m68k_op_move_32_pi_aw(void) } -void m68k_op_move_32_pi_al(void) +void m68k_op_move_32_pi_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_32(); + uint res = OPER_AL_32(cpu); uint ea = EA_AX_PI_32(); m68ki_write_32(ea, res); @@ -8602,9 +8602,9 @@ void m68k_op_move_32_pi_al(void) } -void m68k_op_move_32_pi_pcdi(void) +void m68k_op_move_32_pi_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_32(); + uint res = OPER_PCDI_32(cpu); uint ea = EA_AX_PI_32(); m68ki_write_32(ea, res); @@ -8616,9 +8616,9 @@ void m68k_op_move_32_pi_pcdi(void) } -void m68k_op_move_32_pi_pcix(void) +void m68k_op_move_32_pi_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_32(); + uint res = OPER_PCIX_32(cpu); uint ea = EA_AX_PI_32(); m68ki_write_32(ea, res); @@ -8630,7 +8630,7 @@ void m68k_op_move_32_pi_pcix(void) } -void m68k_op_move_32_pi_i(void) +void m68k_op_move_32_pi_i(m68ki_cpu_core *cpu) { uint res = OPER_I_32(); uint ea = EA_AX_PI_32(); @@ -8644,7 +8644,7 @@ void m68k_op_move_32_pi_i(void) } -void m68k_op_move_32_pd_d(void) +void m68k_op_move_32_pd_d(m68ki_cpu_core *cpu) { uint res = DY; uint ea = EA_AX_PD_32(); @@ -8658,7 +8658,7 @@ void m68k_op_move_32_pd_d(void) } -void m68k_op_move_32_pd_a(void) +void m68k_op_move_32_pd_a(m68ki_cpu_core *cpu) { uint res = AY; uint ea = EA_AX_PD_32(); @@ -8672,9 +8672,9 @@ void m68k_op_move_32_pd_a(void) } -void m68k_op_move_32_pd_ai(void) +void m68k_op_move_32_pd_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_32(); + uint res = OPER_AY_AI_32(cpu); uint ea = EA_AX_PD_32(); m68ki_write_32(ea, res); @@ -8686,9 +8686,9 @@ void m68k_op_move_32_pd_ai(void) } -void m68k_op_move_32_pd_pi(void) +void m68k_op_move_32_pd_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_32(); + uint res = OPER_AY_PI_32(cpu); uint ea = EA_AX_PD_32(); m68ki_write_32(ea, res); @@ -8700,9 +8700,9 @@ void m68k_op_move_32_pd_pi(void) } -void m68k_op_move_32_pd_pd(void) +void m68k_op_move_32_pd_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_32(); + uint res = OPER_AY_PD_32(cpu); uint ea = EA_AX_PD_32(); m68ki_write_32(ea, res); @@ -8714,9 +8714,9 @@ void m68k_op_move_32_pd_pd(void) } -void m68k_op_move_32_pd_di(void) +void m68k_op_move_32_pd_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_32(); + uint res = OPER_AY_DI_32(cpu); uint ea = EA_AX_PD_32(); m68ki_write_32(ea, res); @@ -8728,9 +8728,9 @@ void m68k_op_move_32_pd_di(void) } -void m68k_op_move_32_pd_ix(void) +void m68k_op_move_32_pd_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_32(); + uint res = OPER_AY_IX_32(cpu); uint ea = EA_AX_PD_32(); m68ki_write_32(ea, res); @@ -8742,9 +8742,9 @@ void m68k_op_move_32_pd_ix(void) } -void m68k_op_move_32_pd_aw(void) +void m68k_op_move_32_pd_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_32(); + uint res = OPER_AW_32(cpu); uint ea = EA_AX_PD_32(); m68ki_write_32(ea, res); @@ -8756,9 +8756,9 @@ void m68k_op_move_32_pd_aw(void) } -void m68k_op_move_32_pd_al(void) +void m68k_op_move_32_pd_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_32(); + uint res = OPER_AL_32(cpu); uint ea = EA_AX_PD_32(); m68ki_write_32(ea, res); @@ -8770,9 +8770,9 @@ void m68k_op_move_32_pd_al(void) } -void m68k_op_move_32_pd_pcdi(void) +void m68k_op_move_32_pd_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_32(); + uint res = OPER_PCDI_32(cpu); uint ea = EA_AX_PD_32(); m68ki_write_32(ea, res); @@ -8784,9 +8784,9 @@ void m68k_op_move_32_pd_pcdi(void) } -void m68k_op_move_32_pd_pcix(void) +void m68k_op_move_32_pd_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_32(); + uint res = OPER_PCIX_32(cpu); uint ea = EA_AX_PD_32(); m68ki_write_32(ea, res); @@ -8798,7 +8798,7 @@ void m68k_op_move_32_pd_pcix(void) } -void m68k_op_move_32_pd_i(void) +void m68k_op_move_32_pd_i(m68ki_cpu_core *cpu) { uint res = OPER_I_32(); uint ea = EA_AX_PD_32(); @@ -8812,7 +8812,7 @@ void m68k_op_move_32_pd_i(void) } -void m68k_op_move_32_di_d(void) +void m68k_op_move_32_di_d(m68ki_cpu_core *cpu) { uint res = DY; uint ea = EA_AX_DI_32(); @@ -8826,7 +8826,7 @@ void m68k_op_move_32_di_d(void) } -void m68k_op_move_32_di_a(void) +void m68k_op_move_32_di_a(m68ki_cpu_core *cpu) { uint res = AY; uint ea = EA_AX_DI_32(); @@ -8840,9 +8840,9 @@ void m68k_op_move_32_di_a(void) } -void m68k_op_move_32_di_ai(void) +void m68k_op_move_32_di_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_32(); + uint res = OPER_AY_AI_32(cpu); uint ea = EA_AX_DI_32(); m68ki_write_32(ea, res); @@ -8854,9 +8854,9 @@ void m68k_op_move_32_di_ai(void) } -void m68k_op_move_32_di_pi(void) +void m68k_op_move_32_di_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_32(); + uint res = OPER_AY_PI_32(cpu); uint ea = EA_AX_DI_32(); m68ki_write_32(ea, res); @@ -8868,9 +8868,9 @@ void m68k_op_move_32_di_pi(void) } -void m68k_op_move_32_di_pd(void) +void m68k_op_move_32_di_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_32(); + uint res = OPER_AY_PD_32(cpu); uint ea = EA_AX_DI_32(); m68ki_write_32(ea, res); @@ -8882,9 +8882,9 @@ void m68k_op_move_32_di_pd(void) } -void m68k_op_move_32_di_di(void) +void m68k_op_move_32_di_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_32(); + uint res = OPER_AY_DI_32(cpu); uint ea = EA_AX_DI_32(); m68ki_write_32(ea, res); @@ -8896,9 +8896,9 @@ void m68k_op_move_32_di_di(void) } -void m68k_op_move_32_di_ix(void) +void m68k_op_move_32_di_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_32(); + uint res = OPER_AY_IX_32(cpu); uint ea = EA_AX_DI_32(); m68ki_write_32(ea, res); @@ -8910,9 +8910,9 @@ void m68k_op_move_32_di_ix(void) } -void m68k_op_move_32_di_aw(void) +void m68k_op_move_32_di_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_32(); + uint res = OPER_AW_32(cpu); uint ea = EA_AX_DI_32(); m68ki_write_32(ea, res); @@ -8924,9 +8924,9 @@ void m68k_op_move_32_di_aw(void) } -void m68k_op_move_32_di_al(void) +void m68k_op_move_32_di_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_32(); + uint res = OPER_AL_32(cpu); uint ea = EA_AX_DI_32(); m68ki_write_32(ea, res); @@ -8938,9 +8938,9 @@ void m68k_op_move_32_di_al(void) } -void m68k_op_move_32_di_pcdi(void) +void m68k_op_move_32_di_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_32(); + uint res = OPER_PCDI_32(cpu); uint ea = EA_AX_DI_32(); m68ki_write_32(ea, res); @@ -8952,9 +8952,9 @@ void m68k_op_move_32_di_pcdi(void) } -void m68k_op_move_32_di_pcix(void) +void m68k_op_move_32_di_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_32(); + uint res = OPER_PCIX_32(cpu); uint ea = EA_AX_DI_32(); m68ki_write_32(ea, res); @@ -8966,7 +8966,7 @@ void m68k_op_move_32_di_pcix(void) } -void m68k_op_move_32_di_i(void) +void m68k_op_move_32_di_i(m68ki_cpu_core *cpu) { uint res = OPER_I_32(); uint ea = EA_AX_DI_32(); @@ -8980,7 +8980,7 @@ void m68k_op_move_32_di_i(void) } -void m68k_op_move_32_ix_d(void) +void m68k_op_move_32_ix_d(m68ki_cpu_core *cpu) { uint res = DY; uint ea = EA_AX_IX_32(); @@ -8994,7 +8994,7 @@ void m68k_op_move_32_ix_d(void) } -void m68k_op_move_32_ix_a(void) +void m68k_op_move_32_ix_a(m68ki_cpu_core *cpu) { uint res = AY; uint ea = EA_AX_IX_32(); @@ -9008,9 +9008,9 @@ void m68k_op_move_32_ix_a(void) } -void m68k_op_move_32_ix_ai(void) +void m68k_op_move_32_ix_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_32(); + uint res = OPER_AY_AI_32(cpu); uint ea = EA_AX_IX_32(); m68ki_write_32(ea, res); @@ -9022,9 +9022,9 @@ void m68k_op_move_32_ix_ai(void) } -void m68k_op_move_32_ix_pi(void) +void m68k_op_move_32_ix_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_32(); + uint res = OPER_AY_PI_32(cpu); uint ea = EA_AX_IX_32(); m68ki_write_32(ea, res); @@ -9036,9 +9036,9 @@ void m68k_op_move_32_ix_pi(void) } -void m68k_op_move_32_ix_pd(void) +void m68k_op_move_32_ix_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_32(); + uint res = OPER_AY_PD_32(cpu); uint ea = EA_AX_IX_32(); m68ki_write_32(ea, res); @@ -9050,9 +9050,9 @@ void m68k_op_move_32_ix_pd(void) } -void m68k_op_move_32_ix_di(void) +void m68k_op_move_32_ix_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_32(); + uint res = OPER_AY_DI_32(cpu); uint ea = EA_AX_IX_32(); m68ki_write_32(ea, res); @@ -9064,9 +9064,9 @@ void m68k_op_move_32_ix_di(void) } -void m68k_op_move_32_ix_ix(void) +void m68k_op_move_32_ix_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_32(); + uint res = OPER_AY_IX_32(cpu); uint ea = EA_AX_IX_32(); m68ki_write_32(ea, res); @@ -9078,9 +9078,9 @@ void m68k_op_move_32_ix_ix(void) } -void m68k_op_move_32_ix_aw(void) +void m68k_op_move_32_ix_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_32(); + uint res = OPER_AW_32(cpu); uint ea = EA_AX_IX_32(); m68ki_write_32(ea, res); @@ -9092,9 +9092,9 @@ void m68k_op_move_32_ix_aw(void) } -void m68k_op_move_32_ix_al(void) +void m68k_op_move_32_ix_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_32(); + uint res = OPER_AL_32(cpu); uint ea = EA_AX_IX_32(); m68ki_write_32(ea, res); @@ -9106,9 +9106,9 @@ void m68k_op_move_32_ix_al(void) } -void m68k_op_move_32_ix_pcdi(void) +void m68k_op_move_32_ix_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_32(); + uint res = OPER_PCDI_32(cpu); uint ea = EA_AX_IX_32(); m68ki_write_32(ea, res); @@ -9120,9 +9120,9 @@ void m68k_op_move_32_ix_pcdi(void) } -void m68k_op_move_32_ix_pcix(void) +void m68k_op_move_32_ix_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_32(); + uint res = OPER_PCIX_32(cpu); uint ea = EA_AX_IX_32(); m68ki_write_32(ea, res); @@ -9134,7 +9134,7 @@ void m68k_op_move_32_ix_pcix(void) } -void m68k_op_move_32_ix_i(void) +void m68k_op_move_32_ix_i(m68ki_cpu_core *cpu) { uint res = OPER_I_32(); uint ea = EA_AX_IX_32(); @@ -9148,7 +9148,7 @@ void m68k_op_move_32_ix_i(void) } -void m68k_op_move_32_aw_d(void) +void m68k_op_move_32_aw_d(m68ki_cpu_core *cpu) { uint res = DY; uint ea = EA_AW_32(); @@ -9162,7 +9162,7 @@ void m68k_op_move_32_aw_d(void) } -void m68k_op_move_32_aw_a(void) +void m68k_op_move_32_aw_a(m68ki_cpu_core *cpu) { uint res = AY; uint ea = EA_AW_32(); @@ -9176,9 +9176,9 @@ void m68k_op_move_32_aw_a(void) } -void m68k_op_move_32_aw_ai(void) +void m68k_op_move_32_aw_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_32(); + uint res = OPER_AY_AI_32(cpu); uint ea = EA_AW_32(); m68ki_write_32(ea, res); @@ -9190,9 +9190,9 @@ void m68k_op_move_32_aw_ai(void) } -void m68k_op_move_32_aw_pi(void) +void m68k_op_move_32_aw_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_32(); + uint res = OPER_AY_PI_32(cpu); uint ea = EA_AW_32(); m68ki_write_32(ea, res); @@ -9204,9 +9204,9 @@ void m68k_op_move_32_aw_pi(void) } -void m68k_op_move_32_aw_pd(void) +void m68k_op_move_32_aw_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_32(); + uint res = OPER_AY_PD_32(cpu); uint ea = EA_AW_32(); m68ki_write_32(ea, res); @@ -9218,9 +9218,9 @@ void m68k_op_move_32_aw_pd(void) } -void m68k_op_move_32_aw_di(void) +void m68k_op_move_32_aw_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_32(); + uint res = OPER_AY_DI_32(cpu); uint ea = EA_AW_32(); m68ki_write_32(ea, res); @@ -9232,9 +9232,9 @@ void m68k_op_move_32_aw_di(void) } -void m68k_op_move_32_aw_ix(void) +void m68k_op_move_32_aw_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_32(); + uint res = OPER_AY_IX_32(cpu); uint ea = EA_AW_32(); m68ki_write_32(ea, res); @@ -9246,9 +9246,9 @@ void m68k_op_move_32_aw_ix(void) } -void m68k_op_move_32_aw_aw(void) +void m68k_op_move_32_aw_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_32(); + uint res = OPER_AW_32(cpu); uint ea = EA_AW_32(); m68ki_write_32(ea, res); @@ -9260,9 +9260,9 @@ void m68k_op_move_32_aw_aw(void) } -void m68k_op_move_32_aw_al(void) +void m68k_op_move_32_aw_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_32(); + uint res = OPER_AL_32(cpu); uint ea = EA_AW_32(); m68ki_write_32(ea, res); @@ -9274,9 +9274,9 @@ void m68k_op_move_32_aw_al(void) } -void m68k_op_move_32_aw_pcdi(void) +void m68k_op_move_32_aw_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_32(); + uint res = OPER_PCDI_32(cpu); uint ea = EA_AW_32(); m68ki_write_32(ea, res); @@ -9288,9 +9288,9 @@ void m68k_op_move_32_aw_pcdi(void) } -void m68k_op_move_32_aw_pcix(void) +void m68k_op_move_32_aw_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_32(); + uint res = OPER_PCIX_32(cpu); uint ea = EA_AW_32(); m68ki_write_32(ea, res); @@ -9302,7 +9302,7 @@ void m68k_op_move_32_aw_pcix(void) } -void m68k_op_move_32_aw_i(void) +void m68k_op_move_32_aw_i(m68ki_cpu_core *cpu) { uint res = OPER_I_32(); uint ea = EA_AW_32(); @@ -9316,7 +9316,7 @@ void m68k_op_move_32_aw_i(void) } -void m68k_op_move_32_al_d(void) +void m68k_op_move_32_al_d(m68ki_cpu_core *cpu) { uint res = DY; uint ea = EA_AL_32(); @@ -9330,7 +9330,7 @@ void m68k_op_move_32_al_d(void) } -void m68k_op_move_32_al_a(void) +void m68k_op_move_32_al_a(m68ki_cpu_core *cpu) { uint res = AY; uint ea = EA_AL_32(); @@ -9344,9 +9344,9 @@ void m68k_op_move_32_al_a(void) } -void m68k_op_move_32_al_ai(void) +void m68k_op_move_32_al_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_32(); + uint res = OPER_AY_AI_32(cpu); uint ea = EA_AL_32(); m68ki_write_32(ea, res); @@ -9358,9 +9358,9 @@ void m68k_op_move_32_al_ai(void) } -void m68k_op_move_32_al_pi(void) +void m68k_op_move_32_al_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_32(); + uint res = OPER_AY_PI_32(cpu); uint ea = EA_AL_32(); m68ki_write_32(ea, res); @@ -9372,9 +9372,9 @@ void m68k_op_move_32_al_pi(void) } -void m68k_op_move_32_al_pd(void) +void m68k_op_move_32_al_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_32(); + uint res = OPER_AY_PD_32(cpu); uint ea = EA_AL_32(); m68ki_write_32(ea, res); @@ -9386,9 +9386,9 @@ void m68k_op_move_32_al_pd(void) } -void m68k_op_move_32_al_di(void) +void m68k_op_move_32_al_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_32(); + uint res = OPER_AY_DI_32(cpu); uint ea = EA_AL_32(); m68ki_write_32(ea, res); @@ -9400,9 +9400,9 @@ void m68k_op_move_32_al_di(void) } -void m68k_op_move_32_al_ix(void) +void m68k_op_move_32_al_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_32(); + uint res = OPER_AY_IX_32(cpu); uint ea = EA_AL_32(); m68ki_write_32(ea, res); @@ -9414,9 +9414,9 @@ void m68k_op_move_32_al_ix(void) } -void m68k_op_move_32_al_aw(void) +void m68k_op_move_32_al_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_32(); + uint res = OPER_AW_32(cpu); uint ea = EA_AL_32(); m68ki_write_32(ea, res); @@ -9428,9 +9428,9 @@ void m68k_op_move_32_al_aw(void) } -void m68k_op_move_32_al_al(void) +void m68k_op_move_32_al_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_32(); + uint res = OPER_AL_32(cpu); uint ea = EA_AL_32(); m68ki_write_32(ea, res); @@ -9442,9 +9442,9 @@ void m68k_op_move_32_al_al(void) } -void m68k_op_move_32_al_pcdi(void) +void m68k_op_move_32_al_pcdi(m68ki_cpu_core *cpu) { - uint res = OPER_PCDI_32(); + uint res = OPER_PCDI_32(cpu); uint ea = EA_AL_32(); m68ki_write_32(ea, res); @@ -9456,9 +9456,9 @@ void m68k_op_move_32_al_pcdi(void) } -void m68k_op_move_32_al_pcix(void) +void m68k_op_move_32_al_pcix(m68ki_cpu_core *cpu) { - uint res = OPER_PCIX_32(); + uint res = OPER_PCIX_32(cpu); uint ea = EA_AL_32(); m68ki_write_32(ea, res); @@ -9470,7 +9470,7 @@ void m68k_op_move_32_al_pcix(void) } -void m68k_op_move_32_al_i(void) +void m68k_op_move_32_al_i(m68ki_cpu_core *cpu) { uint res = OPER_I_32(); uint ea = EA_AL_32(); @@ -9484,316 +9484,316 @@ void m68k_op_move_32_al_i(void) } -void m68k_op_movea_16_d(void) +void m68k_op_movea_16_d(m68ki_cpu_core *cpu) { AX = MAKE_INT_16(DY); } -void m68k_op_movea_16_a(void) +void m68k_op_movea_16_a(m68ki_cpu_core *cpu) { AX = MAKE_INT_16(AY); } -void m68k_op_movea_16_ai(void) +void m68k_op_movea_16_ai(m68ki_cpu_core *cpu) { - AX = MAKE_INT_16(OPER_AY_AI_16()); + AX = MAKE_INT_16(OPER_AY_AI_16(cpu)); } -void m68k_op_movea_16_pi(void) +void m68k_op_movea_16_pi(m68ki_cpu_core *cpu) { - AX = MAKE_INT_16(OPER_AY_PI_16()); + AX = MAKE_INT_16(OPER_AY_PI_16(cpu)); } -void m68k_op_movea_16_pd(void) +void m68k_op_movea_16_pd(m68ki_cpu_core *cpu) { - AX = MAKE_INT_16(OPER_AY_PD_16()); + AX = MAKE_INT_16(OPER_AY_PD_16(cpu)); } -void m68k_op_movea_16_di(void) +void m68k_op_movea_16_di(m68ki_cpu_core *cpu) { - AX = MAKE_INT_16(OPER_AY_DI_16()); + AX = MAKE_INT_16(OPER_AY_DI_16(cpu)); } -void m68k_op_movea_16_ix(void) +void m68k_op_movea_16_ix(m68ki_cpu_core *cpu) { - AX = MAKE_INT_16(OPER_AY_IX_16()); + AX = MAKE_INT_16(OPER_AY_IX_16(cpu)); } -void m68k_op_movea_16_aw(void) +void m68k_op_movea_16_aw(m68ki_cpu_core *cpu) { - AX = MAKE_INT_16(OPER_AW_16()); + AX = MAKE_INT_16(OPER_AW_16(cpu)); } -void m68k_op_movea_16_al(void) +void m68k_op_movea_16_al(m68ki_cpu_core *cpu) { - AX = MAKE_INT_16(OPER_AL_16()); + AX = MAKE_INT_16(OPER_AL_16(cpu)); } -void m68k_op_movea_16_pcdi(void) +void m68k_op_movea_16_pcdi(m68ki_cpu_core *cpu) { - AX = MAKE_INT_16(OPER_PCDI_16()); + AX = MAKE_INT_16(OPER_PCDI_16(cpu)); } -void m68k_op_movea_16_pcix(void) +void m68k_op_movea_16_pcix(m68ki_cpu_core *cpu) { - AX = MAKE_INT_16(OPER_PCIX_16()); + AX = MAKE_INT_16(OPER_PCIX_16(cpu)); } -void m68k_op_movea_16_i(void) +void m68k_op_movea_16_i(m68ki_cpu_core *cpu) { AX = MAKE_INT_16(OPER_I_16()); } -void m68k_op_movea_32_d(void) +void m68k_op_movea_32_d(m68ki_cpu_core *cpu) { AX = DY; } -void m68k_op_movea_32_a(void) +void m68k_op_movea_32_a(m68ki_cpu_core *cpu) { AX = AY; } -void m68k_op_movea_32_ai(void) +void m68k_op_movea_32_ai(m68ki_cpu_core *cpu) { - AX = OPER_AY_AI_32(); + AX = OPER_AY_AI_32(cpu); } -void m68k_op_movea_32_pi(void) +void m68k_op_movea_32_pi(m68ki_cpu_core *cpu) { - AX = OPER_AY_PI_32(); + AX = OPER_AY_PI_32(cpu); } -void m68k_op_movea_32_pd(void) +void m68k_op_movea_32_pd(m68ki_cpu_core *cpu) { - AX = OPER_AY_PD_32(); + AX = OPER_AY_PD_32(cpu); } -void m68k_op_movea_32_di(void) +void m68k_op_movea_32_di(m68ki_cpu_core *cpu) { - AX = OPER_AY_DI_32(); + AX = OPER_AY_DI_32(cpu); } -void m68k_op_movea_32_ix(void) +void m68k_op_movea_32_ix(m68ki_cpu_core *cpu) { - AX = OPER_AY_IX_32(); + AX = OPER_AY_IX_32(cpu); } -void m68k_op_movea_32_aw(void) +void m68k_op_movea_32_aw(m68ki_cpu_core *cpu) { - AX = OPER_AW_32(); + AX = OPER_AW_32(cpu); } -void m68k_op_movea_32_al(void) +void m68k_op_movea_32_al(m68ki_cpu_core *cpu) { - AX = OPER_AL_32(); + AX = OPER_AL_32(cpu); } -void m68k_op_movea_32_pcdi(void) +void m68k_op_movea_32_pcdi(m68ki_cpu_core *cpu) { - AX = OPER_PCDI_32(); + AX = OPER_PCDI_32(cpu); } -void m68k_op_movea_32_pcix(void) +void m68k_op_movea_32_pcix(m68ki_cpu_core *cpu) { - AX = OPER_PCIX_32(); + AX = OPER_PCIX_32(cpu); } -void m68k_op_movea_32_i(void) +void m68k_op_movea_32_i(m68ki_cpu_core *cpu) { AX = OPER_I_32(); } -void m68k_op_move_16_frc_d(void) +void m68k_op_move_16_frc_d(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { DY = MASK_OUT_BELOW_16(DY) | m68ki_get_ccr(); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_move_16_frc_ai(void) +void m68k_op_move_16_frc_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { m68ki_write_16(EA_AY_AI_16(), m68ki_get_ccr()); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_move_16_frc_pi(void) +void m68k_op_move_16_frc_pi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { m68ki_write_16(EA_AY_PI_16(), m68ki_get_ccr()); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_move_16_frc_pd(void) +void m68k_op_move_16_frc_pd(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { m68ki_write_16(EA_AY_PD_16(), m68ki_get_ccr()); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_move_16_frc_di(void) +void m68k_op_move_16_frc_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { m68ki_write_16(EA_AY_DI_16(), m68ki_get_ccr()); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_move_16_frc_ix(void) +void m68k_op_move_16_frc_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { m68ki_write_16(EA_AY_IX_16(), m68ki_get_ccr()); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_move_16_frc_aw(void) +void m68k_op_move_16_frc_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { m68ki_write_16(EA_AW_16(), m68ki_get_ccr()); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_move_16_frc_al(void) +void m68k_op_move_16_frc_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { m68ki_write_16(EA_AL_16(), m68ki_get_ccr()); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_move_16_toc_d(void) +void m68k_op_move_16_toc_d(m68ki_cpu_core *cpu) { - m68ki_set_ccr(DY); + m68ki_set_ccr(cpu, DY); } -void m68k_op_move_16_toc_ai(void) +void m68k_op_move_16_toc_ai(m68ki_cpu_core *cpu) { - m68ki_set_ccr(OPER_AY_AI_16()); + m68ki_set_ccr(cpu, OPER_AY_AI_16(cpu)); } -void m68k_op_move_16_toc_pi(void) +void m68k_op_move_16_toc_pi(m68ki_cpu_core *cpu) { - m68ki_set_ccr(OPER_AY_PI_16()); + m68ki_set_ccr(cpu, OPER_AY_PI_16(cpu)); } -void m68k_op_move_16_toc_pd(void) +void m68k_op_move_16_toc_pd(m68ki_cpu_core *cpu) { - m68ki_set_ccr(OPER_AY_PD_16()); + m68ki_set_ccr(cpu, OPER_AY_PD_16(cpu)); } -void m68k_op_move_16_toc_di(void) +void m68k_op_move_16_toc_di(m68ki_cpu_core *cpu) { - m68ki_set_ccr(OPER_AY_DI_16()); + m68ki_set_ccr(cpu, OPER_AY_DI_16(cpu)); } -void m68k_op_move_16_toc_ix(void) +void m68k_op_move_16_toc_ix(m68ki_cpu_core *cpu) { - m68ki_set_ccr(OPER_AY_IX_16()); + m68ki_set_ccr(cpu, OPER_AY_IX_16(cpu)); } -void m68k_op_move_16_toc_aw(void) +void m68k_op_move_16_toc_aw(m68ki_cpu_core *cpu) { - m68ki_set_ccr(OPER_AW_16()); + m68ki_set_ccr(cpu, OPER_AW_16(cpu)); } -void m68k_op_move_16_toc_al(void) +void m68k_op_move_16_toc_al(m68ki_cpu_core *cpu) { - m68ki_set_ccr(OPER_AL_16()); + m68ki_set_ccr(cpu, OPER_AL_16(cpu)); } -void m68k_op_move_16_toc_pcdi(void) +void m68k_op_move_16_toc_pcdi(m68ki_cpu_core *cpu) { - m68ki_set_ccr(OPER_PCDI_16()); + m68ki_set_ccr(cpu, OPER_PCDI_16(cpu)); } -void m68k_op_move_16_toc_pcix(void) +void m68k_op_move_16_toc_pcix(m68ki_cpu_core *cpu) { - m68ki_set_ccr(OPER_PCIX_16()); + m68ki_set_ccr(cpu, OPER_PCIX_16(cpu)); } -void m68k_op_move_16_toc_i(void) +void m68k_op_move_16_toc_i(m68ki_cpu_core *cpu) { - m68ki_set_ccr(OPER_I_16()); + m68ki_set_ccr(cpu, OPER_I_16()); } -void m68k_op_move_16_frs_d(void) +void m68k_op_move_16_frs_d(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */ { DY = MASK_OUT_BELOW_16(DY) | m68ki_get_sr(); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_frs_ai(void) +void m68k_op_move_16_frs_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */ { @@ -9801,11 +9801,11 @@ void m68k_op_move_16_frs_ai(void) m68ki_write_16(ea, m68ki_get_sr()); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_frs_pi(void) +void m68k_op_move_16_frs_pi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */ { @@ -9813,11 +9813,11 @@ void m68k_op_move_16_frs_pi(void) m68ki_write_16(ea, m68ki_get_sr()); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_frs_pd(void) +void m68k_op_move_16_frs_pd(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */ { @@ -9825,11 +9825,11 @@ void m68k_op_move_16_frs_pd(void) m68ki_write_16(ea, m68ki_get_sr()); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_frs_di(void) +void m68k_op_move_16_frs_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */ { @@ -9837,11 +9837,11 @@ void m68k_op_move_16_frs_di(void) m68ki_write_16(ea, m68ki_get_sr()); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_frs_ix(void) +void m68k_op_move_16_frs_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */ { @@ -9849,11 +9849,11 @@ void m68k_op_move_16_frs_ix(void) m68ki_write_16(ea, m68ki_get_sr()); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_frs_aw(void) +void m68k_op_move_16_frs_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */ { @@ -9861,11 +9861,11 @@ void m68k_op_move_16_frs_aw(void) m68ki_write_16(ea, m68ki_get_sr()); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_frs_al(void) +void m68k_op_move_16_frs_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_000(CPU_TYPE) || FLAG_S) /* NS990408 */ { @@ -9873,163 +9873,163 @@ void m68k_op_move_16_frs_al(void) m68ki_write_16(ea, m68ki_get_sr()); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_tos_d(void) +void m68k_op_move_16_tos_d(m68ki_cpu_core *cpu) { if(FLAG_S) { - m68ki_set_sr(DY); + m68ki_set_sr(cpu, DY); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_tos_ai(void) +void m68k_op_move_16_tos_ai(m68ki_cpu_core *cpu) { if(FLAG_S) { - uint new_sr = OPER_AY_AI_16(); + uint new_sr = OPER_AY_AI_16(cpu); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(new_sr); + m68ki_set_sr(cpu, new_sr); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_tos_pi(void) +void m68k_op_move_16_tos_pi(m68ki_cpu_core *cpu) { if(FLAG_S) { - uint new_sr = OPER_AY_PI_16(); + uint new_sr = OPER_AY_PI_16(cpu); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(new_sr); + m68ki_set_sr(cpu, new_sr); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_tos_pd(void) +void m68k_op_move_16_tos_pd(m68ki_cpu_core *cpu) { if(FLAG_S) { - uint new_sr = OPER_AY_PD_16(); + uint new_sr = OPER_AY_PD_16(cpu); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(new_sr); + m68ki_set_sr(cpu, new_sr); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_tos_di(void) +void m68k_op_move_16_tos_di(m68ki_cpu_core *cpu) { if(FLAG_S) { - uint new_sr = OPER_AY_DI_16(); + uint new_sr = OPER_AY_DI_16(cpu); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(new_sr); + m68ki_set_sr(cpu, new_sr); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_tos_ix(void) +void m68k_op_move_16_tos_ix(m68ki_cpu_core *cpu) { if(FLAG_S) { - uint new_sr = OPER_AY_IX_16(); + uint new_sr = OPER_AY_IX_16(cpu); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(new_sr); + m68ki_set_sr(cpu, new_sr); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_tos_aw(void) +void m68k_op_move_16_tos_aw(m68ki_cpu_core *cpu) { if(FLAG_S) { - uint new_sr = OPER_AW_16(); + uint new_sr = OPER_AW_16(cpu); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(new_sr); + m68ki_set_sr(cpu, new_sr); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_tos_al(void) +void m68k_op_move_16_tos_al(m68ki_cpu_core *cpu) { if(FLAG_S) { - uint new_sr = OPER_AL_16(); + uint new_sr = OPER_AL_16(cpu); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(new_sr); + m68ki_set_sr(cpu, new_sr); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_tos_pcdi(void) +void m68k_op_move_16_tos_pcdi(m68ki_cpu_core *cpu) { if(FLAG_S) { - uint new_sr = OPER_PCDI_16(); + uint new_sr = OPER_PCDI_16(cpu); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(new_sr); + m68ki_set_sr(cpu, new_sr); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_tos_pcix(void) +void m68k_op_move_16_tos_pcix(m68ki_cpu_core *cpu) { if(FLAG_S) { - uint new_sr = OPER_PCIX_16(); + uint new_sr = OPER_PCIX_16(cpu); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(new_sr); + m68ki_set_sr(cpu, new_sr); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_16_tos_i(void) +void m68k_op_move_16_tos_i(m68ki_cpu_core *cpu) { if(FLAG_S) { uint new_sr = OPER_I_16(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(new_sr); + m68ki_set_sr(cpu, new_sr); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_32_fru(void) +void m68k_op_move_32_fru(m68ki_cpu_core *cpu) { if(FLAG_S) { AY = REG_USP; return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_move_32_tou(void) +void m68k_op_move_32_tou(m68ki_cpu_core *cpu) { if(FLAG_S) { @@ -10037,11 +10037,11 @@ void m68k_op_move_32_tou(void) REG_USP = AY; return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_movec_32_cr(void) +void m68k_op_movec_32_cr(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -10077,7 +10077,7 @@ void m68k_op_movec_32_cr(void) REG_DA[(word2 >> 12) & 15] = REG_CAAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); break; case 0x803: /* MSP */ if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) @@ -10085,7 +10085,7 @@ void m68k_op_movec_32_cr(void) REG_DA[(word2 >> 12) & 15] = FLAG_M ? REG_SP : REG_MSP; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); return; case 0x804: /* ISP */ if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) @@ -10093,21 +10093,21 @@ void m68k_op_movec_32_cr(void) REG_DA[(word2 >> 12) & 15] = FLAG_M ? REG_ISP : REG_SP; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); return; default: - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); return; } } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_movec_32_rc(void) +void m68k_op_movec_32_rc(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -10130,7 +10130,7 @@ void m68k_op_movec_32_rc(void) REG_CACR = REG_DA[(word2 >> 12) & 15]; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); return; case 0x800: /* USP */ REG_USP = REG_DA[(word2 >> 12) & 15]; @@ -10144,7 +10144,7 @@ void m68k_op_movec_32_rc(void) REG_CAAR = REG_DA[(word2 >> 12) & 15]; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); return; case 0x803: /* MSP */ if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) @@ -10158,7 +10158,7 @@ void m68k_op_movec_32_rc(void) REG_SP = REG_DA[(word2 >> 12) & 15]; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); return; case 0x804: /* ISP */ if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) @@ -10171,21 +10171,21 @@ void m68k_op_movec_32_rc(void) REG_ISP = REG_DA[(word2 >> 12) & 15]; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); return; default: - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); return; } } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_movem_16_re_pd(void) +void m68k_op_movem_16_re_pd(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10205,7 +10205,7 @@ void m68k_op_movem_16_re_pd(void) } -void m68k_op_movem_16_re_ai(void) +void m68k_op_movem_16_re_ai(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10224,7 +10224,7 @@ void m68k_op_movem_16_re_ai(void) } -void m68k_op_movem_16_re_di(void) +void m68k_op_movem_16_re_di(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10243,7 +10243,7 @@ void m68k_op_movem_16_re_di(void) } -void m68k_op_movem_16_re_ix(void) +void m68k_op_movem_16_re_ix(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10262,7 +10262,7 @@ void m68k_op_movem_16_re_ix(void) } -void m68k_op_movem_16_re_aw(void) +void m68k_op_movem_16_re_aw(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10281,7 +10281,7 @@ void m68k_op_movem_16_re_aw(void) } -void m68k_op_movem_16_re_al(void) +void m68k_op_movem_16_re_al(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10300,7 +10300,7 @@ void m68k_op_movem_16_re_al(void) } -void m68k_op_movem_32_re_pd(void) +void m68k_op_movem_32_re_pd(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10320,7 +10320,7 @@ void m68k_op_movem_32_re_pd(void) } -void m68k_op_movem_32_re_ai(void) +void m68k_op_movem_32_re_ai(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10339,7 +10339,7 @@ void m68k_op_movem_32_re_ai(void) } -void m68k_op_movem_32_re_di(void) +void m68k_op_movem_32_re_di(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10358,7 +10358,7 @@ void m68k_op_movem_32_re_di(void) } -void m68k_op_movem_32_re_ix(void) +void m68k_op_movem_32_re_ix(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10377,7 +10377,7 @@ void m68k_op_movem_32_re_ix(void) } -void m68k_op_movem_32_re_aw(void) +void m68k_op_movem_32_re_aw(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10396,7 +10396,7 @@ void m68k_op_movem_32_re_aw(void) } -void m68k_op_movem_32_re_al(void) +void m68k_op_movem_32_re_al(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10415,7 +10415,7 @@ void m68k_op_movem_32_re_al(void) } -void m68k_op_movem_16_er_pi(void) +void m68k_op_movem_16_er_pi(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10435,7 +10435,7 @@ void m68k_op_movem_16_er_pi(void) } -void m68k_op_movem_16_er_pcdi(void) +void m68k_op_movem_16_er_pcdi(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10454,7 +10454,7 @@ void m68k_op_movem_16_er_pcdi(void) } -void m68k_op_movem_16_er_pcix(void) +void m68k_op_movem_16_er_pcix(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10473,7 +10473,7 @@ void m68k_op_movem_16_er_pcix(void) } -void m68k_op_movem_16_er_ai(void) +void m68k_op_movem_16_er_ai(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10492,7 +10492,7 @@ void m68k_op_movem_16_er_ai(void) } -void m68k_op_movem_16_er_di(void) +void m68k_op_movem_16_er_di(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10511,7 +10511,7 @@ void m68k_op_movem_16_er_di(void) } -void m68k_op_movem_16_er_ix(void) +void m68k_op_movem_16_er_ix(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10530,7 +10530,7 @@ void m68k_op_movem_16_er_ix(void) } -void m68k_op_movem_16_er_aw(void) +void m68k_op_movem_16_er_aw(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10549,7 +10549,7 @@ void m68k_op_movem_16_er_aw(void) } -void m68k_op_movem_16_er_al(void) +void m68k_op_movem_16_er_al(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10568,7 +10568,7 @@ void m68k_op_movem_16_er_al(void) } -void m68k_op_movem_32_er_pi(void) +void m68k_op_movem_32_er_pi(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10588,7 +10588,7 @@ void m68k_op_movem_32_er_pi(void) } -void m68k_op_movem_32_er_pcdi(void) +void m68k_op_movem_32_er_pcdi(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10607,7 +10607,7 @@ void m68k_op_movem_32_er_pcdi(void) } -void m68k_op_movem_32_er_pcix(void) +void m68k_op_movem_32_er_pcix(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10626,7 +10626,7 @@ void m68k_op_movem_32_er_pcix(void) } -void m68k_op_movem_32_er_ai(void) +void m68k_op_movem_32_er_ai(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10645,7 +10645,7 @@ void m68k_op_movem_32_er_ai(void) } -void m68k_op_movem_32_er_di(void) +void m68k_op_movem_32_er_di(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10664,7 +10664,7 @@ void m68k_op_movem_32_er_di(void) } -void m68k_op_movem_32_er_ix(void) +void m68k_op_movem_32_er_ix(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10683,7 +10683,7 @@ void m68k_op_movem_32_er_ix(void) } -void m68k_op_movem_32_er_aw(void) +void m68k_op_movem_32_er_aw(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10702,7 +10702,7 @@ void m68k_op_movem_32_er_aw(void) } -void m68k_op_movem_32_er_al(void) +void m68k_op_movem_32_er_al(m68ki_cpu_core *cpu) { uint i = 0; uint register_list = OPER_I_16(); @@ -10721,7 +10721,7 @@ void m68k_op_movem_32_er_al(void) } -void m68k_op_movep_16_re(void) +void m68k_op_movep_16_re(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = DX; @@ -10731,7 +10731,7 @@ void m68k_op_movep_16_re(void) } -void m68k_op_movep_32_re(void) +void m68k_op_movep_32_re(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); uint src = DX; @@ -10743,7 +10743,7 @@ void m68k_op_movep_32_re(void) } -void m68k_op_movep_16_er(void) +void m68k_op_movep_16_er(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint* r_dst = &DX; @@ -10752,7 +10752,7 @@ void m68k_op_movep_16_er(void) } -void m68k_op_movep_32_er(void) +void m68k_op_movep_32_er(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); @@ -10761,7 +10761,7 @@ void m68k_op_movep_32_er(void) } -void m68k_op_moves_8_ai(void) +void m68k_op_moves_8_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -10773,30 +10773,30 @@ void m68k_op_moves_8_ai(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_8_fc(ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); + m68ki_write_8_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_8_pi(void) +void m68k_op_moves_8_pi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -10808,30 +10808,30 @@ void m68k_op_moves_8_pi(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_8_fc(ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); + m68ki_write_8_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_8_pi7(void) +void m68k_op_moves_8_pi7(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -10843,30 +10843,30 @@ void m68k_op_moves_8_pi7(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_8_fc(ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); + m68ki_write_8_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_8_pd(void) +void m68k_op_moves_8_pd(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -10878,30 +10878,30 @@ void m68k_op_moves_8_pd(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_8_fc(ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); + m68ki_write_8_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_8_pd7(void) +void m68k_op_moves_8_pd7(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -10913,30 +10913,30 @@ void m68k_op_moves_8_pd7(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_8_fc(ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); + m68ki_write_8_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_8_di(void) +void m68k_op_moves_8_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -10948,30 +10948,30 @@ void m68k_op_moves_8_di(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_8_fc(ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); + m68ki_write_8_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_8_ix(void) +void m68k_op_moves_8_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -10983,30 +10983,30 @@ void m68k_op_moves_8_ix(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_8_fc(ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); + m68ki_write_8_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_8_aw(void) +void m68k_op_moves_8_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11018,30 +11018,30 @@ void m68k_op_moves_8_aw(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_8_fc(ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); + m68ki_write_8_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_8_al(void) +void m68k_op_moves_8_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11053,30 +11053,30 @@ void m68k_op_moves_8_al(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_8_fc(ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); + m68ki_write_8_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_8(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_8(m68ki_read_8_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_8(REG_D[(word2 >> 12) & 7]) | m68ki_read_8_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_16_ai(void) +void m68k_op_moves_16_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11088,30 +11088,30 @@ void m68k_op_moves_16_ai(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_16_fc(ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); + m68ki_write_16_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_16_pi(void) +void m68k_op_moves_16_pi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11123,30 +11123,30 @@ void m68k_op_moves_16_pi(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_16_fc(ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); + m68ki_write_16_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_16_pd(void) +void m68k_op_moves_16_pd(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11158,30 +11158,30 @@ void m68k_op_moves_16_pd(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_16_fc(ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); + m68ki_write_16_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_16_di(void) +void m68k_op_moves_16_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11193,30 +11193,30 @@ void m68k_op_moves_16_di(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_16_fc(ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); + m68ki_write_16_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_16_ix(void) +void m68k_op_moves_16_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11228,30 +11228,30 @@ void m68k_op_moves_16_ix(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_16_fc(ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); + m68ki_write_16_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_16_aw(void) +void m68k_op_moves_16_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11263,30 +11263,30 @@ void m68k_op_moves_16_aw(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_16_fc(ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); + m68ki_write_16_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_16_al(void) +void m68k_op_moves_16_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11298,30 +11298,30 @@ void m68k_op_moves_16_al(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_16_fc(ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); + m68ki_write_16_fc(cpu, ea, REG_DFC, MASK_OUT_ABOVE_16(REG_DA[(word2 >> 12) & 15])); return; } if(BIT_F(word2)) /* Memory to address register */ { - REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(ea, REG_SFC)); + REG_A[(word2 >> 12) & 7] = MAKE_INT_16(m68ki_read_16_fc(cpu, ea, REG_SFC)); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to data register */ - REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(ea, REG_SFC); + REG_D[(word2 >> 12) & 7] = MASK_OUT_BELOW_16(REG_D[(word2 >> 12) & 7]) | m68ki_read_16_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_32_ai(void) +void m68k_op_moves_32_ai(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11333,25 +11333,25 @@ void m68k_op_moves_32_ai(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_32_fc(ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); + m68ki_write_32_fc(cpu, ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to register */ - REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(ea, REG_SFC); + REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_32_pi(void) +void m68k_op_moves_32_pi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11363,25 +11363,25 @@ void m68k_op_moves_32_pi(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_32_fc(ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); + m68ki_write_32_fc(cpu, ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to register */ - REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(ea, REG_SFC); + REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_32_pd(void) +void m68k_op_moves_32_pd(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11393,25 +11393,25 @@ void m68k_op_moves_32_pd(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_32_fc(ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); + m68ki_write_32_fc(cpu, ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to register */ - REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(ea, REG_SFC); + REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_32_di(void) +void m68k_op_moves_32_di(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11423,25 +11423,25 @@ void m68k_op_moves_32_di(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_32_fc(ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); + m68ki_write_32_fc(cpu, ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to register */ - REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(ea, REG_SFC); + REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_32_ix(void) +void m68k_op_moves_32_ix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11453,25 +11453,25 @@ void m68k_op_moves_32_ix(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_32_fc(ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); + m68ki_write_32_fc(cpu, ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to register */ - REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(ea, REG_SFC); + REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_32_aw(void) +void m68k_op_moves_32_aw(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11483,25 +11483,25 @@ void m68k_op_moves_32_aw(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_32_fc(ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); + m68ki_write_32_fc(cpu, ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to register */ - REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(ea, REG_SFC); + REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moves_32_al(void) +void m68k_op_moves_32_al(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { @@ -11513,25 +11513,25 @@ void m68k_op_moves_32_al(void) m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ if(BIT_B(word2)) /* Register to memory */ { - m68ki_write_32_fc(ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); + m68ki_write_32_fc(cpu, ea, REG_DFC, REG_DA[(word2 >> 12) & 15]); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } /* Memory to register */ - REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(ea, REG_SFC); + REG_DA[(word2 >> 12) & 15] = m68ki_read_32_fc(cpu, ea, REG_SFC); if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) USE_CYCLES(2); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_moveq_32(void) +void m68k_op_moveq_32(m68ki_cpu_core *cpu) { uint res = DX = MAKE_INT_8(MASK_OUT_ABOVE_8(REG_IR)); @@ -11542,7 +11542,7 @@ void m68k_op_moveq_32(void) } -void m68k_op_muls_16_d(void) +void m68k_op_muls_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(DY) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); @@ -11556,10 +11556,10 @@ void m68k_op_muls_16_d(void) } -void m68k_op_muls_16_ai(void) +void m68k_op_muls_16_ai(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AY_AI_16()) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); + uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AY_AI_16(cpu)) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); *r_dst = res; @@ -11570,10 +11570,10 @@ void m68k_op_muls_16_ai(void) } -void m68k_op_muls_16_pi(void) +void m68k_op_muls_16_pi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AY_PI_16()) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); + uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AY_PI_16(cpu)) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); *r_dst = res; @@ -11584,10 +11584,10 @@ void m68k_op_muls_16_pi(void) } -void m68k_op_muls_16_pd(void) +void m68k_op_muls_16_pd(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AY_PD_16()) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); + uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AY_PD_16(cpu)) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); *r_dst = res; @@ -11598,10 +11598,10 @@ void m68k_op_muls_16_pd(void) } -void m68k_op_muls_16_di(void) +void m68k_op_muls_16_di(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AY_DI_16()) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); + uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AY_DI_16(cpu)) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); *r_dst = res; @@ -11612,10 +11612,10 @@ void m68k_op_muls_16_di(void) } -void m68k_op_muls_16_ix(void) +void m68k_op_muls_16_ix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AY_IX_16()) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); + uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AY_IX_16(cpu)) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); *r_dst = res; @@ -11626,10 +11626,10 @@ void m68k_op_muls_16_ix(void) } -void m68k_op_muls_16_aw(void) +void m68k_op_muls_16_aw(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AW_16()) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); + uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AW_16(cpu)) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); *r_dst = res; @@ -11640,10 +11640,10 @@ void m68k_op_muls_16_aw(void) } -void m68k_op_muls_16_al(void) +void m68k_op_muls_16_al(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AL_16()) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); + uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_AL_16(cpu)) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); *r_dst = res; @@ -11654,10 +11654,10 @@ void m68k_op_muls_16_al(void) } -void m68k_op_muls_16_pcdi(void) +void m68k_op_muls_16_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_PCDI_16()) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); + uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_PCDI_16(cpu)) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); *r_dst = res; @@ -11668,10 +11668,10 @@ void m68k_op_muls_16_pcdi(void) } -void m68k_op_muls_16_pcix(void) +void m68k_op_muls_16_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_PCIX_16()) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); + uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_PCIX_16(cpu)) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); *r_dst = res; @@ -11682,7 +11682,7 @@ void m68k_op_muls_16_pcix(void) } -void m68k_op_muls_16_i(void) +void m68k_op_muls_16_i(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint res = MASK_OUT_ABOVE_32(MAKE_INT_16(OPER_I_16()) * MAKE_INT_16(MASK_OUT_ABOVE_16(*r_dst))); @@ -11696,7 +11696,7 @@ void m68k_op_muls_16_i(void) } -void m68k_op_mulu_16_d(void) +void m68k_op_mulu_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint res = MASK_OUT_ABOVE_16(DY) * MASK_OUT_ABOVE_16(*r_dst); @@ -11710,10 +11710,10 @@ void m68k_op_mulu_16_d(void) } -void m68k_op_mulu_16_ai(void) +void m68k_op_mulu_16_ai(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = OPER_AY_AI_16() * MASK_OUT_ABOVE_16(*r_dst); + uint res = OPER_AY_AI_16(cpu) * MASK_OUT_ABOVE_16(*r_dst); *r_dst = res; @@ -11724,10 +11724,10 @@ void m68k_op_mulu_16_ai(void) } -void m68k_op_mulu_16_pi(void) +void m68k_op_mulu_16_pi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = OPER_AY_PI_16() * MASK_OUT_ABOVE_16(*r_dst); + uint res = OPER_AY_PI_16(cpu) * MASK_OUT_ABOVE_16(*r_dst); *r_dst = res; @@ -11738,10 +11738,10 @@ void m68k_op_mulu_16_pi(void) } -void m68k_op_mulu_16_pd(void) +void m68k_op_mulu_16_pd(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = OPER_AY_PD_16() * MASK_OUT_ABOVE_16(*r_dst); + uint res = OPER_AY_PD_16(cpu) * MASK_OUT_ABOVE_16(*r_dst); *r_dst = res; @@ -11752,10 +11752,10 @@ void m68k_op_mulu_16_pd(void) } -void m68k_op_mulu_16_di(void) +void m68k_op_mulu_16_di(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = OPER_AY_DI_16() * MASK_OUT_ABOVE_16(*r_dst); + uint res = OPER_AY_DI_16(cpu) * MASK_OUT_ABOVE_16(*r_dst); *r_dst = res; @@ -11766,10 +11766,10 @@ void m68k_op_mulu_16_di(void) } -void m68k_op_mulu_16_ix(void) +void m68k_op_mulu_16_ix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = OPER_AY_IX_16() * MASK_OUT_ABOVE_16(*r_dst); + uint res = OPER_AY_IX_16(cpu) * MASK_OUT_ABOVE_16(*r_dst); *r_dst = res; @@ -11780,10 +11780,10 @@ void m68k_op_mulu_16_ix(void) } -void m68k_op_mulu_16_aw(void) +void m68k_op_mulu_16_aw(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = OPER_AW_16() * MASK_OUT_ABOVE_16(*r_dst); + uint res = OPER_AW_16(cpu) * MASK_OUT_ABOVE_16(*r_dst); *r_dst = res; @@ -11794,10 +11794,10 @@ void m68k_op_mulu_16_aw(void) } -void m68k_op_mulu_16_al(void) +void m68k_op_mulu_16_al(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = OPER_AL_16() * MASK_OUT_ABOVE_16(*r_dst); + uint res = OPER_AL_16(cpu) * MASK_OUT_ABOVE_16(*r_dst); *r_dst = res; @@ -11808,10 +11808,10 @@ void m68k_op_mulu_16_al(void) } -void m68k_op_mulu_16_pcdi(void) +void m68k_op_mulu_16_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = OPER_PCDI_16() * MASK_OUT_ABOVE_16(*r_dst); + uint res = OPER_PCDI_16(cpu) * MASK_OUT_ABOVE_16(*r_dst); *r_dst = res; @@ -11822,10 +11822,10 @@ void m68k_op_mulu_16_pcdi(void) } -void m68k_op_mulu_16_pcix(void) +void m68k_op_mulu_16_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint res = OPER_PCIX_16() * MASK_OUT_ABOVE_16(*r_dst); + uint res = OPER_PCIX_16(cpu) * MASK_OUT_ABOVE_16(*r_dst); *r_dst = res; @@ -11836,7 +11836,7 @@ void m68k_op_mulu_16_pcix(void) } -void m68k_op_mulu_16_i(void) +void m68k_op_mulu_16_i(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint res = OPER_I_16() * MASK_OUT_ABOVE_16(*r_dst); @@ -11850,7 +11850,7 @@ void m68k_op_mulu_16_i(void) } -void m68k_op_mull_32_d(void) +void m68k_op_mull_32_d(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT @@ -11898,7 +11898,7 @@ void m68k_op_mull_32_d(void) REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else @@ -11968,20 +11968,20 @@ void m68k_op_mull_32_d(void) FLAG_V = (hi != 0) << 7; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_mull_32_ai(void) +void m68k_op_mull_32_ai(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 src = OPER_AY_AI_32(); + uint64 src = OPER_AY_AI_32(cpu); uint64 dst = REG_D[(word2 >> 12) & 7]; uint64 res; @@ -12022,14 +12022,14 @@ void m68k_op_mull_32_ai(void) REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint src = OPER_AY_AI_32(); + uint src = OPER_AY_AI_32(cpu); uint dst = REG_D[(word2 >> 12) & 7]; uint neg = GET_MSB_32(src ^ dst); uint src1; @@ -12092,20 +12092,20 @@ void m68k_op_mull_32_ai(void) FLAG_V = (hi != 0) << 7; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_mull_32_pi(void) +void m68k_op_mull_32_pi(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 src = OPER_AY_PI_32(); + uint64 src = OPER_AY_PI_32(cpu); uint64 dst = REG_D[(word2 >> 12) & 7]; uint64 res; @@ -12146,14 +12146,14 @@ void m68k_op_mull_32_pi(void) REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint src = OPER_AY_PI_32(); + uint src = OPER_AY_PI_32(cpu); uint dst = REG_D[(word2 >> 12) & 7]; uint neg = GET_MSB_32(src ^ dst); uint src1; @@ -12216,20 +12216,20 @@ void m68k_op_mull_32_pi(void) FLAG_V = (hi != 0) << 7; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_mull_32_pd(void) +void m68k_op_mull_32_pd(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 src = OPER_AY_PD_32(); + uint64 src = OPER_AY_PD_32(cpu); uint64 dst = REG_D[(word2 >> 12) & 7]; uint64 res; @@ -12270,14 +12270,14 @@ void m68k_op_mull_32_pd(void) REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint src = OPER_AY_PD_32(); + uint src = OPER_AY_PD_32(cpu); uint dst = REG_D[(word2 >> 12) & 7]; uint neg = GET_MSB_32(src ^ dst); uint src1; @@ -12340,20 +12340,20 @@ void m68k_op_mull_32_pd(void) FLAG_V = (hi != 0) << 7; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_mull_32_di(void) +void m68k_op_mull_32_di(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 src = OPER_AY_DI_32(); + uint64 src = OPER_AY_DI_32(cpu); uint64 dst = REG_D[(word2 >> 12) & 7]; uint64 res; @@ -12394,14 +12394,14 @@ void m68k_op_mull_32_di(void) REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint src = OPER_AY_DI_32(); + uint src = OPER_AY_DI_32(cpu); uint dst = REG_D[(word2 >> 12) & 7]; uint neg = GET_MSB_32(src ^ dst); uint src1; @@ -12464,20 +12464,20 @@ void m68k_op_mull_32_di(void) FLAG_V = (hi != 0) << 7; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_mull_32_ix(void) +void m68k_op_mull_32_ix(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 src = OPER_AY_IX_32(); + uint64 src = OPER_AY_IX_32(cpu); uint64 dst = REG_D[(word2 >> 12) & 7]; uint64 res; @@ -12518,14 +12518,14 @@ void m68k_op_mull_32_ix(void) REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint src = OPER_AY_IX_32(); + uint src = OPER_AY_IX_32(cpu); uint dst = REG_D[(word2 >> 12) & 7]; uint neg = GET_MSB_32(src ^ dst); uint src1; @@ -12588,20 +12588,20 @@ void m68k_op_mull_32_ix(void) FLAG_V = (hi != 0) << 7; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_mull_32_aw(void) +void m68k_op_mull_32_aw(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 src = OPER_AW_32(); + uint64 src = OPER_AW_32(cpu); uint64 dst = REG_D[(word2 >> 12) & 7]; uint64 res; @@ -12642,14 +12642,14 @@ void m68k_op_mull_32_aw(void) REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint src = OPER_AW_32(); + uint src = OPER_AW_32(cpu); uint dst = REG_D[(word2 >> 12) & 7]; uint neg = GET_MSB_32(src ^ dst); uint src1; @@ -12712,20 +12712,20 @@ void m68k_op_mull_32_aw(void) FLAG_V = (hi != 0) << 7; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_mull_32_al(void) +void m68k_op_mull_32_al(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 src = OPER_AL_32(); + uint64 src = OPER_AL_32(cpu); uint64 dst = REG_D[(word2 >> 12) & 7]; uint64 res; @@ -12766,14 +12766,14 @@ void m68k_op_mull_32_al(void) REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint src = OPER_AL_32(); + uint src = OPER_AL_32(cpu); uint dst = REG_D[(word2 >> 12) & 7]; uint neg = GET_MSB_32(src ^ dst); uint src1; @@ -12836,20 +12836,20 @@ void m68k_op_mull_32_al(void) FLAG_V = (hi != 0) << 7; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_mull_32_pcdi(void) +void m68k_op_mull_32_pcdi(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 src = OPER_PCDI_32(); + uint64 src = OPER_PCDI_32(cpu); uint64 dst = REG_D[(word2 >> 12) & 7]; uint64 res; @@ -12890,14 +12890,14 @@ void m68k_op_mull_32_pcdi(void) REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint src = OPER_PCDI_32(); + uint src = OPER_PCDI_32(cpu); uint dst = REG_D[(word2 >> 12) & 7]; uint neg = GET_MSB_32(src ^ dst); uint src1; @@ -12960,20 +12960,20 @@ void m68k_op_mull_32_pcdi(void) FLAG_V = (hi != 0) << 7; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_mull_32_pcix(void) +void m68k_op_mull_32_pcix(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint64 src = OPER_PCIX_32(); + uint64 src = OPER_PCIX_32(cpu); uint64 dst = REG_D[(word2 >> 12) & 7]; uint64 res; @@ -13014,14 +13014,14 @@ void m68k_op_mull_32_pcix(void) REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { uint word2 = OPER_I_16(); - uint src = OPER_PCIX_32(); + uint src = OPER_PCIX_32(cpu); uint dst = REG_D[(word2 >> 12) & 7]; uint neg = GET_MSB_32(src ^ dst); uint src1; @@ -13084,13 +13084,13 @@ void m68k_op_mull_32_pcix(void) FLAG_V = (hi != 0) << 7; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } -void m68k_op_mull_32_i(void) +void m68k_op_mull_32_i(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT @@ -13138,7 +13138,7 @@ void m68k_op_mull_32_i(void) REG_D[(word2 >> 12) & 7] = MASK_OUT_ABOVE_32(res); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #else @@ -13208,7 +13208,7 @@ void m68k_op_mull_32_i(void) FLAG_V = (hi != 0) << 7; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); #endif } diff --git a/plugins/ao/eng_ssf/m68kopnz.c b/plugins/ao/eng_ssf/m68kopnz.c index 2c26ce3d..35a6ed16 100644 --- a/plugins/ao/eng_ssf/m68kopnz.c +++ b/plugins/ao/eng_ssf/m68kopnz.c @@ -1,3 +1,4 @@ +#include "ao.h" #include "m68kcpu.h" /* ======================================================================== */ @@ -5,7 +6,7 @@ /* ======================================================================== */ -void m68k_op_nbcd_8_d(void) +void m68k_op_nbcd_8_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint dst = *r_dst; @@ -38,7 +39,7 @@ void m68k_op_nbcd_8_d(void) } -void m68k_op_nbcd_8_ai(void) +void m68k_op_nbcd_8_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint dst = m68ki_read_8(ea); @@ -71,7 +72,7 @@ void m68k_op_nbcd_8_ai(void) } -void m68k_op_nbcd_8_pi(void) +void m68k_op_nbcd_8_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint dst = m68ki_read_8(ea); @@ -104,7 +105,7 @@ void m68k_op_nbcd_8_pi(void) } -void m68k_op_nbcd_8_pi7(void) +void m68k_op_nbcd_8_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint dst = m68ki_read_8(ea); @@ -137,7 +138,7 @@ void m68k_op_nbcd_8_pi7(void) } -void m68k_op_nbcd_8_pd(void) +void m68k_op_nbcd_8_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint dst = m68ki_read_8(ea); @@ -170,7 +171,7 @@ void m68k_op_nbcd_8_pd(void) } -void m68k_op_nbcd_8_pd7(void) +void m68k_op_nbcd_8_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint dst = m68ki_read_8(ea); @@ -203,7 +204,7 @@ void m68k_op_nbcd_8_pd7(void) } -void m68k_op_nbcd_8_di(void) +void m68k_op_nbcd_8_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint dst = m68ki_read_8(ea); @@ -236,7 +237,7 @@ void m68k_op_nbcd_8_di(void) } -void m68k_op_nbcd_8_ix(void) +void m68k_op_nbcd_8_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint dst = m68ki_read_8(ea); @@ -269,7 +270,7 @@ void m68k_op_nbcd_8_ix(void) } -void m68k_op_nbcd_8_aw(void) +void m68k_op_nbcd_8_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint dst = m68ki_read_8(ea); @@ -302,7 +303,7 @@ void m68k_op_nbcd_8_aw(void) } -void m68k_op_nbcd_8_al(void) +void m68k_op_nbcd_8_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint dst = m68ki_read_8(ea); @@ -335,7 +336,7 @@ void m68k_op_nbcd_8_al(void) } -void m68k_op_neg_8_d(void) +void m68k_op_neg_8_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint res = 0 - MASK_OUT_ABOVE_8(*r_dst); @@ -349,7 +350,7 @@ void m68k_op_neg_8_d(void) } -void m68k_op_neg_8_ai(void) +void m68k_op_neg_8_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint src = m68ki_read_8(ea); @@ -364,7 +365,7 @@ void m68k_op_neg_8_ai(void) } -void m68k_op_neg_8_pi(void) +void m68k_op_neg_8_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint src = m68ki_read_8(ea); @@ -379,7 +380,7 @@ void m68k_op_neg_8_pi(void) } -void m68k_op_neg_8_pi7(void) +void m68k_op_neg_8_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint src = m68ki_read_8(ea); @@ -394,7 +395,7 @@ void m68k_op_neg_8_pi7(void) } -void m68k_op_neg_8_pd(void) +void m68k_op_neg_8_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint src = m68ki_read_8(ea); @@ -409,7 +410,7 @@ void m68k_op_neg_8_pd(void) } -void m68k_op_neg_8_pd7(void) +void m68k_op_neg_8_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint src = m68ki_read_8(ea); @@ -424,7 +425,7 @@ void m68k_op_neg_8_pd7(void) } -void m68k_op_neg_8_di(void) +void m68k_op_neg_8_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint src = m68ki_read_8(ea); @@ -439,7 +440,7 @@ void m68k_op_neg_8_di(void) } -void m68k_op_neg_8_ix(void) +void m68k_op_neg_8_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint src = m68ki_read_8(ea); @@ -454,7 +455,7 @@ void m68k_op_neg_8_ix(void) } -void m68k_op_neg_8_aw(void) +void m68k_op_neg_8_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint src = m68ki_read_8(ea); @@ -469,7 +470,7 @@ void m68k_op_neg_8_aw(void) } -void m68k_op_neg_8_al(void) +void m68k_op_neg_8_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint src = m68ki_read_8(ea); @@ -484,7 +485,7 @@ void m68k_op_neg_8_al(void) } -void m68k_op_neg_16_d(void) +void m68k_op_neg_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint res = 0 - MASK_OUT_ABOVE_16(*r_dst); @@ -498,7 +499,7 @@ void m68k_op_neg_16_d(void) } -void m68k_op_neg_16_ai(void) +void m68k_op_neg_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = m68ki_read_16(ea); @@ -513,7 +514,7 @@ void m68k_op_neg_16_ai(void) } -void m68k_op_neg_16_pi(void) +void m68k_op_neg_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = m68ki_read_16(ea); @@ -528,7 +529,7 @@ void m68k_op_neg_16_pi(void) } -void m68k_op_neg_16_pd(void) +void m68k_op_neg_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = m68ki_read_16(ea); @@ -543,7 +544,7 @@ void m68k_op_neg_16_pd(void) } -void m68k_op_neg_16_di(void) +void m68k_op_neg_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = m68ki_read_16(ea); @@ -558,7 +559,7 @@ void m68k_op_neg_16_di(void) } -void m68k_op_neg_16_ix(void) +void m68k_op_neg_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = m68ki_read_16(ea); @@ -573,7 +574,7 @@ void m68k_op_neg_16_ix(void) } -void m68k_op_neg_16_aw(void) +void m68k_op_neg_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = m68ki_read_16(ea); @@ -588,7 +589,7 @@ void m68k_op_neg_16_aw(void) } -void m68k_op_neg_16_al(void) +void m68k_op_neg_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = m68ki_read_16(ea); @@ -603,7 +604,7 @@ void m68k_op_neg_16_al(void) } -void m68k_op_neg_32_d(void) +void m68k_op_neg_32_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint res = 0 - *r_dst; @@ -617,7 +618,7 @@ void m68k_op_neg_32_d(void) } -void m68k_op_neg_32_ai(void) +void m68k_op_neg_32_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_32(); uint src = m68ki_read_32(ea); @@ -632,7 +633,7 @@ void m68k_op_neg_32_ai(void) } -void m68k_op_neg_32_pi(void) +void m68k_op_neg_32_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_32(); uint src = m68ki_read_32(ea); @@ -647,7 +648,7 @@ void m68k_op_neg_32_pi(void) } -void m68k_op_neg_32_pd(void) +void m68k_op_neg_32_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_32(); uint src = m68ki_read_32(ea); @@ -662,7 +663,7 @@ void m68k_op_neg_32_pd(void) } -void m68k_op_neg_32_di(void) +void m68k_op_neg_32_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); uint src = m68ki_read_32(ea); @@ -677,7 +678,7 @@ void m68k_op_neg_32_di(void) } -void m68k_op_neg_32_ix(void) +void m68k_op_neg_32_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_32(); uint src = m68ki_read_32(ea); @@ -692,7 +693,7 @@ void m68k_op_neg_32_ix(void) } -void m68k_op_neg_32_aw(void) +void m68k_op_neg_32_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_32(); uint src = m68ki_read_32(ea); @@ -707,7 +708,7 @@ void m68k_op_neg_32_aw(void) } -void m68k_op_neg_32_al(void) +void m68k_op_neg_32_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_32(); uint src = m68ki_read_32(ea); @@ -722,7 +723,7 @@ void m68k_op_neg_32_al(void) } -void m68k_op_negx_8_d(void) +void m68k_op_negx_8_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint res = 0 - MASK_OUT_ABOVE_8(*r_dst) - XFLAG_AS_1(); @@ -738,7 +739,7 @@ void m68k_op_negx_8_d(void) } -void m68k_op_negx_8_ai(void) +void m68k_op_negx_8_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint src = m68ki_read_8(ea); @@ -755,7 +756,7 @@ void m68k_op_negx_8_ai(void) } -void m68k_op_negx_8_pi(void) +void m68k_op_negx_8_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint src = m68ki_read_8(ea); @@ -772,7 +773,7 @@ void m68k_op_negx_8_pi(void) } -void m68k_op_negx_8_pi7(void) +void m68k_op_negx_8_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint src = m68ki_read_8(ea); @@ -789,7 +790,7 @@ void m68k_op_negx_8_pi7(void) } -void m68k_op_negx_8_pd(void) +void m68k_op_negx_8_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint src = m68ki_read_8(ea); @@ -806,7 +807,7 @@ void m68k_op_negx_8_pd(void) } -void m68k_op_negx_8_pd7(void) +void m68k_op_negx_8_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint src = m68ki_read_8(ea); @@ -823,7 +824,7 @@ void m68k_op_negx_8_pd7(void) } -void m68k_op_negx_8_di(void) +void m68k_op_negx_8_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint src = m68ki_read_8(ea); @@ -840,7 +841,7 @@ void m68k_op_negx_8_di(void) } -void m68k_op_negx_8_ix(void) +void m68k_op_negx_8_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint src = m68ki_read_8(ea); @@ -857,7 +858,7 @@ void m68k_op_negx_8_ix(void) } -void m68k_op_negx_8_aw(void) +void m68k_op_negx_8_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint src = m68ki_read_8(ea); @@ -874,7 +875,7 @@ void m68k_op_negx_8_aw(void) } -void m68k_op_negx_8_al(void) +void m68k_op_negx_8_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint src = m68ki_read_8(ea); @@ -891,7 +892,7 @@ void m68k_op_negx_8_al(void) } -void m68k_op_negx_16_d(void) +void m68k_op_negx_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint res = 0 - MASK_OUT_ABOVE_16(*r_dst) - XFLAG_AS_1(); @@ -907,7 +908,7 @@ void m68k_op_negx_16_d(void) } -void m68k_op_negx_16_ai(void) +void m68k_op_negx_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = m68ki_read_16(ea); @@ -924,7 +925,7 @@ void m68k_op_negx_16_ai(void) } -void m68k_op_negx_16_pi(void) +void m68k_op_negx_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = m68ki_read_16(ea); @@ -941,7 +942,7 @@ void m68k_op_negx_16_pi(void) } -void m68k_op_negx_16_pd(void) +void m68k_op_negx_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = m68ki_read_16(ea); @@ -958,7 +959,7 @@ void m68k_op_negx_16_pd(void) } -void m68k_op_negx_16_di(void) +void m68k_op_negx_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = m68ki_read_16(ea); @@ -975,7 +976,7 @@ void m68k_op_negx_16_di(void) } -void m68k_op_negx_16_ix(void) +void m68k_op_negx_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = m68ki_read_16(ea); @@ -992,7 +993,7 @@ void m68k_op_negx_16_ix(void) } -void m68k_op_negx_16_aw(void) +void m68k_op_negx_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = m68ki_read_16(ea); @@ -1009,7 +1010,7 @@ void m68k_op_negx_16_aw(void) } -void m68k_op_negx_16_al(void) +void m68k_op_negx_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = m68ki_read_16(ea); @@ -1026,7 +1027,7 @@ void m68k_op_negx_16_al(void) } -void m68k_op_negx_32_d(void) +void m68k_op_negx_32_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint res = 0 - MASK_OUT_ABOVE_32(*r_dst) - XFLAG_AS_1(); @@ -1042,7 +1043,7 @@ void m68k_op_negx_32_d(void) } -void m68k_op_negx_32_ai(void) +void m68k_op_negx_32_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_32(); uint src = m68ki_read_32(ea); @@ -1059,7 +1060,7 @@ void m68k_op_negx_32_ai(void) } -void m68k_op_negx_32_pi(void) +void m68k_op_negx_32_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_32(); uint src = m68ki_read_32(ea); @@ -1076,7 +1077,7 @@ void m68k_op_negx_32_pi(void) } -void m68k_op_negx_32_pd(void) +void m68k_op_negx_32_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_32(); uint src = m68ki_read_32(ea); @@ -1093,7 +1094,7 @@ void m68k_op_negx_32_pd(void) } -void m68k_op_negx_32_di(void) +void m68k_op_negx_32_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); uint src = m68ki_read_32(ea); @@ -1110,7 +1111,7 @@ void m68k_op_negx_32_di(void) } -void m68k_op_negx_32_ix(void) +void m68k_op_negx_32_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_32(); uint src = m68ki_read_32(ea); @@ -1127,7 +1128,7 @@ void m68k_op_negx_32_ix(void) } -void m68k_op_negx_32_aw(void) +void m68k_op_negx_32_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_32(); uint src = m68ki_read_32(ea); @@ -1144,7 +1145,7 @@ void m68k_op_negx_32_aw(void) } -void m68k_op_negx_32_al(void) +void m68k_op_negx_32_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_32(); uint src = m68ki_read_32(ea); @@ -1161,13 +1162,13 @@ void m68k_op_negx_32_al(void) } -void m68k_op_nop(void) +void m68k_op_nop(m68ki_cpu_core *cpu) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ } -void m68k_op_not_8_d(void) +void m68k_op_not_8_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint res = MASK_OUT_ABOVE_8(~*r_dst); @@ -1181,7 +1182,7 @@ void m68k_op_not_8_d(void) } -void m68k_op_not_8_ai(void) +void m68k_op_not_8_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint res = MASK_OUT_ABOVE_8(~m68ki_read_8(ea)); @@ -1195,7 +1196,7 @@ void m68k_op_not_8_ai(void) } -void m68k_op_not_8_pi(void) +void m68k_op_not_8_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint res = MASK_OUT_ABOVE_8(~m68ki_read_8(ea)); @@ -1209,7 +1210,7 @@ void m68k_op_not_8_pi(void) } -void m68k_op_not_8_pi7(void) +void m68k_op_not_8_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint res = MASK_OUT_ABOVE_8(~m68ki_read_8(ea)); @@ -1223,7 +1224,7 @@ void m68k_op_not_8_pi7(void) } -void m68k_op_not_8_pd(void) +void m68k_op_not_8_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint res = MASK_OUT_ABOVE_8(~m68ki_read_8(ea)); @@ -1237,7 +1238,7 @@ void m68k_op_not_8_pd(void) } -void m68k_op_not_8_pd7(void) +void m68k_op_not_8_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint res = MASK_OUT_ABOVE_8(~m68ki_read_8(ea)); @@ -1251,7 +1252,7 @@ void m68k_op_not_8_pd7(void) } -void m68k_op_not_8_di(void) +void m68k_op_not_8_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint res = MASK_OUT_ABOVE_8(~m68ki_read_8(ea)); @@ -1265,7 +1266,7 @@ void m68k_op_not_8_di(void) } -void m68k_op_not_8_ix(void) +void m68k_op_not_8_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint res = MASK_OUT_ABOVE_8(~m68ki_read_8(ea)); @@ -1279,7 +1280,7 @@ void m68k_op_not_8_ix(void) } -void m68k_op_not_8_aw(void) +void m68k_op_not_8_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint res = MASK_OUT_ABOVE_8(~m68ki_read_8(ea)); @@ -1293,7 +1294,7 @@ void m68k_op_not_8_aw(void) } -void m68k_op_not_8_al(void) +void m68k_op_not_8_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint res = MASK_OUT_ABOVE_8(~m68ki_read_8(ea)); @@ -1307,7 +1308,7 @@ void m68k_op_not_8_al(void) } -void m68k_op_not_16_d(void) +void m68k_op_not_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint res = MASK_OUT_ABOVE_16(~*r_dst); @@ -1321,7 +1322,7 @@ void m68k_op_not_16_d(void) } -void m68k_op_not_16_ai(void) +void m68k_op_not_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint res = MASK_OUT_ABOVE_16(~m68ki_read_16(ea)); @@ -1335,7 +1336,7 @@ void m68k_op_not_16_ai(void) } -void m68k_op_not_16_pi(void) +void m68k_op_not_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint res = MASK_OUT_ABOVE_16(~m68ki_read_16(ea)); @@ -1349,7 +1350,7 @@ void m68k_op_not_16_pi(void) } -void m68k_op_not_16_pd(void) +void m68k_op_not_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint res = MASK_OUT_ABOVE_16(~m68ki_read_16(ea)); @@ -1363,7 +1364,7 @@ void m68k_op_not_16_pd(void) } -void m68k_op_not_16_di(void) +void m68k_op_not_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint res = MASK_OUT_ABOVE_16(~m68ki_read_16(ea)); @@ -1377,7 +1378,7 @@ void m68k_op_not_16_di(void) } -void m68k_op_not_16_ix(void) +void m68k_op_not_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint res = MASK_OUT_ABOVE_16(~m68ki_read_16(ea)); @@ -1391,7 +1392,7 @@ void m68k_op_not_16_ix(void) } -void m68k_op_not_16_aw(void) +void m68k_op_not_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint res = MASK_OUT_ABOVE_16(~m68ki_read_16(ea)); @@ -1405,7 +1406,7 @@ void m68k_op_not_16_aw(void) } -void m68k_op_not_16_al(void) +void m68k_op_not_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint res = MASK_OUT_ABOVE_16(~m68ki_read_16(ea)); @@ -1419,7 +1420,7 @@ void m68k_op_not_16_al(void) } -void m68k_op_not_32_d(void) +void m68k_op_not_32_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint res = *r_dst = MASK_OUT_ABOVE_32(~*r_dst); @@ -1431,7 +1432,7 @@ void m68k_op_not_32_d(void) } -void m68k_op_not_32_ai(void) +void m68k_op_not_32_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_32(); uint res = MASK_OUT_ABOVE_32(~m68ki_read_32(ea)); @@ -1445,7 +1446,7 @@ void m68k_op_not_32_ai(void) } -void m68k_op_not_32_pi(void) +void m68k_op_not_32_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_32(); uint res = MASK_OUT_ABOVE_32(~m68ki_read_32(ea)); @@ -1459,7 +1460,7 @@ void m68k_op_not_32_pi(void) } -void m68k_op_not_32_pd(void) +void m68k_op_not_32_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_32(); uint res = MASK_OUT_ABOVE_32(~m68ki_read_32(ea)); @@ -1473,7 +1474,7 @@ void m68k_op_not_32_pd(void) } -void m68k_op_not_32_di(void) +void m68k_op_not_32_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); uint res = MASK_OUT_ABOVE_32(~m68ki_read_32(ea)); @@ -1487,7 +1488,7 @@ void m68k_op_not_32_di(void) } -void m68k_op_not_32_ix(void) +void m68k_op_not_32_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_32(); uint res = MASK_OUT_ABOVE_32(~m68ki_read_32(ea)); @@ -1501,7 +1502,7 @@ void m68k_op_not_32_ix(void) } -void m68k_op_not_32_aw(void) +void m68k_op_not_32_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_32(); uint res = MASK_OUT_ABOVE_32(~m68ki_read_32(ea)); @@ -1515,7 +1516,7 @@ void m68k_op_not_32_aw(void) } -void m68k_op_not_32_al(void) +void m68k_op_not_32_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_32(); uint res = MASK_OUT_ABOVE_32(~m68ki_read_32(ea)); @@ -1529,7 +1530,7 @@ void m68k_op_not_32_al(void) } -void m68k_op_or_8_er_d(void) +void m68k_op_or_8_er_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8((DX |= MASK_OUT_ABOVE_8(DY))); @@ -1540,9 +1541,9 @@ void m68k_op_or_8_er_d(void) } -void m68k_op_or_8_er_ai(void) +void m68k_op_or_8_er_ai(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_8((DX |= OPER_AY_AI_8())); + uint res = MASK_OUT_ABOVE_8((DX |= OPER_AY_AI_8(cpu))); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -1551,9 +1552,9 @@ void m68k_op_or_8_er_ai(void) } -void m68k_op_or_8_er_pi(void) +void m68k_op_or_8_er_pi(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_8((DX |= OPER_AY_PI_8())); + uint res = MASK_OUT_ABOVE_8((DX |= OPER_AY_PI_8(cpu))); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -1562,9 +1563,9 @@ void m68k_op_or_8_er_pi(void) } -void m68k_op_or_8_er_pi7(void) +void m68k_op_or_8_er_pi7(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_8((DX |= OPER_A7_PI_8())); + uint res = MASK_OUT_ABOVE_8((DX |= OPER_A7_PI_8(cpu))); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -1573,9 +1574,9 @@ void m68k_op_or_8_er_pi7(void) } -void m68k_op_or_8_er_pd(void) +void m68k_op_or_8_er_pd(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_8((DX |= OPER_AY_PD_8())); + uint res = MASK_OUT_ABOVE_8((DX |= OPER_AY_PD_8(cpu))); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -1584,9 +1585,9 @@ void m68k_op_or_8_er_pd(void) } -void m68k_op_or_8_er_pd7(void) +void m68k_op_or_8_er_pd7(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_8((DX |= OPER_A7_PD_8())); + uint res = MASK_OUT_ABOVE_8((DX |= OPER_A7_PD_8(cpu))); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -1595,9 +1596,9 @@ void m68k_op_or_8_er_pd7(void) } -void m68k_op_or_8_er_di(void) +void m68k_op_or_8_er_di(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_8((DX |= OPER_AY_DI_8())); + uint res = MASK_OUT_ABOVE_8((DX |= OPER_AY_DI_8(cpu))); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -1606,9 +1607,9 @@ void m68k_op_or_8_er_di(void) } -void m68k_op_or_8_er_ix(void) +void m68k_op_or_8_er_ix(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_8((DX |= OPER_AY_IX_8())); + uint res = MASK_OUT_ABOVE_8((DX |= OPER_AY_IX_8(cpu))); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -1617,9 +1618,9 @@ void m68k_op_or_8_er_ix(void) } -void m68k_op_or_8_er_aw(void) +void m68k_op_or_8_er_aw(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_8((DX |= OPER_AW_8())); + uint res = MASK_OUT_ABOVE_8((DX |= OPER_AW_8(cpu))); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -1628,9 +1629,9 @@ void m68k_op_or_8_er_aw(void) } -void m68k_op_or_8_er_al(void) +void m68k_op_or_8_er_al(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_8((DX |= OPER_AL_8())); + uint res = MASK_OUT_ABOVE_8((DX |= OPER_AL_8(cpu))); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -1639,9 +1640,9 @@ void m68k_op_or_8_er_al(void) } -void m68k_op_or_8_er_pcdi(void) +void m68k_op_or_8_er_pcdi(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_8((DX |= OPER_PCDI_8())); + uint res = MASK_OUT_ABOVE_8((DX |= OPER_PCDI_8(cpu))); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -1650,9 +1651,9 @@ void m68k_op_or_8_er_pcdi(void) } -void m68k_op_or_8_er_pcix(void) +void m68k_op_or_8_er_pcix(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_8((DX |= OPER_PCIX_8())); + uint res = MASK_OUT_ABOVE_8((DX |= OPER_PCIX_8(cpu))); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -1661,7 +1662,7 @@ void m68k_op_or_8_er_pcix(void) } -void m68k_op_or_8_er_i(void) +void m68k_op_or_8_er_i(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8((DX |= OPER_I_8())); @@ -1672,7 +1673,7 @@ void m68k_op_or_8_er_i(void) } -void m68k_op_or_16_er_d(void) +void m68k_op_or_16_er_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16((DX |= MASK_OUT_ABOVE_16(DY))); @@ -1683,9 +1684,9 @@ void m68k_op_or_16_er_d(void) } -void m68k_op_or_16_er_ai(void) +void m68k_op_or_16_er_ai(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_16((DX |= OPER_AY_AI_16())); + uint res = MASK_OUT_ABOVE_16((DX |= OPER_AY_AI_16(cpu))); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -1694,9 +1695,9 @@ void m68k_op_or_16_er_ai(void) } -void m68k_op_or_16_er_pi(void) +void m68k_op_or_16_er_pi(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_16((DX |= OPER_AY_PI_16())); + uint res = MASK_OUT_ABOVE_16((DX |= OPER_AY_PI_16(cpu))); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -1705,9 +1706,9 @@ void m68k_op_or_16_er_pi(void) } -void m68k_op_or_16_er_pd(void) +void m68k_op_or_16_er_pd(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_16((DX |= OPER_AY_PD_16())); + uint res = MASK_OUT_ABOVE_16((DX |= OPER_AY_PD_16(cpu))); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -1716,9 +1717,9 @@ void m68k_op_or_16_er_pd(void) } -void m68k_op_or_16_er_di(void) +void m68k_op_or_16_er_di(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_16((DX |= OPER_AY_DI_16())); + uint res = MASK_OUT_ABOVE_16((DX |= OPER_AY_DI_16(cpu))); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -1727,9 +1728,9 @@ void m68k_op_or_16_er_di(void) } -void m68k_op_or_16_er_ix(void) +void m68k_op_or_16_er_ix(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_16((DX |= OPER_AY_IX_16())); + uint res = MASK_OUT_ABOVE_16((DX |= OPER_AY_IX_16(cpu))); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -1738,9 +1739,9 @@ void m68k_op_or_16_er_ix(void) } -void m68k_op_or_16_er_aw(void) +void m68k_op_or_16_er_aw(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_16((DX |= OPER_AW_16())); + uint res = MASK_OUT_ABOVE_16((DX |= OPER_AW_16(cpu))); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -1749,9 +1750,9 @@ void m68k_op_or_16_er_aw(void) } -void m68k_op_or_16_er_al(void) +void m68k_op_or_16_er_al(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_16((DX |= OPER_AL_16())); + uint res = MASK_OUT_ABOVE_16((DX |= OPER_AL_16(cpu))); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -1760,9 +1761,9 @@ void m68k_op_or_16_er_al(void) } -void m68k_op_or_16_er_pcdi(void) +void m68k_op_or_16_er_pcdi(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_16((DX |= OPER_PCDI_16())); + uint res = MASK_OUT_ABOVE_16((DX |= OPER_PCDI_16(cpu))); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -1771,9 +1772,9 @@ void m68k_op_or_16_er_pcdi(void) } -void m68k_op_or_16_er_pcix(void) +void m68k_op_or_16_er_pcix(m68ki_cpu_core *cpu) { - uint res = MASK_OUT_ABOVE_16((DX |= OPER_PCIX_16())); + uint res = MASK_OUT_ABOVE_16((DX |= OPER_PCIX_16(cpu))); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -1782,7 +1783,7 @@ void m68k_op_or_16_er_pcix(void) } -void m68k_op_or_16_er_i(void) +void m68k_op_or_16_er_i(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16((DX |= OPER_I_16())); @@ -1793,7 +1794,7 @@ void m68k_op_or_16_er_i(void) } -void m68k_op_or_32_er_d(void) +void m68k_op_or_32_er_d(m68ki_cpu_core *cpu) { uint res = DX |= DY; @@ -1804,9 +1805,9 @@ void m68k_op_or_32_er_d(void) } -void m68k_op_or_32_er_ai(void) +void m68k_op_or_32_er_ai(m68ki_cpu_core *cpu) { - uint res = DX |= OPER_AY_AI_32(); + uint res = DX |= OPER_AY_AI_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -1815,9 +1816,9 @@ void m68k_op_or_32_er_ai(void) } -void m68k_op_or_32_er_pi(void) +void m68k_op_or_32_er_pi(m68ki_cpu_core *cpu) { - uint res = DX |= OPER_AY_PI_32(); + uint res = DX |= OPER_AY_PI_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -1826,9 +1827,9 @@ void m68k_op_or_32_er_pi(void) } -void m68k_op_or_32_er_pd(void) +void m68k_op_or_32_er_pd(m68ki_cpu_core *cpu) { - uint res = DX |= OPER_AY_PD_32(); + uint res = DX |= OPER_AY_PD_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -1837,9 +1838,9 @@ void m68k_op_or_32_er_pd(void) } -void m68k_op_or_32_er_di(void) +void m68k_op_or_32_er_di(m68ki_cpu_core *cpu) { - uint res = DX |= OPER_AY_DI_32(); + uint res = DX |= OPER_AY_DI_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -1848,9 +1849,9 @@ void m68k_op_or_32_er_di(void) } -void m68k_op_or_32_er_ix(void) +void m68k_op_or_32_er_ix(m68ki_cpu_core *cpu) { - uint res = DX |= OPER_AY_IX_32(); + uint res = DX |= OPER_AY_IX_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -1859,9 +1860,9 @@ void m68k_op_or_32_er_ix(void) } -void m68k_op_or_32_er_aw(void) +void m68k_op_or_32_er_aw(m68ki_cpu_core *cpu) { - uint res = DX |= OPER_AW_32(); + uint res = DX |= OPER_AW_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -1870,9 +1871,9 @@ void m68k_op_or_32_er_aw(void) } -void m68k_op_or_32_er_al(void) +void m68k_op_or_32_er_al(m68ki_cpu_core *cpu) { - uint res = DX |= OPER_AL_32(); + uint res = DX |= OPER_AL_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -1881,9 +1882,9 @@ void m68k_op_or_32_er_al(void) } -void m68k_op_or_32_er_pcdi(void) +void m68k_op_or_32_er_pcdi(m68ki_cpu_core *cpu) { - uint res = DX |= OPER_PCDI_32(); + uint res = DX |= OPER_PCDI_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -1892,9 +1893,9 @@ void m68k_op_or_32_er_pcdi(void) } -void m68k_op_or_32_er_pcix(void) +void m68k_op_or_32_er_pcix(m68ki_cpu_core *cpu) { - uint res = DX |= OPER_PCIX_32(); + uint res = DX |= OPER_PCIX_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -1903,7 +1904,7 @@ void m68k_op_or_32_er_pcix(void) } -void m68k_op_or_32_er_i(void) +void m68k_op_or_32_er_i(m68ki_cpu_core *cpu) { uint res = DX |= OPER_I_32(); @@ -1914,7 +1915,7 @@ void m68k_op_or_32_er_i(void) } -void m68k_op_or_8_re_ai(void) +void m68k_op_or_8_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(ea)); @@ -1928,7 +1929,7 @@ void m68k_op_or_8_re_ai(void) } -void m68k_op_or_8_re_pi(void) +void m68k_op_or_8_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(ea)); @@ -1942,7 +1943,7 @@ void m68k_op_or_8_re_pi(void) } -void m68k_op_or_8_re_pi7(void) +void m68k_op_or_8_re_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(ea)); @@ -1956,7 +1957,7 @@ void m68k_op_or_8_re_pi7(void) } -void m68k_op_or_8_re_pd(void) +void m68k_op_or_8_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(ea)); @@ -1970,7 +1971,7 @@ void m68k_op_or_8_re_pd(void) } -void m68k_op_or_8_re_pd7(void) +void m68k_op_or_8_re_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(ea)); @@ -1984,7 +1985,7 @@ void m68k_op_or_8_re_pd7(void) } -void m68k_op_or_8_re_di(void) +void m68k_op_or_8_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(ea)); @@ -1998,7 +1999,7 @@ void m68k_op_or_8_re_di(void) } -void m68k_op_or_8_re_ix(void) +void m68k_op_or_8_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(ea)); @@ -2012,7 +2013,7 @@ void m68k_op_or_8_re_ix(void) } -void m68k_op_or_8_re_aw(void) +void m68k_op_or_8_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(ea)); @@ -2026,7 +2027,7 @@ void m68k_op_or_8_re_aw(void) } -void m68k_op_or_8_re_al(void) +void m68k_op_or_8_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint res = MASK_OUT_ABOVE_8(DX | m68ki_read_8(ea)); @@ -2040,7 +2041,7 @@ void m68k_op_or_8_re_al(void) } -void m68k_op_or_16_re_ai(void) +void m68k_op_or_16_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint res = MASK_OUT_ABOVE_16(DX | m68ki_read_16(ea)); @@ -2054,7 +2055,7 @@ void m68k_op_or_16_re_ai(void) } -void m68k_op_or_16_re_pi(void) +void m68k_op_or_16_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint res = MASK_OUT_ABOVE_16(DX | m68ki_read_16(ea)); @@ -2068,7 +2069,7 @@ void m68k_op_or_16_re_pi(void) } -void m68k_op_or_16_re_pd(void) +void m68k_op_or_16_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint res = MASK_OUT_ABOVE_16(DX | m68ki_read_16(ea)); @@ -2082,7 +2083,7 @@ void m68k_op_or_16_re_pd(void) } -void m68k_op_or_16_re_di(void) +void m68k_op_or_16_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint res = MASK_OUT_ABOVE_16(DX | m68ki_read_16(ea)); @@ -2096,7 +2097,7 @@ void m68k_op_or_16_re_di(void) } -void m68k_op_or_16_re_ix(void) +void m68k_op_or_16_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint res = MASK_OUT_ABOVE_16(DX | m68ki_read_16(ea)); @@ -2110,7 +2111,7 @@ void m68k_op_or_16_re_ix(void) } -void m68k_op_or_16_re_aw(void) +void m68k_op_or_16_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint res = MASK_OUT_ABOVE_16(DX | m68ki_read_16(ea)); @@ -2124,7 +2125,7 @@ void m68k_op_or_16_re_aw(void) } -void m68k_op_or_16_re_al(void) +void m68k_op_or_16_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint res = MASK_OUT_ABOVE_16(DX | m68ki_read_16(ea)); @@ -2138,7 +2139,7 @@ void m68k_op_or_16_re_al(void) } -void m68k_op_or_32_re_ai(void) +void m68k_op_or_32_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_32(); uint res = DX | m68ki_read_32(ea); @@ -2152,7 +2153,7 @@ void m68k_op_or_32_re_ai(void) } -void m68k_op_or_32_re_pi(void) +void m68k_op_or_32_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_32(); uint res = DX | m68ki_read_32(ea); @@ -2166,7 +2167,7 @@ void m68k_op_or_32_re_pi(void) } -void m68k_op_or_32_re_pd(void) +void m68k_op_or_32_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_32(); uint res = DX | m68ki_read_32(ea); @@ -2180,7 +2181,7 @@ void m68k_op_or_32_re_pd(void) } -void m68k_op_or_32_re_di(void) +void m68k_op_or_32_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); uint res = DX | m68ki_read_32(ea); @@ -2194,7 +2195,7 @@ void m68k_op_or_32_re_di(void) } -void m68k_op_or_32_re_ix(void) +void m68k_op_or_32_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_32(); uint res = DX | m68ki_read_32(ea); @@ -2208,7 +2209,7 @@ void m68k_op_or_32_re_ix(void) } -void m68k_op_or_32_re_aw(void) +void m68k_op_or_32_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_32(); uint res = DX | m68ki_read_32(ea); @@ -2222,7 +2223,7 @@ void m68k_op_or_32_re_aw(void) } -void m68k_op_or_32_re_al(void) +void m68k_op_or_32_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_32(); uint res = DX | m68ki_read_32(ea); @@ -2236,7 +2237,7 @@ void m68k_op_or_32_re_al(void) } -void m68k_op_ori_8_d(void) +void m68k_op_ori_8_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8((DY |= OPER_I_8())); @@ -2247,7 +2248,7 @@ void m68k_op_ori_8_d(void) } -void m68k_op_ori_8_ai(void) +void m68k_op_ori_8_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_AI_8(); @@ -2262,7 +2263,7 @@ void m68k_op_ori_8_ai(void) } -void m68k_op_ori_8_pi(void) +void m68k_op_ori_8_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_PI_8(); @@ -2277,7 +2278,7 @@ void m68k_op_ori_8_pi(void) } -void m68k_op_ori_8_pi7(void) +void m68k_op_ori_8_pi7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_A7_PI_8(); @@ -2292,7 +2293,7 @@ void m68k_op_ori_8_pi7(void) } -void m68k_op_ori_8_pd(void) +void m68k_op_ori_8_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_PD_8(); @@ -2307,7 +2308,7 @@ void m68k_op_ori_8_pd(void) } -void m68k_op_ori_8_pd7(void) +void m68k_op_ori_8_pd7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_A7_PD_8(); @@ -2322,7 +2323,7 @@ void m68k_op_ori_8_pd7(void) } -void m68k_op_ori_8_di(void) +void m68k_op_ori_8_di(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_DI_8(); @@ -2337,7 +2338,7 @@ void m68k_op_ori_8_di(void) } -void m68k_op_ori_8_ix(void) +void m68k_op_ori_8_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_IX_8(); @@ -2352,7 +2353,7 @@ void m68k_op_ori_8_ix(void) } -void m68k_op_ori_8_aw(void) +void m68k_op_ori_8_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AW_8(); @@ -2367,7 +2368,7 @@ void m68k_op_ori_8_aw(void) } -void m68k_op_ori_8_al(void) +void m68k_op_ori_8_al(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AL_8(); @@ -2382,7 +2383,7 @@ void m68k_op_ori_8_al(void) } -void m68k_op_ori_16_d(void) +void m68k_op_ori_16_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY |= OPER_I_16()); @@ -2393,7 +2394,7 @@ void m68k_op_ori_16_d(void) } -void m68k_op_ori_16_ai(void) +void m68k_op_ori_16_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_AI_16(); @@ -2408,7 +2409,7 @@ void m68k_op_ori_16_ai(void) } -void m68k_op_ori_16_pi(void) +void m68k_op_ori_16_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_PI_16(); @@ -2423,7 +2424,7 @@ void m68k_op_ori_16_pi(void) } -void m68k_op_ori_16_pd(void) +void m68k_op_ori_16_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_PD_16(); @@ -2438,7 +2439,7 @@ void m68k_op_ori_16_pd(void) } -void m68k_op_ori_16_di(void) +void m68k_op_ori_16_di(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_DI_16(); @@ -2453,7 +2454,7 @@ void m68k_op_ori_16_di(void) } -void m68k_op_ori_16_ix(void) +void m68k_op_ori_16_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_IX_16(); @@ -2468,7 +2469,7 @@ void m68k_op_ori_16_ix(void) } -void m68k_op_ori_16_aw(void) +void m68k_op_ori_16_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AW_16(); @@ -2483,7 +2484,7 @@ void m68k_op_ori_16_aw(void) } -void m68k_op_ori_16_al(void) +void m68k_op_ori_16_al(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AL_16(); @@ -2498,7 +2499,7 @@ void m68k_op_ori_16_al(void) } -void m68k_op_ori_32_d(void) +void m68k_op_ori_32_d(m68ki_cpu_core *cpu) { uint res = DY |= OPER_I_32(); @@ -2509,7 +2510,7 @@ void m68k_op_ori_32_d(void) } -void m68k_op_ori_32_ai(void) +void m68k_op_ori_32_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_AI_32(); @@ -2524,7 +2525,7 @@ void m68k_op_ori_32_ai(void) } -void m68k_op_ori_32_pi(void) +void m68k_op_ori_32_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_PI_32(); @@ -2539,7 +2540,7 @@ void m68k_op_ori_32_pi(void) } -void m68k_op_ori_32_pd(void) +void m68k_op_ori_32_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_PD_32(); @@ -2554,7 +2555,7 @@ void m68k_op_ori_32_pd(void) } -void m68k_op_ori_32_di(void) +void m68k_op_ori_32_di(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_DI_32(); @@ -2569,7 +2570,7 @@ void m68k_op_ori_32_di(void) } -void m68k_op_ori_32_ix(void) +void m68k_op_ori_32_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_IX_32(); @@ -2584,7 +2585,7 @@ void m68k_op_ori_32_ix(void) } -void m68k_op_ori_32_aw(void) +void m68k_op_ori_32_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AW_32(); @@ -2599,7 +2600,7 @@ void m68k_op_ori_32_aw(void) } -void m68k_op_ori_32_al(void) +void m68k_op_ori_32_al(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AL_32(); @@ -2614,26 +2615,26 @@ void m68k_op_ori_32_al(void) } -void m68k_op_ori_16_toc(void) +void m68k_op_ori_16_toc(m68ki_cpu_core *cpu) { - m68ki_set_ccr(m68ki_get_ccr() | OPER_I_16()); + m68ki_set_ccr(cpu, m68ki_get_ccr() | OPER_I_16()); } -void m68k_op_ori_16_tos(void) +void m68k_op_ori_16_tos(m68ki_cpu_core *cpu) { if(FLAG_S) { uint src = OPER_I_16(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_sr(m68ki_get_sr() | src); + m68ki_set_sr(cpu, m68ki_get_sr() | src); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_pack_16_rr(void) +void m68k_op_pack_16_rr(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -2644,11 +2645,11 @@ void m68k_op_pack_16_rr(void) *r_dst = MASK_OUT_BELOW_8(*r_dst) | ((src >> 4) & 0x00f0) | (src & 0x000f); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_pack_16_mm_ax7(void) +void m68k_op_pack_16_mm_ax7(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -2661,11 +2662,11 @@ void m68k_op_pack_16_mm_ax7(void) m68ki_write_8(EA_A7_PD_8(), ((src >> 4) & 0x00f0) | (src & 0x000f)); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_pack_16_mm_ay7(void) +void m68k_op_pack_16_mm_ay7(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -2678,11 +2679,11 @@ void m68k_op_pack_16_mm_ay7(void) m68ki_write_8(EA_AX_PD_8(), ((src >> 4) & 0x00f0) | (src & 0x000f)); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_pack_16_mm_axy7(void) +void m68k_op_pack_16_mm_axy7(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -2694,11 +2695,11 @@ void m68k_op_pack_16_mm_axy7(void) m68ki_write_8(EA_A7_PD_8(), ((src >> 4) & 0x00f0) | (src & 0x000f)); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_pack_16_mm(void) +void m68k_op_pack_16_mm(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -2711,67 +2712,67 @@ void m68k_op_pack_16_mm(void) m68ki_write_8(EA_AX_PD_8(), ((src >> 4) & 0x00f0) | (src & 0x000f)); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_pea_32_ai(void) +void m68k_op_pea_32_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_32(); - m68ki_push_32(ea); + m68ki_push_32(cpu, ea); } -void m68k_op_pea_32_di(void) +void m68k_op_pea_32_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); - m68ki_push_32(ea); + m68ki_push_32(cpu, ea); } -void m68k_op_pea_32_ix(void) +void m68k_op_pea_32_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_32(); - m68ki_push_32(ea); + m68ki_push_32(cpu, ea); } -void m68k_op_pea_32_aw(void) +void m68k_op_pea_32_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_32(); - m68ki_push_32(ea); + m68ki_push_32(cpu, ea); } -void m68k_op_pea_32_al(void) +void m68k_op_pea_32_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_32(); - m68ki_push_32(ea); + m68ki_push_32(cpu, ea); } -void m68k_op_pea_32_pcdi(void) +void m68k_op_pea_32_pcdi(m68ki_cpu_core *cpu) { uint ea = EA_PCDI_32(); - m68ki_push_32(ea); + m68ki_push_32(cpu, ea); } -void m68k_op_pea_32_pcix(void) +void m68k_op_pea_32_pcix(m68ki_cpu_core *cpu) { uint ea = EA_PCIX_32(); - m68ki_push_32(ea); + m68ki_push_32(cpu, ea); } -void m68k_op_reset(void) +void m68k_op_reset(m68ki_cpu_core *cpu) { if(FLAG_S) { @@ -2779,11 +2780,11 @@ void m68k_op_reset(void) USE_CYCLES(CYC_RESET); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_ror_8_s(void) +void m68k_op_ror_8_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -2800,7 +2801,7 @@ void m68k_op_ror_8_s(void) } -void m68k_op_ror_16_s(void) +void m68k_op_ror_16_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -2816,7 +2817,7 @@ void m68k_op_ror_16_s(void) } -void m68k_op_ror_32_s(void) +void m68k_op_ror_32_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -2832,7 +2833,7 @@ void m68k_op_ror_32_s(void) } -void m68k_op_ror_8_r(void) +void m68k_op_ror_8_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = DX & 0x3f; @@ -2859,7 +2860,7 @@ void m68k_op_ror_8_r(void) } -void m68k_op_ror_16_r(void) +void m68k_op_ror_16_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = DX & 0x3f; @@ -2886,7 +2887,7 @@ void m68k_op_ror_16_r(void) } -void m68k_op_ror_32_r(void) +void m68k_op_ror_32_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = DX & 0x3f; @@ -2913,7 +2914,7 @@ void m68k_op_ror_32_r(void) } -void m68k_op_ror_16_ai(void) +void m68k_op_ror_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = m68ki_read_16(ea); @@ -2928,7 +2929,7 @@ void m68k_op_ror_16_ai(void) } -void m68k_op_ror_16_pi(void) +void m68k_op_ror_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = m68ki_read_16(ea); @@ -2943,7 +2944,7 @@ void m68k_op_ror_16_pi(void) } -void m68k_op_ror_16_pd(void) +void m68k_op_ror_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = m68ki_read_16(ea); @@ -2958,7 +2959,7 @@ void m68k_op_ror_16_pd(void) } -void m68k_op_ror_16_di(void) +void m68k_op_ror_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = m68ki_read_16(ea); @@ -2973,7 +2974,7 @@ void m68k_op_ror_16_di(void) } -void m68k_op_ror_16_ix(void) +void m68k_op_ror_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = m68ki_read_16(ea); @@ -2988,7 +2989,7 @@ void m68k_op_ror_16_ix(void) } -void m68k_op_ror_16_aw(void) +void m68k_op_ror_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = m68ki_read_16(ea); @@ -3003,7 +3004,7 @@ void m68k_op_ror_16_aw(void) } -void m68k_op_ror_16_al(void) +void m68k_op_ror_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = m68ki_read_16(ea); @@ -3018,7 +3019,7 @@ void m68k_op_ror_16_al(void) } -void m68k_op_rol_8_s(void) +void m68k_op_rol_8_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3035,7 +3036,7 @@ void m68k_op_rol_8_s(void) } -void m68k_op_rol_16_s(void) +void m68k_op_rol_16_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3051,7 +3052,7 @@ void m68k_op_rol_16_s(void) } -void m68k_op_rol_32_s(void) +void m68k_op_rol_32_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3067,7 +3068,7 @@ void m68k_op_rol_32_s(void) } -void m68k_op_rol_8_r(void) +void m68k_op_rol_8_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = DX & 0x3f; @@ -3102,7 +3103,7 @@ void m68k_op_rol_8_r(void) } -void m68k_op_rol_16_r(void) +void m68k_op_rol_16_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = DX & 0x3f; @@ -3137,7 +3138,7 @@ void m68k_op_rol_16_r(void) } -void m68k_op_rol_32_r(void) +void m68k_op_rol_32_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = DX & 0x3f; @@ -3165,7 +3166,7 @@ void m68k_op_rol_32_r(void) } -void m68k_op_rol_16_ai(void) +void m68k_op_rol_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = m68ki_read_16(ea); @@ -3180,7 +3181,7 @@ void m68k_op_rol_16_ai(void) } -void m68k_op_rol_16_pi(void) +void m68k_op_rol_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = m68ki_read_16(ea); @@ -3195,7 +3196,7 @@ void m68k_op_rol_16_pi(void) } -void m68k_op_rol_16_pd(void) +void m68k_op_rol_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = m68ki_read_16(ea); @@ -3210,7 +3211,7 @@ void m68k_op_rol_16_pd(void) } -void m68k_op_rol_16_di(void) +void m68k_op_rol_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = m68ki_read_16(ea); @@ -3225,7 +3226,7 @@ void m68k_op_rol_16_di(void) } -void m68k_op_rol_16_ix(void) +void m68k_op_rol_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = m68ki_read_16(ea); @@ -3240,7 +3241,7 @@ void m68k_op_rol_16_ix(void) } -void m68k_op_rol_16_aw(void) +void m68k_op_rol_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = m68ki_read_16(ea); @@ -3255,7 +3256,7 @@ void m68k_op_rol_16_aw(void) } -void m68k_op_rol_16_al(void) +void m68k_op_rol_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = m68ki_read_16(ea); @@ -3270,7 +3271,7 @@ void m68k_op_rol_16_al(void) } -void m68k_op_roxr_8_s(void) +void m68k_op_roxr_8_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3288,7 +3289,7 @@ void m68k_op_roxr_8_s(void) } -void m68k_op_roxr_16_s(void) +void m68k_op_roxr_16_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3306,7 +3307,7 @@ void m68k_op_roxr_16_s(void) } -void m68k_op_roxr_32_s(void) +void m68k_op_roxr_32_s(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT @@ -3345,7 +3346,7 @@ void m68k_op_roxr_32_s(void) } -void m68k_op_roxr_8_r(void) +void m68k_op_roxr_8_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = DX & 0x3f; @@ -3375,7 +3376,7 @@ void m68k_op_roxr_8_r(void) } -void m68k_op_roxr_16_r(void) +void m68k_op_roxr_16_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = DX & 0x3f; @@ -3405,7 +3406,7 @@ void m68k_op_roxr_16_r(void) } -void m68k_op_roxr_32_r(void) +void m68k_op_roxr_32_r(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT @@ -3465,7 +3466,7 @@ void m68k_op_roxr_32_r(void) } -void m68k_op_roxr_16_ai(void) +void m68k_op_roxr_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = m68ki_read_16(ea); @@ -3482,7 +3483,7 @@ void m68k_op_roxr_16_ai(void) } -void m68k_op_roxr_16_pi(void) +void m68k_op_roxr_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = m68ki_read_16(ea); @@ -3499,7 +3500,7 @@ void m68k_op_roxr_16_pi(void) } -void m68k_op_roxr_16_pd(void) +void m68k_op_roxr_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = m68ki_read_16(ea); @@ -3516,7 +3517,7 @@ void m68k_op_roxr_16_pd(void) } -void m68k_op_roxr_16_di(void) +void m68k_op_roxr_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = m68ki_read_16(ea); @@ -3533,7 +3534,7 @@ void m68k_op_roxr_16_di(void) } -void m68k_op_roxr_16_ix(void) +void m68k_op_roxr_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = m68ki_read_16(ea); @@ -3550,7 +3551,7 @@ void m68k_op_roxr_16_ix(void) } -void m68k_op_roxr_16_aw(void) +void m68k_op_roxr_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = m68ki_read_16(ea); @@ -3567,7 +3568,7 @@ void m68k_op_roxr_16_aw(void) } -void m68k_op_roxr_16_al(void) +void m68k_op_roxr_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = m68ki_read_16(ea); @@ -3584,7 +3585,7 @@ void m68k_op_roxr_16_al(void) } -void m68k_op_roxl_8_s(void) +void m68k_op_roxl_8_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3602,7 +3603,7 @@ void m68k_op_roxl_8_s(void) } -void m68k_op_roxl_16_s(void) +void m68k_op_roxl_16_s(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint shift = (((REG_IR >> 9) - 1) & 7) + 1; @@ -3620,7 +3621,7 @@ void m68k_op_roxl_16_s(void) } -void m68k_op_roxl_32_s(void) +void m68k_op_roxl_32_s(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT @@ -3659,7 +3660,7 @@ void m68k_op_roxl_32_s(void) } -void m68k_op_roxl_8_r(void) +void m68k_op_roxl_8_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = DX & 0x3f; @@ -3690,7 +3691,7 @@ void m68k_op_roxl_8_r(void) } -void m68k_op_roxl_16_r(void) +void m68k_op_roxl_16_r(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint orig_shift = DX & 0x3f; @@ -3720,7 +3721,7 @@ void m68k_op_roxl_16_r(void) } -void m68k_op_roxl_32_r(void) +void m68k_op_roxl_32_r(m68ki_cpu_core *cpu) { #if M68K_USE_64_BIT @@ -3780,7 +3781,7 @@ void m68k_op_roxl_32_r(void) } -void m68k_op_roxl_16_ai(void) +void m68k_op_roxl_16_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = m68ki_read_16(ea); @@ -3797,7 +3798,7 @@ void m68k_op_roxl_16_ai(void) } -void m68k_op_roxl_16_pi(void) +void m68k_op_roxl_16_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = m68ki_read_16(ea); @@ -3814,7 +3815,7 @@ void m68k_op_roxl_16_pi(void) } -void m68k_op_roxl_16_pd(void) +void m68k_op_roxl_16_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = m68ki_read_16(ea); @@ -3831,7 +3832,7 @@ void m68k_op_roxl_16_pd(void) } -void m68k_op_roxl_16_di(void) +void m68k_op_roxl_16_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = m68ki_read_16(ea); @@ -3848,7 +3849,7 @@ void m68k_op_roxl_16_di(void) } -void m68k_op_roxl_16_ix(void) +void m68k_op_roxl_16_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = m68ki_read_16(ea); @@ -3865,7 +3866,7 @@ void m68k_op_roxl_16_ix(void) } -void m68k_op_roxl_16_aw(void) +void m68k_op_roxl_16_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = m68ki_read_16(ea); @@ -3882,7 +3883,7 @@ void m68k_op_roxl_16_aw(void) } -void m68k_op_roxl_16_al(void) +void m68k_op_roxl_16_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = m68ki_read_16(ea); @@ -3899,22 +3900,22 @@ void m68k_op_roxl_16_al(void) } -void m68k_op_rtd_32(void) +void m68k_op_rtd_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_010_PLUS(CPU_TYPE)) { - uint new_pc = m68ki_pull_32(); + uint new_pc = m68ki_pull_32(cpu); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ REG_A[7] = MASK_OUT_ABOVE_32(REG_A[7] + MAKE_INT_16(OPER_I_16())); - m68ki_jump(new_pc); + m68ki_jump(cpu, new_pc); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_rte_32(void) +void m68k_op_rte_32(m68ki_cpu_core *cpu) { if(FLAG_S) { @@ -3926,10 +3927,10 @@ void m68k_op_rte_32(void) if(CPU_TYPE_IS_000(CPU_TYPE)) { - new_sr = m68ki_pull_16(); - new_pc = m68ki_pull_32(); - m68ki_jump(new_pc); - m68ki_set_sr(new_sr); + new_sr = m68ki_pull_16(cpu); + new_pc = m68ki_pull_32(cpu); + m68ki_jump(cpu, new_pc); + m68ki_set_sr(cpu, new_sr); CPU_INSTR_MODE = INSTRUCTION_YES; CPU_RUN_MODE = RUN_MODE_NORMAL; @@ -3942,11 +3943,11 @@ void m68k_op_rte_32(void) format_word = m68ki_read_16(REG_A[7]+6) >> 12; if(format_word == 0) { - new_sr = m68ki_pull_16(); - new_pc = m68ki_pull_32(); - m68ki_fake_pull_16(); /* format word */ - m68ki_jump(new_pc); - m68ki_set_sr(new_sr); + new_sr = m68ki_pull_16(cpu); + new_pc = m68ki_pull_32(cpu); + m68ki_fake_pull_16(cpu); /* format word */ + m68ki_jump(cpu, new_pc); + m68ki_set_sr(cpu, new_sr); CPU_INSTR_MODE = INSTRUCTION_YES; CPU_RUN_MODE = RUN_MODE_NORMAL; return; @@ -3954,7 +3955,7 @@ void m68k_op_rte_32(void) CPU_INSTR_MODE = INSTRUCTION_YES; CPU_RUN_MODE = RUN_MODE_NORMAL; /* Not handling bus fault (9) */ - m68ki_exception_format_error(); + m68ki_exception_format_error(cpu); return; } @@ -3964,27 +3965,27 @@ rte_loop: switch(format_word) { case 0: /* Normal */ - new_sr = m68ki_pull_16(); - new_pc = m68ki_pull_32(); - m68ki_fake_pull_16(); /* format word */ - m68ki_jump(new_pc); - m68ki_set_sr(new_sr); + new_sr = m68ki_pull_16(cpu); + new_pc = m68ki_pull_32(cpu); + m68ki_fake_pull_16(cpu); /* format word */ + m68ki_jump(cpu, new_pc); + m68ki_set_sr(cpu, new_sr); CPU_INSTR_MODE = INSTRUCTION_YES; CPU_RUN_MODE = RUN_MODE_NORMAL; return; case 1: /* Throwaway */ - new_sr = m68ki_pull_16(); - m68ki_fake_pull_32(); /* program counter */ - m68ki_fake_pull_16(); /* format word */ - m68ki_set_sr_noint(new_sr); + new_sr = m68ki_pull_16(cpu); + m68ki_fake_pull_32(cpu); /* program counter */ + m68ki_fake_pull_16(cpu); /* format word */ + m68ki_set_sr_noint(cpu, new_sr); goto rte_loop; case 2: /* Trap */ - new_sr = m68ki_pull_16(); - new_pc = m68ki_pull_32(); - m68ki_fake_pull_16(); /* format word */ - m68ki_fake_pull_32(); /* address */ - m68ki_jump(new_pc); - m68ki_set_sr(new_sr); + new_sr = m68ki_pull_16(cpu); + new_pc = m68ki_pull_32(cpu); + m68ki_fake_pull_16(cpu); /* format word */ + m68ki_fake_pull_32(cpu); /* address */ + m68ki_jump(cpu, new_pc); + m68ki_set_sr(cpu, new_sr); CPU_INSTR_MODE = INSTRUCTION_YES; CPU_RUN_MODE = RUN_MODE_NORMAL; return; @@ -3992,14 +3993,14 @@ rte_loop: /* Not handling long or short bus fault */ CPU_INSTR_MODE = INSTRUCTION_YES; CPU_RUN_MODE = RUN_MODE_NORMAL; - m68ki_exception_format_error(); + m68ki_exception_format_error(cpu); return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_rtm_32(void) +void m68k_op_rtm_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_020_VARIANT(CPU_TYPE)) { @@ -4009,26 +4010,26 @@ void m68k_op_rtm_32(void) m68k_disassemble_quick(ADDRESS_68K(REG_PC - 2)))); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_rtr_32(void) +void m68k_op_rtr_32(m68ki_cpu_core *cpu) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_set_ccr(m68ki_pull_16()); - m68ki_jump(m68ki_pull_32()); + m68ki_set_ccr(cpu, m68ki_pull_16(cpu)); + m68ki_jump(cpu, m68ki_pull_32(cpu)); } -void m68k_op_rts_32(void) +void m68k_op_rts_32(m68ki_cpu_core *cpu) { m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ - m68ki_jump(m68ki_pull_32()); + m68ki_jump(cpu, m68ki_pull_32(cpu)); } -void m68k_op_sbcd_8_rr(void) +void m68k_op_sbcd_8_rr(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = DY; @@ -4054,9 +4055,9 @@ void m68k_op_sbcd_8_rr(void) } -void m68k_op_sbcd_8_mm_ax7(void) +void m68k_op_sbcd_8_mm_ax7(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint ea = EA_A7_PD_8(); uint dst = m68ki_read_8(ea); uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1(); @@ -4080,9 +4081,9 @@ void m68k_op_sbcd_8_mm_ax7(void) } -void m68k_op_sbcd_8_mm_ay7(void) +void m68k_op_sbcd_8_mm_ay7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint ea = EA_AX_PD_8(); uint dst = m68ki_read_8(ea); uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1(); @@ -4106,9 +4107,9 @@ void m68k_op_sbcd_8_mm_ay7(void) } -void m68k_op_sbcd_8_mm_axy7(void) +void m68k_op_sbcd_8_mm_axy7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint ea = EA_A7_PD_8(); uint dst = m68ki_read_8(ea); uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1(); @@ -4132,9 +4133,9 @@ void m68k_op_sbcd_8_mm_axy7(void) } -void m68k_op_sbcd_8_mm(void) +void m68k_op_sbcd_8_mm(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint ea = EA_AX_PD_8(); uint dst = m68ki_read_8(ea); uint res = LOW_NIBBLE(dst) - LOW_NIBBLE(src) - XFLAG_AS_1(); @@ -4158,127 +4159,127 @@ void m68k_op_sbcd_8_mm(void) } -void m68k_op_st_8_d(void) +void m68k_op_st_8_d(m68ki_cpu_core *cpu) { DY |= 0xff; } -void m68k_op_st_8_ai(void) +void m68k_op_st_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), 0xff); } -void m68k_op_st_8_pi(void) +void m68k_op_st_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), 0xff); } -void m68k_op_st_8_pi7(void) +void m68k_op_st_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), 0xff); } -void m68k_op_st_8_pd(void) +void m68k_op_st_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), 0xff); } -void m68k_op_st_8_pd7(void) +void m68k_op_st_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), 0xff); } -void m68k_op_st_8_di(void) +void m68k_op_st_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), 0xff); } -void m68k_op_st_8_ix(void) +void m68k_op_st_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), 0xff); } -void m68k_op_st_8_aw(void) +void m68k_op_st_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), 0xff); } -void m68k_op_st_8_al(void) +void m68k_op_st_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), 0xff); } -void m68k_op_sf_8_d(void) +void m68k_op_sf_8_d(m68ki_cpu_core *cpu) { DY &= 0xffffff00; } -void m68k_op_sf_8_ai(void) +void m68k_op_sf_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), 0); } -void m68k_op_sf_8_pi(void) +void m68k_op_sf_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), 0); } -void m68k_op_sf_8_pi7(void) +void m68k_op_sf_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), 0); } -void m68k_op_sf_8_pd(void) +void m68k_op_sf_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), 0); } -void m68k_op_sf_8_pd7(void) +void m68k_op_sf_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), 0); } -void m68k_op_sf_8_di(void) +void m68k_op_sf_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), 0); } -void m68k_op_sf_8_ix(void) +void m68k_op_sf_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), 0); } -void m68k_op_sf_8_aw(void) +void m68k_op_sf_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), 0); } -void m68k_op_sf_8_al(void) +void m68k_op_sf_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), 0); } -void m68k_op_shi_8_d(void) +void m68k_op_shi_8_d(m68ki_cpu_core *cpu) { if(COND_HI()) { @@ -4289,7 +4290,7 @@ void m68k_op_shi_8_d(void) } -void m68k_op_sls_8_d(void) +void m68k_op_sls_8_d(m68ki_cpu_core *cpu) { if(COND_LS()) { @@ -4300,7 +4301,7 @@ void m68k_op_sls_8_d(void) } -void m68k_op_scc_8_d(void) +void m68k_op_scc_8_d(m68ki_cpu_core *cpu) { if(COND_CC()) { @@ -4311,7 +4312,7 @@ void m68k_op_scc_8_d(void) } -void m68k_op_scs_8_d(void) +void m68k_op_scs_8_d(m68ki_cpu_core *cpu) { if(COND_CS()) { @@ -4322,7 +4323,7 @@ void m68k_op_scs_8_d(void) } -void m68k_op_sne_8_d(void) +void m68k_op_sne_8_d(m68ki_cpu_core *cpu) { if(COND_NE()) { @@ -4333,7 +4334,7 @@ void m68k_op_sne_8_d(void) } -void m68k_op_seq_8_d(void) +void m68k_op_seq_8_d(m68ki_cpu_core *cpu) { if(COND_EQ()) { @@ -4344,7 +4345,7 @@ void m68k_op_seq_8_d(void) } -void m68k_op_svc_8_d(void) +void m68k_op_svc_8_d(m68ki_cpu_core *cpu) { if(COND_VC()) { @@ -4355,7 +4356,7 @@ void m68k_op_svc_8_d(void) } -void m68k_op_svs_8_d(void) +void m68k_op_svs_8_d(m68ki_cpu_core *cpu) { if(COND_VS()) { @@ -4366,7 +4367,7 @@ void m68k_op_svs_8_d(void) } -void m68k_op_spl_8_d(void) +void m68k_op_spl_8_d(m68ki_cpu_core *cpu) { if(COND_PL()) { @@ -4377,7 +4378,7 @@ void m68k_op_spl_8_d(void) } -void m68k_op_smi_8_d(void) +void m68k_op_smi_8_d(m68ki_cpu_core *cpu) { if(COND_MI()) { @@ -4388,7 +4389,7 @@ void m68k_op_smi_8_d(void) } -void m68k_op_sge_8_d(void) +void m68k_op_sge_8_d(m68ki_cpu_core *cpu) { if(COND_GE()) { @@ -4399,7 +4400,7 @@ void m68k_op_sge_8_d(void) } -void m68k_op_slt_8_d(void) +void m68k_op_slt_8_d(m68ki_cpu_core *cpu) { if(COND_LT()) { @@ -4410,7 +4411,7 @@ void m68k_op_slt_8_d(void) } -void m68k_op_sgt_8_d(void) +void m68k_op_sgt_8_d(m68ki_cpu_core *cpu) { if(COND_GT()) { @@ -4421,7 +4422,7 @@ void m68k_op_sgt_8_d(void) } -void m68k_op_sle_8_d(void) +void m68k_op_sle_8_d(m68ki_cpu_core *cpu) { if(COND_LE()) { @@ -4432,778 +4433,778 @@ void m68k_op_sle_8_d(void) } -void m68k_op_shi_8_ai(void) +void m68k_op_shi_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_HI() ? 0xff : 0); } -void m68k_op_shi_8_pi(void) +void m68k_op_shi_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_HI() ? 0xff : 0); } -void m68k_op_shi_8_pi7(void) +void m68k_op_shi_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_HI() ? 0xff : 0); } -void m68k_op_shi_8_pd(void) +void m68k_op_shi_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_HI() ? 0xff : 0); } -void m68k_op_shi_8_pd7(void) +void m68k_op_shi_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_HI() ? 0xff : 0); } -void m68k_op_shi_8_di(void) +void m68k_op_shi_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_HI() ? 0xff : 0); } -void m68k_op_shi_8_ix(void) +void m68k_op_shi_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_HI() ? 0xff : 0); } -void m68k_op_shi_8_aw(void) +void m68k_op_shi_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_HI() ? 0xff : 0); } -void m68k_op_shi_8_al(void) +void m68k_op_shi_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_HI() ? 0xff : 0); } -void m68k_op_sls_8_ai(void) +void m68k_op_sls_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_LS() ? 0xff : 0); } -void m68k_op_sls_8_pi(void) +void m68k_op_sls_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_LS() ? 0xff : 0); } -void m68k_op_sls_8_pi7(void) +void m68k_op_sls_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_LS() ? 0xff : 0); } -void m68k_op_sls_8_pd(void) +void m68k_op_sls_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_LS() ? 0xff : 0); } -void m68k_op_sls_8_pd7(void) +void m68k_op_sls_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_LS() ? 0xff : 0); } -void m68k_op_sls_8_di(void) +void m68k_op_sls_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_LS() ? 0xff : 0); } -void m68k_op_sls_8_ix(void) +void m68k_op_sls_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_LS() ? 0xff : 0); } -void m68k_op_sls_8_aw(void) +void m68k_op_sls_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_LS() ? 0xff : 0); } -void m68k_op_sls_8_al(void) +void m68k_op_sls_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_LS() ? 0xff : 0); } -void m68k_op_scc_8_ai(void) +void m68k_op_scc_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_CC() ? 0xff : 0); } -void m68k_op_scc_8_pi(void) +void m68k_op_scc_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_CC() ? 0xff : 0); } -void m68k_op_scc_8_pi7(void) +void m68k_op_scc_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_CC() ? 0xff : 0); } -void m68k_op_scc_8_pd(void) +void m68k_op_scc_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_CC() ? 0xff : 0); } -void m68k_op_scc_8_pd7(void) +void m68k_op_scc_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_CC() ? 0xff : 0); } -void m68k_op_scc_8_di(void) +void m68k_op_scc_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_CC() ? 0xff : 0); } -void m68k_op_scc_8_ix(void) +void m68k_op_scc_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_CC() ? 0xff : 0); } -void m68k_op_scc_8_aw(void) +void m68k_op_scc_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_CC() ? 0xff : 0); } -void m68k_op_scc_8_al(void) +void m68k_op_scc_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_CC() ? 0xff : 0); } -void m68k_op_scs_8_ai(void) +void m68k_op_scs_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_CS() ? 0xff : 0); } -void m68k_op_scs_8_pi(void) +void m68k_op_scs_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_CS() ? 0xff : 0); } -void m68k_op_scs_8_pi7(void) +void m68k_op_scs_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_CS() ? 0xff : 0); } -void m68k_op_scs_8_pd(void) +void m68k_op_scs_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_CS() ? 0xff : 0); } -void m68k_op_scs_8_pd7(void) +void m68k_op_scs_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_CS() ? 0xff : 0); } -void m68k_op_scs_8_di(void) +void m68k_op_scs_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_CS() ? 0xff : 0); } -void m68k_op_scs_8_ix(void) +void m68k_op_scs_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_CS() ? 0xff : 0); } -void m68k_op_scs_8_aw(void) +void m68k_op_scs_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_CS() ? 0xff : 0); } -void m68k_op_scs_8_al(void) +void m68k_op_scs_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_CS() ? 0xff : 0); } -void m68k_op_sne_8_ai(void) +void m68k_op_sne_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_NE() ? 0xff : 0); } -void m68k_op_sne_8_pi(void) +void m68k_op_sne_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_NE() ? 0xff : 0); } -void m68k_op_sne_8_pi7(void) +void m68k_op_sne_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_NE() ? 0xff : 0); } -void m68k_op_sne_8_pd(void) +void m68k_op_sne_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_NE() ? 0xff : 0); } -void m68k_op_sne_8_pd7(void) +void m68k_op_sne_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_NE() ? 0xff : 0); } -void m68k_op_sne_8_di(void) +void m68k_op_sne_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_NE() ? 0xff : 0); } -void m68k_op_sne_8_ix(void) +void m68k_op_sne_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_NE() ? 0xff : 0); } -void m68k_op_sne_8_aw(void) +void m68k_op_sne_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_NE() ? 0xff : 0); } -void m68k_op_sne_8_al(void) +void m68k_op_sne_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_NE() ? 0xff : 0); } -void m68k_op_seq_8_ai(void) +void m68k_op_seq_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_EQ() ? 0xff : 0); } -void m68k_op_seq_8_pi(void) +void m68k_op_seq_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_EQ() ? 0xff : 0); } -void m68k_op_seq_8_pi7(void) +void m68k_op_seq_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_EQ() ? 0xff : 0); } -void m68k_op_seq_8_pd(void) +void m68k_op_seq_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_EQ() ? 0xff : 0); } -void m68k_op_seq_8_pd7(void) +void m68k_op_seq_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_EQ() ? 0xff : 0); } -void m68k_op_seq_8_di(void) +void m68k_op_seq_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_EQ() ? 0xff : 0); } -void m68k_op_seq_8_ix(void) +void m68k_op_seq_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_EQ() ? 0xff : 0); } -void m68k_op_seq_8_aw(void) +void m68k_op_seq_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_EQ() ? 0xff : 0); } -void m68k_op_seq_8_al(void) +void m68k_op_seq_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_EQ() ? 0xff : 0); } -void m68k_op_svc_8_ai(void) +void m68k_op_svc_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_VC() ? 0xff : 0); } -void m68k_op_svc_8_pi(void) +void m68k_op_svc_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_VC() ? 0xff : 0); } -void m68k_op_svc_8_pi7(void) +void m68k_op_svc_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_VC() ? 0xff : 0); } -void m68k_op_svc_8_pd(void) +void m68k_op_svc_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_VC() ? 0xff : 0); } -void m68k_op_svc_8_pd7(void) +void m68k_op_svc_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_VC() ? 0xff : 0); } -void m68k_op_svc_8_di(void) +void m68k_op_svc_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_VC() ? 0xff : 0); } -void m68k_op_svc_8_ix(void) +void m68k_op_svc_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_VC() ? 0xff : 0); } -void m68k_op_svc_8_aw(void) +void m68k_op_svc_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_VC() ? 0xff : 0); } -void m68k_op_svc_8_al(void) +void m68k_op_svc_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_VC() ? 0xff : 0); } -void m68k_op_svs_8_ai(void) +void m68k_op_svs_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_VS() ? 0xff : 0); } -void m68k_op_svs_8_pi(void) +void m68k_op_svs_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_VS() ? 0xff : 0); } -void m68k_op_svs_8_pi7(void) +void m68k_op_svs_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_VS() ? 0xff : 0); } -void m68k_op_svs_8_pd(void) +void m68k_op_svs_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_VS() ? 0xff : 0); } -void m68k_op_svs_8_pd7(void) +void m68k_op_svs_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_VS() ? 0xff : 0); } -void m68k_op_svs_8_di(void) +void m68k_op_svs_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_VS() ? 0xff : 0); } -void m68k_op_svs_8_ix(void) +void m68k_op_svs_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_VS() ? 0xff : 0); } -void m68k_op_svs_8_aw(void) +void m68k_op_svs_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_VS() ? 0xff : 0); } -void m68k_op_svs_8_al(void) +void m68k_op_svs_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_VS() ? 0xff : 0); } -void m68k_op_spl_8_ai(void) +void m68k_op_spl_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_PL() ? 0xff : 0); } -void m68k_op_spl_8_pi(void) +void m68k_op_spl_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_PL() ? 0xff : 0); } -void m68k_op_spl_8_pi7(void) +void m68k_op_spl_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_PL() ? 0xff : 0); } -void m68k_op_spl_8_pd(void) +void m68k_op_spl_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_PL() ? 0xff : 0); } -void m68k_op_spl_8_pd7(void) +void m68k_op_spl_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_PL() ? 0xff : 0); } -void m68k_op_spl_8_di(void) +void m68k_op_spl_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_PL() ? 0xff : 0); } -void m68k_op_spl_8_ix(void) +void m68k_op_spl_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_PL() ? 0xff : 0); } -void m68k_op_spl_8_aw(void) +void m68k_op_spl_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_PL() ? 0xff : 0); } -void m68k_op_spl_8_al(void) +void m68k_op_spl_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_PL() ? 0xff : 0); } -void m68k_op_smi_8_ai(void) +void m68k_op_smi_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_MI() ? 0xff : 0); } -void m68k_op_smi_8_pi(void) +void m68k_op_smi_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_MI() ? 0xff : 0); } -void m68k_op_smi_8_pi7(void) +void m68k_op_smi_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_MI() ? 0xff : 0); } -void m68k_op_smi_8_pd(void) +void m68k_op_smi_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_MI() ? 0xff : 0); } -void m68k_op_smi_8_pd7(void) +void m68k_op_smi_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_MI() ? 0xff : 0); } -void m68k_op_smi_8_di(void) +void m68k_op_smi_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_MI() ? 0xff : 0); } -void m68k_op_smi_8_ix(void) +void m68k_op_smi_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_MI() ? 0xff : 0); } -void m68k_op_smi_8_aw(void) +void m68k_op_smi_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_MI() ? 0xff : 0); } -void m68k_op_smi_8_al(void) +void m68k_op_smi_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_MI() ? 0xff : 0); } -void m68k_op_sge_8_ai(void) +void m68k_op_sge_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_GE() ? 0xff : 0); } -void m68k_op_sge_8_pi(void) +void m68k_op_sge_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_GE() ? 0xff : 0); } -void m68k_op_sge_8_pi7(void) +void m68k_op_sge_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_GE() ? 0xff : 0); } -void m68k_op_sge_8_pd(void) +void m68k_op_sge_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_GE() ? 0xff : 0); } -void m68k_op_sge_8_pd7(void) +void m68k_op_sge_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_GE() ? 0xff : 0); } -void m68k_op_sge_8_di(void) +void m68k_op_sge_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_GE() ? 0xff : 0); } -void m68k_op_sge_8_ix(void) +void m68k_op_sge_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_GE() ? 0xff : 0); } -void m68k_op_sge_8_aw(void) +void m68k_op_sge_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_GE() ? 0xff : 0); } -void m68k_op_sge_8_al(void) +void m68k_op_sge_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_GE() ? 0xff : 0); } -void m68k_op_slt_8_ai(void) +void m68k_op_slt_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_LT() ? 0xff : 0); } -void m68k_op_slt_8_pi(void) +void m68k_op_slt_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_LT() ? 0xff : 0); } -void m68k_op_slt_8_pi7(void) +void m68k_op_slt_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_LT() ? 0xff : 0); } -void m68k_op_slt_8_pd(void) +void m68k_op_slt_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_LT() ? 0xff : 0); } -void m68k_op_slt_8_pd7(void) +void m68k_op_slt_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_LT() ? 0xff : 0); } -void m68k_op_slt_8_di(void) +void m68k_op_slt_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_LT() ? 0xff : 0); } -void m68k_op_slt_8_ix(void) +void m68k_op_slt_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_LT() ? 0xff : 0); } -void m68k_op_slt_8_aw(void) +void m68k_op_slt_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_LT() ? 0xff : 0); } -void m68k_op_slt_8_al(void) +void m68k_op_slt_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_LT() ? 0xff : 0); } -void m68k_op_sgt_8_ai(void) +void m68k_op_sgt_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_GT() ? 0xff : 0); } -void m68k_op_sgt_8_pi(void) +void m68k_op_sgt_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_GT() ? 0xff : 0); } -void m68k_op_sgt_8_pi7(void) +void m68k_op_sgt_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_GT() ? 0xff : 0); } -void m68k_op_sgt_8_pd(void) +void m68k_op_sgt_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_GT() ? 0xff : 0); } -void m68k_op_sgt_8_pd7(void) +void m68k_op_sgt_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_GT() ? 0xff : 0); } -void m68k_op_sgt_8_di(void) +void m68k_op_sgt_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_GT() ? 0xff : 0); } -void m68k_op_sgt_8_ix(void) +void m68k_op_sgt_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_GT() ? 0xff : 0); } -void m68k_op_sgt_8_aw(void) +void m68k_op_sgt_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_GT() ? 0xff : 0); } -void m68k_op_sgt_8_al(void) +void m68k_op_sgt_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_GT() ? 0xff : 0); } -void m68k_op_sle_8_ai(void) +void m68k_op_sle_8_ai(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_AI_8(), COND_LE() ? 0xff : 0); } -void m68k_op_sle_8_pi(void) +void m68k_op_sle_8_pi(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PI_8(), COND_LE() ? 0xff : 0); } -void m68k_op_sle_8_pi7(void) +void m68k_op_sle_8_pi7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PI_8(), COND_LE() ? 0xff : 0); } -void m68k_op_sle_8_pd(void) +void m68k_op_sle_8_pd(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_PD_8(), COND_LE() ? 0xff : 0); } -void m68k_op_sle_8_pd7(void) +void m68k_op_sle_8_pd7(m68ki_cpu_core *cpu) { m68ki_write_8(EA_A7_PD_8(), COND_LE() ? 0xff : 0); } -void m68k_op_sle_8_di(void) +void m68k_op_sle_8_di(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_DI_8(), COND_LE() ? 0xff : 0); } -void m68k_op_sle_8_ix(void) +void m68k_op_sle_8_ix(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AY_IX_8(), COND_LE() ? 0xff : 0); } -void m68k_op_sle_8_aw(void) +void m68k_op_sle_8_aw(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AW_8(), COND_LE() ? 0xff : 0); } -void m68k_op_sle_8_al(void) +void m68k_op_sle_8_al(m68ki_cpu_core *cpu) { m68ki_write_8(EA_AL_8(), COND_LE() ? 0xff : 0); } -void m68k_op_stop(void) +void m68k_op_stop(m68ki_cpu_core *cpu) { if(FLAG_S) { uint new_sr = OPER_I_16(); m68ki_trace_t0(); /* auto-disable (see m68kcpu.h) */ CPU_STOPPED |= STOP_LEVEL_STOP; - m68ki_set_sr(new_sr); - m68ki_remaining_cycles = 0; + m68ki_set_sr(cpu, new_sr); + cpu->m68ki_remaining_cycles = 0; return; } - m68ki_exception_privilege_violation(); + m68ki_exception_privilege_violation(cpu); } -void m68k_op_sub_8_er_d(void) +void m68k_op_sub_8_er_d(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = MASK_OUT_ABOVE_8(DY); @@ -5219,10 +5220,10 @@ void m68k_op_sub_8_er_d(void) } -void m68k_op_sub_8_er_ai(void) +void m68k_op_sub_8_er_ai(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_AI_8(); + uint src = OPER_AY_AI_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = dst - src; @@ -5235,10 +5236,10 @@ void m68k_op_sub_8_er_ai(void) } -void m68k_op_sub_8_er_pi(void) +void m68k_op_sub_8_er_pi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PI_8(); + uint src = OPER_AY_PI_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = dst - src; @@ -5251,10 +5252,10 @@ void m68k_op_sub_8_er_pi(void) } -void m68k_op_sub_8_er_pi7(void) +void m68k_op_sub_8_er_pi7(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_A7_PI_8(); + uint src = OPER_A7_PI_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = dst - src; @@ -5267,10 +5268,10 @@ void m68k_op_sub_8_er_pi7(void) } -void m68k_op_sub_8_er_pd(void) +void m68k_op_sub_8_er_pd(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = dst - src; @@ -5283,10 +5284,10 @@ void m68k_op_sub_8_er_pd(void) } -void m68k_op_sub_8_er_pd7(void) +void m68k_op_sub_8_er_pd7(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = dst - src; @@ -5299,10 +5300,10 @@ void m68k_op_sub_8_er_pd7(void) } -void m68k_op_sub_8_er_di(void) +void m68k_op_sub_8_er_di(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_DI_8(); + uint src = OPER_AY_DI_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = dst - src; @@ -5315,10 +5316,10 @@ void m68k_op_sub_8_er_di(void) } -void m68k_op_sub_8_er_ix(void) +void m68k_op_sub_8_er_ix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_IX_8(); + uint src = OPER_AY_IX_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = dst - src; @@ -5331,10 +5332,10 @@ void m68k_op_sub_8_er_ix(void) } -void m68k_op_sub_8_er_aw(void) +void m68k_op_sub_8_er_aw(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AW_8(); + uint src = OPER_AW_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = dst - src; @@ -5347,10 +5348,10 @@ void m68k_op_sub_8_er_aw(void) } -void m68k_op_sub_8_er_al(void) +void m68k_op_sub_8_er_al(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AL_8(); + uint src = OPER_AL_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = dst - src; @@ -5363,10 +5364,10 @@ void m68k_op_sub_8_er_al(void) } -void m68k_op_sub_8_er_pcdi(void) +void m68k_op_sub_8_er_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCDI_8(); + uint src = OPER_PCDI_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = dst - src; @@ -5379,10 +5380,10 @@ void m68k_op_sub_8_er_pcdi(void) } -void m68k_op_sub_8_er_pcix(void) +void m68k_op_sub_8_er_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCIX_8(); + uint src = OPER_PCIX_8(cpu); uint dst = MASK_OUT_ABOVE_8(*r_dst); uint res = dst - src; @@ -5395,7 +5396,7 @@ void m68k_op_sub_8_er_pcix(void) } -void m68k_op_sub_8_er_i(void) +void m68k_op_sub_8_er_i(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = OPER_I_8(); @@ -5411,7 +5412,7 @@ void m68k_op_sub_8_er_i(void) } -void m68k_op_sub_16_er_d(void) +void m68k_op_sub_16_er_d(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = MASK_OUT_ABOVE_16(DY); @@ -5427,7 +5428,7 @@ void m68k_op_sub_16_er_d(void) } -void m68k_op_sub_16_er_a(void) +void m68k_op_sub_16_er_a(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = MASK_OUT_ABOVE_16(AY); @@ -5443,10 +5444,10 @@ void m68k_op_sub_16_er_a(void) } -void m68k_op_sub_16_er_ai(void) +void m68k_op_sub_16_er_ai(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_AI_16(); + uint src = OPER_AY_AI_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = dst - src; @@ -5459,10 +5460,10 @@ void m68k_op_sub_16_er_ai(void) } -void m68k_op_sub_16_er_pi(void) +void m68k_op_sub_16_er_pi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PI_16(); + uint src = OPER_AY_PI_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = dst - src; @@ -5475,10 +5476,10 @@ void m68k_op_sub_16_er_pi(void) } -void m68k_op_sub_16_er_pd(void) +void m68k_op_sub_16_er_pd(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PD_16(); + uint src = OPER_AY_PD_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = dst - src; @@ -5491,10 +5492,10 @@ void m68k_op_sub_16_er_pd(void) } -void m68k_op_sub_16_er_di(void) +void m68k_op_sub_16_er_di(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_DI_16(); + uint src = OPER_AY_DI_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = dst - src; @@ -5507,10 +5508,10 @@ void m68k_op_sub_16_er_di(void) } -void m68k_op_sub_16_er_ix(void) +void m68k_op_sub_16_er_ix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_IX_16(); + uint src = OPER_AY_IX_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = dst - src; @@ -5523,10 +5524,10 @@ void m68k_op_sub_16_er_ix(void) } -void m68k_op_sub_16_er_aw(void) +void m68k_op_sub_16_er_aw(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AW_16(); + uint src = OPER_AW_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = dst - src; @@ -5539,10 +5540,10 @@ void m68k_op_sub_16_er_aw(void) } -void m68k_op_sub_16_er_al(void) +void m68k_op_sub_16_er_al(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AL_16(); + uint src = OPER_AL_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = dst - src; @@ -5555,10 +5556,10 @@ void m68k_op_sub_16_er_al(void) } -void m68k_op_sub_16_er_pcdi(void) +void m68k_op_sub_16_er_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCDI_16(); + uint src = OPER_PCDI_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = dst - src; @@ -5571,10 +5572,10 @@ void m68k_op_sub_16_er_pcdi(void) } -void m68k_op_sub_16_er_pcix(void) +void m68k_op_sub_16_er_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCIX_16(); + uint src = OPER_PCIX_16(cpu); uint dst = MASK_OUT_ABOVE_16(*r_dst); uint res = dst - src; @@ -5587,7 +5588,7 @@ void m68k_op_sub_16_er_pcix(void) } -void m68k_op_sub_16_er_i(void) +void m68k_op_sub_16_er_i(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = OPER_I_16(); @@ -5603,7 +5604,7 @@ void m68k_op_sub_16_er_i(void) } -void m68k_op_sub_32_er_d(void) +void m68k_op_sub_32_er_d(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = DY; @@ -5619,7 +5620,7 @@ void m68k_op_sub_32_er_d(void) } -void m68k_op_sub_32_er_a(void) +void m68k_op_sub_32_er_a(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = AY; @@ -5635,10 +5636,10 @@ void m68k_op_sub_32_er_a(void) } -void m68k_op_sub_32_er_ai(void) +void m68k_op_sub_32_er_ai(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_AI_32(); + uint src = OPER_AY_AI_32(cpu); uint dst = *r_dst; uint res = dst - src; @@ -5651,10 +5652,10 @@ void m68k_op_sub_32_er_ai(void) } -void m68k_op_sub_32_er_pi(void) +void m68k_op_sub_32_er_pi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PI_32(); + uint src = OPER_AY_PI_32(cpu); uint dst = *r_dst; uint res = dst - src; @@ -5667,10 +5668,10 @@ void m68k_op_sub_32_er_pi(void) } -void m68k_op_sub_32_er_pd(void) +void m68k_op_sub_32_er_pd(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_PD_32(); + uint src = OPER_AY_PD_32(cpu); uint dst = *r_dst; uint res = dst - src; @@ -5683,10 +5684,10 @@ void m68k_op_sub_32_er_pd(void) } -void m68k_op_sub_32_er_di(void) +void m68k_op_sub_32_er_di(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_DI_32(); + uint src = OPER_AY_DI_32(cpu); uint dst = *r_dst; uint res = dst - src; @@ -5699,10 +5700,10 @@ void m68k_op_sub_32_er_di(void) } -void m68k_op_sub_32_er_ix(void) +void m68k_op_sub_32_er_ix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AY_IX_32(); + uint src = OPER_AY_IX_32(cpu); uint dst = *r_dst; uint res = dst - src; @@ -5715,10 +5716,10 @@ void m68k_op_sub_32_er_ix(void) } -void m68k_op_sub_32_er_aw(void) +void m68k_op_sub_32_er_aw(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AW_32(); + uint src = OPER_AW_32(cpu); uint dst = *r_dst; uint res = dst - src; @@ -5731,10 +5732,10 @@ void m68k_op_sub_32_er_aw(void) } -void m68k_op_sub_32_er_al(void) +void m68k_op_sub_32_er_al(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_AL_32(); + uint src = OPER_AL_32(cpu); uint dst = *r_dst; uint res = dst - src; @@ -5747,10 +5748,10 @@ void m68k_op_sub_32_er_al(void) } -void m68k_op_sub_32_er_pcdi(void) +void m68k_op_sub_32_er_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCDI_32(); + uint src = OPER_PCDI_32(cpu); uint dst = *r_dst; uint res = dst - src; @@ -5763,10 +5764,10 @@ void m68k_op_sub_32_er_pcdi(void) } -void m68k_op_sub_32_er_pcix(void) +void m68k_op_sub_32_er_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &DX; - uint src = OPER_PCIX_32(); + uint src = OPER_PCIX_32(cpu); uint dst = *r_dst; uint res = dst - src; @@ -5779,7 +5780,7 @@ void m68k_op_sub_32_er_pcix(void) } -void m68k_op_sub_32_er_i(void) +void m68k_op_sub_32_er_i(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = OPER_I_32(); @@ -5795,7 +5796,7 @@ void m68k_op_sub_32_er_i(void) } -void m68k_op_sub_8_re_ai(void) +void m68k_op_sub_8_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -5811,7 +5812,7 @@ void m68k_op_sub_8_re_ai(void) } -void m68k_op_sub_8_re_pi(void) +void m68k_op_sub_8_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -5827,7 +5828,7 @@ void m68k_op_sub_8_re_pi(void) } -void m68k_op_sub_8_re_pi7(void) +void m68k_op_sub_8_re_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -5843,7 +5844,7 @@ void m68k_op_sub_8_re_pi7(void) } -void m68k_op_sub_8_re_pd(void) +void m68k_op_sub_8_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -5859,7 +5860,7 @@ void m68k_op_sub_8_re_pd(void) } -void m68k_op_sub_8_re_pd7(void) +void m68k_op_sub_8_re_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -5875,7 +5876,7 @@ void m68k_op_sub_8_re_pd7(void) } -void m68k_op_sub_8_re_di(void) +void m68k_op_sub_8_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -5891,7 +5892,7 @@ void m68k_op_sub_8_re_di(void) } -void m68k_op_sub_8_re_ix(void) +void m68k_op_sub_8_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -5907,7 +5908,7 @@ void m68k_op_sub_8_re_ix(void) } -void m68k_op_sub_8_re_aw(void) +void m68k_op_sub_8_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -5923,7 +5924,7 @@ void m68k_op_sub_8_re_aw(void) } -void m68k_op_sub_8_re_al(void) +void m68k_op_sub_8_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint src = MASK_OUT_ABOVE_8(DX); @@ -5939,7 +5940,7 @@ void m68k_op_sub_8_re_al(void) } -void m68k_op_sub_16_re_ai(void) +void m68k_op_sub_16_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -5955,7 +5956,7 @@ void m68k_op_sub_16_re_ai(void) } -void m68k_op_sub_16_re_pi(void) +void m68k_op_sub_16_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -5971,7 +5972,7 @@ void m68k_op_sub_16_re_pi(void) } -void m68k_op_sub_16_re_pd(void) +void m68k_op_sub_16_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -5987,7 +5988,7 @@ void m68k_op_sub_16_re_pd(void) } -void m68k_op_sub_16_re_di(void) +void m68k_op_sub_16_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -6003,7 +6004,7 @@ void m68k_op_sub_16_re_di(void) } -void m68k_op_sub_16_re_ix(void) +void m68k_op_sub_16_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -6019,7 +6020,7 @@ void m68k_op_sub_16_re_ix(void) } -void m68k_op_sub_16_re_aw(void) +void m68k_op_sub_16_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -6035,7 +6036,7 @@ void m68k_op_sub_16_re_aw(void) } -void m68k_op_sub_16_re_al(void) +void m68k_op_sub_16_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_16(); uint src = MASK_OUT_ABOVE_16(DX); @@ -6051,7 +6052,7 @@ void m68k_op_sub_16_re_al(void) } -void m68k_op_sub_32_re_ai(void) +void m68k_op_sub_32_re_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_32(); uint src = DX; @@ -6067,7 +6068,7 @@ void m68k_op_sub_32_re_ai(void) } -void m68k_op_sub_32_re_pi(void) +void m68k_op_sub_32_re_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_32(); uint src = DX; @@ -6083,7 +6084,7 @@ void m68k_op_sub_32_re_pi(void) } -void m68k_op_sub_32_re_pd(void) +void m68k_op_sub_32_re_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_32(); uint src = DX; @@ -6099,7 +6100,7 @@ void m68k_op_sub_32_re_pd(void) } -void m68k_op_sub_32_re_di(void) +void m68k_op_sub_32_re_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_32(); uint src = DX; @@ -6115,7 +6116,7 @@ void m68k_op_sub_32_re_di(void) } -void m68k_op_sub_32_re_ix(void) +void m68k_op_sub_32_re_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_32(); uint src = DX; @@ -6131,7 +6132,7 @@ void m68k_op_sub_32_re_ix(void) } -void m68k_op_sub_32_re_aw(void) +void m68k_op_sub_32_re_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_32(); uint src = DX; @@ -6147,7 +6148,7 @@ void m68k_op_sub_32_re_aw(void) } -void m68k_op_sub_32_re_al(void) +void m68k_op_sub_32_re_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_32(); uint src = DX; @@ -6163,7 +6164,7 @@ void m68k_op_sub_32_re_al(void) } -void m68k_op_suba_16_d(void) +void m68k_op_suba_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -6171,7 +6172,7 @@ void m68k_op_suba_16_d(void) } -void m68k_op_suba_16_a(void) +void m68k_op_suba_16_a(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -6179,79 +6180,79 @@ void m68k_op_suba_16_a(void) } -void m68k_op_suba_16_ai(void) +void m68k_op_suba_16_ai(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AY_AI_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AY_AI_16(cpu))); } -void m68k_op_suba_16_pi(void) +void m68k_op_suba_16_pi(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AY_PI_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AY_PI_16(cpu))); } -void m68k_op_suba_16_pd(void) +void m68k_op_suba_16_pd(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AY_PD_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AY_PD_16(cpu))); } -void m68k_op_suba_16_di(void) +void m68k_op_suba_16_di(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AY_DI_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AY_DI_16(cpu))); } -void m68k_op_suba_16_ix(void) +void m68k_op_suba_16_ix(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AY_IX_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AY_IX_16(cpu))); } -void m68k_op_suba_16_aw(void) +void m68k_op_suba_16_aw(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AW_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AW_16(cpu))); } -void m68k_op_suba_16_al(void) +void m68k_op_suba_16_al(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AL_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_AL_16(cpu))); } -void m68k_op_suba_16_pcdi(void) +void m68k_op_suba_16_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_PCDI_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_PCDI_16(cpu))); } -void m68k_op_suba_16_pcix(void) +void m68k_op_suba_16_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_PCIX_16())); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - MAKE_INT_16(OPER_PCIX_16(cpu))); } -void m68k_op_suba_16_i(void) +void m68k_op_suba_16_i(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -6259,7 +6260,7 @@ void m68k_op_suba_16_i(void) } -void m68k_op_suba_32_d(void) +void m68k_op_suba_32_d(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -6267,7 +6268,7 @@ void m68k_op_suba_32_d(void) } -void m68k_op_suba_32_a(void) +void m68k_op_suba_32_a(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -6275,79 +6276,79 @@ void m68k_op_suba_32_a(void) } -void m68k_op_suba_32_ai(void) +void m68k_op_suba_32_ai(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AY_AI_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AY_AI_32(cpu)); } -void m68k_op_suba_32_pi(void) +void m68k_op_suba_32_pi(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AY_PI_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AY_PI_32(cpu)); } -void m68k_op_suba_32_pd(void) +void m68k_op_suba_32_pd(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AY_PD_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AY_PD_32(cpu)); } -void m68k_op_suba_32_di(void) +void m68k_op_suba_32_di(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AY_DI_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AY_DI_32(cpu)); } -void m68k_op_suba_32_ix(void) +void m68k_op_suba_32_ix(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AY_IX_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AY_IX_32(cpu)); } -void m68k_op_suba_32_aw(void) +void m68k_op_suba_32_aw(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AW_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AW_32(cpu)); } -void m68k_op_suba_32_al(void) +void m68k_op_suba_32_al(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AL_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_AL_32(cpu)); } -void m68k_op_suba_32_pcdi(void) +void m68k_op_suba_32_pcdi(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_PCDI_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_PCDI_32(cpu)); } -void m68k_op_suba_32_pcix(void) +void m68k_op_suba_32_pcix(m68ki_cpu_core *cpu) { uint* r_dst = &AX; - *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_PCIX_32()); + *r_dst = MASK_OUT_ABOVE_32(*r_dst - OPER_PCIX_32(cpu)); } -void m68k_op_suba_32_i(void) +void m68k_op_suba_32_i(m68ki_cpu_core *cpu) { uint* r_dst = &AX; @@ -6355,7 +6356,7 @@ void m68k_op_suba_32_i(void) } -void m68k_op_subi_8_d(void) +void m68k_op_subi_8_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = OPER_I_8(); @@ -6371,7 +6372,7 @@ void m68k_op_subi_8_d(void) } -void m68k_op_subi_8_ai(void) +void m68k_op_subi_8_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_AI_8(); @@ -6387,7 +6388,7 @@ void m68k_op_subi_8_ai(void) } -void m68k_op_subi_8_pi(void) +void m68k_op_subi_8_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_PI_8(); @@ -6403,7 +6404,7 @@ void m68k_op_subi_8_pi(void) } -void m68k_op_subi_8_pi7(void) +void m68k_op_subi_8_pi7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_A7_PI_8(); @@ -6419,7 +6420,7 @@ void m68k_op_subi_8_pi7(void) } -void m68k_op_subi_8_pd(void) +void m68k_op_subi_8_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_PD_8(); @@ -6435,7 +6436,7 @@ void m68k_op_subi_8_pd(void) } -void m68k_op_subi_8_pd7(void) +void m68k_op_subi_8_pd7(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_A7_PD_8(); @@ -6451,7 +6452,7 @@ void m68k_op_subi_8_pd7(void) } -void m68k_op_subi_8_di(void) +void m68k_op_subi_8_di(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_DI_8(); @@ -6467,7 +6468,7 @@ void m68k_op_subi_8_di(void) } -void m68k_op_subi_8_ix(void) +void m68k_op_subi_8_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AY_IX_8(); @@ -6483,7 +6484,7 @@ void m68k_op_subi_8_ix(void) } -void m68k_op_subi_8_aw(void) +void m68k_op_subi_8_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AW_8(); @@ -6499,7 +6500,7 @@ void m68k_op_subi_8_aw(void) } -void m68k_op_subi_8_al(void) +void m68k_op_subi_8_al(m68ki_cpu_core *cpu) { uint src = OPER_I_8(); uint ea = EA_AL_8(); @@ -6515,7 +6516,7 @@ void m68k_op_subi_8_al(void) } -void m68k_op_subi_16_d(void) +void m68k_op_subi_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = OPER_I_16(); @@ -6531,7 +6532,7 @@ void m68k_op_subi_16_d(void) } -void m68k_op_subi_16_ai(void) +void m68k_op_subi_16_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_AI_16(); @@ -6547,7 +6548,7 @@ void m68k_op_subi_16_ai(void) } -void m68k_op_subi_16_pi(void) +void m68k_op_subi_16_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_PI_16(); @@ -6563,7 +6564,7 @@ void m68k_op_subi_16_pi(void) } -void m68k_op_subi_16_pd(void) +void m68k_op_subi_16_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_PD_16(); @@ -6579,7 +6580,7 @@ void m68k_op_subi_16_pd(void) } -void m68k_op_subi_16_di(void) +void m68k_op_subi_16_di(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_DI_16(); @@ -6595,7 +6596,7 @@ void m68k_op_subi_16_di(void) } -void m68k_op_subi_16_ix(void) +void m68k_op_subi_16_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AY_IX_16(); @@ -6611,7 +6612,7 @@ void m68k_op_subi_16_ix(void) } -void m68k_op_subi_16_aw(void) +void m68k_op_subi_16_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AW_16(); @@ -6627,7 +6628,7 @@ void m68k_op_subi_16_aw(void) } -void m68k_op_subi_16_al(void) +void m68k_op_subi_16_al(m68ki_cpu_core *cpu) { uint src = OPER_I_16(); uint ea = EA_AL_16(); @@ -6643,7 +6644,7 @@ void m68k_op_subi_16_al(void) } -void m68k_op_subi_32_d(void) +void m68k_op_subi_32_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = OPER_I_32(); @@ -6659,7 +6660,7 @@ void m68k_op_subi_32_d(void) } -void m68k_op_subi_32_ai(void) +void m68k_op_subi_32_ai(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_AI_32(); @@ -6675,7 +6676,7 @@ void m68k_op_subi_32_ai(void) } -void m68k_op_subi_32_pi(void) +void m68k_op_subi_32_pi(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_PI_32(); @@ -6691,7 +6692,7 @@ void m68k_op_subi_32_pi(void) } -void m68k_op_subi_32_pd(void) +void m68k_op_subi_32_pd(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_PD_32(); @@ -6707,7 +6708,7 @@ void m68k_op_subi_32_pd(void) } -void m68k_op_subi_32_di(void) +void m68k_op_subi_32_di(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_DI_32(); @@ -6723,7 +6724,7 @@ void m68k_op_subi_32_di(void) } -void m68k_op_subi_32_ix(void) +void m68k_op_subi_32_ix(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AY_IX_32(); @@ -6739,7 +6740,7 @@ void m68k_op_subi_32_ix(void) } -void m68k_op_subi_32_aw(void) +void m68k_op_subi_32_aw(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AW_32(); @@ -6755,7 +6756,7 @@ void m68k_op_subi_32_aw(void) } -void m68k_op_subi_32_al(void) +void m68k_op_subi_32_al(m68ki_cpu_core *cpu) { uint src = OPER_I_32(); uint ea = EA_AL_32(); @@ -6771,7 +6772,7 @@ void m68k_op_subi_32_al(void) } -void m68k_op_subq_8_d(void) +void m68k_op_subq_8_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = (((REG_IR >> 9) - 1) & 7) + 1; @@ -6787,7 +6788,7 @@ void m68k_op_subq_8_d(void) } -void m68k_op_subq_8_ai(void) +void m68k_op_subq_8_ai(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_AI_8(); @@ -6803,7 +6804,7 @@ void m68k_op_subq_8_ai(void) } -void m68k_op_subq_8_pi(void) +void m68k_op_subq_8_pi(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PI_8(); @@ -6819,7 +6820,7 @@ void m68k_op_subq_8_pi(void) } -void m68k_op_subq_8_pi7(void) +void m68k_op_subq_8_pi7(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_A7_PI_8(); @@ -6835,7 +6836,7 @@ void m68k_op_subq_8_pi7(void) } -void m68k_op_subq_8_pd(void) +void m68k_op_subq_8_pd(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PD_8(); @@ -6851,7 +6852,7 @@ void m68k_op_subq_8_pd(void) } -void m68k_op_subq_8_pd7(void) +void m68k_op_subq_8_pd7(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_A7_PD_8(); @@ -6867,7 +6868,7 @@ void m68k_op_subq_8_pd7(void) } -void m68k_op_subq_8_di(void) +void m68k_op_subq_8_di(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_DI_8(); @@ -6883,7 +6884,7 @@ void m68k_op_subq_8_di(void) } -void m68k_op_subq_8_ix(void) +void m68k_op_subq_8_ix(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_IX_8(); @@ -6899,7 +6900,7 @@ void m68k_op_subq_8_ix(void) } -void m68k_op_subq_8_aw(void) +void m68k_op_subq_8_aw(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AW_8(); @@ -6915,7 +6916,7 @@ void m68k_op_subq_8_aw(void) } -void m68k_op_subq_8_al(void) +void m68k_op_subq_8_al(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AL_8(); @@ -6931,7 +6932,7 @@ void m68k_op_subq_8_al(void) } -void m68k_op_subq_16_d(void) +void m68k_op_subq_16_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = (((REG_IR >> 9) - 1) & 7) + 1; @@ -6947,7 +6948,7 @@ void m68k_op_subq_16_d(void) } -void m68k_op_subq_16_a(void) +void m68k_op_subq_16_a(m68ki_cpu_core *cpu) { uint* r_dst = &AY; @@ -6955,7 +6956,7 @@ void m68k_op_subq_16_a(void) } -void m68k_op_subq_16_ai(void) +void m68k_op_subq_16_ai(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_AI_16(); @@ -6971,7 +6972,7 @@ void m68k_op_subq_16_ai(void) } -void m68k_op_subq_16_pi(void) +void m68k_op_subq_16_pi(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PI_16(); @@ -6987,7 +6988,7 @@ void m68k_op_subq_16_pi(void) } -void m68k_op_subq_16_pd(void) +void m68k_op_subq_16_pd(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PD_16(); @@ -7003,7 +7004,7 @@ void m68k_op_subq_16_pd(void) } -void m68k_op_subq_16_di(void) +void m68k_op_subq_16_di(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_DI_16(); @@ -7019,7 +7020,7 @@ void m68k_op_subq_16_di(void) } -void m68k_op_subq_16_ix(void) +void m68k_op_subq_16_ix(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_IX_16(); @@ -7035,7 +7036,7 @@ void m68k_op_subq_16_ix(void) } -void m68k_op_subq_16_aw(void) +void m68k_op_subq_16_aw(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AW_16(); @@ -7051,7 +7052,7 @@ void m68k_op_subq_16_aw(void) } -void m68k_op_subq_16_al(void) +void m68k_op_subq_16_al(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AL_16(); @@ -7067,7 +7068,7 @@ void m68k_op_subq_16_al(void) } -void m68k_op_subq_32_d(void) +void m68k_op_subq_32_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; uint src = (((REG_IR >> 9) - 1) & 7) + 1; @@ -7083,7 +7084,7 @@ void m68k_op_subq_32_d(void) } -void m68k_op_subq_32_a(void) +void m68k_op_subq_32_a(m68ki_cpu_core *cpu) { uint* r_dst = &AY; @@ -7091,7 +7092,7 @@ void m68k_op_subq_32_a(void) } -void m68k_op_subq_32_ai(void) +void m68k_op_subq_32_ai(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_AI_32(); @@ -7107,7 +7108,7 @@ void m68k_op_subq_32_ai(void) } -void m68k_op_subq_32_pi(void) +void m68k_op_subq_32_pi(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PI_32(); @@ -7123,7 +7124,7 @@ void m68k_op_subq_32_pi(void) } -void m68k_op_subq_32_pd(void) +void m68k_op_subq_32_pd(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_PD_32(); @@ -7139,7 +7140,7 @@ void m68k_op_subq_32_pd(void) } -void m68k_op_subq_32_di(void) +void m68k_op_subq_32_di(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_DI_32(); @@ -7155,7 +7156,7 @@ void m68k_op_subq_32_di(void) } -void m68k_op_subq_32_ix(void) +void m68k_op_subq_32_ix(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AY_IX_32(); @@ -7171,7 +7172,7 @@ void m68k_op_subq_32_ix(void) } -void m68k_op_subq_32_aw(void) +void m68k_op_subq_32_aw(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AW_32(); @@ -7187,7 +7188,7 @@ void m68k_op_subq_32_aw(void) } -void m68k_op_subq_32_al(void) +void m68k_op_subq_32_al(m68ki_cpu_core *cpu) { uint src = (((REG_IR >> 9) - 1) & 7) + 1; uint ea = EA_AL_32(); @@ -7203,7 +7204,7 @@ void m68k_op_subq_32_al(void) } -void m68k_op_subx_8_rr(void) +void m68k_op_subx_8_rr(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = MASK_OUT_ABOVE_8(DY); @@ -7221,7 +7222,7 @@ void m68k_op_subx_8_rr(void) } -void m68k_op_subx_16_rr(void) +void m68k_op_subx_16_rr(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = MASK_OUT_ABOVE_16(DY); @@ -7239,7 +7240,7 @@ void m68k_op_subx_16_rr(void) } -void m68k_op_subx_32_rr(void) +void m68k_op_subx_32_rr(m68ki_cpu_core *cpu) { uint* r_dst = &DX; uint src = DY; @@ -7257,9 +7258,9 @@ void m68k_op_subx_32_rr(void) } -void m68k_op_subx_8_mm_ax7(void) +void m68k_op_subx_8_mm_ax7(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint ea = EA_A7_PD_8(); uint dst = m68ki_read_8(ea); uint res = dst - src - XFLAG_AS_1(); @@ -7275,9 +7276,9 @@ void m68k_op_subx_8_mm_ax7(void) } -void m68k_op_subx_8_mm_ay7(void) +void m68k_op_subx_8_mm_ay7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint ea = EA_AX_PD_8(); uint dst = m68ki_read_8(ea); uint res = dst - src - XFLAG_AS_1(); @@ -7293,9 +7294,9 @@ void m68k_op_subx_8_mm_ay7(void) } -void m68k_op_subx_8_mm_axy7(void) +void m68k_op_subx_8_mm_axy7(m68ki_cpu_core *cpu) { - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint ea = EA_A7_PD_8(); uint dst = m68ki_read_8(ea); uint res = dst - src - XFLAG_AS_1(); @@ -7311,9 +7312,9 @@ void m68k_op_subx_8_mm_axy7(void) } -void m68k_op_subx_8_mm(void) +void m68k_op_subx_8_mm(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint ea = EA_AX_PD_8(); uint dst = m68ki_read_8(ea); uint res = dst - src - XFLAG_AS_1(); @@ -7329,9 +7330,9 @@ void m68k_op_subx_8_mm(void) } -void m68k_op_subx_16_mm(void) +void m68k_op_subx_16_mm(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_16(); + uint src = OPER_AY_PD_16(cpu); uint ea = EA_AX_PD_16(); uint dst = m68ki_read_16(ea); uint res = dst - src - XFLAG_AS_1(); @@ -7347,9 +7348,9 @@ void m68k_op_subx_16_mm(void) } -void m68k_op_subx_32_mm(void) +void m68k_op_subx_32_mm(m68ki_cpu_core *cpu) { - uint src = OPER_AY_PD_32(); + uint src = OPER_AY_PD_32(cpu); uint ea = EA_AX_PD_32(); uint dst = m68ki_read_32(ea); uint res = dst - src - XFLAG_AS_1(); @@ -7365,7 +7366,7 @@ void m68k_op_subx_32_mm(void) } -void m68k_op_swap_32(void) +void m68k_op_swap_32(m68ki_cpu_core *cpu) { uint* r_dst = &DY; @@ -7379,7 +7380,7 @@ void m68k_op_swap_32(void) } -void m68k_op_tas_8_d(void) +void m68k_op_tas_8_d(m68ki_cpu_core *cpu) { uint* r_dst = &DY; @@ -7391,7 +7392,7 @@ void m68k_op_tas_8_d(void) } -void m68k_op_tas_8_ai(void) +void m68k_op_tas_8_ai(m68ki_cpu_core *cpu) { uint ea = EA_AY_AI_8(); uint dst = m68ki_read_8(ea); @@ -7404,7 +7405,7 @@ void m68k_op_tas_8_ai(void) } -void m68k_op_tas_8_pi(void) +void m68k_op_tas_8_pi(m68ki_cpu_core *cpu) { uint ea = EA_AY_PI_8(); uint dst = m68ki_read_8(ea); @@ -7417,7 +7418,7 @@ void m68k_op_tas_8_pi(void) } -void m68k_op_tas_8_pi7(void) +void m68k_op_tas_8_pi7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PI_8(); uint dst = m68ki_read_8(ea); @@ -7430,7 +7431,7 @@ void m68k_op_tas_8_pi7(void) } -void m68k_op_tas_8_pd(void) +void m68k_op_tas_8_pd(m68ki_cpu_core *cpu) { uint ea = EA_AY_PD_8(); uint dst = m68ki_read_8(ea); @@ -7443,7 +7444,7 @@ void m68k_op_tas_8_pd(void) } -void m68k_op_tas_8_pd7(void) +void m68k_op_tas_8_pd7(m68ki_cpu_core *cpu) { uint ea = EA_A7_PD_8(); uint dst = m68ki_read_8(ea); @@ -7456,7 +7457,7 @@ void m68k_op_tas_8_pd7(void) } -void m68k_op_tas_8_di(void) +void m68k_op_tas_8_di(m68ki_cpu_core *cpu) { uint ea = EA_AY_DI_8(); uint dst = m68ki_read_8(ea); @@ -7469,7 +7470,7 @@ void m68k_op_tas_8_di(void) } -void m68k_op_tas_8_ix(void) +void m68k_op_tas_8_ix(m68ki_cpu_core *cpu) { uint ea = EA_AY_IX_8(); uint dst = m68ki_read_8(ea); @@ -7482,7 +7483,7 @@ void m68k_op_tas_8_ix(void) } -void m68k_op_tas_8_aw(void) +void m68k_op_tas_8_aw(m68ki_cpu_core *cpu) { uint ea = EA_AW_8(); uint dst = m68ki_read_8(ea); @@ -7495,7 +7496,7 @@ void m68k_op_tas_8_aw(void) } -void m68k_op_tas_8_al(void) +void m68k_op_tas_8_al(m68ki_cpu_core *cpu) { uint ea = EA_AL_8(); uint dst = m68ki_read_8(ea); @@ -7508,705 +7509,705 @@ void m68k_op_tas_8_al(void) } -void m68k_op_trap(void) +void m68k_op_trap(m68ki_cpu_core *cpu) { /* Trap#n stacks exception frame type 0 */ - m68ki_exception_trapN(EXCEPTION_TRAP_BASE + (REG_IR & 0xf)); /* HJB 990403 */ + m68ki_exception_trapN(cpu, EXCEPTION_TRAP_BASE + (REG_IR & 0xf)); /* HJB 990403 */ } -void m68k_op_trapt(void) +void m68k_op_trapt(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapt_16(void) +void m68k_op_trapt_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapt_32(void) +void m68k_op_trapt_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapf(void) +void m68k_op_trapf(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapf_16(void) +void m68k_op_trapf_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapf_32(void) +void m68k_op_trapf_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_traphi(void) +void m68k_op_traphi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_HI()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapls(void) +void m68k_op_trapls(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_LS()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapcc(void) +void m68k_op_trapcc(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_CC()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapcs(void) +void m68k_op_trapcs(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_CS()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapne(void) +void m68k_op_trapne(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_NE()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapeq(void) +void m68k_op_trapeq(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_EQ()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapvc(void) +void m68k_op_trapvc(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_VC()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapvs(void) +void m68k_op_trapvs(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_VS()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trappl(void) +void m68k_op_trappl(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_PL()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapmi(void) +void m68k_op_trapmi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_MI()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapge(void) +void m68k_op_trapge(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_GE()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_traplt(void) +void m68k_op_traplt(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_LT()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapgt(void) +void m68k_op_trapgt(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_GT()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_traple(void) +void m68k_op_traple(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_LE()) - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_traphi_16(void) +void m68k_op_traphi_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_HI()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapls_16(void) +void m68k_op_trapls_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_LS()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapcc_16(void) +void m68k_op_trapcc_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_CC()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapcs_16(void) +void m68k_op_trapcs_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_CS()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapne_16(void) +void m68k_op_trapne_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_NE()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapeq_16(void) +void m68k_op_trapeq_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_EQ()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapvc_16(void) +void m68k_op_trapvc_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_VC()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapvs_16(void) +void m68k_op_trapvs_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_VS()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trappl_16(void) +void m68k_op_trappl_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_PL()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapmi_16(void) +void m68k_op_trapmi_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_MI()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapge_16(void) +void m68k_op_trapge_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_GE()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_traplt_16(void) +void m68k_op_traplt_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_LT()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapgt_16(void) +void m68k_op_trapgt_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_GT()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_traple_16(void) +void m68k_op_traple_16(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_LE()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 2; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_traphi_32(void) +void m68k_op_traphi_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_HI()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapls_32(void) +void m68k_op_trapls_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_LS()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapcc_32(void) +void m68k_op_trapcc_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_CC()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapcs_32(void) +void m68k_op_trapcs_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_CS()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapne_32(void) +void m68k_op_trapne_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_NE()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapeq_32(void) +void m68k_op_trapeq_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_EQ()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapvc_32(void) +void m68k_op_trapvc_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_VC()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapvs_32(void) +void m68k_op_trapvs_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_VS()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trappl_32(void) +void m68k_op_trappl_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_PL()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapmi_32(void) +void m68k_op_trapmi_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_MI()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapge_32(void) +void m68k_op_trapge_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_GE()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_traplt_32(void) +void m68k_op_traplt_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_LT()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapgt_32(void) +void m68k_op_trapgt_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_GT()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_traple_32(void) +void m68k_op_traple_32(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { if(COND_LE()) { - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ return; } REG_PC += 4; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_trapv(void) +void m68k_op_trapv(m68ki_cpu_core *cpu) { if(COND_VC()) { return; } - m68ki_exception_trap(EXCEPTION_TRAPV); /* HJB 990403 */ + m68ki_exception_trap(cpu, EXCEPTION_TRAPV); /* HJB 990403 */ } -void m68k_op_tst_8_d(void) +void m68k_op_tst_8_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_8(DY); @@ -8217,9 +8218,9 @@ void m68k_op_tst_8_d(void) } -void m68k_op_tst_8_ai(void) +void m68k_op_tst_8_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_8(); + uint res = OPER_AY_AI_8(cpu); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -8228,9 +8229,9 @@ void m68k_op_tst_8_ai(void) } -void m68k_op_tst_8_pi(void) +void m68k_op_tst_8_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_8(); + uint res = OPER_AY_PI_8(cpu); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -8239,9 +8240,9 @@ void m68k_op_tst_8_pi(void) } -void m68k_op_tst_8_pi7(void) +void m68k_op_tst_8_pi7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PI_8(); + uint res = OPER_A7_PI_8(cpu); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -8250,9 +8251,9 @@ void m68k_op_tst_8_pi7(void) } -void m68k_op_tst_8_pd(void) +void m68k_op_tst_8_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_8(); + uint res = OPER_AY_PD_8(cpu); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -8261,9 +8262,9 @@ void m68k_op_tst_8_pd(void) } -void m68k_op_tst_8_pd7(void) +void m68k_op_tst_8_pd7(m68ki_cpu_core *cpu) { - uint res = OPER_A7_PD_8(); + uint res = OPER_A7_PD_8(cpu); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -8272,9 +8273,9 @@ void m68k_op_tst_8_pd7(void) } -void m68k_op_tst_8_di(void) +void m68k_op_tst_8_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_8(); + uint res = OPER_AY_DI_8(cpu); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -8283,9 +8284,9 @@ void m68k_op_tst_8_di(void) } -void m68k_op_tst_8_ix(void) +void m68k_op_tst_8_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_8(); + uint res = OPER_AY_IX_8(cpu); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -8294,9 +8295,9 @@ void m68k_op_tst_8_ix(void) } -void m68k_op_tst_8_aw(void) +void m68k_op_tst_8_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_8(); + uint res = OPER_AW_8(cpu); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -8305,9 +8306,9 @@ void m68k_op_tst_8_aw(void) } -void m68k_op_tst_8_al(void) +void m68k_op_tst_8_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_8(); + uint res = OPER_AL_8(cpu); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -8316,11 +8317,11 @@ void m68k_op_tst_8_al(void) } -void m68k_op_tst_8_pcdi(void) +void m68k_op_tst_8_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { - uint res = OPER_PCDI_8(); + uint res = OPER_PCDI_8(cpu); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -8328,15 +8329,15 @@ void m68k_op_tst_8_pcdi(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_tst_8_pcix(void) +void m68k_op_tst_8_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { - uint res = OPER_PCIX_8(); + uint res = OPER_PCIX_8(cpu); FLAG_N = NFLAG_8(res); FLAG_Z = res; @@ -8344,11 +8345,11 @@ void m68k_op_tst_8_pcix(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_tst_8_i(void) +void m68k_op_tst_8_i(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8360,11 +8361,11 @@ void m68k_op_tst_8_i(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_tst_16_d(void) +void m68k_op_tst_16_d(m68ki_cpu_core *cpu) { uint res = MASK_OUT_ABOVE_16(DY); @@ -8375,7 +8376,7 @@ void m68k_op_tst_16_d(void) } -void m68k_op_tst_16_a(void) +void m68k_op_tst_16_a(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8387,13 +8388,13 @@ void m68k_op_tst_16_a(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_tst_16_ai(void) +void m68k_op_tst_16_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_16(); + uint res = OPER_AY_AI_16(cpu); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -8402,9 +8403,9 @@ void m68k_op_tst_16_ai(void) } -void m68k_op_tst_16_pi(void) +void m68k_op_tst_16_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_16(); + uint res = OPER_AY_PI_16(cpu); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -8413,9 +8414,9 @@ void m68k_op_tst_16_pi(void) } -void m68k_op_tst_16_pd(void) +void m68k_op_tst_16_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_16(); + uint res = OPER_AY_PD_16(cpu); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -8424,9 +8425,9 @@ void m68k_op_tst_16_pd(void) } -void m68k_op_tst_16_di(void) +void m68k_op_tst_16_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_16(); + uint res = OPER_AY_DI_16(cpu); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -8435,9 +8436,9 @@ void m68k_op_tst_16_di(void) } -void m68k_op_tst_16_ix(void) +void m68k_op_tst_16_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_16(); + uint res = OPER_AY_IX_16(cpu); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -8446,9 +8447,9 @@ void m68k_op_tst_16_ix(void) } -void m68k_op_tst_16_aw(void) +void m68k_op_tst_16_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_16(); + uint res = OPER_AW_16(cpu); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -8457,9 +8458,9 @@ void m68k_op_tst_16_aw(void) } -void m68k_op_tst_16_al(void) +void m68k_op_tst_16_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_16(); + uint res = OPER_AL_16(cpu); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -8468,11 +8469,11 @@ void m68k_op_tst_16_al(void) } -void m68k_op_tst_16_pcdi(void) +void m68k_op_tst_16_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { - uint res = OPER_PCDI_16(); + uint res = OPER_PCDI_16(cpu); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -8480,15 +8481,15 @@ void m68k_op_tst_16_pcdi(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_tst_16_pcix(void) +void m68k_op_tst_16_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { - uint res = OPER_PCIX_16(); + uint res = OPER_PCIX_16(cpu); FLAG_N = NFLAG_16(res); FLAG_Z = res; @@ -8496,11 +8497,11 @@ void m68k_op_tst_16_pcix(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_tst_16_i(void) +void m68k_op_tst_16_i(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8512,11 +8513,11 @@ void m68k_op_tst_16_i(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_tst_32_d(void) +void m68k_op_tst_32_d(m68ki_cpu_core *cpu) { uint res = DY; @@ -8527,7 +8528,7 @@ void m68k_op_tst_32_d(void) } -void m68k_op_tst_32_a(void) +void m68k_op_tst_32_a(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8539,13 +8540,13 @@ void m68k_op_tst_32_a(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_tst_32_ai(void) +void m68k_op_tst_32_ai(m68ki_cpu_core *cpu) { - uint res = OPER_AY_AI_32(); + uint res = OPER_AY_AI_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -8554,9 +8555,9 @@ void m68k_op_tst_32_ai(void) } -void m68k_op_tst_32_pi(void) +void m68k_op_tst_32_pi(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PI_32(); + uint res = OPER_AY_PI_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -8565,9 +8566,9 @@ void m68k_op_tst_32_pi(void) } -void m68k_op_tst_32_pd(void) +void m68k_op_tst_32_pd(m68ki_cpu_core *cpu) { - uint res = OPER_AY_PD_32(); + uint res = OPER_AY_PD_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -8576,9 +8577,9 @@ void m68k_op_tst_32_pd(void) } -void m68k_op_tst_32_di(void) +void m68k_op_tst_32_di(m68ki_cpu_core *cpu) { - uint res = OPER_AY_DI_32(); + uint res = OPER_AY_DI_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -8587,9 +8588,9 @@ void m68k_op_tst_32_di(void) } -void m68k_op_tst_32_ix(void) +void m68k_op_tst_32_ix(m68ki_cpu_core *cpu) { - uint res = OPER_AY_IX_32(); + uint res = OPER_AY_IX_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -8598,9 +8599,9 @@ void m68k_op_tst_32_ix(void) } -void m68k_op_tst_32_aw(void) +void m68k_op_tst_32_aw(m68ki_cpu_core *cpu) { - uint res = OPER_AW_32(); + uint res = OPER_AW_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -8609,9 +8610,9 @@ void m68k_op_tst_32_aw(void) } -void m68k_op_tst_32_al(void) +void m68k_op_tst_32_al(m68ki_cpu_core *cpu) { - uint res = OPER_AL_32(); + uint res = OPER_AL_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -8620,11 +8621,11 @@ void m68k_op_tst_32_al(void) } -void m68k_op_tst_32_pcdi(void) +void m68k_op_tst_32_pcdi(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { - uint res = OPER_PCDI_32(); + uint res = OPER_PCDI_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -8632,15 +8633,15 @@ void m68k_op_tst_32_pcdi(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_tst_32_pcix(void) +void m68k_op_tst_32_pcix(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { - uint res = OPER_PCIX_32(); + uint res = OPER_PCIX_32(cpu); FLAG_N = NFLAG_32(res); FLAG_Z = res; @@ -8648,11 +8649,11 @@ void m68k_op_tst_32_pcix(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_tst_32_i(void) +void m68k_op_tst_32_i(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8664,26 +8665,26 @@ void m68k_op_tst_32_i(void) FLAG_C = CFLAG_CLEAR; return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_unlk_32_a7(void) +void m68k_op_unlk_32_a7(m68ki_cpu_core *cpu) { REG_A[7] = m68ki_read_32(REG_A[7]); } -void m68k_op_unlk_32(void) +void m68k_op_unlk_32(m68ki_cpu_core *cpu) { uint* r_dst = &AY; REG_A[7] = *r_dst; - *r_dst = m68ki_pull_32(); + *r_dst = m68ki_pull_32(cpu); } -void m68k_op_unpk_16_rr(void) +void m68k_op_unpk_16_rr(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { @@ -8694,16 +8695,16 @@ void m68k_op_unpk_16_rr(void) *r_dst = MASK_OUT_BELOW_16(*r_dst) | (((((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16()) & 0xffff); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_unpk_16_mm_ax7(void) +void m68k_op_unpk_16_mm_ax7(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { /* Note: AX and AY are reversed in Motorola's docs */ - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint ea_dst; src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(); @@ -8713,16 +8714,16 @@ void m68k_op_unpk_16_mm_ax7(void) m68ki_write_8(ea_dst, src & 0xff); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_unpk_16_mm_ay7(void) +void m68k_op_unpk_16_mm_ay7(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { /* Note: AX and AY are reversed in Motorola's docs */ - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint ea_dst; src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(); @@ -8732,15 +8733,15 @@ void m68k_op_unpk_16_mm_ay7(void) m68ki_write_8(ea_dst, src & 0xff); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_unpk_16_mm_axy7(void) +void m68k_op_unpk_16_mm_axy7(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { - uint src = OPER_A7_PD_8(); + uint src = OPER_A7_PD_8(cpu); uint ea_dst; src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(); @@ -8750,16 +8751,16 @@ void m68k_op_unpk_16_mm_axy7(void) m68ki_write_8(ea_dst, src & 0xff); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } -void m68k_op_unpk_16_mm(void) +void m68k_op_unpk_16_mm(m68ki_cpu_core *cpu) { if(CPU_TYPE_IS_EC020_PLUS(CPU_TYPE)) { /* Note: AX and AY are reversed in Motorola's docs */ - uint src = OPER_AY_PD_8(); + uint src = OPER_AY_PD_8(cpu); uint ea_dst; src = (((src << 4) & 0x0f00) | (src & 0x000f)) + OPER_I_16(); @@ -8769,7 +8770,7 @@ void m68k_op_unpk_16_mm(void) m68ki_write_8(ea_dst, src & 0xff); return; } - m68ki_exception_illegal(); + m68ki_exception_illegal(cpu); } diff --git a/plugins/ao/eng_ssf/m68kops.c b/plugins/ao/eng_ssf/m68kops.c index 23613c73..77c93816 100644 --- a/plugins/ao/eng_ssf/m68kops.c +++ b/plugins/ao/eng_ssf/m68kops.c @@ -6,13 +6,13 @@ #define NUM_CPU_TYPES 3 -void (*m68ki_instruction_jump_table[0x10000])(void); /* opcode handler jump table */ +void (*m68ki_instruction_jump_table[0x10000])(m68ki_cpu_core *cpu); /* opcode handler jump table */ unsigned char m68ki_cycles[NUM_CPU_TYPES][0x10000]; /* Cycles used by CPU type */ /* This is used to generate the opcode handler jump table */ typedef struct { - void (*opcode_handler)(void); /* handler function */ + void (*opcode_handler)(m68ki_cpu_core *cpu); /* handler function */ unsigned int mask; /* mask on opcode */ unsigned int match; /* what to match after masking */ unsigned char cycles[NUM_CPU_TYPES]; /* cycles each cpu type takes */ diff --git a/plugins/ao/eng_ssf/m68kops.h b/plugins/ao/eng_ssf/m68kops.h index 8524d2fe..94c966fd 100644 --- a/plugins/ao/eng_ssf/m68kops.h +++ b/plugins/ao/eng_ssf/m68kops.h @@ -1,1977 +1,1979 @@ #ifndef M68KOPS__HEADER #define M68KOPS__HEADER +#include "m68kcpu.h" + /* ======================================================================== */ /* ============================ OPCODE HANDLERS =========================== */ /* ======================================================================== */ -void m68k_op_1010(void); -void m68k_op_1111(void); -void m68k_op_abcd_8_rr(void); -void m68k_op_abcd_8_mm_ax7(void); -void m68k_op_abcd_8_mm_ay7(void); -void m68k_op_abcd_8_mm_axy7(void); -void m68k_op_abcd_8_mm(void); -void m68k_op_add_8_er_d(void); -void m68k_op_add_8_er_ai(void); -void m68k_op_add_8_er_pi(void); -void m68k_op_add_8_er_pi7(void); -void m68k_op_add_8_er_pd(void); -void m68k_op_add_8_er_pd7(void); -void m68k_op_add_8_er_di(void); -void m68k_op_add_8_er_ix(void); -void m68k_op_add_8_er_aw(void); -void m68k_op_add_8_er_al(void); -void m68k_op_add_8_er_pcdi(void); -void m68k_op_add_8_er_pcix(void); -void m68k_op_add_8_er_i(void); -void m68k_op_add_16_er_d(void); -void m68k_op_add_16_er_a(void); -void m68k_op_add_16_er_ai(void); -void m68k_op_add_16_er_pi(void); -void m68k_op_add_16_er_pd(void); -void m68k_op_add_16_er_di(void); -void m68k_op_add_16_er_ix(void); -void m68k_op_add_16_er_aw(void); -void m68k_op_add_16_er_al(void); -void m68k_op_add_16_er_pcdi(void); -void m68k_op_add_16_er_pcix(void); -void m68k_op_add_16_er_i(void); -void m68k_op_add_32_er_d(void); -void m68k_op_add_32_er_a(void); -void m68k_op_add_32_er_ai(void); -void m68k_op_add_32_er_pi(void); -void m68k_op_add_32_er_pd(void); -void m68k_op_add_32_er_di(void); -void m68k_op_add_32_er_ix(void); -void m68k_op_add_32_er_aw(void); -void m68k_op_add_32_er_al(void); -void m68k_op_add_32_er_pcdi(void); -void m68k_op_add_32_er_pcix(void); -void m68k_op_add_32_er_i(void); -void m68k_op_add_8_re_ai(void); -void m68k_op_add_8_re_pi(void); -void m68k_op_add_8_re_pi7(void); -void m68k_op_add_8_re_pd(void); -void m68k_op_add_8_re_pd7(void); -void m68k_op_add_8_re_di(void); -void m68k_op_add_8_re_ix(void); -void m68k_op_add_8_re_aw(void); -void m68k_op_add_8_re_al(void); -void m68k_op_add_16_re_ai(void); -void m68k_op_add_16_re_pi(void); -void m68k_op_add_16_re_pd(void); -void m68k_op_add_16_re_di(void); -void m68k_op_add_16_re_ix(void); -void m68k_op_add_16_re_aw(void); -void m68k_op_add_16_re_al(void); -void m68k_op_add_32_re_ai(void); -void m68k_op_add_32_re_pi(void); -void m68k_op_add_32_re_pd(void); -void m68k_op_add_32_re_di(void); -void m68k_op_add_32_re_ix(void); -void m68k_op_add_32_re_aw(void); -void m68k_op_add_32_re_al(void); -void m68k_op_adda_16_d(void); -void m68k_op_adda_16_a(void); -void m68k_op_adda_16_ai(void); -void m68k_op_adda_16_pi(void); -void m68k_op_adda_16_pd(void); -void m68k_op_adda_16_di(void); -void m68k_op_adda_16_ix(void); -void m68k_op_adda_16_aw(void); -void m68k_op_adda_16_al(void); -void m68k_op_adda_16_pcdi(void); -void m68k_op_adda_16_pcix(void); -void m68k_op_adda_16_i(void); -void m68k_op_adda_32_d(void); -void m68k_op_adda_32_a(void); -void m68k_op_adda_32_ai(void); -void m68k_op_adda_32_pi(void); -void m68k_op_adda_32_pd(void); -void m68k_op_adda_32_di(void); -void m68k_op_adda_32_ix(void); -void m68k_op_adda_32_aw(void); -void m68k_op_adda_32_al(void); -void m68k_op_adda_32_pcdi(void); -void m68k_op_adda_32_pcix(void); -void m68k_op_adda_32_i(void); -void m68k_op_addi_8_d(void); -void m68k_op_addi_8_ai(void); -void m68k_op_addi_8_pi(void); -void m68k_op_addi_8_pi7(void); -void m68k_op_addi_8_pd(void); -void m68k_op_addi_8_pd7(void); -void m68k_op_addi_8_di(void); -void m68k_op_addi_8_ix(void); -void m68k_op_addi_8_aw(void); -void m68k_op_addi_8_al(void); -void m68k_op_addi_16_d(void); -void m68k_op_addi_16_ai(void); -void m68k_op_addi_16_pi(void); -void m68k_op_addi_16_pd(void); -void m68k_op_addi_16_di(void); -void m68k_op_addi_16_ix(void); -void m68k_op_addi_16_aw(void); -void m68k_op_addi_16_al(void); -void m68k_op_addi_32_d(void); -void m68k_op_addi_32_ai(void); -void m68k_op_addi_32_pi(void); -void m68k_op_addi_32_pd(void); -void m68k_op_addi_32_di(void); -void m68k_op_addi_32_ix(void); -void m68k_op_addi_32_aw(void); -void m68k_op_addi_32_al(void); -void m68k_op_addq_8_d(void); -void m68k_op_addq_8_ai(void); -void m68k_op_addq_8_pi(void); -void m68k_op_addq_8_pi7(void); -void m68k_op_addq_8_pd(void); -void m68k_op_addq_8_pd7(void); -void m68k_op_addq_8_di(void); -void m68k_op_addq_8_ix(void); -void m68k_op_addq_8_aw(void); -void m68k_op_addq_8_al(void); -void m68k_op_addq_16_d(void); -void m68k_op_addq_16_a(void); -void m68k_op_addq_16_ai(void); -void m68k_op_addq_16_pi(void); -void m68k_op_addq_16_pd(void); -void m68k_op_addq_16_di(void); -void m68k_op_addq_16_ix(void); -void m68k_op_addq_16_aw(void); -void m68k_op_addq_16_al(void); -void m68k_op_addq_32_d(void); -void m68k_op_addq_32_a(void); -void m68k_op_addq_32_ai(void); -void m68k_op_addq_32_pi(void); -void m68k_op_addq_32_pd(void); -void m68k_op_addq_32_di(void); -void m68k_op_addq_32_ix(void); -void m68k_op_addq_32_aw(void); -void m68k_op_addq_32_al(void); -void m68k_op_addx_8_rr(void); -void m68k_op_addx_16_rr(void); -void m68k_op_addx_32_rr(void); -void m68k_op_addx_8_mm_ax7(void); -void m68k_op_addx_8_mm_ay7(void); -void m68k_op_addx_8_mm_axy7(void); -void m68k_op_addx_8_mm(void); -void m68k_op_addx_16_mm(void); -void m68k_op_addx_32_mm(void); -void m68k_op_and_8_er_d(void); -void m68k_op_and_8_er_ai(void); -void m68k_op_and_8_er_pi(void); -void m68k_op_and_8_er_pi7(void); -void m68k_op_and_8_er_pd(void); -void m68k_op_and_8_er_pd7(void); -void m68k_op_and_8_er_di(void); -void m68k_op_and_8_er_ix(void); -void m68k_op_and_8_er_aw(void); -void m68k_op_and_8_er_al(void); -void m68k_op_and_8_er_pcdi(void); -void m68k_op_and_8_er_pcix(void); -void m68k_op_and_8_er_i(void); -void m68k_op_and_16_er_d(void); -void m68k_op_and_16_er_ai(void); -void m68k_op_and_16_er_pi(void); -void m68k_op_and_16_er_pd(void); -void m68k_op_and_16_er_di(void); -void m68k_op_and_16_er_ix(void); -void m68k_op_and_16_er_aw(void); -void m68k_op_and_16_er_al(void); -void m68k_op_and_16_er_pcdi(void); -void m68k_op_and_16_er_pcix(void); -void m68k_op_and_16_er_i(void); -void m68k_op_and_32_er_d(void); -void m68k_op_and_32_er_ai(void); -void m68k_op_and_32_er_pi(void); -void m68k_op_and_32_er_pd(void); -void m68k_op_and_32_er_di(void); -void m68k_op_and_32_er_ix(void); -void m68k_op_and_32_er_aw(void); -void m68k_op_and_32_er_al(void); -void m68k_op_and_32_er_pcdi(void); -void m68k_op_and_32_er_pcix(void); -void m68k_op_and_32_er_i(void); -void m68k_op_and_8_re_ai(void); -void m68k_op_and_8_re_pi(void); -void m68k_op_and_8_re_pi7(void); -void m68k_op_and_8_re_pd(void); -void m68k_op_and_8_re_pd7(void); -void m68k_op_and_8_re_di(void); -void m68k_op_and_8_re_ix(void); -void m68k_op_and_8_re_aw(void); -void m68k_op_and_8_re_al(void); -void m68k_op_and_16_re_ai(void); -void m68k_op_and_16_re_pi(void); -void m68k_op_and_16_re_pd(void); -void m68k_op_and_16_re_di(void); -void m68k_op_and_16_re_ix(void); -void m68k_op_and_16_re_aw(void); -void m68k_op_and_16_re_al(void); -void m68k_op_and_32_re_ai(void); -void m68k_op_and_32_re_pi(void); -void m68k_op_and_32_re_pd(void); -void m68k_op_and_32_re_di(void); -void m68k_op_and_32_re_ix(void); -void m68k_op_and_32_re_aw(void); -void m68k_op_and_32_re_al(void); -void m68k_op_andi_8_d(void); -void m68k_op_andi_8_ai(void); -void m68k_op_andi_8_pi(void); -void m68k_op_andi_8_pi7(void); -void m68k_op_andi_8_pd(void); -void m68k_op_andi_8_pd7(void); -void m68k_op_andi_8_di(void); -void m68k_op_andi_8_ix(void); -void m68k_op_andi_8_aw(void); -void m68k_op_andi_8_al(void); -void m68k_op_andi_16_d(void); -void m68k_op_andi_16_ai(void); -void m68k_op_andi_16_pi(void); -void m68k_op_andi_16_pd(void); -void m68k_op_andi_16_di(void); -void m68k_op_andi_16_ix(void); -void m68k_op_andi_16_aw(void); -void m68k_op_andi_16_al(void); -void m68k_op_andi_32_d(void); -void m68k_op_andi_32_ai(void); -void m68k_op_andi_32_pi(void); -void m68k_op_andi_32_pd(void); -void m68k_op_andi_32_di(void); -void m68k_op_andi_32_ix(void); -void m68k_op_andi_32_aw(void); -void m68k_op_andi_32_al(void); -void m68k_op_andi_16_toc(void); -void m68k_op_andi_16_tos(void); -void m68k_op_asr_8_s(void); -void m68k_op_asr_16_s(void); -void m68k_op_asr_32_s(void); -void m68k_op_asr_8_r(void); -void m68k_op_asr_16_r(void); -void m68k_op_asr_32_r(void); -void m68k_op_asr_16_ai(void); -void m68k_op_asr_16_pi(void); -void m68k_op_asr_16_pd(void); -void m68k_op_asr_16_di(void); -void m68k_op_asr_16_ix(void); -void m68k_op_asr_16_aw(void); -void m68k_op_asr_16_al(void); -void m68k_op_asl_8_s(void); -void m68k_op_asl_16_s(void); -void m68k_op_asl_32_s(void); -void m68k_op_asl_8_r(void); -void m68k_op_asl_16_r(void); -void m68k_op_asl_32_r(void); -void m68k_op_asl_16_ai(void); -void m68k_op_asl_16_pi(void); -void m68k_op_asl_16_pd(void); -void m68k_op_asl_16_di(void); -void m68k_op_asl_16_ix(void); -void m68k_op_asl_16_aw(void); -void m68k_op_asl_16_al(void); -void m68k_op_bhi_8(void); -void m68k_op_bls_8(void); -void m68k_op_bcc_8(void); -void m68k_op_bcs_8(void); -void m68k_op_bne_8(void); -void m68k_op_beq_8(void); -void m68k_op_bvc_8(void); -void m68k_op_bvs_8(void); -void m68k_op_bpl_8(void); -void m68k_op_bmi_8(void); -void m68k_op_bge_8(void); -void m68k_op_blt_8(void); -void m68k_op_bgt_8(void); -void m68k_op_ble_8(void); -void m68k_op_bhi_16(void); -void m68k_op_bls_16(void); -void m68k_op_bcc_16(void); -void m68k_op_bcs_16(void); -void m68k_op_bne_16(void); -void m68k_op_beq_16(void); -void m68k_op_bvc_16(void); -void m68k_op_bvs_16(void); -void m68k_op_bpl_16(void); -void m68k_op_bmi_16(void); -void m68k_op_bge_16(void); -void m68k_op_blt_16(void); -void m68k_op_bgt_16(void); -void m68k_op_ble_16(void); -void m68k_op_bhi_32(void); -void m68k_op_bls_32(void); -void m68k_op_bcc_32(void); -void m68k_op_bcs_32(void); -void m68k_op_bne_32(void); -void m68k_op_beq_32(void); -void m68k_op_bvc_32(void); -void m68k_op_bvs_32(void); -void m68k_op_bpl_32(void); -void m68k_op_bmi_32(void); -void m68k_op_bge_32(void); -void m68k_op_blt_32(void); -void m68k_op_bgt_32(void); -void m68k_op_ble_32(void); -void m68k_op_bchg_32_r_d(void); -void m68k_op_bchg_8_r_ai(void); -void m68k_op_bchg_8_r_pi(void); -void m68k_op_bchg_8_r_pi7(void); -void m68k_op_bchg_8_r_pd(void); -void m68k_op_bchg_8_r_pd7(void); -void m68k_op_bchg_8_r_di(void); -void m68k_op_bchg_8_r_ix(void); -void m68k_op_bchg_8_r_aw(void); -void m68k_op_bchg_8_r_al(void); -void m68k_op_bchg_32_s_d(void); -void m68k_op_bchg_8_s_ai(void); -void m68k_op_bchg_8_s_pi(void); -void m68k_op_bchg_8_s_pi7(void); -void m68k_op_bchg_8_s_pd(void); -void m68k_op_bchg_8_s_pd7(void); -void m68k_op_bchg_8_s_di(void); -void m68k_op_bchg_8_s_ix(void); -void m68k_op_bchg_8_s_aw(void); -void m68k_op_bchg_8_s_al(void); -void m68k_op_bclr_32_r_d(void); -void m68k_op_bclr_8_r_ai(void); -void m68k_op_bclr_8_r_pi(void); -void m68k_op_bclr_8_r_pi7(void); -void m68k_op_bclr_8_r_pd(void); -void m68k_op_bclr_8_r_pd7(void); -void m68k_op_bclr_8_r_di(void); -void m68k_op_bclr_8_r_ix(void); -void m68k_op_bclr_8_r_aw(void); -void m68k_op_bclr_8_r_al(void); -void m68k_op_bclr_32_s_d(void); -void m68k_op_bclr_8_s_ai(void); -void m68k_op_bclr_8_s_pi(void); -void m68k_op_bclr_8_s_pi7(void); -void m68k_op_bclr_8_s_pd(void); -void m68k_op_bclr_8_s_pd7(void); -void m68k_op_bclr_8_s_di(void); -void m68k_op_bclr_8_s_ix(void); -void m68k_op_bclr_8_s_aw(void); -void m68k_op_bclr_8_s_al(void); -void m68k_op_bfchg_32_d(void); -void m68k_op_bfchg_32_ai(void); -void m68k_op_bfchg_32_di(void); -void m68k_op_bfchg_32_ix(void); -void m68k_op_bfchg_32_aw(void); -void m68k_op_bfchg_32_al(void); -void m68k_op_bfclr_32_d(void); -void m68k_op_bfclr_32_ai(void); -void m68k_op_bfclr_32_di(void); -void m68k_op_bfclr_32_ix(void); -void m68k_op_bfclr_32_aw(void); -void m68k_op_bfclr_32_al(void); -void m68k_op_bfexts_32_d(void); -void m68k_op_bfexts_32_ai(void); -void m68k_op_bfexts_32_di(void); -void m68k_op_bfexts_32_ix(void); -void m68k_op_bfexts_32_aw(void); -void m68k_op_bfexts_32_al(void); -void m68k_op_bfexts_32_pcdi(void); -void m68k_op_bfexts_32_pcix(void); -void m68k_op_bfextu_32_d(void); -void m68k_op_bfextu_32_ai(void); -void m68k_op_bfextu_32_di(void); -void m68k_op_bfextu_32_ix(void); -void m68k_op_bfextu_32_aw(void); -void m68k_op_bfextu_32_al(void); -void m68k_op_bfextu_32_pcdi(void); -void m68k_op_bfextu_32_pcix(void); -void m68k_op_bfffo_32_d(void); -void m68k_op_bfffo_32_ai(void); -void m68k_op_bfffo_32_di(void); -void m68k_op_bfffo_32_ix(void); -void m68k_op_bfffo_32_aw(void); -void m68k_op_bfffo_32_al(void); -void m68k_op_bfffo_32_pcdi(void); -void m68k_op_bfffo_32_pcix(void); -void m68k_op_bfins_32_d(void); -void m68k_op_bfins_32_ai(void); -void m68k_op_bfins_32_di(void); -void m68k_op_bfins_32_ix(void); -void m68k_op_bfins_32_aw(void); -void m68k_op_bfins_32_al(void); -void m68k_op_bfset_32_d(void); -void m68k_op_bfset_32_ai(void); -void m68k_op_bfset_32_di(void); -void m68k_op_bfset_32_ix(void); -void m68k_op_bfset_32_aw(void); -void m68k_op_bfset_32_al(void); -void m68k_op_bftst_32_d(void); -void m68k_op_bftst_32_ai(void); -void m68k_op_bftst_32_di(void); -void m68k_op_bftst_32_ix(void); -void m68k_op_bftst_32_aw(void); -void m68k_op_bftst_32_al(void); -void m68k_op_bftst_32_pcdi(void); -void m68k_op_bftst_32_pcix(void); -void m68k_op_bkpt(void); -void m68k_op_bra_8(void); -void m68k_op_bra_16(void); -void m68k_op_bra_32(void); -void m68k_op_bset_32_r_d(void); -void m68k_op_bset_8_r_ai(void); -void m68k_op_bset_8_r_pi(void); -void m68k_op_bset_8_r_pi7(void); -void m68k_op_bset_8_r_pd(void); -void m68k_op_bset_8_r_pd7(void); -void m68k_op_bset_8_r_di(void); -void m68k_op_bset_8_r_ix(void); -void m68k_op_bset_8_r_aw(void); -void m68k_op_bset_8_r_al(void); -void m68k_op_bset_32_s_d(void); -void m68k_op_bset_8_s_ai(void); -void m68k_op_bset_8_s_pi(void); -void m68k_op_bset_8_s_pi7(void); -void m68k_op_bset_8_s_pd(void); -void m68k_op_bset_8_s_pd7(void); -void m68k_op_bset_8_s_di(void); -void m68k_op_bset_8_s_ix(void); -void m68k_op_bset_8_s_aw(void); -void m68k_op_bset_8_s_al(void); -void m68k_op_bsr_8(void); -void m68k_op_bsr_16(void); -void m68k_op_bsr_32(void); -void m68k_op_btst_32_r_d(void); -void m68k_op_btst_8_r_ai(void); -void m68k_op_btst_8_r_pi(void); -void m68k_op_btst_8_r_pi7(void); -void m68k_op_btst_8_r_pd(void); -void m68k_op_btst_8_r_pd7(void); -void m68k_op_btst_8_r_di(void); -void m68k_op_btst_8_r_ix(void); -void m68k_op_btst_8_r_aw(void); -void m68k_op_btst_8_r_al(void); -void m68k_op_btst_8_r_pcdi(void); -void m68k_op_btst_8_r_pcix(void); -void m68k_op_btst_8_r_i(void); -void m68k_op_btst_32_s_d(void); -void m68k_op_btst_8_s_ai(void); -void m68k_op_btst_8_s_pi(void); -void m68k_op_btst_8_s_pi7(void); -void m68k_op_btst_8_s_pd(void); -void m68k_op_btst_8_s_pd7(void); -void m68k_op_btst_8_s_di(void); -void m68k_op_btst_8_s_ix(void); -void m68k_op_btst_8_s_aw(void); -void m68k_op_btst_8_s_al(void); -void m68k_op_btst_8_s_pcdi(void); -void m68k_op_btst_8_s_pcix(void); -void m68k_op_callm_32_ai(void); -void m68k_op_callm_32_di(void); -void m68k_op_callm_32_ix(void); -void m68k_op_callm_32_aw(void); -void m68k_op_callm_32_al(void); -void m68k_op_callm_32_pcdi(void); -void m68k_op_callm_32_pcix(void); -void m68k_op_cas_8_ai(void); -void m68k_op_cas_8_pi(void); -void m68k_op_cas_8_pi7(void); -void m68k_op_cas_8_pd(void); -void m68k_op_cas_8_pd7(void); -void m68k_op_cas_8_di(void); -void m68k_op_cas_8_ix(void); -void m68k_op_cas_8_aw(void); -void m68k_op_cas_8_al(void); -void m68k_op_cas_16_ai(void); -void m68k_op_cas_16_pi(void); -void m68k_op_cas_16_pd(void); -void m68k_op_cas_16_di(void); -void m68k_op_cas_16_ix(void); -void m68k_op_cas_16_aw(void); -void m68k_op_cas_16_al(void); -void m68k_op_cas_32_ai(void); -void m68k_op_cas_32_pi(void); -void m68k_op_cas_32_pd(void); -void m68k_op_cas_32_di(void); -void m68k_op_cas_32_ix(void); -void m68k_op_cas_32_aw(void); -void m68k_op_cas_32_al(void); -void m68k_op_cas2_16(void); -void m68k_op_cas2_32(void); -void m68k_op_chk_16_d(void); -void m68k_op_chk_16_ai(void); -void m68k_op_chk_16_pi(void); -void m68k_op_chk_16_pd(void); -void m68k_op_chk_16_di(void); -void m68k_op_chk_16_ix(void); -void m68k_op_chk_16_aw(void); -void m68k_op_chk_16_al(void); -void m68k_op_chk_16_pcdi(void); -void m68k_op_chk_16_pcix(void); -void m68k_op_chk_16_i(void); -void m68k_op_chk_32_d(void); -void m68k_op_chk_32_ai(void); -void m68k_op_chk_32_pi(void); -void m68k_op_chk_32_pd(void); -void m68k_op_chk_32_di(void); -void m68k_op_chk_32_ix(void); -void m68k_op_chk_32_aw(void); -void m68k_op_chk_32_al(void); -void m68k_op_chk_32_pcdi(void); -void m68k_op_chk_32_pcix(void); -void m68k_op_chk_32_i(void); -void m68k_op_chk2cmp2_8_pcdi(void); -void m68k_op_chk2cmp2_8_pcix(void); -void m68k_op_chk2cmp2_8_ai(void); -void m68k_op_chk2cmp2_8_di(void); -void m68k_op_chk2cmp2_8_ix(void); -void m68k_op_chk2cmp2_8_aw(void); -void m68k_op_chk2cmp2_8_al(void); -void m68k_op_chk2cmp2_16_pcdi(void); -void m68k_op_chk2cmp2_16_pcix(void); -void m68k_op_chk2cmp2_16_ai(void); -void m68k_op_chk2cmp2_16_di(void); -void m68k_op_chk2cmp2_16_ix(void); -void m68k_op_chk2cmp2_16_aw(void); -void m68k_op_chk2cmp2_16_al(void); -void m68k_op_chk2cmp2_32_pcdi(void); -void m68k_op_chk2cmp2_32_pcix(void); -void m68k_op_chk2cmp2_32_ai(void); -void m68k_op_chk2cmp2_32_di(void); -void m68k_op_chk2cmp2_32_ix(void); -void m68k_op_chk2cmp2_32_aw(void); -void m68k_op_chk2cmp2_32_al(void); -void m68k_op_clr_8_d(void); -void m68k_op_clr_8_ai(void); -void m68k_op_clr_8_pi(void); -void m68k_op_clr_8_pi7(void); -void m68k_op_clr_8_pd(void); -void m68k_op_clr_8_pd7(void); -void m68k_op_clr_8_di(void); -void m68k_op_clr_8_ix(void); -void m68k_op_clr_8_aw(void); -void m68k_op_clr_8_al(void); -void m68k_op_clr_16_d(void); -void m68k_op_clr_16_ai(void); -void m68k_op_clr_16_pi(void); -void m68k_op_clr_16_pd(void); -void m68k_op_clr_16_di(void); -void m68k_op_clr_16_ix(void); -void m68k_op_clr_16_aw(void); -void m68k_op_clr_16_al(void); -void m68k_op_clr_32_d(void); -void m68k_op_clr_32_ai(void); -void m68k_op_clr_32_pi(void); -void m68k_op_clr_32_pd(void); -void m68k_op_clr_32_di(void); -void m68k_op_clr_32_ix(void); -void m68k_op_clr_32_aw(void); -void m68k_op_clr_32_al(void); -void m68k_op_cmp_8_d(void); -void m68k_op_cmp_8_ai(void); -void m68k_op_cmp_8_pi(void); -void m68k_op_cmp_8_pi7(void); -void m68k_op_cmp_8_pd(void); -void m68k_op_cmp_8_pd7(void); -void m68k_op_cmp_8_di(void); -void m68k_op_cmp_8_ix(void); -void m68k_op_cmp_8_aw(void); -void m68k_op_cmp_8_al(void); -void m68k_op_cmp_8_pcdi(void); -void m68k_op_cmp_8_pcix(void); -void m68k_op_cmp_8_i(void); -void m68k_op_cmp_16_d(void); -void m68k_op_cmp_16_a(void); -void m68k_op_cmp_16_ai(void); -void m68k_op_cmp_16_pi(void); -void m68k_op_cmp_16_pd(void); -void m68k_op_cmp_16_di(void); -void m68k_op_cmp_16_ix(void); -void m68k_op_cmp_16_aw(void); -void m68k_op_cmp_16_al(void); -void m68k_op_cmp_16_pcdi(void); -void m68k_op_cmp_16_pcix(void); -void m68k_op_cmp_16_i(void); -void m68k_op_cmp_32_d(void); -void m68k_op_cmp_32_a(void); -void m68k_op_cmp_32_ai(void); -void m68k_op_cmp_32_pi(void); -void m68k_op_cmp_32_pd(void); -void m68k_op_cmp_32_di(void); -void m68k_op_cmp_32_ix(void); -void m68k_op_cmp_32_aw(void); -void m68k_op_cmp_32_al(void); -void m68k_op_cmp_32_pcdi(void); -void m68k_op_cmp_32_pcix(void); -void m68k_op_cmp_32_i(void); -void m68k_op_cmpa_16_d(void); -void m68k_op_cmpa_16_a(void); -void m68k_op_cmpa_16_ai(void); -void m68k_op_cmpa_16_pi(void); -void m68k_op_cmpa_16_pd(void); -void m68k_op_cmpa_16_di(void); -void m68k_op_cmpa_16_ix(void); -void m68k_op_cmpa_16_aw(void); -void m68k_op_cmpa_16_al(void); -void m68k_op_cmpa_16_pcdi(void); -void m68k_op_cmpa_16_pcix(void); -void m68k_op_cmpa_16_i(void); -void m68k_op_cmpa_32_d(void); -void m68k_op_cmpa_32_a(void); -void m68k_op_cmpa_32_ai(void); -void m68k_op_cmpa_32_pi(void); -void m68k_op_cmpa_32_pd(void); -void m68k_op_cmpa_32_di(void); -void m68k_op_cmpa_32_ix(void); -void m68k_op_cmpa_32_aw(void); -void m68k_op_cmpa_32_al(void); -void m68k_op_cmpa_32_pcdi(void); -void m68k_op_cmpa_32_pcix(void); -void m68k_op_cmpa_32_i(void); -void m68k_op_cmpi_8_d(void); -void m68k_op_cmpi_8_ai(void); -void m68k_op_cmpi_8_pi(void); -void m68k_op_cmpi_8_pi7(void); -void m68k_op_cmpi_8_pd(void); -void m68k_op_cmpi_8_pd7(void); -void m68k_op_cmpi_8_di(void); -void m68k_op_cmpi_8_ix(void); -void m68k_op_cmpi_8_aw(void); -void m68k_op_cmpi_8_al(void); -void m68k_op_cmpi_8_pcdi(void); -void m68k_op_cmpi_8_pcix(void); -void m68k_op_cmpi_16_d(void); -void m68k_op_cmpi_16_ai(void); -void m68k_op_cmpi_16_pi(void); -void m68k_op_cmpi_16_pd(void); -void m68k_op_cmpi_16_di(void); -void m68k_op_cmpi_16_ix(void); -void m68k_op_cmpi_16_aw(void); -void m68k_op_cmpi_16_al(void); -void m68k_op_cmpi_16_pcdi(void); -void m68k_op_cmpi_16_pcix(void); -void m68k_op_cmpi_32_d(void); -void m68k_op_cmpi_32_ai(void); -void m68k_op_cmpi_32_pi(void); -void m68k_op_cmpi_32_pd(void); -void m68k_op_cmpi_32_di(void); -void m68k_op_cmpi_32_ix(void); -void m68k_op_cmpi_32_aw(void); -void m68k_op_cmpi_32_al(void); -void m68k_op_cmpi_32_pcdi(void); -void m68k_op_cmpi_32_pcix(void); -void m68k_op_cmpm_8_ax7(void); -void m68k_op_cmpm_8_ay7(void); -void m68k_op_cmpm_8_axy7(void); -void m68k_op_cmpm_8(void); -void m68k_op_cmpm_16(void); -void m68k_op_cmpm_32(void); -void m68k_op_cpbcc_32(void); -void m68k_op_cpdbcc_32(void); -void m68k_op_cpgen_32(void); -void m68k_op_cpscc_32(void); -void m68k_op_cptrapcc_32(void); -void m68k_op_dbt_16(void); -void m68k_op_dbf_16(void); -void m68k_op_dbhi_16(void); -void m68k_op_dbls_16(void); -void m68k_op_dbcc_16(void); -void m68k_op_dbcs_16(void); -void m68k_op_dbne_16(void); -void m68k_op_dbeq_16(void); -void m68k_op_dbvc_16(void); -void m68k_op_dbvs_16(void); -void m68k_op_dbpl_16(void); -void m68k_op_dbmi_16(void); -void m68k_op_dbge_16(void); -void m68k_op_dblt_16(void); -void m68k_op_dbgt_16(void); -void m68k_op_dble_16(void); -void m68k_op_divs_16_d(void); -void m68k_op_divs_16_ai(void); -void m68k_op_divs_16_pi(void); -void m68k_op_divs_16_pd(void); -void m68k_op_divs_16_di(void); -void m68k_op_divs_16_ix(void); -void m68k_op_divs_16_aw(void); -void m68k_op_divs_16_al(void); -void m68k_op_divs_16_pcdi(void); -void m68k_op_divs_16_pcix(void); -void m68k_op_divs_16_i(void); -void m68k_op_divu_16_d(void); -void m68k_op_divu_16_ai(void); -void m68k_op_divu_16_pi(void); -void m68k_op_divu_16_pd(void); -void m68k_op_divu_16_di(void); -void m68k_op_divu_16_ix(void); -void m68k_op_divu_16_aw(void); -void m68k_op_divu_16_al(void); -void m68k_op_divu_16_pcdi(void); -void m68k_op_divu_16_pcix(void); -void m68k_op_divu_16_i(void); -void m68k_op_divl_32_d(void); -void m68k_op_divl_32_ai(void); -void m68k_op_divl_32_pi(void); -void m68k_op_divl_32_pd(void); -void m68k_op_divl_32_di(void); -void m68k_op_divl_32_ix(void); -void m68k_op_divl_32_aw(void); -void m68k_op_divl_32_al(void); -void m68k_op_divl_32_pcdi(void); -void m68k_op_divl_32_pcix(void); -void m68k_op_divl_32_i(void); -void m68k_op_eor_8_d(void); -void m68k_op_eor_8_ai(void); -void m68k_op_eor_8_pi(void); -void m68k_op_eor_8_pi7(void); -void m68k_op_eor_8_pd(void); -void m68k_op_eor_8_pd7(void); -void m68k_op_eor_8_di(void); -void m68k_op_eor_8_ix(void); -void m68k_op_eor_8_aw(void); -void m68k_op_eor_8_al(void); -void m68k_op_eor_16_d(void); -void m68k_op_eor_16_ai(void); -void m68k_op_eor_16_pi(void); -void m68k_op_eor_16_pd(void); -void m68k_op_eor_16_di(void); -void m68k_op_eor_16_ix(void); -void m68k_op_eor_16_aw(void); -void m68k_op_eor_16_al(void); -void m68k_op_eor_32_d(void); -void m68k_op_eor_32_ai(void); -void m68k_op_eor_32_pi(void); -void m68k_op_eor_32_pd(void); -void m68k_op_eor_32_di(void); -void m68k_op_eor_32_ix(void); -void m68k_op_eor_32_aw(void); -void m68k_op_eor_32_al(void); -void m68k_op_eori_8_d(void); -void m68k_op_eori_8_ai(void); -void m68k_op_eori_8_pi(void); -void m68k_op_eori_8_pi7(void); -void m68k_op_eori_8_pd(void); -void m68k_op_eori_8_pd7(void); -void m68k_op_eori_8_di(void); -void m68k_op_eori_8_ix(void); -void m68k_op_eori_8_aw(void); -void m68k_op_eori_8_al(void); -void m68k_op_eori_16_d(void); -void m68k_op_eori_16_ai(void); -void m68k_op_eori_16_pi(void); -void m68k_op_eori_16_pd(void); -void m68k_op_eori_16_di(void); -void m68k_op_eori_16_ix(void); -void m68k_op_eori_16_aw(void); -void m68k_op_eori_16_al(void); -void m68k_op_eori_32_d(void); -void m68k_op_eori_32_ai(void); -void m68k_op_eori_32_pi(void); -void m68k_op_eori_32_pd(void); -void m68k_op_eori_32_di(void); -void m68k_op_eori_32_ix(void); -void m68k_op_eori_32_aw(void); -void m68k_op_eori_32_al(void); -void m68k_op_eori_16_toc(void); -void m68k_op_eori_16_tos(void); -void m68k_op_exg_32_dd(void); -void m68k_op_exg_32_aa(void); -void m68k_op_exg_32_da(void); -void m68k_op_ext_16(void); -void m68k_op_ext_32(void); -void m68k_op_extb_32(void); -void m68k_op_illegal(void); -void m68k_op_jmp_32_ai(void); -void m68k_op_jmp_32_di(void); -void m68k_op_jmp_32_ix(void); -void m68k_op_jmp_32_aw(void); -void m68k_op_jmp_32_al(void); -void m68k_op_jmp_32_pcdi(void); -void m68k_op_jmp_32_pcix(void); -void m68k_op_jsr_32_ai(void); -void m68k_op_jsr_32_di(void); -void m68k_op_jsr_32_ix(void); -void m68k_op_jsr_32_aw(void); -void m68k_op_jsr_32_al(void); -void m68k_op_jsr_32_pcdi(void); -void m68k_op_jsr_32_pcix(void); -void m68k_op_lea_32_ai(void); -void m68k_op_lea_32_di(void); -void m68k_op_lea_32_ix(void); -void m68k_op_lea_32_aw(void); -void m68k_op_lea_32_al(void); -void m68k_op_lea_32_pcdi(void); -void m68k_op_lea_32_pcix(void); -void m68k_op_link_16_a7(void); -void m68k_op_link_16(void); -void m68k_op_link_32_a7(void); -void m68k_op_link_32(void); -void m68k_op_lsr_8_s(void); -void m68k_op_lsr_16_s(void); -void m68k_op_lsr_32_s(void); -void m68k_op_lsr_8_r(void); -void m68k_op_lsr_16_r(void); -void m68k_op_lsr_32_r(void); -void m68k_op_lsr_16_ai(void); -void m68k_op_lsr_16_pi(void); -void m68k_op_lsr_16_pd(void); -void m68k_op_lsr_16_di(void); -void m68k_op_lsr_16_ix(void); -void m68k_op_lsr_16_aw(void); -void m68k_op_lsr_16_al(void); -void m68k_op_lsl_8_s(void); -void m68k_op_lsl_16_s(void); -void m68k_op_lsl_32_s(void); -void m68k_op_lsl_8_r(void); -void m68k_op_lsl_16_r(void); -void m68k_op_lsl_32_r(void); -void m68k_op_lsl_16_ai(void); -void m68k_op_lsl_16_pi(void); -void m68k_op_lsl_16_pd(void); -void m68k_op_lsl_16_di(void); -void m68k_op_lsl_16_ix(void); -void m68k_op_lsl_16_aw(void); -void m68k_op_lsl_16_al(void); -void m68k_op_move_8_d_d(void); -void m68k_op_move_8_d_ai(void); -void m68k_op_move_8_d_pi(void); -void m68k_op_move_8_d_pi7(void); -void m68k_op_move_8_d_pd(void); -void m68k_op_move_8_d_pd7(void); -void m68k_op_move_8_d_di(void); -void m68k_op_move_8_d_ix(void); -void m68k_op_move_8_d_aw(void); -void m68k_op_move_8_d_al(void); -void m68k_op_move_8_d_pcdi(void); -void m68k_op_move_8_d_pcix(void); -void m68k_op_move_8_d_i(void); -void m68k_op_move_8_ai_d(void); -void m68k_op_move_8_ai_ai(void); -void m68k_op_move_8_ai_pi(void); -void m68k_op_move_8_ai_pi7(void); -void m68k_op_move_8_ai_pd(void); -void m68k_op_move_8_ai_pd7(void); -void m68k_op_move_8_ai_di(void); -void m68k_op_move_8_ai_ix(void); -void m68k_op_move_8_ai_aw(void); -void m68k_op_move_8_ai_al(void); -void m68k_op_move_8_ai_pcdi(void); -void m68k_op_move_8_ai_pcix(void); -void m68k_op_move_8_ai_i(void); -void m68k_op_move_8_pi7_d(void); -void m68k_op_move_8_pi_d(void); -void m68k_op_move_8_pi7_ai(void); -void m68k_op_move_8_pi7_pi(void); -void m68k_op_move_8_pi7_pi7(void); -void m68k_op_move_8_pi7_pd(void); -void m68k_op_move_8_pi7_pd7(void); -void m68k_op_move_8_pi7_di(void); -void m68k_op_move_8_pi7_ix(void); -void m68k_op_move_8_pi7_aw(void); -void m68k_op_move_8_pi7_al(void); -void m68k_op_move_8_pi7_pcdi(void); -void m68k_op_move_8_pi7_pcix(void); -void m68k_op_move_8_pi7_i(void); -void m68k_op_move_8_pi_ai(void); -void m68k_op_move_8_pi_pi(void); -void m68k_op_move_8_pi_pi7(void); -void m68k_op_move_8_pi_pd(void); -void m68k_op_move_8_pi_pd7(void); -void m68k_op_move_8_pi_di(void); -void m68k_op_move_8_pi_ix(void); -void m68k_op_move_8_pi_aw(void); -void m68k_op_move_8_pi_al(void); -void m68k_op_move_8_pi_pcdi(void); -void m68k_op_move_8_pi_pcix(void); -void m68k_op_move_8_pi_i(void); -void m68k_op_move_8_pd7_d(void); -void m68k_op_move_8_pd_d(void); -void m68k_op_move_8_pd7_ai(void); -void m68k_op_move_8_pd7_pi(void); -void m68k_op_move_8_pd7_pi7(void); -void m68k_op_move_8_pd7_pd(void); -void m68k_op_move_8_pd7_pd7(void); -void m68k_op_move_8_pd7_di(void); -void m68k_op_move_8_pd7_ix(void); -void m68k_op_move_8_pd7_aw(void); -void m68k_op_move_8_pd7_al(void); -void m68k_op_move_8_pd7_pcdi(void); -void m68k_op_move_8_pd7_pcix(void); -void m68k_op_move_8_pd7_i(void); -void m68k_op_move_8_pd_ai(void); -void m68k_op_move_8_pd_pi(void); -void m68k_op_move_8_pd_pi7(void); -void m68k_op_move_8_pd_pd(void); -void m68k_op_move_8_pd_pd7(void); -void m68k_op_move_8_pd_di(void); -void m68k_op_move_8_pd_ix(void); -void m68k_op_move_8_pd_aw(void); -void m68k_op_move_8_pd_al(void); -void m68k_op_move_8_pd_pcdi(void); -void m68k_op_move_8_pd_pcix(void); -void m68k_op_move_8_pd_i(void); -void m68k_op_move_8_di_d(void); -void m68k_op_move_8_di_ai(void); -void m68k_op_move_8_di_pi(void); -void m68k_op_move_8_di_pi7(void); -void m68k_op_move_8_di_pd(void); -void m68k_op_move_8_di_pd7(void); -void m68k_op_move_8_di_di(void); -void m68k_op_move_8_di_ix(void); -void m68k_op_move_8_di_aw(void); -void m68k_op_move_8_di_al(void); -void m68k_op_move_8_di_pcdi(void); -void m68k_op_move_8_di_pcix(void); -void m68k_op_move_8_di_i(void); -void m68k_op_move_8_ix_d(void); -void m68k_op_move_8_ix_ai(void); -void m68k_op_move_8_ix_pi(void); -void m68k_op_move_8_ix_pi7(void); -void m68k_op_move_8_ix_pd(void); -void m68k_op_move_8_ix_pd7(void); -void m68k_op_move_8_ix_di(void); -void m68k_op_move_8_ix_ix(void); -void m68k_op_move_8_ix_aw(void); -void m68k_op_move_8_ix_al(void); -void m68k_op_move_8_ix_pcdi(void); -void m68k_op_move_8_ix_pcix(void); -void m68k_op_move_8_ix_i(void); -void m68k_op_move_8_aw_d(void); -void m68k_op_move_8_aw_ai(void); -void m68k_op_move_8_aw_pi(void); -void m68k_op_move_8_aw_pi7(void); -void m68k_op_move_8_aw_pd(void); -void m68k_op_move_8_aw_pd7(void); -void m68k_op_move_8_aw_di(void); -void m68k_op_move_8_aw_ix(void); -void m68k_op_move_8_aw_aw(void); -void m68k_op_move_8_aw_al(void); -void m68k_op_move_8_aw_pcdi(void); -void m68k_op_move_8_aw_pcix(void); -void m68k_op_move_8_aw_i(void); -void m68k_op_move_8_al_d(void); -void m68k_op_move_8_al_ai(void); -void m68k_op_move_8_al_pi(void); -void m68k_op_move_8_al_pi7(void); -void m68k_op_move_8_al_pd(void); -void m68k_op_move_8_al_pd7(void); -void m68k_op_move_8_al_di(void); -void m68k_op_move_8_al_ix(void); -void m68k_op_move_8_al_aw(void); -void m68k_op_move_8_al_al(void); -void m68k_op_move_8_al_pcdi(void); -void m68k_op_move_8_al_pcix(void); -void m68k_op_move_8_al_i(void); -void m68k_op_move_16_d_d(void); -void m68k_op_move_16_d_a(void); -void m68k_op_move_16_d_ai(void); -void m68k_op_move_16_d_pi(void); -void m68k_op_move_16_d_pd(void); -void m68k_op_move_16_d_di(void); -void m68k_op_move_16_d_ix(void); -void m68k_op_move_16_d_aw(void); -void m68k_op_move_16_d_al(void); -void m68k_op_move_16_d_pcdi(void); -void m68k_op_move_16_d_pcix(void); -void m68k_op_move_16_d_i(void); -void m68k_op_move_16_ai_d(void); -void m68k_op_move_16_ai_a(void); -void m68k_op_move_16_ai_ai(void); -void m68k_op_move_16_ai_pi(void); -void m68k_op_move_16_ai_pd(void); -void m68k_op_move_16_ai_di(void); -void m68k_op_move_16_ai_ix(void); -void m68k_op_move_16_ai_aw(void); -void m68k_op_move_16_ai_al(void); -void m68k_op_move_16_ai_pcdi(void); -void m68k_op_move_16_ai_pcix(void); -void m68k_op_move_16_ai_i(void); -void m68k_op_move_16_pi_d(void); -void m68k_op_move_16_pi_a(void); -void m68k_op_move_16_pi_ai(void); -void m68k_op_move_16_pi_pi(void); -void m68k_op_move_16_pi_pd(void); -void m68k_op_move_16_pi_di(void); -void m68k_op_move_16_pi_ix(void); -void m68k_op_move_16_pi_aw(void); -void m68k_op_move_16_pi_al(void); -void m68k_op_move_16_pi_pcdi(void); -void m68k_op_move_16_pi_pcix(void); -void m68k_op_move_16_pi_i(void); -void m68k_op_move_16_pd_d(void); -void m68k_op_move_16_pd_a(void); -void m68k_op_move_16_pd_ai(void); -void m68k_op_move_16_pd_pi(void); -void m68k_op_move_16_pd_pd(void); -void m68k_op_move_16_pd_di(void); -void m68k_op_move_16_pd_ix(void); -void m68k_op_move_16_pd_aw(void); -void m68k_op_move_16_pd_al(void); -void m68k_op_move_16_pd_pcdi(void); -void m68k_op_move_16_pd_pcix(void); -void m68k_op_move_16_pd_i(void); -void m68k_op_move_16_di_d(void); -void m68k_op_move_16_di_a(void); -void m68k_op_move_16_di_ai(void); -void m68k_op_move_16_di_pi(void); -void m68k_op_move_16_di_pd(void); -void m68k_op_move_16_di_di(void); -void m68k_op_move_16_di_ix(void); -void m68k_op_move_16_di_aw(void); -void m68k_op_move_16_di_al(void); -void m68k_op_move_16_di_pcdi(void); -void m68k_op_move_16_di_pcix(void); -void m68k_op_move_16_di_i(void); -void m68k_op_move_16_ix_d(void); -void m68k_op_move_16_ix_a(void); -void m68k_op_move_16_ix_ai(void); -void m68k_op_move_16_ix_pi(void); -void m68k_op_move_16_ix_pd(void); -void m68k_op_move_16_ix_di(void); -void m68k_op_move_16_ix_ix(void); -void m68k_op_move_16_ix_aw(void); -void m68k_op_move_16_ix_al(void); -void m68k_op_move_16_ix_pcdi(void); -void m68k_op_move_16_ix_pcix(void); -void m68k_op_move_16_ix_i(void); -void m68k_op_move_16_aw_d(void); -void m68k_op_move_16_aw_a(void); -void m68k_op_move_16_aw_ai(void); -void m68k_op_move_16_aw_pi(void); -void m68k_op_move_16_aw_pd(void); -void m68k_op_move_16_aw_di(void); -void m68k_op_move_16_aw_ix(void); -void m68k_op_move_16_aw_aw(void); -void m68k_op_move_16_aw_al(void); -void m68k_op_move_16_aw_pcdi(void); -void m68k_op_move_16_aw_pcix(void); -void m68k_op_move_16_aw_i(void); -void m68k_op_move_16_al_d(void); -void m68k_op_move_16_al_a(void); -void m68k_op_move_16_al_ai(void); -void m68k_op_move_16_al_pi(void); -void m68k_op_move_16_al_pd(void); -void m68k_op_move_16_al_di(void); -void m68k_op_move_16_al_ix(void); -void m68k_op_move_16_al_aw(void); -void m68k_op_move_16_al_al(void); -void m68k_op_move_16_al_pcdi(void); -void m68k_op_move_16_al_pcix(void); -void m68k_op_move_16_al_i(void); -void m68k_op_move_32_d_d(void); -void m68k_op_move_32_d_a(void); -void m68k_op_move_32_d_ai(void); -void m68k_op_move_32_d_pi(void); -void m68k_op_move_32_d_pd(void); -void m68k_op_move_32_d_di(void); -void m68k_op_move_32_d_ix(void); -void m68k_op_move_32_d_aw(void); -void m68k_op_move_32_d_al(void); -void m68k_op_move_32_d_pcdi(void); -void m68k_op_move_32_d_pcix(void); -void m68k_op_move_32_d_i(void); -void m68k_op_move_32_ai_d(void); -void m68k_op_move_32_ai_a(void); -void m68k_op_move_32_ai_ai(void); -void m68k_op_move_32_ai_pi(void); -void m68k_op_move_32_ai_pd(void); -void m68k_op_move_32_ai_di(void); -void m68k_op_move_32_ai_ix(void); -void m68k_op_move_32_ai_aw(void); -void m68k_op_move_32_ai_al(void); -void m68k_op_move_32_ai_pcdi(void); -void m68k_op_move_32_ai_pcix(void); -void m68k_op_move_32_ai_i(void); -void m68k_op_move_32_pi_d(void); -void m68k_op_move_32_pi_a(void); -void m68k_op_move_32_pi_ai(void); -void m68k_op_move_32_pi_pi(void); -void m68k_op_move_32_pi_pd(void); -void m68k_op_move_32_pi_di(void); -void m68k_op_move_32_pi_ix(void); -void m68k_op_move_32_pi_aw(void); -void m68k_op_move_32_pi_al(void); -void m68k_op_move_32_pi_pcdi(void); -void m68k_op_move_32_pi_pcix(void); -void m68k_op_move_32_pi_i(void); -void m68k_op_move_32_pd_d(void); -void m68k_op_move_32_pd_a(void); -void m68k_op_move_32_pd_ai(void); -void m68k_op_move_32_pd_pi(void); -void m68k_op_move_32_pd_pd(void); -void m68k_op_move_32_pd_di(void); -void m68k_op_move_32_pd_ix(void); -void m68k_op_move_32_pd_aw(void); -void m68k_op_move_32_pd_al(void); -void m68k_op_move_32_pd_pcdi(void); -void m68k_op_move_32_pd_pcix(void); -void m68k_op_move_32_pd_i(void); -void m68k_op_move_32_di_d(void); -void m68k_op_move_32_di_a(void); -void m68k_op_move_32_di_ai(void); -void m68k_op_move_32_di_pi(void); -void m68k_op_move_32_di_pd(void); -void m68k_op_move_32_di_di(void); -void m68k_op_move_32_di_ix(void); -void m68k_op_move_32_di_aw(void); -void m68k_op_move_32_di_al(void); -void m68k_op_move_32_di_pcdi(void); -void m68k_op_move_32_di_pcix(void); -void m68k_op_move_32_di_i(void); -void m68k_op_move_32_ix_d(void); -void m68k_op_move_32_ix_a(void); -void m68k_op_move_32_ix_ai(void); -void m68k_op_move_32_ix_pi(void); -void m68k_op_move_32_ix_pd(void); -void m68k_op_move_32_ix_di(void); -void m68k_op_move_32_ix_ix(void); -void m68k_op_move_32_ix_aw(void); -void m68k_op_move_32_ix_al(void); -void m68k_op_move_32_ix_pcdi(void); -void m68k_op_move_32_ix_pcix(void); -void m68k_op_move_32_ix_i(void); -void m68k_op_move_32_aw_d(void); -void m68k_op_move_32_aw_a(void); -void m68k_op_move_32_aw_ai(void); -void m68k_op_move_32_aw_pi(void); -void m68k_op_move_32_aw_pd(void); -void m68k_op_move_32_aw_di(void); -void m68k_op_move_32_aw_ix(void); -void m68k_op_move_32_aw_aw(void); -void m68k_op_move_32_aw_al(void); -void m68k_op_move_32_aw_pcdi(void); -void m68k_op_move_32_aw_pcix(void); -void m68k_op_move_32_aw_i(void); -void m68k_op_move_32_al_d(void); -void m68k_op_move_32_al_a(void); -void m68k_op_move_32_al_ai(void); -void m68k_op_move_32_al_pi(void); -void m68k_op_move_32_al_pd(void); -void m68k_op_move_32_al_di(void); -void m68k_op_move_32_al_ix(void); -void m68k_op_move_32_al_aw(void); -void m68k_op_move_32_al_al(void); -void m68k_op_move_32_al_pcdi(void); -void m68k_op_move_32_al_pcix(void); -void m68k_op_move_32_al_i(void); -void m68k_op_movea_16_d(void); -void m68k_op_movea_16_a(void); -void m68k_op_movea_16_ai(void); -void m68k_op_movea_16_pi(void); -void m68k_op_movea_16_pd(void); -void m68k_op_movea_16_di(void); -void m68k_op_movea_16_ix(void); -void m68k_op_movea_16_aw(void); -void m68k_op_movea_16_al(void); -void m68k_op_movea_16_pcdi(void); -void m68k_op_movea_16_pcix(void); -void m68k_op_movea_16_i(void); -void m68k_op_movea_32_d(void); -void m68k_op_movea_32_a(void); -void m68k_op_movea_32_ai(void); -void m68k_op_movea_32_pi(void); -void m68k_op_movea_32_pd(void); -void m68k_op_movea_32_di(void); -void m68k_op_movea_32_ix(void); -void m68k_op_movea_32_aw(void); -void m68k_op_movea_32_al(void); -void m68k_op_movea_32_pcdi(void); -void m68k_op_movea_32_pcix(void); -void m68k_op_movea_32_i(void); -void m68k_op_move_16_frc_d(void); -void m68k_op_move_16_frc_ai(void); -void m68k_op_move_16_frc_pi(void); -void m68k_op_move_16_frc_pd(void); -void m68k_op_move_16_frc_di(void); -void m68k_op_move_16_frc_ix(void); -void m68k_op_move_16_frc_aw(void); -void m68k_op_move_16_frc_al(void); -void m68k_op_move_16_toc_d(void); -void m68k_op_move_16_toc_ai(void); -void m68k_op_move_16_toc_pi(void); -void m68k_op_move_16_toc_pd(void); -void m68k_op_move_16_toc_di(void); -void m68k_op_move_16_toc_ix(void); -void m68k_op_move_16_toc_aw(void); -void m68k_op_move_16_toc_al(void); -void m68k_op_move_16_toc_pcdi(void); -void m68k_op_move_16_toc_pcix(void); -void m68k_op_move_16_toc_i(void); -void m68k_op_move_16_frs_d(void); -void m68k_op_move_16_frs_ai(void); -void m68k_op_move_16_frs_pi(void); -void m68k_op_move_16_frs_pd(void); -void m68k_op_move_16_frs_di(void); -void m68k_op_move_16_frs_ix(void); -void m68k_op_move_16_frs_aw(void); -void m68k_op_move_16_frs_al(void); -void m68k_op_move_16_tos_d(void); -void m68k_op_move_16_tos_ai(void); -void m68k_op_move_16_tos_pi(void); -void m68k_op_move_16_tos_pd(void); -void m68k_op_move_16_tos_di(void); -void m68k_op_move_16_tos_ix(void); -void m68k_op_move_16_tos_aw(void); -void m68k_op_move_16_tos_al(void); -void m68k_op_move_16_tos_pcdi(void); -void m68k_op_move_16_tos_pcix(void); -void m68k_op_move_16_tos_i(void); -void m68k_op_move_32_fru(void); -void m68k_op_move_32_tou(void); -void m68k_op_movec_32_cr(void); -void m68k_op_movec_32_rc(void); -void m68k_op_movem_16_re_pd(void); -void m68k_op_movem_16_re_ai(void); -void m68k_op_movem_16_re_di(void); -void m68k_op_movem_16_re_ix(void); -void m68k_op_movem_16_re_aw(void); -void m68k_op_movem_16_re_al(void); -void m68k_op_movem_32_re_pd(void); -void m68k_op_movem_32_re_ai(void); -void m68k_op_movem_32_re_di(void); -void m68k_op_movem_32_re_ix(void); -void m68k_op_movem_32_re_aw(void); -void m68k_op_movem_32_re_al(void); -void m68k_op_movem_16_er_pi(void); -void m68k_op_movem_16_er_pcdi(void); -void m68k_op_movem_16_er_pcix(void); -void m68k_op_movem_16_er_ai(void); -void m68k_op_movem_16_er_di(void); -void m68k_op_movem_16_er_ix(void); -void m68k_op_movem_16_er_aw(void); -void m68k_op_movem_16_er_al(void); -void m68k_op_movem_32_er_pi(void); -void m68k_op_movem_32_er_pcdi(void); -void m68k_op_movem_32_er_pcix(void); -void m68k_op_movem_32_er_ai(void); -void m68k_op_movem_32_er_di(void); -void m68k_op_movem_32_er_ix(void); -void m68k_op_movem_32_er_aw(void); -void m68k_op_movem_32_er_al(void); -void m68k_op_movep_16_re(void); -void m68k_op_movep_32_re(void); -void m68k_op_movep_16_er(void); -void m68k_op_movep_32_er(void); -void m68k_op_moves_8_ai(void); -void m68k_op_moves_8_pi(void); -void m68k_op_moves_8_pi7(void); -void m68k_op_moves_8_pd(void); -void m68k_op_moves_8_pd7(void); -void m68k_op_moves_8_di(void); -void m68k_op_moves_8_ix(void); -void m68k_op_moves_8_aw(void); -void m68k_op_moves_8_al(void); -void m68k_op_moves_16_ai(void); -void m68k_op_moves_16_pi(void); -void m68k_op_moves_16_pd(void); -void m68k_op_moves_16_di(void); -void m68k_op_moves_16_ix(void); -void m68k_op_moves_16_aw(void); -void m68k_op_moves_16_al(void); -void m68k_op_moves_32_ai(void); -void m68k_op_moves_32_pi(void); -void m68k_op_moves_32_pd(void); -void m68k_op_moves_32_di(void); -void m68k_op_moves_32_ix(void); -void m68k_op_moves_32_aw(void); -void m68k_op_moves_32_al(void); -void m68k_op_moveq_32(void); -void m68k_op_muls_16_d(void); -void m68k_op_muls_16_ai(void); -void m68k_op_muls_16_pi(void); -void m68k_op_muls_16_pd(void); -void m68k_op_muls_16_di(void); -void m68k_op_muls_16_ix(void); -void m68k_op_muls_16_aw(void); -void m68k_op_muls_16_al(void); -void m68k_op_muls_16_pcdi(void); -void m68k_op_muls_16_pcix(void); -void m68k_op_muls_16_i(void); -void m68k_op_mulu_16_d(void); -void m68k_op_mulu_16_ai(void); -void m68k_op_mulu_16_pi(void); -void m68k_op_mulu_16_pd(void); -void m68k_op_mulu_16_di(void); -void m68k_op_mulu_16_ix(void); -void m68k_op_mulu_16_aw(void); -void m68k_op_mulu_16_al(void); -void m68k_op_mulu_16_pcdi(void); -void m68k_op_mulu_16_pcix(void); -void m68k_op_mulu_16_i(void); -void m68k_op_mull_32_d(void); -void m68k_op_mull_32_ai(void); -void m68k_op_mull_32_pi(void); -void m68k_op_mull_32_pd(void); -void m68k_op_mull_32_di(void); -void m68k_op_mull_32_ix(void); -void m68k_op_mull_32_aw(void); -void m68k_op_mull_32_al(void); -void m68k_op_mull_32_pcdi(void); -void m68k_op_mull_32_pcix(void); -void m68k_op_mull_32_i(void); -void m68k_op_nbcd_8_d(void); -void m68k_op_nbcd_8_ai(void); -void m68k_op_nbcd_8_pi(void); -void m68k_op_nbcd_8_pi7(void); -void m68k_op_nbcd_8_pd(void); -void m68k_op_nbcd_8_pd7(void); -void m68k_op_nbcd_8_di(void); -void m68k_op_nbcd_8_ix(void); -void m68k_op_nbcd_8_aw(void); -void m68k_op_nbcd_8_al(void); -void m68k_op_neg_8_d(void); -void m68k_op_neg_8_ai(void); -void m68k_op_neg_8_pi(void); -void m68k_op_neg_8_pi7(void); -void m68k_op_neg_8_pd(void); -void m68k_op_neg_8_pd7(void); -void m68k_op_neg_8_di(void); -void m68k_op_neg_8_ix(void); -void m68k_op_neg_8_aw(void); -void m68k_op_neg_8_al(void); -void m68k_op_neg_16_d(void); -void m68k_op_neg_16_ai(void); -void m68k_op_neg_16_pi(void); -void m68k_op_neg_16_pd(void); -void m68k_op_neg_16_di(void); -void m68k_op_neg_16_ix(void); -void m68k_op_neg_16_aw(void); -void m68k_op_neg_16_al(void); -void m68k_op_neg_32_d(void); -void m68k_op_neg_32_ai(void); -void m68k_op_neg_32_pi(void); -void m68k_op_neg_32_pd(void); -void m68k_op_neg_32_di(void); -void m68k_op_neg_32_ix(void); -void m68k_op_neg_32_aw(void); -void m68k_op_neg_32_al(void); -void m68k_op_negx_8_d(void); -void m68k_op_negx_8_ai(void); -void m68k_op_negx_8_pi(void); -void m68k_op_negx_8_pi7(void); -void m68k_op_negx_8_pd(void); -void m68k_op_negx_8_pd7(void); -void m68k_op_negx_8_di(void); -void m68k_op_negx_8_ix(void); -void m68k_op_negx_8_aw(void); -void m68k_op_negx_8_al(void); -void m68k_op_negx_16_d(void); -void m68k_op_negx_16_ai(void); -void m68k_op_negx_16_pi(void); -void m68k_op_negx_16_pd(void); -void m68k_op_negx_16_di(void); -void m68k_op_negx_16_ix(void); -void m68k_op_negx_16_aw(void); -void m68k_op_negx_16_al(void); -void m68k_op_negx_32_d(void); -void m68k_op_negx_32_ai(void); -void m68k_op_negx_32_pi(void); -void m68k_op_negx_32_pd(void); -void m68k_op_negx_32_di(void); -void m68k_op_negx_32_ix(void); -void m68k_op_negx_32_aw(void); -void m68k_op_negx_32_al(void); -void m68k_op_nop(void); -void m68k_op_not_8_d(void); -void m68k_op_not_8_ai(void); -void m68k_op_not_8_pi(void); -void m68k_op_not_8_pi7(void); -void m68k_op_not_8_pd(void); -void m68k_op_not_8_pd7(void); -void m68k_op_not_8_di(void); -void m68k_op_not_8_ix(void); -void m68k_op_not_8_aw(void); -void m68k_op_not_8_al(void); -void m68k_op_not_16_d(void); -void m68k_op_not_16_ai(void); -void m68k_op_not_16_pi(void); -void m68k_op_not_16_pd(void); -void m68k_op_not_16_di(void); -void m68k_op_not_16_ix(void); -void m68k_op_not_16_aw(void); -void m68k_op_not_16_al(void); -void m68k_op_not_32_d(void); -void m68k_op_not_32_ai(void); -void m68k_op_not_32_pi(void); -void m68k_op_not_32_pd(void); -void m68k_op_not_32_di(void); -void m68k_op_not_32_ix(void); -void m68k_op_not_32_aw(void); -void m68k_op_not_32_al(void); -void m68k_op_or_8_er_d(void); -void m68k_op_or_8_er_ai(void); -void m68k_op_or_8_er_pi(void); -void m68k_op_or_8_er_pi7(void); -void m68k_op_or_8_er_pd(void); -void m68k_op_or_8_er_pd7(void); -void m68k_op_or_8_er_di(void); -void m68k_op_or_8_er_ix(void); -void m68k_op_or_8_er_aw(void); -void m68k_op_or_8_er_al(void); -void m68k_op_or_8_er_pcdi(void); -void m68k_op_or_8_er_pcix(void); -void m68k_op_or_8_er_i(void); -void m68k_op_or_16_er_d(void); -void m68k_op_or_16_er_ai(void); -void m68k_op_or_16_er_pi(void); -void m68k_op_or_16_er_pd(void); -void m68k_op_or_16_er_di(void); -void m68k_op_or_16_er_ix(void); -void m68k_op_or_16_er_aw(void); -void m68k_op_or_16_er_al(void); -void m68k_op_or_16_er_pcdi(void); -void m68k_op_or_16_er_pcix(void); -void m68k_op_or_16_er_i(void); -void m68k_op_or_32_er_d(void); -void m68k_op_or_32_er_ai(void); -void m68k_op_or_32_er_pi(void); -void m68k_op_or_32_er_pd(void); -void m68k_op_or_32_er_di(void); -void m68k_op_or_32_er_ix(void); -void m68k_op_or_32_er_aw(void); -void m68k_op_or_32_er_al(void); -void m68k_op_or_32_er_pcdi(void); -void m68k_op_or_32_er_pcix(void); -void m68k_op_or_32_er_i(void); -void m68k_op_or_8_re_ai(void); -void m68k_op_or_8_re_pi(void); -void m68k_op_or_8_re_pi7(void); -void m68k_op_or_8_re_pd(void); -void m68k_op_or_8_re_pd7(void); -void m68k_op_or_8_re_di(void); -void m68k_op_or_8_re_ix(void); -void m68k_op_or_8_re_aw(void); -void m68k_op_or_8_re_al(void); -void m68k_op_or_16_re_ai(void); -void m68k_op_or_16_re_pi(void); -void m68k_op_or_16_re_pd(void); -void m68k_op_or_16_re_di(void); -void m68k_op_or_16_re_ix(void); -void m68k_op_or_16_re_aw(void); -void m68k_op_or_16_re_al(void); -void m68k_op_or_32_re_ai(void); -void m68k_op_or_32_re_pi(void); -void m68k_op_or_32_re_pd(void); -void m68k_op_or_32_re_di(void); -void m68k_op_or_32_re_ix(void); -void m68k_op_or_32_re_aw(void); -void m68k_op_or_32_re_al(void); -void m68k_op_ori_8_d(void); -void m68k_op_ori_8_ai(void); -void m68k_op_ori_8_pi(void); -void m68k_op_ori_8_pi7(void); -void m68k_op_ori_8_pd(void); -void m68k_op_ori_8_pd7(void); -void m68k_op_ori_8_di(void); -void m68k_op_ori_8_ix(void); -void m68k_op_ori_8_aw(void); -void m68k_op_ori_8_al(void); -void m68k_op_ori_16_d(void); -void m68k_op_ori_16_ai(void); -void m68k_op_ori_16_pi(void); -void m68k_op_ori_16_pd(void); -void m68k_op_ori_16_di(void); -void m68k_op_ori_16_ix(void); -void m68k_op_ori_16_aw(void); -void m68k_op_ori_16_al(void); -void m68k_op_ori_32_d(void); -void m68k_op_ori_32_ai(void); -void m68k_op_ori_32_pi(void); -void m68k_op_ori_32_pd(void); -void m68k_op_ori_32_di(void); -void m68k_op_ori_32_ix(void); -void m68k_op_ori_32_aw(void); -void m68k_op_ori_32_al(void); -void m68k_op_ori_16_toc(void); -void m68k_op_ori_16_tos(void); -void m68k_op_pack_16_rr(void); -void m68k_op_pack_16_mm_ax7(void); -void m68k_op_pack_16_mm_ay7(void); -void m68k_op_pack_16_mm_axy7(void); -void m68k_op_pack_16_mm(void); -void m68k_op_pea_32_ai(void); -void m68k_op_pea_32_di(void); -void m68k_op_pea_32_ix(void); -void m68k_op_pea_32_aw(void); -void m68k_op_pea_32_al(void); -void m68k_op_pea_32_pcdi(void); -void m68k_op_pea_32_pcix(void); -void m68k_op_reset(void); -void m68k_op_ror_8_s(void); -void m68k_op_ror_16_s(void); -void m68k_op_ror_32_s(void); -void m68k_op_ror_8_r(void); -void m68k_op_ror_16_r(void); -void m68k_op_ror_32_r(void); -void m68k_op_ror_16_ai(void); -void m68k_op_ror_16_pi(void); -void m68k_op_ror_16_pd(void); -void m68k_op_ror_16_di(void); -void m68k_op_ror_16_ix(void); -void m68k_op_ror_16_aw(void); -void m68k_op_ror_16_al(void); -void m68k_op_rol_8_s(void); -void m68k_op_rol_16_s(void); -void m68k_op_rol_32_s(void); -void m68k_op_rol_8_r(void); -void m68k_op_rol_16_r(void); -void m68k_op_rol_32_r(void); -void m68k_op_rol_16_ai(void); -void m68k_op_rol_16_pi(void); -void m68k_op_rol_16_pd(void); -void m68k_op_rol_16_di(void); -void m68k_op_rol_16_ix(void); -void m68k_op_rol_16_aw(void); -void m68k_op_rol_16_al(void); -void m68k_op_roxr_8_s(void); -void m68k_op_roxr_16_s(void); -void m68k_op_roxr_32_s(void); -void m68k_op_roxr_8_r(void); -void m68k_op_roxr_16_r(void); -void m68k_op_roxr_32_r(void); -void m68k_op_roxr_16_ai(void); -void m68k_op_roxr_16_pi(void); -void m68k_op_roxr_16_pd(void); -void m68k_op_roxr_16_di(void); -void m68k_op_roxr_16_ix(void); -void m68k_op_roxr_16_aw(void); -void m68k_op_roxr_16_al(void); -void m68k_op_roxl_8_s(void); -void m68k_op_roxl_16_s(void); -void m68k_op_roxl_32_s(void); -void m68k_op_roxl_8_r(void); -void m68k_op_roxl_16_r(void); -void m68k_op_roxl_32_r(void); -void m68k_op_roxl_16_ai(void); -void m68k_op_roxl_16_pi(void); -void m68k_op_roxl_16_pd(void); -void m68k_op_roxl_16_di(void); -void m68k_op_roxl_16_ix(void); -void m68k_op_roxl_16_aw(void); -void m68k_op_roxl_16_al(void); -void m68k_op_rtd_32(void); -void m68k_op_rte_32(void); -void m68k_op_rtm_32(void); -void m68k_op_rtr_32(void); -void m68k_op_rts_32(void); -void m68k_op_sbcd_8_rr(void); -void m68k_op_sbcd_8_mm_ax7(void); -void m68k_op_sbcd_8_mm_ay7(void); -void m68k_op_sbcd_8_mm_axy7(void); -void m68k_op_sbcd_8_mm(void); -void m68k_op_st_8_d(void); -void m68k_op_st_8_ai(void); -void m68k_op_st_8_pi(void); -void m68k_op_st_8_pi7(void); -void m68k_op_st_8_pd(void); -void m68k_op_st_8_pd7(void); -void m68k_op_st_8_di(void); -void m68k_op_st_8_ix(void); -void m68k_op_st_8_aw(void); -void m68k_op_st_8_al(void); -void m68k_op_sf_8_d(void); -void m68k_op_sf_8_ai(void); -void m68k_op_sf_8_pi(void); -void m68k_op_sf_8_pi7(void); -void m68k_op_sf_8_pd(void); -void m68k_op_sf_8_pd7(void); -void m68k_op_sf_8_di(void); -void m68k_op_sf_8_ix(void); -void m68k_op_sf_8_aw(void); -void m68k_op_sf_8_al(void); -void m68k_op_shi_8_d(void); -void m68k_op_sls_8_d(void); -void m68k_op_scc_8_d(void); -void m68k_op_scs_8_d(void); -void m68k_op_sne_8_d(void); -void m68k_op_seq_8_d(void); -void m68k_op_svc_8_d(void); -void m68k_op_svs_8_d(void); -void m68k_op_spl_8_d(void); -void m68k_op_smi_8_d(void); -void m68k_op_sge_8_d(void); -void m68k_op_slt_8_d(void); -void m68k_op_sgt_8_d(void); -void m68k_op_sle_8_d(void); -void m68k_op_shi_8_ai(void); -void m68k_op_shi_8_pi(void); -void m68k_op_shi_8_pi7(void); -void m68k_op_shi_8_pd(void); -void m68k_op_shi_8_pd7(void); -void m68k_op_shi_8_di(void); -void m68k_op_shi_8_ix(void); -void m68k_op_shi_8_aw(void); -void m68k_op_shi_8_al(void); -void m68k_op_sls_8_ai(void); -void m68k_op_sls_8_pi(void); -void m68k_op_sls_8_pi7(void); -void m68k_op_sls_8_pd(void); -void m68k_op_sls_8_pd7(void); -void m68k_op_sls_8_di(void); -void m68k_op_sls_8_ix(void); -void m68k_op_sls_8_aw(void); -void m68k_op_sls_8_al(void); -void m68k_op_scc_8_ai(void); -void m68k_op_scc_8_pi(void); -void m68k_op_scc_8_pi7(void); -void m68k_op_scc_8_pd(void); -void m68k_op_scc_8_pd7(void); -void m68k_op_scc_8_di(void); -void m68k_op_scc_8_ix(void); -void m68k_op_scc_8_aw(void); -void m68k_op_scc_8_al(void); -void m68k_op_scs_8_ai(void); -void m68k_op_scs_8_pi(void); -void m68k_op_scs_8_pi7(void); -void m68k_op_scs_8_pd(void); -void m68k_op_scs_8_pd7(void); -void m68k_op_scs_8_di(void); -void m68k_op_scs_8_ix(void); -void m68k_op_scs_8_aw(void); -void m68k_op_scs_8_al(void); -void m68k_op_sne_8_ai(void); -void m68k_op_sne_8_pi(void); -void m68k_op_sne_8_pi7(void); -void m68k_op_sne_8_pd(void); -void m68k_op_sne_8_pd7(void); -void m68k_op_sne_8_di(void); -void m68k_op_sne_8_ix(void); -void m68k_op_sne_8_aw(void); -void m68k_op_sne_8_al(void); -void m68k_op_seq_8_ai(void); -void m68k_op_seq_8_pi(void); -void m68k_op_seq_8_pi7(void); -void m68k_op_seq_8_pd(void); -void m68k_op_seq_8_pd7(void); -void m68k_op_seq_8_di(void); -void m68k_op_seq_8_ix(void); -void m68k_op_seq_8_aw(void); -void m68k_op_seq_8_al(void); -void m68k_op_svc_8_ai(void); -void m68k_op_svc_8_pi(void); -void m68k_op_svc_8_pi7(void); -void m68k_op_svc_8_pd(void); -void m68k_op_svc_8_pd7(void); -void m68k_op_svc_8_di(void); -void m68k_op_svc_8_ix(void); -void m68k_op_svc_8_aw(void); -void m68k_op_svc_8_al(void); -void m68k_op_svs_8_ai(void); -void m68k_op_svs_8_pi(void); -void m68k_op_svs_8_pi7(void); -void m68k_op_svs_8_pd(void); -void m68k_op_svs_8_pd7(void); -void m68k_op_svs_8_di(void); -void m68k_op_svs_8_ix(void); -void m68k_op_svs_8_aw(void); -void m68k_op_svs_8_al(void); -void m68k_op_spl_8_ai(void); -void m68k_op_spl_8_pi(void); -void m68k_op_spl_8_pi7(void); -void m68k_op_spl_8_pd(void); -void m68k_op_spl_8_pd7(void); -void m68k_op_spl_8_di(void); -void m68k_op_spl_8_ix(void); -void m68k_op_spl_8_aw(void); -void m68k_op_spl_8_al(void); -void m68k_op_smi_8_ai(void); -void m68k_op_smi_8_pi(void); -void m68k_op_smi_8_pi7(void); -void m68k_op_smi_8_pd(void); -void m68k_op_smi_8_pd7(void); -void m68k_op_smi_8_di(void); -void m68k_op_smi_8_ix(void); -void m68k_op_smi_8_aw(void); -void m68k_op_smi_8_al(void); -void m68k_op_sge_8_ai(void); -void m68k_op_sge_8_pi(void); -void m68k_op_sge_8_pi7(void); -void m68k_op_sge_8_pd(void); -void m68k_op_sge_8_pd7(void); -void m68k_op_sge_8_di(void); -void m68k_op_sge_8_ix(void); -void m68k_op_sge_8_aw(void); -void m68k_op_sge_8_al(void); -void m68k_op_slt_8_ai(void); -void m68k_op_slt_8_pi(void); -void m68k_op_slt_8_pi7(void); -void m68k_op_slt_8_pd(void); -void m68k_op_slt_8_pd7(void); -void m68k_op_slt_8_di(void); -void m68k_op_slt_8_ix(void); -void m68k_op_slt_8_aw(void); -void m68k_op_slt_8_al(void); -void m68k_op_sgt_8_ai(void); -void m68k_op_sgt_8_pi(void); -void m68k_op_sgt_8_pi7(void); -void m68k_op_sgt_8_pd(void); -void m68k_op_sgt_8_pd7(void); -void m68k_op_sgt_8_di(void); -void m68k_op_sgt_8_ix(void); -void m68k_op_sgt_8_aw(void); -void m68k_op_sgt_8_al(void); -void m68k_op_sle_8_ai(void); -void m68k_op_sle_8_pi(void); -void m68k_op_sle_8_pi7(void); -void m68k_op_sle_8_pd(void); -void m68k_op_sle_8_pd7(void); -void m68k_op_sle_8_di(void); -void m68k_op_sle_8_ix(void); -void m68k_op_sle_8_aw(void); -void m68k_op_sle_8_al(void); -void m68k_op_stop(void); -void m68k_op_sub_8_er_d(void); -void m68k_op_sub_8_er_ai(void); -void m68k_op_sub_8_er_pi(void); -void m68k_op_sub_8_er_pi7(void); -void m68k_op_sub_8_er_pd(void); -void m68k_op_sub_8_er_pd7(void); -void m68k_op_sub_8_er_di(void); -void m68k_op_sub_8_er_ix(void); -void m68k_op_sub_8_er_aw(void); -void m68k_op_sub_8_er_al(void); -void m68k_op_sub_8_er_pcdi(void); -void m68k_op_sub_8_er_pcix(void); -void m68k_op_sub_8_er_i(void); -void m68k_op_sub_16_er_d(void); -void m68k_op_sub_16_er_a(void); -void m68k_op_sub_16_er_ai(void); -void m68k_op_sub_16_er_pi(void); -void m68k_op_sub_16_er_pd(void); -void m68k_op_sub_16_er_di(void); -void m68k_op_sub_16_er_ix(void); -void m68k_op_sub_16_er_aw(void); -void m68k_op_sub_16_er_al(void); -void m68k_op_sub_16_er_pcdi(void); -void m68k_op_sub_16_er_pcix(void); -void m68k_op_sub_16_er_i(void); -void m68k_op_sub_32_er_d(void); -void m68k_op_sub_32_er_a(void); -void m68k_op_sub_32_er_ai(void); -void m68k_op_sub_32_er_pi(void); -void m68k_op_sub_32_er_pd(void); -void m68k_op_sub_32_er_di(void); -void m68k_op_sub_32_er_ix(void); -void m68k_op_sub_32_er_aw(void); -void m68k_op_sub_32_er_al(void); -void m68k_op_sub_32_er_pcdi(void); -void m68k_op_sub_32_er_pcix(void); -void m68k_op_sub_32_er_i(void); -void m68k_op_sub_8_re_ai(void); -void m68k_op_sub_8_re_pi(void); -void m68k_op_sub_8_re_pi7(void); -void m68k_op_sub_8_re_pd(void); -void m68k_op_sub_8_re_pd7(void); -void m68k_op_sub_8_re_di(void); -void m68k_op_sub_8_re_ix(void); -void m68k_op_sub_8_re_aw(void); -void m68k_op_sub_8_re_al(void); -void m68k_op_sub_16_re_ai(void); -void m68k_op_sub_16_re_pi(void); -void m68k_op_sub_16_re_pd(void); -void m68k_op_sub_16_re_di(void); -void m68k_op_sub_16_re_ix(void); -void m68k_op_sub_16_re_aw(void); -void m68k_op_sub_16_re_al(void); -void m68k_op_sub_32_re_ai(void); -void m68k_op_sub_32_re_pi(void); -void m68k_op_sub_32_re_pd(void); -void m68k_op_sub_32_re_di(void); -void m68k_op_sub_32_re_ix(void); -void m68k_op_sub_32_re_aw(void); -void m68k_op_sub_32_re_al(void); -void m68k_op_suba_16_d(void); -void m68k_op_suba_16_a(void); -void m68k_op_suba_16_ai(void); -void m68k_op_suba_16_pi(void); -void m68k_op_suba_16_pd(void); -void m68k_op_suba_16_di(void); -void m68k_op_suba_16_ix(void); -void m68k_op_suba_16_aw(void); -void m68k_op_suba_16_al(void); -void m68k_op_suba_16_pcdi(void); -void m68k_op_suba_16_pcix(void); -void m68k_op_suba_16_i(void); -void m68k_op_suba_32_d(void); -void m68k_op_suba_32_a(void); -void m68k_op_suba_32_ai(void); -void m68k_op_suba_32_pi(void); -void m68k_op_suba_32_pd(void); -void m68k_op_suba_32_di(void); -void m68k_op_suba_32_ix(void); -void m68k_op_suba_32_aw(void); -void m68k_op_suba_32_al(void); -void m68k_op_suba_32_pcdi(void); -void m68k_op_suba_32_pcix(void); -void m68k_op_suba_32_i(void); -void m68k_op_subi_8_d(void); -void m68k_op_subi_8_ai(void); -void m68k_op_subi_8_pi(void); -void m68k_op_subi_8_pi7(void); -void m68k_op_subi_8_pd(void); -void m68k_op_subi_8_pd7(void); -void m68k_op_subi_8_di(void); -void m68k_op_subi_8_ix(void); -void m68k_op_subi_8_aw(void); -void m68k_op_subi_8_al(void); -void m68k_op_subi_16_d(void); -void m68k_op_subi_16_ai(void); -void m68k_op_subi_16_pi(void); -void m68k_op_subi_16_pd(void); -void m68k_op_subi_16_di(void); -void m68k_op_subi_16_ix(void); -void m68k_op_subi_16_aw(void); -void m68k_op_subi_16_al(void); -void m68k_op_subi_32_d(void); -void m68k_op_subi_32_ai(void); -void m68k_op_subi_32_pi(void); -void m68k_op_subi_32_pd(void); -void m68k_op_subi_32_di(void); -void m68k_op_subi_32_ix(void); -void m68k_op_subi_32_aw(void); -void m68k_op_subi_32_al(void); -void m68k_op_subq_8_d(void); -void m68k_op_subq_8_ai(void); -void m68k_op_subq_8_pi(void); -void m68k_op_subq_8_pi7(void); -void m68k_op_subq_8_pd(void); -void m68k_op_subq_8_pd7(void); -void m68k_op_subq_8_di(void); -void m68k_op_subq_8_ix(void); -void m68k_op_subq_8_aw(void); -void m68k_op_subq_8_al(void); -void m68k_op_subq_16_d(void); -void m68k_op_subq_16_a(void); -void m68k_op_subq_16_ai(void); -void m68k_op_subq_16_pi(void); -void m68k_op_subq_16_pd(void); -void m68k_op_subq_16_di(void); -void m68k_op_subq_16_ix(void); -void m68k_op_subq_16_aw(void); -void m68k_op_subq_16_al(void); -void m68k_op_subq_32_d(void); -void m68k_op_subq_32_a(void); -void m68k_op_subq_32_ai(void); -void m68k_op_subq_32_pi(void); -void m68k_op_subq_32_pd(void); -void m68k_op_subq_32_di(void); -void m68k_op_subq_32_ix(void); -void m68k_op_subq_32_aw(void); -void m68k_op_subq_32_al(void); -void m68k_op_subx_8_rr(void); -void m68k_op_subx_16_rr(void); -void m68k_op_subx_32_rr(void); -void m68k_op_subx_8_mm_ax7(void); -void m68k_op_subx_8_mm_ay7(void); -void m68k_op_subx_8_mm_axy7(void); -void m68k_op_subx_8_mm(void); -void m68k_op_subx_16_mm(void); -void m68k_op_subx_32_mm(void); -void m68k_op_swap_32(void); -void m68k_op_tas_8_d(void); -void m68k_op_tas_8_ai(void); -void m68k_op_tas_8_pi(void); -void m68k_op_tas_8_pi7(void); -void m68k_op_tas_8_pd(void); -void m68k_op_tas_8_pd7(void); -void m68k_op_tas_8_di(void); -void m68k_op_tas_8_ix(void); -void m68k_op_tas_8_aw(void); -void m68k_op_tas_8_al(void); -void m68k_op_trap(void); -void m68k_op_trapt(void); -void m68k_op_trapt_16(void); -void m68k_op_trapt_32(void); -void m68k_op_trapf(void); -void m68k_op_trapf_16(void); -void m68k_op_trapf_32(void); -void m68k_op_traphi(void); -void m68k_op_trapls(void); -void m68k_op_trapcc(void); -void m68k_op_trapcs(void); -void m68k_op_trapne(void); -void m68k_op_trapeq(void); -void m68k_op_trapvc(void); -void m68k_op_trapvs(void); -void m68k_op_trappl(void); -void m68k_op_trapmi(void); -void m68k_op_trapge(void); -void m68k_op_traplt(void); -void m68k_op_trapgt(void); -void m68k_op_traple(void); -void m68k_op_traphi_16(void); -void m68k_op_trapls_16(void); -void m68k_op_trapcc_16(void); -void m68k_op_trapcs_16(void); -void m68k_op_trapne_16(void); -void m68k_op_trapeq_16(void); -void m68k_op_trapvc_16(void); -void m68k_op_trapvs_16(void); -void m68k_op_trappl_16(void); -void m68k_op_trapmi_16(void); -void m68k_op_trapge_16(void); -void m68k_op_traplt_16(void); -void m68k_op_trapgt_16(void); -void m68k_op_traple_16(void); -void m68k_op_traphi_32(void); -void m68k_op_trapls_32(void); -void m68k_op_trapcc_32(void); -void m68k_op_trapcs_32(void); -void m68k_op_trapne_32(void); -void m68k_op_trapeq_32(void); -void m68k_op_trapvc_32(void); -void m68k_op_trapvs_32(void); -void m68k_op_trappl_32(void); -void m68k_op_trapmi_32(void); -void m68k_op_trapge_32(void); -void m68k_op_traplt_32(void); -void m68k_op_trapgt_32(void); -void m68k_op_traple_32(void); -void m68k_op_trapv(void); -void m68k_op_tst_8_d(void); -void m68k_op_tst_8_ai(void); -void m68k_op_tst_8_pi(void); -void m68k_op_tst_8_pi7(void); -void m68k_op_tst_8_pd(void); -void m68k_op_tst_8_pd7(void); -void m68k_op_tst_8_di(void); -void m68k_op_tst_8_ix(void); -void m68k_op_tst_8_aw(void); -void m68k_op_tst_8_al(void); -void m68k_op_tst_8_pcdi(void); -void m68k_op_tst_8_pcix(void); -void m68k_op_tst_8_i(void); -void m68k_op_tst_16_d(void); -void m68k_op_tst_16_a(void); -void m68k_op_tst_16_ai(void); -void m68k_op_tst_16_pi(void); -void m68k_op_tst_16_pd(void); -void m68k_op_tst_16_di(void); -void m68k_op_tst_16_ix(void); -void m68k_op_tst_16_aw(void); -void m68k_op_tst_16_al(void); -void m68k_op_tst_16_pcdi(void); -void m68k_op_tst_16_pcix(void); -void m68k_op_tst_16_i(void); -void m68k_op_tst_32_d(void); -void m68k_op_tst_32_a(void); -void m68k_op_tst_32_ai(void); -void m68k_op_tst_32_pi(void); -void m68k_op_tst_32_pd(void); -void m68k_op_tst_32_di(void); -void m68k_op_tst_32_ix(void); -void m68k_op_tst_32_aw(void); -void m68k_op_tst_32_al(void); -void m68k_op_tst_32_pcdi(void); -void m68k_op_tst_32_pcix(void); -void m68k_op_tst_32_i(void); -void m68k_op_unlk_32_a7(void); -void m68k_op_unlk_32(void); -void m68k_op_unpk_16_rr(void); -void m68k_op_unpk_16_mm_ax7(void); -void m68k_op_unpk_16_mm_ay7(void); -void m68k_op_unpk_16_mm_axy7(void); -void m68k_op_unpk_16_mm(void); +void m68k_op_1010(m68ki_cpu_core *cpu); +void m68k_op_1111(m68ki_cpu_core *cpu); +void m68k_op_abcd_8_rr(m68ki_cpu_core *cpu); +void m68k_op_abcd_8_mm_ax7(m68ki_cpu_core *cpu); +void m68k_op_abcd_8_mm_ay7(m68ki_cpu_core *cpu); +void m68k_op_abcd_8_mm_axy7(m68ki_cpu_core *cpu); +void m68k_op_abcd_8_mm(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_d(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_ai(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_pi(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_pi7(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_pd(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_pd7(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_di(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_ix(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_aw(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_al(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_add_8_er_i(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_d(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_a(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_ai(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_pi(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_pd(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_di(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_ix(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_aw(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_al(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_add_16_er_i(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_d(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_a(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_ai(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_pi(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_pd(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_di(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_ix(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_aw(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_al(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_add_32_er_i(m68ki_cpu_core *cpu); +void m68k_op_add_8_re_ai(m68ki_cpu_core *cpu); +void m68k_op_add_8_re_pi(m68ki_cpu_core *cpu); +void m68k_op_add_8_re_pi7(m68ki_cpu_core *cpu); +void m68k_op_add_8_re_pd(m68ki_cpu_core *cpu); +void m68k_op_add_8_re_pd7(m68ki_cpu_core *cpu); +void m68k_op_add_8_re_di(m68ki_cpu_core *cpu); +void m68k_op_add_8_re_ix(m68ki_cpu_core *cpu); +void m68k_op_add_8_re_aw(m68ki_cpu_core *cpu); +void m68k_op_add_8_re_al(m68ki_cpu_core *cpu); +void m68k_op_add_16_re_ai(m68ki_cpu_core *cpu); +void m68k_op_add_16_re_pi(m68ki_cpu_core *cpu); +void m68k_op_add_16_re_pd(m68ki_cpu_core *cpu); +void m68k_op_add_16_re_di(m68ki_cpu_core *cpu); +void m68k_op_add_16_re_ix(m68ki_cpu_core *cpu); +void m68k_op_add_16_re_aw(m68ki_cpu_core *cpu); +void m68k_op_add_16_re_al(m68ki_cpu_core *cpu); +void m68k_op_add_32_re_ai(m68ki_cpu_core *cpu); +void m68k_op_add_32_re_pi(m68ki_cpu_core *cpu); +void m68k_op_add_32_re_pd(m68ki_cpu_core *cpu); +void m68k_op_add_32_re_di(m68ki_cpu_core *cpu); +void m68k_op_add_32_re_ix(m68ki_cpu_core *cpu); +void m68k_op_add_32_re_aw(m68ki_cpu_core *cpu); +void m68k_op_add_32_re_al(m68ki_cpu_core *cpu); +void m68k_op_adda_16_d(m68ki_cpu_core *cpu); +void m68k_op_adda_16_a(m68ki_cpu_core *cpu); +void m68k_op_adda_16_ai(m68ki_cpu_core *cpu); +void m68k_op_adda_16_pi(m68ki_cpu_core *cpu); +void m68k_op_adda_16_pd(m68ki_cpu_core *cpu); +void m68k_op_adda_16_di(m68ki_cpu_core *cpu); +void m68k_op_adda_16_ix(m68ki_cpu_core *cpu); +void m68k_op_adda_16_aw(m68ki_cpu_core *cpu); +void m68k_op_adda_16_al(m68ki_cpu_core *cpu); +void m68k_op_adda_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_adda_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_adda_16_i(m68ki_cpu_core *cpu); +void m68k_op_adda_32_d(m68ki_cpu_core *cpu); +void m68k_op_adda_32_a(m68ki_cpu_core *cpu); +void m68k_op_adda_32_ai(m68ki_cpu_core *cpu); +void m68k_op_adda_32_pi(m68ki_cpu_core *cpu); +void m68k_op_adda_32_pd(m68ki_cpu_core *cpu); +void m68k_op_adda_32_di(m68ki_cpu_core *cpu); +void m68k_op_adda_32_ix(m68ki_cpu_core *cpu); +void m68k_op_adda_32_aw(m68ki_cpu_core *cpu); +void m68k_op_adda_32_al(m68ki_cpu_core *cpu); +void m68k_op_adda_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_adda_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_adda_32_i(m68ki_cpu_core *cpu); +void m68k_op_addi_8_d(m68ki_cpu_core *cpu); +void m68k_op_addi_8_ai(m68ki_cpu_core *cpu); +void m68k_op_addi_8_pi(m68ki_cpu_core *cpu); +void m68k_op_addi_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_addi_8_pd(m68ki_cpu_core *cpu); +void m68k_op_addi_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_addi_8_di(m68ki_cpu_core *cpu); +void m68k_op_addi_8_ix(m68ki_cpu_core *cpu); +void m68k_op_addi_8_aw(m68ki_cpu_core *cpu); +void m68k_op_addi_8_al(m68ki_cpu_core *cpu); +void m68k_op_addi_16_d(m68ki_cpu_core *cpu); +void m68k_op_addi_16_ai(m68ki_cpu_core *cpu); +void m68k_op_addi_16_pi(m68ki_cpu_core *cpu); +void m68k_op_addi_16_pd(m68ki_cpu_core *cpu); +void m68k_op_addi_16_di(m68ki_cpu_core *cpu); +void m68k_op_addi_16_ix(m68ki_cpu_core *cpu); +void m68k_op_addi_16_aw(m68ki_cpu_core *cpu); +void m68k_op_addi_16_al(m68ki_cpu_core *cpu); +void m68k_op_addi_32_d(m68ki_cpu_core *cpu); +void m68k_op_addi_32_ai(m68ki_cpu_core *cpu); +void m68k_op_addi_32_pi(m68ki_cpu_core *cpu); +void m68k_op_addi_32_pd(m68ki_cpu_core *cpu); +void m68k_op_addi_32_di(m68ki_cpu_core *cpu); +void m68k_op_addi_32_ix(m68ki_cpu_core *cpu); +void m68k_op_addi_32_aw(m68ki_cpu_core *cpu); +void m68k_op_addi_32_al(m68ki_cpu_core *cpu); +void m68k_op_addq_8_d(m68ki_cpu_core *cpu); +void m68k_op_addq_8_ai(m68ki_cpu_core *cpu); +void m68k_op_addq_8_pi(m68ki_cpu_core *cpu); +void m68k_op_addq_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_addq_8_pd(m68ki_cpu_core *cpu); +void m68k_op_addq_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_addq_8_di(m68ki_cpu_core *cpu); +void m68k_op_addq_8_ix(m68ki_cpu_core *cpu); +void m68k_op_addq_8_aw(m68ki_cpu_core *cpu); +void m68k_op_addq_8_al(m68ki_cpu_core *cpu); +void m68k_op_addq_16_d(m68ki_cpu_core *cpu); +void m68k_op_addq_16_a(m68ki_cpu_core *cpu); +void m68k_op_addq_16_ai(m68ki_cpu_core *cpu); +void m68k_op_addq_16_pi(m68ki_cpu_core *cpu); +void m68k_op_addq_16_pd(m68ki_cpu_core *cpu); +void m68k_op_addq_16_di(m68ki_cpu_core *cpu); +void m68k_op_addq_16_ix(m68ki_cpu_core *cpu); +void m68k_op_addq_16_aw(m68ki_cpu_core *cpu); +void m68k_op_addq_16_al(m68ki_cpu_core *cpu); +void m68k_op_addq_32_d(m68ki_cpu_core *cpu); +void m68k_op_addq_32_a(m68ki_cpu_core *cpu); +void m68k_op_addq_32_ai(m68ki_cpu_core *cpu); +void m68k_op_addq_32_pi(m68ki_cpu_core *cpu); +void m68k_op_addq_32_pd(m68ki_cpu_core *cpu); +void m68k_op_addq_32_di(m68ki_cpu_core *cpu); +void m68k_op_addq_32_ix(m68ki_cpu_core *cpu); +void m68k_op_addq_32_aw(m68ki_cpu_core *cpu); +void m68k_op_addq_32_al(m68ki_cpu_core *cpu); +void m68k_op_addx_8_rr(m68ki_cpu_core *cpu); +void m68k_op_addx_16_rr(m68ki_cpu_core *cpu); +void m68k_op_addx_32_rr(m68ki_cpu_core *cpu); +void m68k_op_addx_8_mm_ax7(m68ki_cpu_core *cpu); +void m68k_op_addx_8_mm_ay7(m68ki_cpu_core *cpu); +void m68k_op_addx_8_mm_axy7(m68ki_cpu_core *cpu); +void m68k_op_addx_8_mm(m68ki_cpu_core *cpu); +void m68k_op_addx_16_mm(m68ki_cpu_core *cpu); +void m68k_op_addx_32_mm(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_d(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_ai(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_pi(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_pi7(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_pd(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_pd7(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_di(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_ix(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_aw(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_al(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_and_8_er_i(m68ki_cpu_core *cpu); +void m68k_op_and_16_er_d(m68ki_cpu_core *cpu); +void m68k_op_and_16_er_ai(m68ki_cpu_core *cpu); +void m68k_op_and_16_er_pi(m68ki_cpu_core *cpu); +void m68k_op_and_16_er_pd(m68ki_cpu_core *cpu); +void m68k_op_and_16_er_di(m68ki_cpu_core *cpu); +void m68k_op_and_16_er_ix(m68ki_cpu_core *cpu); +void m68k_op_and_16_er_aw(m68ki_cpu_core *cpu); +void m68k_op_and_16_er_al(m68ki_cpu_core *cpu); +void m68k_op_and_16_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_and_16_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_and_16_er_i(m68ki_cpu_core *cpu); +void m68k_op_and_32_er_d(m68ki_cpu_core *cpu); +void m68k_op_and_32_er_ai(m68ki_cpu_core *cpu); +void m68k_op_and_32_er_pi(m68ki_cpu_core *cpu); +void m68k_op_and_32_er_pd(m68ki_cpu_core *cpu); +void m68k_op_and_32_er_di(m68ki_cpu_core *cpu); +void m68k_op_and_32_er_ix(m68ki_cpu_core *cpu); +void m68k_op_and_32_er_aw(m68ki_cpu_core *cpu); +void m68k_op_and_32_er_al(m68ki_cpu_core *cpu); +void m68k_op_and_32_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_and_32_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_and_32_er_i(m68ki_cpu_core *cpu); +void m68k_op_and_8_re_ai(m68ki_cpu_core *cpu); +void m68k_op_and_8_re_pi(m68ki_cpu_core *cpu); +void m68k_op_and_8_re_pi7(m68ki_cpu_core *cpu); +void m68k_op_and_8_re_pd(m68ki_cpu_core *cpu); +void m68k_op_and_8_re_pd7(m68ki_cpu_core *cpu); +void m68k_op_and_8_re_di(m68ki_cpu_core *cpu); +void m68k_op_and_8_re_ix(m68ki_cpu_core *cpu); +void m68k_op_and_8_re_aw(m68ki_cpu_core *cpu); +void m68k_op_and_8_re_al(m68ki_cpu_core *cpu); +void m68k_op_and_16_re_ai(m68ki_cpu_core *cpu); +void m68k_op_and_16_re_pi(m68ki_cpu_core *cpu); +void m68k_op_and_16_re_pd(m68ki_cpu_core *cpu); +void m68k_op_and_16_re_di(m68ki_cpu_core *cpu); +void m68k_op_and_16_re_ix(m68ki_cpu_core *cpu); +void m68k_op_and_16_re_aw(m68ki_cpu_core *cpu); +void m68k_op_and_16_re_al(m68ki_cpu_core *cpu); +void m68k_op_and_32_re_ai(m68ki_cpu_core *cpu); +void m68k_op_and_32_re_pi(m68ki_cpu_core *cpu); +void m68k_op_and_32_re_pd(m68ki_cpu_core *cpu); +void m68k_op_and_32_re_di(m68ki_cpu_core *cpu); +void m68k_op_and_32_re_ix(m68ki_cpu_core *cpu); +void m68k_op_and_32_re_aw(m68ki_cpu_core *cpu); +void m68k_op_and_32_re_al(m68ki_cpu_core *cpu); +void m68k_op_andi_8_d(m68ki_cpu_core *cpu); +void m68k_op_andi_8_ai(m68ki_cpu_core *cpu); +void m68k_op_andi_8_pi(m68ki_cpu_core *cpu); +void m68k_op_andi_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_andi_8_pd(m68ki_cpu_core *cpu); +void m68k_op_andi_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_andi_8_di(m68ki_cpu_core *cpu); +void m68k_op_andi_8_ix(m68ki_cpu_core *cpu); +void m68k_op_andi_8_aw(m68ki_cpu_core *cpu); +void m68k_op_andi_8_al(m68ki_cpu_core *cpu); +void m68k_op_andi_16_d(m68ki_cpu_core *cpu); +void m68k_op_andi_16_ai(m68ki_cpu_core *cpu); +void m68k_op_andi_16_pi(m68ki_cpu_core *cpu); +void m68k_op_andi_16_pd(m68ki_cpu_core *cpu); +void m68k_op_andi_16_di(m68ki_cpu_core *cpu); +void m68k_op_andi_16_ix(m68ki_cpu_core *cpu); +void m68k_op_andi_16_aw(m68ki_cpu_core *cpu); +void m68k_op_andi_16_al(m68ki_cpu_core *cpu); +void m68k_op_andi_32_d(m68ki_cpu_core *cpu); +void m68k_op_andi_32_ai(m68ki_cpu_core *cpu); +void m68k_op_andi_32_pi(m68ki_cpu_core *cpu); +void m68k_op_andi_32_pd(m68ki_cpu_core *cpu); +void m68k_op_andi_32_di(m68ki_cpu_core *cpu); +void m68k_op_andi_32_ix(m68ki_cpu_core *cpu); +void m68k_op_andi_32_aw(m68ki_cpu_core *cpu); +void m68k_op_andi_32_al(m68ki_cpu_core *cpu); +void m68k_op_andi_16_toc(m68ki_cpu_core *cpu); +void m68k_op_andi_16_tos(m68ki_cpu_core *cpu); +void m68k_op_asr_8_s(m68ki_cpu_core *cpu); +void m68k_op_asr_16_s(m68ki_cpu_core *cpu); +void m68k_op_asr_32_s(m68ki_cpu_core *cpu); +void m68k_op_asr_8_r(m68ki_cpu_core *cpu); +void m68k_op_asr_16_r(m68ki_cpu_core *cpu); +void m68k_op_asr_32_r(m68ki_cpu_core *cpu); +void m68k_op_asr_16_ai(m68ki_cpu_core *cpu); +void m68k_op_asr_16_pi(m68ki_cpu_core *cpu); +void m68k_op_asr_16_pd(m68ki_cpu_core *cpu); +void m68k_op_asr_16_di(m68ki_cpu_core *cpu); +void m68k_op_asr_16_ix(m68ki_cpu_core *cpu); +void m68k_op_asr_16_aw(m68ki_cpu_core *cpu); +void m68k_op_asr_16_al(m68ki_cpu_core *cpu); +void m68k_op_asl_8_s(m68ki_cpu_core *cpu); +void m68k_op_asl_16_s(m68ki_cpu_core *cpu); +void m68k_op_asl_32_s(m68ki_cpu_core *cpu); +void m68k_op_asl_8_r(m68ki_cpu_core *cpu); +void m68k_op_asl_16_r(m68ki_cpu_core *cpu); +void m68k_op_asl_32_r(m68ki_cpu_core *cpu); +void m68k_op_asl_16_ai(m68ki_cpu_core *cpu); +void m68k_op_asl_16_pi(m68ki_cpu_core *cpu); +void m68k_op_asl_16_pd(m68ki_cpu_core *cpu); +void m68k_op_asl_16_di(m68ki_cpu_core *cpu); +void m68k_op_asl_16_ix(m68ki_cpu_core *cpu); +void m68k_op_asl_16_aw(m68ki_cpu_core *cpu); +void m68k_op_asl_16_al(m68ki_cpu_core *cpu); +void m68k_op_bhi_8(m68ki_cpu_core *cpu); +void m68k_op_bls_8(m68ki_cpu_core *cpu); +void m68k_op_bcc_8(m68ki_cpu_core *cpu); +void m68k_op_bcs_8(m68ki_cpu_core *cpu); +void m68k_op_bne_8(m68ki_cpu_core *cpu); +void m68k_op_beq_8(m68ki_cpu_core *cpu); +void m68k_op_bvc_8(m68ki_cpu_core *cpu); +void m68k_op_bvs_8(m68ki_cpu_core *cpu); +void m68k_op_bpl_8(m68ki_cpu_core *cpu); +void m68k_op_bmi_8(m68ki_cpu_core *cpu); +void m68k_op_bge_8(m68ki_cpu_core *cpu); +void m68k_op_blt_8(m68ki_cpu_core *cpu); +void m68k_op_bgt_8(m68ki_cpu_core *cpu); +void m68k_op_ble_8(m68ki_cpu_core *cpu); +void m68k_op_bhi_16(m68ki_cpu_core *cpu); +void m68k_op_bls_16(m68ki_cpu_core *cpu); +void m68k_op_bcc_16(m68ki_cpu_core *cpu); +void m68k_op_bcs_16(m68ki_cpu_core *cpu); +void m68k_op_bne_16(m68ki_cpu_core *cpu); +void m68k_op_beq_16(m68ki_cpu_core *cpu); +void m68k_op_bvc_16(m68ki_cpu_core *cpu); +void m68k_op_bvs_16(m68ki_cpu_core *cpu); +void m68k_op_bpl_16(m68ki_cpu_core *cpu); +void m68k_op_bmi_16(m68ki_cpu_core *cpu); +void m68k_op_bge_16(m68ki_cpu_core *cpu); +void m68k_op_blt_16(m68ki_cpu_core *cpu); +void m68k_op_bgt_16(m68ki_cpu_core *cpu); +void m68k_op_ble_16(m68ki_cpu_core *cpu); +void m68k_op_bhi_32(m68ki_cpu_core *cpu); +void m68k_op_bls_32(m68ki_cpu_core *cpu); +void m68k_op_bcc_32(m68ki_cpu_core *cpu); +void m68k_op_bcs_32(m68ki_cpu_core *cpu); +void m68k_op_bne_32(m68ki_cpu_core *cpu); +void m68k_op_beq_32(m68ki_cpu_core *cpu); +void m68k_op_bvc_32(m68ki_cpu_core *cpu); +void m68k_op_bvs_32(m68ki_cpu_core *cpu); +void m68k_op_bpl_32(m68ki_cpu_core *cpu); +void m68k_op_bmi_32(m68ki_cpu_core *cpu); +void m68k_op_bge_32(m68ki_cpu_core *cpu); +void m68k_op_blt_32(m68ki_cpu_core *cpu); +void m68k_op_bgt_32(m68ki_cpu_core *cpu); +void m68k_op_ble_32(m68ki_cpu_core *cpu); +void m68k_op_bchg_32_r_d(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_r_ai(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_r_pi(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_r_pi7(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_r_pd(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_r_pd7(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_r_di(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_r_ix(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_r_aw(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_r_al(m68ki_cpu_core *cpu); +void m68k_op_bchg_32_s_d(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_s_ai(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_s_pi(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_s_pi7(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_s_pd(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_s_pd7(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_s_di(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_s_ix(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_s_aw(m68ki_cpu_core *cpu); +void m68k_op_bchg_8_s_al(m68ki_cpu_core *cpu); +void m68k_op_bclr_32_r_d(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_r_ai(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_r_pi(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_r_pi7(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_r_pd(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_r_pd7(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_r_di(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_r_ix(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_r_aw(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_r_al(m68ki_cpu_core *cpu); +void m68k_op_bclr_32_s_d(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_s_ai(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_s_pi(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_s_pi7(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_s_pd(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_s_pd7(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_s_di(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_s_ix(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_s_aw(m68ki_cpu_core *cpu); +void m68k_op_bclr_8_s_al(m68ki_cpu_core *cpu); +void m68k_op_bfchg_32_d(m68ki_cpu_core *cpu); +void m68k_op_bfchg_32_ai(m68ki_cpu_core *cpu); +void m68k_op_bfchg_32_di(m68ki_cpu_core *cpu); +void m68k_op_bfchg_32_ix(m68ki_cpu_core *cpu); +void m68k_op_bfchg_32_aw(m68ki_cpu_core *cpu); +void m68k_op_bfchg_32_al(m68ki_cpu_core *cpu); +void m68k_op_bfclr_32_d(m68ki_cpu_core *cpu); +void m68k_op_bfclr_32_ai(m68ki_cpu_core *cpu); +void m68k_op_bfclr_32_di(m68ki_cpu_core *cpu); +void m68k_op_bfclr_32_ix(m68ki_cpu_core *cpu); +void m68k_op_bfclr_32_aw(m68ki_cpu_core *cpu); +void m68k_op_bfclr_32_al(m68ki_cpu_core *cpu); +void m68k_op_bfexts_32_d(m68ki_cpu_core *cpu); +void m68k_op_bfexts_32_ai(m68ki_cpu_core *cpu); +void m68k_op_bfexts_32_di(m68ki_cpu_core *cpu); +void m68k_op_bfexts_32_ix(m68ki_cpu_core *cpu); +void m68k_op_bfexts_32_aw(m68ki_cpu_core *cpu); +void m68k_op_bfexts_32_al(m68ki_cpu_core *cpu); +void m68k_op_bfexts_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_bfexts_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_bfextu_32_d(m68ki_cpu_core *cpu); +void m68k_op_bfextu_32_ai(m68ki_cpu_core *cpu); +void m68k_op_bfextu_32_di(m68ki_cpu_core *cpu); +void m68k_op_bfextu_32_ix(m68ki_cpu_core *cpu); +void m68k_op_bfextu_32_aw(m68ki_cpu_core *cpu); +void m68k_op_bfextu_32_al(m68ki_cpu_core *cpu); +void m68k_op_bfextu_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_bfextu_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_bfffo_32_d(m68ki_cpu_core *cpu); +void m68k_op_bfffo_32_ai(m68ki_cpu_core *cpu); +void m68k_op_bfffo_32_di(m68ki_cpu_core *cpu); +void m68k_op_bfffo_32_ix(m68ki_cpu_core *cpu); +void m68k_op_bfffo_32_aw(m68ki_cpu_core *cpu); +void m68k_op_bfffo_32_al(m68ki_cpu_core *cpu); +void m68k_op_bfffo_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_bfffo_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_bfins_32_d(m68ki_cpu_core *cpu); +void m68k_op_bfins_32_ai(m68ki_cpu_core *cpu); +void m68k_op_bfins_32_di(m68ki_cpu_core *cpu); +void m68k_op_bfins_32_ix(m68ki_cpu_core *cpu); +void m68k_op_bfins_32_aw(m68ki_cpu_core *cpu); +void m68k_op_bfins_32_al(m68ki_cpu_core *cpu); +void m68k_op_bfset_32_d(m68ki_cpu_core *cpu); +void m68k_op_bfset_32_ai(m68ki_cpu_core *cpu); +void m68k_op_bfset_32_di(m68ki_cpu_core *cpu); +void m68k_op_bfset_32_ix(m68ki_cpu_core *cpu); +void m68k_op_bfset_32_aw(m68ki_cpu_core *cpu); +void m68k_op_bfset_32_al(m68ki_cpu_core *cpu); +void m68k_op_bftst_32_d(m68ki_cpu_core *cpu); +void m68k_op_bftst_32_ai(m68ki_cpu_core *cpu); +void m68k_op_bftst_32_di(m68ki_cpu_core *cpu); +void m68k_op_bftst_32_ix(m68ki_cpu_core *cpu); +void m68k_op_bftst_32_aw(m68ki_cpu_core *cpu); +void m68k_op_bftst_32_al(m68ki_cpu_core *cpu); +void m68k_op_bftst_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_bftst_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_bkpt(m68ki_cpu_core *cpu); +void m68k_op_bra_8(m68ki_cpu_core *cpu); +void m68k_op_bra_16(m68ki_cpu_core *cpu); +void m68k_op_bra_32(m68ki_cpu_core *cpu); +void m68k_op_bset_32_r_d(m68ki_cpu_core *cpu); +void m68k_op_bset_8_r_ai(m68ki_cpu_core *cpu); +void m68k_op_bset_8_r_pi(m68ki_cpu_core *cpu); +void m68k_op_bset_8_r_pi7(m68ki_cpu_core *cpu); +void m68k_op_bset_8_r_pd(m68ki_cpu_core *cpu); +void m68k_op_bset_8_r_pd7(m68ki_cpu_core *cpu); +void m68k_op_bset_8_r_di(m68ki_cpu_core *cpu); +void m68k_op_bset_8_r_ix(m68ki_cpu_core *cpu); +void m68k_op_bset_8_r_aw(m68ki_cpu_core *cpu); +void m68k_op_bset_8_r_al(m68ki_cpu_core *cpu); +void m68k_op_bset_32_s_d(m68ki_cpu_core *cpu); +void m68k_op_bset_8_s_ai(m68ki_cpu_core *cpu); +void m68k_op_bset_8_s_pi(m68ki_cpu_core *cpu); +void m68k_op_bset_8_s_pi7(m68ki_cpu_core *cpu); +void m68k_op_bset_8_s_pd(m68ki_cpu_core *cpu); +void m68k_op_bset_8_s_pd7(m68ki_cpu_core *cpu); +void m68k_op_bset_8_s_di(m68ki_cpu_core *cpu); +void m68k_op_bset_8_s_ix(m68ki_cpu_core *cpu); +void m68k_op_bset_8_s_aw(m68ki_cpu_core *cpu); +void m68k_op_bset_8_s_al(m68ki_cpu_core *cpu); +void m68k_op_bsr_8(m68ki_cpu_core *cpu); +void m68k_op_bsr_16(m68ki_cpu_core *cpu); +void m68k_op_bsr_32(m68ki_cpu_core *cpu); +void m68k_op_btst_32_r_d(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_ai(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_pi(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_pi7(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_pd(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_pd7(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_di(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_ix(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_aw(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_al(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_pcdi(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_pcix(m68ki_cpu_core *cpu); +void m68k_op_btst_8_r_i(m68ki_cpu_core *cpu); +void m68k_op_btst_32_s_d(m68ki_cpu_core *cpu); +void m68k_op_btst_8_s_ai(m68ki_cpu_core *cpu); +void m68k_op_btst_8_s_pi(m68ki_cpu_core *cpu); +void m68k_op_btst_8_s_pi7(m68ki_cpu_core *cpu); +void m68k_op_btst_8_s_pd(m68ki_cpu_core *cpu); +void m68k_op_btst_8_s_pd7(m68ki_cpu_core *cpu); +void m68k_op_btst_8_s_di(m68ki_cpu_core *cpu); +void m68k_op_btst_8_s_ix(m68ki_cpu_core *cpu); +void m68k_op_btst_8_s_aw(m68ki_cpu_core *cpu); +void m68k_op_btst_8_s_al(m68ki_cpu_core *cpu); +void m68k_op_btst_8_s_pcdi(m68ki_cpu_core *cpu); +void m68k_op_btst_8_s_pcix(m68ki_cpu_core *cpu); +void m68k_op_callm_32_ai(m68ki_cpu_core *cpu); +void m68k_op_callm_32_di(m68ki_cpu_core *cpu); +void m68k_op_callm_32_ix(m68ki_cpu_core *cpu); +void m68k_op_callm_32_aw(m68ki_cpu_core *cpu); +void m68k_op_callm_32_al(m68ki_cpu_core *cpu); +void m68k_op_callm_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_callm_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_cas_8_ai(m68ki_cpu_core *cpu); +void m68k_op_cas_8_pi(m68ki_cpu_core *cpu); +void m68k_op_cas_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_cas_8_pd(m68ki_cpu_core *cpu); +void m68k_op_cas_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_cas_8_di(m68ki_cpu_core *cpu); +void m68k_op_cas_8_ix(m68ki_cpu_core *cpu); +void m68k_op_cas_8_aw(m68ki_cpu_core *cpu); +void m68k_op_cas_8_al(m68ki_cpu_core *cpu); +void m68k_op_cas_16_ai(m68ki_cpu_core *cpu); +void m68k_op_cas_16_pi(m68ki_cpu_core *cpu); +void m68k_op_cas_16_pd(m68ki_cpu_core *cpu); +void m68k_op_cas_16_di(m68ki_cpu_core *cpu); +void m68k_op_cas_16_ix(m68ki_cpu_core *cpu); +void m68k_op_cas_16_aw(m68ki_cpu_core *cpu); +void m68k_op_cas_16_al(m68ki_cpu_core *cpu); +void m68k_op_cas_32_ai(m68ki_cpu_core *cpu); +void m68k_op_cas_32_pi(m68ki_cpu_core *cpu); +void m68k_op_cas_32_pd(m68ki_cpu_core *cpu); +void m68k_op_cas_32_di(m68ki_cpu_core *cpu); +void m68k_op_cas_32_ix(m68ki_cpu_core *cpu); +void m68k_op_cas_32_aw(m68ki_cpu_core *cpu); +void m68k_op_cas_32_al(m68ki_cpu_core *cpu); +void m68k_op_cas2_16(m68ki_cpu_core *cpu); +void m68k_op_cas2_32(m68ki_cpu_core *cpu); +void m68k_op_chk_16_d(m68ki_cpu_core *cpu); +void m68k_op_chk_16_ai(m68ki_cpu_core *cpu); +void m68k_op_chk_16_pi(m68ki_cpu_core *cpu); +void m68k_op_chk_16_pd(m68ki_cpu_core *cpu); +void m68k_op_chk_16_di(m68ki_cpu_core *cpu); +void m68k_op_chk_16_ix(m68ki_cpu_core *cpu); +void m68k_op_chk_16_aw(m68ki_cpu_core *cpu); +void m68k_op_chk_16_al(m68ki_cpu_core *cpu); +void m68k_op_chk_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_chk_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_chk_16_i(m68ki_cpu_core *cpu); +void m68k_op_chk_32_d(m68ki_cpu_core *cpu); +void m68k_op_chk_32_ai(m68ki_cpu_core *cpu); +void m68k_op_chk_32_pi(m68ki_cpu_core *cpu); +void m68k_op_chk_32_pd(m68ki_cpu_core *cpu); +void m68k_op_chk_32_di(m68ki_cpu_core *cpu); +void m68k_op_chk_32_ix(m68ki_cpu_core *cpu); +void m68k_op_chk_32_aw(m68ki_cpu_core *cpu); +void m68k_op_chk_32_al(m68ki_cpu_core *cpu); +void m68k_op_chk_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_chk_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_chk_32_i(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_8_pcdi(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_8_pcix(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_8_ai(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_8_di(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_8_ix(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_8_aw(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_8_al(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_16_ai(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_16_di(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_16_ix(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_16_aw(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_16_al(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_32_ai(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_32_di(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_32_ix(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_32_aw(m68ki_cpu_core *cpu); +void m68k_op_chk2cmp2_32_al(m68ki_cpu_core *cpu); +void m68k_op_clr_8_d(m68ki_cpu_core *cpu); +void m68k_op_clr_8_ai(m68ki_cpu_core *cpu); +void m68k_op_clr_8_pi(m68ki_cpu_core *cpu); +void m68k_op_clr_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_clr_8_pd(m68ki_cpu_core *cpu); +void m68k_op_clr_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_clr_8_di(m68ki_cpu_core *cpu); +void m68k_op_clr_8_ix(m68ki_cpu_core *cpu); +void m68k_op_clr_8_aw(m68ki_cpu_core *cpu); +void m68k_op_clr_8_al(m68ki_cpu_core *cpu); +void m68k_op_clr_16_d(m68ki_cpu_core *cpu); +void m68k_op_clr_16_ai(m68ki_cpu_core *cpu); +void m68k_op_clr_16_pi(m68ki_cpu_core *cpu); +void m68k_op_clr_16_pd(m68ki_cpu_core *cpu); +void m68k_op_clr_16_di(m68ki_cpu_core *cpu); +void m68k_op_clr_16_ix(m68ki_cpu_core *cpu); +void m68k_op_clr_16_aw(m68ki_cpu_core *cpu); +void m68k_op_clr_16_al(m68ki_cpu_core *cpu); +void m68k_op_clr_32_d(m68ki_cpu_core *cpu); +void m68k_op_clr_32_ai(m68ki_cpu_core *cpu); +void m68k_op_clr_32_pi(m68ki_cpu_core *cpu); +void m68k_op_clr_32_pd(m68ki_cpu_core *cpu); +void m68k_op_clr_32_di(m68ki_cpu_core *cpu); +void m68k_op_clr_32_ix(m68ki_cpu_core *cpu); +void m68k_op_clr_32_aw(m68ki_cpu_core *cpu); +void m68k_op_clr_32_al(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_d(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_ai(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_pi(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_pd(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_di(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_ix(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_aw(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_al(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_pcdi(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_pcix(m68ki_cpu_core *cpu); +void m68k_op_cmp_8_i(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_d(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_a(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_ai(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_pi(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_pd(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_di(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_ix(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_aw(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_al(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_cmp_16_i(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_d(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_a(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_ai(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_pi(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_pd(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_di(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_ix(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_aw(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_al(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_cmp_32_i(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_d(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_a(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_ai(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_pi(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_pd(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_di(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_ix(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_aw(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_al(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_cmpa_16_i(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_d(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_a(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_ai(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_pi(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_pd(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_di(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_ix(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_aw(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_al(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_cmpa_32_i(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_d(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_ai(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_pi(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_pd(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_di(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_ix(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_aw(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_al(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_pcdi(m68ki_cpu_core *cpu); +void m68k_op_cmpi_8_pcix(m68ki_cpu_core *cpu); +void m68k_op_cmpi_16_d(m68ki_cpu_core *cpu); +void m68k_op_cmpi_16_ai(m68ki_cpu_core *cpu); +void m68k_op_cmpi_16_pi(m68ki_cpu_core *cpu); +void m68k_op_cmpi_16_pd(m68ki_cpu_core *cpu); +void m68k_op_cmpi_16_di(m68ki_cpu_core *cpu); +void m68k_op_cmpi_16_ix(m68ki_cpu_core *cpu); +void m68k_op_cmpi_16_aw(m68ki_cpu_core *cpu); +void m68k_op_cmpi_16_al(m68ki_cpu_core *cpu); +void m68k_op_cmpi_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_cmpi_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_cmpi_32_d(m68ki_cpu_core *cpu); +void m68k_op_cmpi_32_ai(m68ki_cpu_core *cpu); +void m68k_op_cmpi_32_pi(m68ki_cpu_core *cpu); +void m68k_op_cmpi_32_pd(m68ki_cpu_core *cpu); +void m68k_op_cmpi_32_di(m68ki_cpu_core *cpu); +void m68k_op_cmpi_32_ix(m68ki_cpu_core *cpu); +void m68k_op_cmpi_32_aw(m68ki_cpu_core *cpu); +void m68k_op_cmpi_32_al(m68ki_cpu_core *cpu); +void m68k_op_cmpi_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_cmpi_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_cmpm_8_ax7(m68ki_cpu_core *cpu); +void m68k_op_cmpm_8_ay7(m68ki_cpu_core *cpu); +void m68k_op_cmpm_8_axy7(m68ki_cpu_core *cpu); +void m68k_op_cmpm_8(m68ki_cpu_core *cpu); +void m68k_op_cmpm_16(m68ki_cpu_core *cpu); +void m68k_op_cmpm_32(m68ki_cpu_core *cpu); +void m68k_op_cpbcc_32(m68ki_cpu_core *cpu); +void m68k_op_cpdbcc_32(m68ki_cpu_core *cpu); +void m68k_op_cpgen_32(m68ki_cpu_core *cpu); +void m68k_op_cpscc_32(m68ki_cpu_core *cpu); +void m68k_op_cptrapcc_32(m68ki_cpu_core *cpu); +void m68k_op_dbt_16(m68ki_cpu_core *cpu); +void m68k_op_dbf_16(m68ki_cpu_core *cpu); +void m68k_op_dbhi_16(m68ki_cpu_core *cpu); +void m68k_op_dbls_16(m68ki_cpu_core *cpu); +void m68k_op_dbcc_16(m68ki_cpu_core *cpu); +void m68k_op_dbcs_16(m68ki_cpu_core *cpu); +void m68k_op_dbne_16(m68ki_cpu_core *cpu); +void m68k_op_dbeq_16(m68ki_cpu_core *cpu); +void m68k_op_dbvc_16(m68ki_cpu_core *cpu); +void m68k_op_dbvs_16(m68ki_cpu_core *cpu); +void m68k_op_dbpl_16(m68ki_cpu_core *cpu); +void m68k_op_dbmi_16(m68ki_cpu_core *cpu); +void m68k_op_dbge_16(m68ki_cpu_core *cpu); +void m68k_op_dblt_16(m68ki_cpu_core *cpu); +void m68k_op_dbgt_16(m68ki_cpu_core *cpu); +void m68k_op_dble_16(m68ki_cpu_core *cpu); +void m68k_op_divs_16_d(m68ki_cpu_core *cpu); +void m68k_op_divs_16_ai(m68ki_cpu_core *cpu); +void m68k_op_divs_16_pi(m68ki_cpu_core *cpu); +void m68k_op_divs_16_pd(m68ki_cpu_core *cpu); +void m68k_op_divs_16_di(m68ki_cpu_core *cpu); +void m68k_op_divs_16_ix(m68ki_cpu_core *cpu); +void m68k_op_divs_16_aw(m68ki_cpu_core *cpu); +void m68k_op_divs_16_al(m68ki_cpu_core *cpu); +void m68k_op_divs_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_divs_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_divs_16_i(m68ki_cpu_core *cpu); +void m68k_op_divu_16_d(m68ki_cpu_core *cpu); +void m68k_op_divu_16_ai(m68ki_cpu_core *cpu); +void m68k_op_divu_16_pi(m68ki_cpu_core *cpu); +void m68k_op_divu_16_pd(m68ki_cpu_core *cpu); +void m68k_op_divu_16_di(m68ki_cpu_core *cpu); +void m68k_op_divu_16_ix(m68ki_cpu_core *cpu); +void m68k_op_divu_16_aw(m68ki_cpu_core *cpu); +void m68k_op_divu_16_al(m68ki_cpu_core *cpu); +void m68k_op_divu_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_divu_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_divu_16_i(m68ki_cpu_core *cpu); +void m68k_op_divl_32_d(m68ki_cpu_core *cpu); +void m68k_op_divl_32_ai(m68ki_cpu_core *cpu); +void m68k_op_divl_32_pi(m68ki_cpu_core *cpu); +void m68k_op_divl_32_pd(m68ki_cpu_core *cpu); +void m68k_op_divl_32_di(m68ki_cpu_core *cpu); +void m68k_op_divl_32_ix(m68ki_cpu_core *cpu); +void m68k_op_divl_32_aw(m68ki_cpu_core *cpu); +void m68k_op_divl_32_al(m68ki_cpu_core *cpu); +void m68k_op_divl_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_divl_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_divl_32_i(m68ki_cpu_core *cpu); +void m68k_op_eor_8_d(m68ki_cpu_core *cpu); +void m68k_op_eor_8_ai(m68ki_cpu_core *cpu); +void m68k_op_eor_8_pi(m68ki_cpu_core *cpu); +void m68k_op_eor_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_eor_8_pd(m68ki_cpu_core *cpu); +void m68k_op_eor_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_eor_8_di(m68ki_cpu_core *cpu); +void m68k_op_eor_8_ix(m68ki_cpu_core *cpu); +void m68k_op_eor_8_aw(m68ki_cpu_core *cpu); +void m68k_op_eor_8_al(m68ki_cpu_core *cpu); +void m68k_op_eor_16_d(m68ki_cpu_core *cpu); +void m68k_op_eor_16_ai(m68ki_cpu_core *cpu); +void m68k_op_eor_16_pi(m68ki_cpu_core *cpu); +void m68k_op_eor_16_pd(m68ki_cpu_core *cpu); +void m68k_op_eor_16_di(m68ki_cpu_core *cpu); +void m68k_op_eor_16_ix(m68ki_cpu_core *cpu); +void m68k_op_eor_16_aw(m68ki_cpu_core *cpu); +void m68k_op_eor_16_al(m68ki_cpu_core *cpu); +void m68k_op_eor_32_d(m68ki_cpu_core *cpu); +void m68k_op_eor_32_ai(m68ki_cpu_core *cpu); +void m68k_op_eor_32_pi(m68ki_cpu_core *cpu); +void m68k_op_eor_32_pd(m68ki_cpu_core *cpu); +void m68k_op_eor_32_di(m68ki_cpu_core *cpu); +void m68k_op_eor_32_ix(m68ki_cpu_core *cpu); +void m68k_op_eor_32_aw(m68ki_cpu_core *cpu); +void m68k_op_eor_32_al(m68ki_cpu_core *cpu); +void m68k_op_eori_8_d(m68ki_cpu_core *cpu); +void m68k_op_eori_8_ai(m68ki_cpu_core *cpu); +void m68k_op_eori_8_pi(m68ki_cpu_core *cpu); +void m68k_op_eori_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_eori_8_pd(m68ki_cpu_core *cpu); +void m68k_op_eori_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_eori_8_di(m68ki_cpu_core *cpu); +void m68k_op_eori_8_ix(m68ki_cpu_core *cpu); +void m68k_op_eori_8_aw(m68ki_cpu_core *cpu); +void m68k_op_eori_8_al(m68ki_cpu_core *cpu); +void m68k_op_eori_16_d(m68ki_cpu_core *cpu); +void m68k_op_eori_16_ai(m68ki_cpu_core *cpu); +void m68k_op_eori_16_pi(m68ki_cpu_core *cpu); +void m68k_op_eori_16_pd(m68ki_cpu_core *cpu); +void m68k_op_eori_16_di(m68ki_cpu_core *cpu); +void m68k_op_eori_16_ix(m68ki_cpu_core *cpu); +void m68k_op_eori_16_aw(m68ki_cpu_core *cpu); +void m68k_op_eori_16_al(m68ki_cpu_core *cpu); +void m68k_op_eori_32_d(m68ki_cpu_core *cpu); +void m68k_op_eori_32_ai(m68ki_cpu_core *cpu); +void m68k_op_eori_32_pi(m68ki_cpu_core *cpu); +void m68k_op_eori_32_pd(m68ki_cpu_core *cpu); +void m68k_op_eori_32_di(m68ki_cpu_core *cpu); +void m68k_op_eori_32_ix(m68ki_cpu_core *cpu); +void m68k_op_eori_32_aw(m68ki_cpu_core *cpu); +void m68k_op_eori_32_al(m68ki_cpu_core *cpu); +void m68k_op_eori_16_toc(m68ki_cpu_core *cpu); +void m68k_op_eori_16_tos(m68ki_cpu_core *cpu); +void m68k_op_exg_32_dd(m68ki_cpu_core *cpu); +void m68k_op_exg_32_aa(m68ki_cpu_core *cpu); +void m68k_op_exg_32_da(m68ki_cpu_core *cpu); +void m68k_op_ext_16(m68ki_cpu_core *cpu); +void m68k_op_ext_32(m68ki_cpu_core *cpu); +void m68k_op_extb_32(m68ki_cpu_core *cpu); +void m68k_op_illegal(m68ki_cpu_core *cpu); +void m68k_op_jmp_32_ai(m68ki_cpu_core *cpu); +void m68k_op_jmp_32_di(m68ki_cpu_core *cpu); +void m68k_op_jmp_32_ix(m68ki_cpu_core *cpu); +void m68k_op_jmp_32_aw(m68ki_cpu_core *cpu); +void m68k_op_jmp_32_al(m68ki_cpu_core *cpu); +void m68k_op_jmp_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_jmp_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_jsr_32_ai(m68ki_cpu_core *cpu); +void m68k_op_jsr_32_di(m68ki_cpu_core *cpu); +void m68k_op_jsr_32_ix(m68ki_cpu_core *cpu); +void m68k_op_jsr_32_aw(m68ki_cpu_core *cpu); +void m68k_op_jsr_32_al(m68ki_cpu_core *cpu); +void m68k_op_jsr_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_jsr_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_lea_32_ai(m68ki_cpu_core *cpu); +void m68k_op_lea_32_di(m68ki_cpu_core *cpu); +void m68k_op_lea_32_ix(m68ki_cpu_core *cpu); +void m68k_op_lea_32_aw(m68ki_cpu_core *cpu); +void m68k_op_lea_32_al(m68ki_cpu_core *cpu); +void m68k_op_lea_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_lea_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_link_16_a7(m68ki_cpu_core *cpu); +void m68k_op_link_16(m68ki_cpu_core *cpu); +void m68k_op_link_32_a7(m68ki_cpu_core *cpu); +void m68k_op_link_32(m68ki_cpu_core *cpu); +void m68k_op_lsr_8_s(m68ki_cpu_core *cpu); +void m68k_op_lsr_16_s(m68ki_cpu_core *cpu); +void m68k_op_lsr_32_s(m68ki_cpu_core *cpu); +void m68k_op_lsr_8_r(m68ki_cpu_core *cpu); +void m68k_op_lsr_16_r(m68ki_cpu_core *cpu); +void m68k_op_lsr_32_r(m68ki_cpu_core *cpu); +void m68k_op_lsr_16_ai(m68ki_cpu_core *cpu); +void m68k_op_lsr_16_pi(m68ki_cpu_core *cpu); +void m68k_op_lsr_16_pd(m68ki_cpu_core *cpu); +void m68k_op_lsr_16_di(m68ki_cpu_core *cpu); +void m68k_op_lsr_16_ix(m68ki_cpu_core *cpu); +void m68k_op_lsr_16_aw(m68ki_cpu_core *cpu); +void m68k_op_lsr_16_al(m68ki_cpu_core *cpu); +void m68k_op_lsl_8_s(m68ki_cpu_core *cpu); +void m68k_op_lsl_16_s(m68ki_cpu_core *cpu); +void m68k_op_lsl_32_s(m68ki_cpu_core *cpu); +void m68k_op_lsl_8_r(m68ki_cpu_core *cpu); +void m68k_op_lsl_16_r(m68ki_cpu_core *cpu); +void m68k_op_lsl_32_r(m68ki_cpu_core *cpu); +void m68k_op_lsl_16_ai(m68ki_cpu_core *cpu); +void m68k_op_lsl_16_pi(m68ki_cpu_core *cpu); +void m68k_op_lsl_16_pd(m68ki_cpu_core *cpu); +void m68k_op_lsl_16_di(m68ki_cpu_core *cpu); +void m68k_op_lsl_16_ix(m68ki_cpu_core *cpu); +void m68k_op_lsl_16_aw(m68ki_cpu_core *cpu); +void m68k_op_lsl_16_al(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_d(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_ai(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_pi(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_pi7(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_pd(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_pd7(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_di(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_ix(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_aw(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_al(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_8_d_i(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_d(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_ai(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_pi(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_pi7(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_pd(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_pd7(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_di(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_ix(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_aw(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_al(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_8_ai_i(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_d(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_d(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_ai(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_pi(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_pi7(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_pd(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_pd7(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_di(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_ix(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_aw(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_al(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi7_i(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_ai(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_pi(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_pi7(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_pd(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_pd7(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_di(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_ix(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_aw(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_al(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_8_pi_i(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_d(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_d(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_ai(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_pi(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_pi7(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_pd(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_pd7(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_di(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_ix(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_aw(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_al(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd7_i(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_ai(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_pi(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_pi7(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_pd(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_pd7(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_di(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_ix(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_aw(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_al(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_8_pd_i(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_d(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_ai(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_pi(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_pi7(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_pd(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_pd7(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_di(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_ix(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_aw(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_al(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_8_di_i(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_d(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_ai(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_pi(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_pi7(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_pd(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_pd7(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_di(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_ix(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_aw(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_al(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_8_ix_i(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_d(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_ai(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_pi(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_pi7(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_pd(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_pd7(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_di(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_ix(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_aw(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_al(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_8_aw_i(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_d(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_ai(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_pi(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_pi7(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_pd(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_pd7(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_di(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_ix(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_aw(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_al(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_8_al_i(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_a(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_16_d_i(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_a(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_16_ai_i(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_a(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_16_pi_i(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_a(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_16_pd_i(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_a(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_16_di_i(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_a(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_16_ix_i(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_a(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_16_aw_i(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_a(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_16_al_i(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_d(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_a(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_ai(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_pi(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_pd(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_di(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_ix(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_aw(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_al(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_32_d_i(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_d(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_a(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_ai(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_pi(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_pd(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_di(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_ix(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_aw(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_al(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_32_ai_i(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_d(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_a(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_ai(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_pi(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_pd(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_di(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_ix(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_aw(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_al(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_32_pi_i(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_d(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_a(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_ai(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_pi(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_pd(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_di(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_ix(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_aw(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_al(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_32_pd_i(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_d(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_a(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_ai(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_pi(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_pd(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_di(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_ix(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_aw(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_al(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_32_di_i(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_d(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_a(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_ai(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_pi(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_pd(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_di(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_ix(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_aw(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_al(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_32_ix_i(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_d(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_a(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_ai(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_pi(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_pd(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_di(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_ix(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_aw(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_al(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_32_aw_i(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_d(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_a(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_ai(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_pi(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_pd(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_di(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_ix(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_aw(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_al(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_32_al_i(m68ki_cpu_core *cpu); +void m68k_op_movea_16_d(m68ki_cpu_core *cpu); +void m68k_op_movea_16_a(m68ki_cpu_core *cpu); +void m68k_op_movea_16_ai(m68ki_cpu_core *cpu); +void m68k_op_movea_16_pi(m68ki_cpu_core *cpu); +void m68k_op_movea_16_pd(m68ki_cpu_core *cpu); +void m68k_op_movea_16_di(m68ki_cpu_core *cpu); +void m68k_op_movea_16_ix(m68ki_cpu_core *cpu); +void m68k_op_movea_16_aw(m68ki_cpu_core *cpu); +void m68k_op_movea_16_al(m68ki_cpu_core *cpu); +void m68k_op_movea_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_movea_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_movea_16_i(m68ki_cpu_core *cpu); +void m68k_op_movea_32_d(m68ki_cpu_core *cpu); +void m68k_op_movea_32_a(m68ki_cpu_core *cpu); +void m68k_op_movea_32_ai(m68ki_cpu_core *cpu); +void m68k_op_movea_32_pi(m68ki_cpu_core *cpu); +void m68k_op_movea_32_pd(m68ki_cpu_core *cpu); +void m68k_op_movea_32_di(m68ki_cpu_core *cpu); +void m68k_op_movea_32_ix(m68ki_cpu_core *cpu); +void m68k_op_movea_32_aw(m68ki_cpu_core *cpu); +void m68k_op_movea_32_al(m68ki_cpu_core *cpu); +void m68k_op_movea_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_movea_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_movea_32_i(m68ki_cpu_core *cpu); +void m68k_op_move_16_frc_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_frc_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_frc_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_frc_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_frc_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_frc_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_frc_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_frc_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_toc_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_toc_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_toc_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_toc_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_toc_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_toc_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_toc_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_toc_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_toc_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_16_toc_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_16_toc_i(m68ki_cpu_core *cpu); +void m68k_op_move_16_frs_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_frs_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_frs_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_frs_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_frs_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_frs_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_frs_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_frs_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_tos_d(m68ki_cpu_core *cpu); +void m68k_op_move_16_tos_ai(m68ki_cpu_core *cpu); +void m68k_op_move_16_tos_pi(m68ki_cpu_core *cpu); +void m68k_op_move_16_tos_pd(m68ki_cpu_core *cpu); +void m68k_op_move_16_tos_di(m68ki_cpu_core *cpu); +void m68k_op_move_16_tos_ix(m68ki_cpu_core *cpu); +void m68k_op_move_16_tos_aw(m68ki_cpu_core *cpu); +void m68k_op_move_16_tos_al(m68ki_cpu_core *cpu); +void m68k_op_move_16_tos_pcdi(m68ki_cpu_core *cpu); +void m68k_op_move_16_tos_pcix(m68ki_cpu_core *cpu); +void m68k_op_move_16_tos_i(m68ki_cpu_core *cpu); +void m68k_op_move_32_fru(m68ki_cpu_core *cpu); +void m68k_op_move_32_tou(m68ki_cpu_core *cpu); +void m68k_op_movec_32_cr(m68ki_cpu_core *cpu); +void m68k_op_movec_32_rc(m68ki_cpu_core *cpu); +void m68k_op_movem_16_re_pd(m68ki_cpu_core *cpu); +void m68k_op_movem_16_re_ai(m68ki_cpu_core *cpu); +void m68k_op_movem_16_re_di(m68ki_cpu_core *cpu); +void m68k_op_movem_16_re_ix(m68ki_cpu_core *cpu); +void m68k_op_movem_16_re_aw(m68ki_cpu_core *cpu); +void m68k_op_movem_16_re_al(m68ki_cpu_core *cpu); +void m68k_op_movem_32_re_pd(m68ki_cpu_core *cpu); +void m68k_op_movem_32_re_ai(m68ki_cpu_core *cpu); +void m68k_op_movem_32_re_di(m68ki_cpu_core *cpu); +void m68k_op_movem_32_re_ix(m68ki_cpu_core *cpu); +void m68k_op_movem_32_re_aw(m68ki_cpu_core *cpu); +void m68k_op_movem_32_re_al(m68ki_cpu_core *cpu); +void m68k_op_movem_16_er_pi(m68ki_cpu_core *cpu); +void m68k_op_movem_16_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_movem_16_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_movem_16_er_ai(m68ki_cpu_core *cpu); +void m68k_op_movem_16_er_di(m68ki_cpu_core *cpu); +void m68k_op_movem_16_er_ix(m68ki_cpu_core *cpu); +void m68k_op_movem_16_er_aw(m68ki_cpu_core *cpu); +void m68k_op_movem_16_er_al(m68ki_cpu_core *cpu); +void m68k_op_movem_32_er_pi(m68ki_cpu_core *cpu); +void m68k_op_movem_32_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_movem_32_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_movem_32_er_ai(m68ki_cpu_core *cpu); +void m68k_op_movem_32_er_di(m68ki_cpu_core *cpu); +void m68k_op_movem_32_er_ix(m68ki_cpu_core *cpu); +void m68k_op_movem_32_er_aw(m68ki_cpu_core *cpu); +void m68k_op_movem_32_er_al(m68ki_cpu_core *cpu); +void m68k_op_movep_16_re(m68ki_cpu_core *cpu); +void m68k_op_movep_32_re(m68ki_cpu_core *cpu); +void m68k_op_movep_16_er(m68ki_cpu_core *cpu); +void m68k_op_movep_32_er(m68ki_cpu_core *cpu); +void m68k_op_moves_8_ai(m68ki_cpu_core *cpu); +void m68k_op_moves_8_pi(m68ki_cpu_core *cpu); +void m68k_op_moves_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_moves_8_pd(m68ki_cpu_core *cpu); +void m68k_op_moves_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_moves_8_di(m68ki_cpu_core *cpu); +void m68k_op_moves_8_ix(m68ki_cpu_core *cpu); +void m68k_op_moves_8_aw(m68ki_cpu_core *cpu); +void m68k_op_moves_8_al(m68ki_cpu_core *cpu); +void m68k_op_moves_16_ai(m68ki_cpu_core *cpu); +void m68k_op_moves_16_pi(m68ki_cpu_core *cpu); +void m68k_op_moves_16_pd(m68ki_cpu_core *cpu); +void m68k_op_moves_16_di(m68ki_cpu_core *cpu); +void m68k_op_moves_16_ix(m68ki_cpu_core *cpu); +void m68k_op_moves_16_aw(m68ki_cpu_core *cpu); +void m68k_op_moves_16_al(m68ki_cpu_core *cpu); +void m68k_op_moves_32_ai(m68ki_cpu_core *cpu); +void m68k_op_moves_32_pi(m68ki_cpu_core *cpu); +void m68k_op_moves_32_pd(m68ki_cpu_core *cpu); +void m68k_op_moves_32_di(m68ki_cpu_core *cpu); +void m68k_op_moves_32_ix(m68ki_cpu_core *cpu); +void m68k_op_moves_32_aw(m68ki_cpu_core *cpu); +void m68k_op_moves_32_al(m68ki_cpu_core *cpu); +void m68k_op_moveq_32(m68ki_cpu_core *cpu); +void m68k_op_muls_16_d(m68ki_cpu_core *cpu); +void m68k_op_muls_16_ai(m68ki_cpu_core *cpu); +void m68k_op_muls_16_pi(m68ki_cpu_core *cpu); +void m68k_op_muls_16_pd(m68ki_cpu_core *cpu); +void m68k_op_muls_16_di(m68ki_cpu_core *cpu); +void m68k_op_muls_16_ix(m68ki_cpu_core *cpu); +void m68k_op_muls_16_aw(m68ki_cpu_core *cpu); +void m68k_op_muls_16_al(m68ki_cpu_core *cpu); +void m68k_op_muls_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_muls_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_muls_16_i(m68ki_cpu_core *cpu); +void m68k_op_mulu_16_d(m68ki_cpu_core *cpu); +void m68k_op_mulu_16_ai(m68ki_cpu_core *cpu); +void m68k_op_mulu_16_pi(m68ki_cpu_core *cpu); +void m68k_op_mulu_16_pd(m68ki_cpu_core *cpu); +void m68k_op_mulu_16_di(m68ki_cpu_core *cpu); +void m68k_op_mulu_16_ix(m68ki_cpu_core *cpu); +void m68k_op_mulu_16_aw(m68ki_cpu_core *cpu); +void m68k_op_mulu_16_al(m68ki_cpu_core *cpu); +void m68k_op_mulu_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_mulu_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_mulu_16_i(m68ki_cpu_core *cpu); +void m68k_op_mull_32_d(m68ki_cpu_core *cpu); +void m68k_op_mull_32_ai(m68ki_cpu_core *cpu); +void m68k_op_mull_32_pi(m68ki_cpu_core *cpu); +void m68k_op_mull_32_pd(m68ki_cpu_core *cpu); +void m68k_op_mull_32_di(m68ki_cpu_core *cpu); +void m68k_op_mull_32_ix(m68ki_cpu_core *cpu); +void m68k_op_mull_32_aw(m68ki_cpu_core *cpu); +void m68k_op_mull_32_al(m68ki_cpu_core *cpu); +void m68k_op_mull_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_mull_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_mull_32_i(m68ki_cpu_core *cpu); +void m68k_op_nbcd_8_d(m68ki_cpu_core *cpu); +void m68k_op_nbcd_8_ai(m68ki_cpu_core *cpu); +void m68k_op_nbcd_8_pi(m68ki_cpu_core *cpu); +void m68k_op_nbcd_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_nbcd_8_pd(m68ki_cpu_core *cpu); +void m68k_op_nbcd_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_nbcd_8_di(m68ki_cpu_core *cpu); +void m68k_op_nbcd_8_ix(m68ki_cpu_core *cpu); +void m68k_op_nbcd_8_aw(m68ki_cpu_core *cpu); +void m68k_op_nbcd_8_al(m68ki_cpu_core *cpu); +void m68k_op_neg_8_d(m68ki_cpu_core *cpu); +void m68k_op_neg_8_ai(m68ki_cpu_core *cpu); +void m68k_op_neg_8_pi(m68ki_cpu_core *cpu); +void m68k_op_neg_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_neg_8_pd(m68ki_cpu_core *cpu); +void m68k_op_neg_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_neg_8_di(m68ki_cpu_core *cpu); +void m68k_op_neg_8_ix(m68ki_cpu_core *cpu); +void m68k_op_neg_8_aw(m68ki_cpu_core *cpu); +void m68k_op_neg_8_al(m68ki_cpu_core *cpu); +void m68k_op_neg_16_d(m68ki_cpu_core *cpu); +void m68k_op_neg_16_ai(m68ki_cpu_core *cpu); +void m68k_op_neg_16_pi(m68ki_cpu_core *cpu); +void m68k_op_neg_16_pd(m68ki_cpu_core *cpu); +void m68k_op_neg_16_di(m68ki_cpu_core *cpu); +void m68k_op_neg_16_ix(m68ki_cpu_core *cpu); +void m68k_op_neg_16_aw(m68ki_cpu_core *cpu); +void m68k_op_neg_16_al(m68ki_cpu_core *cpu); +void m68k_op_neg_32_d(m68ki_cpu_core *cpu); +void m68k_op_neg_32_ai(m68ki_cpu_core *cpu); +void m68k_op_neg_32_pi(m68ki_cpu_core *cpu); +void m68k_op_neg_32_pd(m68ki_cpu_core *cpu); +void m68k_op_neg_32_di(m68ki_cpu_core *cpu); +void m68k_op_neg_32_ix(m68ki_cpu_core *cpu); +void m68k_op_neg_32_aw(m68ki_cpu_core *cpu); +void m68k_op_neg_32_al(m68ki_cpu_core *cpu); +void m68k_op_negx_8_d(m68ki_cpu_core *cpu); +void m68k_op_negx_8_ai(m68ki_cpu_core *cpu); +void m68k_op_negx_8_pi(m68ki_cpu_core *cpu); +void m68k_op_negx_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_negx_8_pd(m68ki_cpu_core *cpu); +void m68k_op_negx_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_negx_8_di(m68ki_cpu_core *cpu); +void m68k_op_negx_8_ix(m68ki_cpu_core *cpu); +void m68k_op_negx_8_aw(m68ki_cpu_core *cpu); +void m68k_op_negx_8_al(m68ki_cpu_core *cpu); +void m68k_op_negx_16_d(m68ki_cpu_core *cpu); +void m68k_op_negx_16_ai(m68ki_cpu_core *cpu); +void m68k_op_negx_16_pi(m68ki_cpu_core *cpu); +void m68k_op_negx_16_pd(m68ki_cpu_core *cpu); +void m68k_op_negx_16_di(m68ki_cpu_core *cpu); +void m68k_op_negx_16_ix(m68ki_cpu_core *cpu); +void m68k_op_negx_16_aw(m68ki_cpu_core *cpu); +void m68k_op_negx_16_al(m68ki_cpu_core *cpu); +void m68k_op_negx_32_d(m68ki_cpu_core *cpu); +void m68k_op_negx_32_ai(m68ki_cpu_core *cpu); +void m68k_op_negx_32_pi(m68ki_cpu_core *cpu); +void m68k_op_negx_32_pd(m68ki_cpu_core *cpu); +void m68k_op_negx_32_di(m68ki_cpu_core *cpu); +void m68k_op_negx_32_ix(m68ki_cpu_core *cpu); +void m68k_op_negx_32_aw(m68ki_cpu_core *cpu); +void m68k_op_negx_32_al(m68ki_cpu_core *cpu); +void m68k_op_nop(m68ki_cpu_core *cpu); +void m68k_op_not_8_d(m68ki_cpu_core *cpu); +void m68k_op_not_8_ai(m68ki_cpu_core *cpu); +void m68k_op_not_8_pi(m68ki_cpu_core *cpu); +void m68k_op_not_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_not_8_pd(m68ki_cpu_core *cpu); +void m68k_op_not_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_not_8_di(m68ki_cpu_core *cpu); +void m68k_op_not_8_ix(m68ki_cpu_core *cpu); +void m68k_op_not_8_aw(m68ki_cpu_core *cpu); +void m68k_op_not_8_al(m68ki_cpu_core *cpu); +void m68k_op_not_16_d(m68ki_cpu_core *cpu); +void m68k_op_not_16_ai(m68ki_cpu_core *cpu); +void m68k_op_not_16_pi(m68ki_cpu_core *cpu); +void m68k_op_not_16_pd(m68ki_cpu_core *cpu); +void m68k_op_not_16_di(m68ki_cpu_core *cpu); +void m68k_op_not_16_ix(m68ki_cpu_core *cpu); +void m68k_op_not_16_aw(m68ki_cpu_core *cpu); +void m68k_op_not_16_al(m68ki_cpu_core *cpu); +void m68k_op_not_32_d(m68ki_cpu_core *cpu); +void m68k_op_not_32_ai(m68ki_cpu_core *cpu); +void m68k_op_not_32_pi(m68ki_cpu_core *cpu); +void m68k_op_not_32_pd(m68ki_cpu_core *cpu); +void m68k_op_not_32_di(m68ki_cpu_core *cpu); +void m68k_op_not_32_ix(m68ki_cpu_core *cpu); +void m68k_op_not_32_aw(m68ki_cpu_core *cpu); +void m68k_op_not_32_al(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_d(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_ai(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_pi(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_pi7(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_pd(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_pd7(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_di(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_ix(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_aw(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_al(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_or_8_er_i(m68ki_cpu_core *cpu); +void m68k_op_or_16_er_d(m68ki_cpu_core *cpu); +void m68k_op_or_16_er_ai(m68ki_cpu_core *cpu); +void m68k_op_or_16_er_pi(m68ki_cpu_core *cpu); +void m68k_op_or_16_er_pd(m68ki_cpu_core *cpu); +void m68k_op_or_16_er_di(m68ki_cpu_core *cpu); +void m68k_op_or_16_er_ix(m68ki_cpu_core *cpu); +void m68k_op_or_16_er_aw(m68ki_cpu_core *cpu); +void m68k_op_or_16_er_al(m68ki_cpu_core *cpu); +void m68k_op_or_16_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_or_16_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_or_16_er_i(m68ki_cpu_core *cpu); +void m68k_op_or_32_er_d(m68ki_cpu_core *cpu); +void m68k_op_or_32_er_ai(m68ki_cpu_core *cpu); +void m68k_op_or_32_er_pi(m68ki_cpu_core *cpu); +void m68k_op_or_32_er_pd(m68ki_cpu_core *cpu); +void m68k_op_or_32_er_di(m68ki_cpu_core *cpu); +void m68k_op_or_32_er_ix(m68ki_cpu_core *cpu); +void m68k_op_or_32_er_aw(m68ki_cpu_core *cpu); +void m68k_op_or_32_er_al(m68ki_cpu_core *cpu); +void m68k_op_or_32_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_or_32_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_or_32_er_i(m68ki_cpu_core *cpu); +void m68k_op_or_8_re_ai(m68ki_cpu_core *cpu); +void m68k_op_or_8_re_pi(m68ki_cpu_core *cpu); +void m68k_op_or_8_re_pi7(m68ki_cpu_core *cpu); +void m68k_op_or_8_re_pd(m68ki_cpu_core *cpu); +void m68k_op_or_8_re_pd7(m68ki_cpu_core *cpu); +void m68k_op_or_8_re_di(m68ki_cpu_core *cpu); +void m68k_op_or_8_re_ix(m68ki_cpu_core *cpu); +void m68k_op_or_8_re_aw(m68ki_cpu_core *cpu); +void m68k_op_or_8_re_al(m68ki_cpu_core *cpu); +void m68k_op_or_16_re_ai(m68ki_cpu_core *cpu); +void m68k_op_or_16_re_pi(m68ki_cpu_core *cpu); +void m68k_op_or_16_re_pd(m68ki_cpu_core *cpu); +void m68k_op_or_16_re_di(m68ki_cpu_core *cpu); +void m68k_op_or_16_re_ix(m68ki_cpu_core *cpu); +void m68k_op_or_16_re_aw(m68ki_cpu_core *cpu); +void m68k_op_or_16_re_al(m68ki_cpu_core *cpu); +void m68k_op_or_32_re_ai(m68ki_cpu_core *cpu); +void m68k_op_or_32_re_pi(m68ki_cpu_core *cpu); +void m68k_op_or_32_re_pd(m68ki_cpu_core *cpu); +void m68k_op_or_32_re_di(m68ki_cpu_core *cpu); +void m68k_op_or_32_re_ix(m68ki_cpu_core *cpu); +void m68k_op_or_32_re_aw(m68ki_cpu_core *cpu); +void m68k_op_or_32_re_al(m68ki_cpu_core *cpu); +void m68k_op_ori_8_d(m68ki_cpu_core *cpu); +void m68k_op_ori_8_ai(m68ki_cpu_core *cpu); +void m68k_op_ori_8_pi(m68ki_cpu_core *cpu); +void m68k_op_ori_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_ori_8_pd(m68ki_cpu_core *cpu); +void m68k_op_ori_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_ori_8_di(m68ki_cpu_core *cpu); +void m68k_op_ori_8_ix(m68ki_cpu_core *cpu); +void m68k_op_ori_8_aw(m68ki_cpu_core *cpu); +void m68k_op_ori_8_al(m68ki_cpu_core *cpu); +void m68k_op_ori_16_d(m68ki_cpu_core *cpu); +void m68k_op_ori_16_ai(m68ki_cpu_core *cpu); +void m68k_op_ori_16_pi(m68ki_cpu_core *cpu); +void m68k_op_ori_16_pd(m68ki_cpu_core *cpu); +void m68k_op_ori_16_di(m68ki_cpu_core *cpu); +void m68k_op_ori_16_ix(m68ki_cpu_core *cpu); +void m68k_op_ori_16_aw(m68ki_cpu_core *cpu); +void m68k_op_ori_16_al(m68ki_cpu_core *cpu); +void m68k_op_ori_32_d(m68ki_cpu_core *cpu); +void m68k_op_ori_32_ai(m68ki_cpu_core *cpu); +void m68k_op_ori_32_pi(m68ki_cpu_core *cpu); +void m68k_op_ori_32_pd(m68ki_cpu_core *cpu); +void m68k_op_ori_32_di(m68ki_cpu_core *cpu); +void m68k_op_ori_32_ix(m68ki_cpu_core *cpu); +void m68k_op_ori_32_aw(m68ki_cpu_core *cpu); +void m68k_op_ori_32_al(m68ki_cpu_core *cpu); +void m68k_op_ori_16_toc(m68ki_cpu_core *cpu); +void m68k_op_ori_16_tos(m68ki_cpu_core *cpu); +void m68k_op_pack_16_rr(m68ki_cpu_core *cpu); +void m68k_op_pack_16_mm_ax7(m68ki_cpu_core *cpu); +void m68k_op_pack_16_mm_ay7(m68ki_cpu_core *cpu); +void m68k_op_pack_16_mm_axy7(m68ki_cpu_core *cpu); +void m68k_op_pack_16_mm(m68ki_cpu_core *cpu); +void m68k_op_pea_32_ai(m68ki_cpu_core *cpu); +void m68k_op_pea_32_di(m68ki_cpu_core *cpu); +void m68k_op_pea_32_ix(m68ki_cpu_core *cpu); +void m68k_op_pea_32_aw(m68ki_cpu_core *cpu); +void m68k_op_pea_32_al(m68ki_cpu_core *cpu); +void m68k_op_pea_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_pea_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_reset(m68ki_cpu_core *cpu); +void m68k_op_ror_8_s(m68ki_cpu_core *cpu); +void m68k_op_ror_16_s(m68ki_cpu_core *cpu); +void m68k_op_ror_32_s(m68ki_cpu_core *cpu); +void m68k_op_ror_8_r(m68ki_cpu_core *cpu); +void m68k_op_ror_16_r(m68ki_cpu_core *cpu); +void m68k_op_ror_32_r(m68ki_cpu_core *cpu); +void m68k_op_ror_16_ai(m68ki_cpu_core *cpu); +void m68k_op_ror_16_pi(m68ki_cpu_core *cpu); +void m68k_op_ror_16_pd(m68ki_cpu_core *cpu); +void m68k_op_ror_16_di(m68ki_cpu_core *cpu); +void m68k_op_ror_16_ix(m68ki_cpu_core *cpu); +void m68k_op_ror_16_aw(m68ki_cpu_core *cpu); +void m68k_op_ror_16_al(m68ki_cpu_core *cpu); +void m68k_op_rol_8_s(m68ki_cpu_core *cpu); +void m68k_op_rol_16_s(m68ki_cpu_core *cpu); +void m68k_op_rol_32_s(m68ki_cpu_core *cpu); +void m68k_op_rol_8_r(m68ki_cpu_core *cpu); +void m68k_op_rol_16_r(m68ki_cpu_core *cpu); +void m68k_op_rol_32_r(m68ki_cpu_core *cpu); +void m68k_op_rol_16_ai(m68ki_cpu_core *cpu); +void m68k_op_rol_16_pi(m68ki_cpu_core *cpu); +void m68k_op_rol_16_pd(m68ki_cpu_core *cpu); +void m68k_op_rol_16_di(m68ki_cpu_core *cpu); +void m68k_op_rol_16_ix(m68ki_cpu_core *cpu); +void m68k_op_rol_16_aw(m68ki_cpu_core *cpu); +void m68k_op_rol_16_al(m68ki_cpu_core *cpu); +void m68k_op_roxr_8_s(m68ki_cpu_core *cpu); +void m68k_op_roxr_16_s(m68ki_cpu_core *cpu); +void m68k_op_roxr_32_s(m68ki_cpu_core *cpu); +void m68k_op_roxr_8_r(m68ki_cpu_core *cpu); +void m68k_op_roxr_16_r(m68ki_cpu_core *cpu); +void m68k_op_roxr_32_r(m68ki_cpu_core *cpu); +void m68k_op_roxr_16_ai(m68ki_cpu_core *cpu); +void m68k_op_roxr_16_pi(m68ki_cpu_core *cpu); +void m68k_op_roxr_16_pd(m68ki_cpu_core *cpu); +void m68k_op_roxr_16_di(m68ki_cpu_core *cpu); +void m68k_op_roxr_16_ix(m68ki_cpu_core *cpu); +void m68k_op_roxr_16_aw(m68ki_cpu_core *cpu); +void m68k_op_roxr_16_al(m68ki_cpu_core *cpu); +void m68k_op_roxl_8_s(m68ki_cpu_core *cpu); +void m68k_op_roxl_16_s(m68ki_cpu_core *cpu); +void m68k_op_roxl_32_s(m68ki_cpu_core *cpu); +void m68k_op_roxl_8_r(m68ki_cpu_core *cpu); +void m68k_op_roxl_16_r(m68ki_cpu_core *cpu); +void m68k_op_roxl_32_r(m68ki_cpu_core *cpu); +void m68k_op_roxl_16_ai(m68ki_cpu_core *cpu); +void m68k_op_roxl_16_pi(m68ki_cpu_core *cpu); +void m68k_op_roxl_16_pd(m68ki_cpu_core *cpu); +void m68k_op_roxl_16_di(m68ki_cpu_core *cpu); +void m68k_op_roxl_16_ix(m68ki_cpu_core *cpu); +void m68k_op_roxl_16_aw(m68ki_cpu_core *cpu); +void m68k_op_roxl_16_al(m68ki_cpu_core *cpu); +void m68k_op_rtd_32(m68ki_cpu_core *cpu); +void m68k_op_rte_32(m68ki_cpu_core *cpu); +void m68k_op_rtm_32(m68ki_cpu_core *cpu); +void m68k_op_rtr_32(m68ki_cpu_core *cpu); +void m68k_op_rts_32(m68ki_cpu_core *cpu); +void m68k_op_sbcd_8_rr(m68ki_cpu_core *cpu); +void m68k_op_sbcd_8_mm_ax7(m68ki_cpu_core *cpu); +void m68k_op_sbcd_8_mm_ay7(m68ki_cpu_core *cpu); +void m68k_op_sbcd_8_mm_axy7(m68ki_cpu_core *cpu); +void m68k_op_sbcd_8_mm(m68ki_cpu_core *cpu); +void m68k_op_st_8_d(m68ki_cpu_core *cpu); +void m68k_op_st_8_ai(m68ki_cpu_core *cpu); +void m68k_op_st_8_pi(m68ki_cpu_core *cpu); +void m68k_op_st_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_st_8_pd(m68ki_cpu_core *cpu); +void m68k_op_st_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_st_8_di(m68ki_cpu_core *cpu); +void m68k_op_st_8_ix(m68ki_cpu_core *cpu); +void m68k_op_st_8_aw(m68ki_cpu_core *cpu); +void m68k_op_st_8_al(m68ki_cpu_core *cpu); +void m68k_op_sf_8_d(m68ki_cpu_core *cpu); +void m68k_op_sf_8_ai(m68ki_cpu_core *cpu); +void m68k_op_sf_8_pi(m68ki_cpu_core *cpu); +void m68k_op_sf_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_sf_8_pd(m68ki_cpu_core *cpu); +void m68k_op_sf_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_sf_8_di(m68ki_cpu_core *cpu); +void m68k_op_sf_8_ix(m68ki_cpu_core *cpu); +void m68k_op_sf_8_aw(m68ki_cpu_core *cpu); +void m68k_op_sf_8_al(m68ki_cpu_core *cpu); +void m68k_op_shi_8_d(m68ki_cpu_core *cpu); +void m68k_op_sls_8_d(m68ki_cpu_core *cpu); +void m68k_op_scc_8_d(m68ki_cpu_core *cpu); +void m68k_op_scs_8_d(m68ki_cpu_core *cpu); +void m68k_op_sne_8_d(m68ki_cpu_core *cpu); +void m68k_op_seq_8_d(m68ki_cpu_core *cpu); +void m68k_op_svc_8_d(m68ki_cpu_core *cpu); +void m68k_op_svs_8_d(m68ki_cpu_core *cpu); +void m68k_op_spl_8_d(m68ki_cpu_core *cpu); +void m68k_op_smi_8_d(m68ki_cpu_core *cpu); +void m68k_op_sge_8_d(m68ki_cpu_core *cpu); +void m68k_op_slt_8_d(m68ki_cpu_core *cpu); +void m68k_op_sgt_8_d(m68ki_cpu_core *cpu); +void m68k_op_sle_8_d(m68ki_cpu_core *cpu); +void m68k_op_shi_8_ai(m68ki_cpu_core *cpu); +void m68k_op_shi_8_pi(m68ki_cpu_core *cpu); +void m68k_op_shi_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_shi_8_pd(m68ki_cpu_core *cpu); +void m68k_op_shi_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_shi_8_di(m68ki_cpu_core *cpu); +void m68k_op_shi_8_ix(m68ki_cpu_core *cpu); +void m68k_op_shi_8_aw(m68ki_cpu_core *cpu); +void m68k_op_shi_8_al(m68ki_cpu_core *cpu); +void m68k_op_sls_8_ai(m68ki_cpu_core *cpu); +void m68k_op_sls_8_pi(m68ki_cpu_core *cpu); +void m68k_op_sls_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_sls_8_pd(m68ki_cpu_core *cpu); +void m68k_op_sls_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_sls_8_di(m68ki_cpu_core *cpu); +void m68k_op_sls_8_ix(m68ki_cpu_core *cpu); +void m68k_op_sls_8_aw(m68ki_cpu_core *cpu); +void m68k_op_sls_8_al(m68ki_cpu_core *cpu); +void m68k_op_scc_8_ai(m68ki_cpu_core *cpu); +void m68k_op_scc_8_pi(m68ki_cpu_core *cpu); +void m68k_op_scc_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_scc_8_pd(m68ki_cpu_core *cpu); +void m68k_op_scc_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_scc_8_di(m68ki_cpu_core *cpu); +void m68k_op_scc_8_ix(m68ki_cpu_core *cpu); +void m68k_op_scc_8_aw(m68ki_cpu_core *cpu); +void m68k_op_scc_8_al(m68ki_cpu_core *cpu); +void m68k_op_scs_8_ai(m68ki_cpu_core *cpu); +void m68k_op_scs_8_pi(m68ki_cpu_core *cpu); +void m68k_op_scs_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_scs_8_pd(m68ki_cpu_core *cpu); +void m68k_op_scs_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_scs_8_di(m68ki_cpu_core *cpu); +void m68k_op_scs_8_ix(m68ki_cpu_core *cpu); +void m68k_op_scs_8_aw(m68ki_cpu_core *cpu); +void m68k_op_scs_8_al(m68ki_cpu_core *cpu); +void m68k_op_sne_8_ai(m68ki_cpu_core *cpu); +void m68k_op_sne_8_pi(m68ki_cpu_core *cpu); +void m68k_op_sne_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_sne_8_pd(m68ki_cpu_core *cpu); +void m68k_op_sne_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_sne_8_di(m68ki_cpu_core *cpu); +void m68k_op_sne_8_ix(m68ki_cpu_core *cpu); +void m68k_op_sne_8_aw(m68ki_cpu_core *cpu); +void m68k_op_sne_8_al(m68ki_cpu_core *cpu); +void m68k_op_seq_8_ai(m68ki_cpu_core *cpu); +void m68k_op_seq_8_pi(m68ki_cpu_core *cpu); +void m68k_op_seq_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_seq_8_pd(m68ki_cpu_core *cpu); +void m68k_op_seq_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_seq_8_di(m68ki_cpu_core *cpu); +void m68k_op_seq_8_ix(m68ki_cpu_core *cpu); +void m68k_op_seq_8_aw(m68ki_cpu_core *cpu); +void m68k_op_seq_8_al(m68ki_cpu_core *cpu); +void m68k_op_svc_8_ai(m68ki_cpu_core *cpu); +void m68k_op_svc_8_pi(m68ki_cpu_core *cpu); +void m68k_op_svc_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_svc_8_pd(m68ki_cpu_core *cpu); +void m68k_op_svc_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_svc_8_di(m68ki_cpu_core *cpu); +void m68k_op_svc_8_ix(m68ki_cpu_core *cpu); +void m68k_op_svc_8_aw(m68ki_cpu_core *cpu); +void m68k_op_svc_8_al(m68ki_cpu_core *cpu); +void m68k_op_svs_8_ai(m68ki_cpu_core *cpu); +void m68k_op_svs_8_pi(m68ki_cpu_core *cpu); +void m68k_op_svs_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_svs_8_pd(m68ki_cpu_core *cpu); +void m68k_op_svs_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_svs_8_di(m68ki_cpu_core *cpu); +void m68k_op_svs_8_ix(m68ki_cpu_core *cpu); +void m68k_op_svs_8_aw(m68ki_cpu_core *cpu); +void m68k_op_svs_8_al(m68ki_cpu_core *cpu); +void m68k_op_spl_8_ai(m68ki_cpu_core *cpu); +void m68k_op_spl_8_pi(m68ki_cpu_core *cpu); +void m68k_op_spl_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_spl_8_pd(m68ki_cpu_core *cpu); +void m68k_op_spl_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_spl_8_di(m68ki_cpu_core *cpu); +void m68k_op_spl_8_ix(m68ki_cpu_core *cpu); +void m68k_op_spl_8_aw(m68ki_cpu_core *cpu); +void m68k_op_spl_8_al(m68ki_cpu_core *cpu); +void m68k_op_smi_8_ai(m68ki_cpu_core *cpu); +void m68k_op_smi_8_pi(m68ki_cpu_core *cpu); +void m68k_op_smi_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_smi_8_pd(m68ki_cpu_core *cpu); +void m68k_op_smi_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_smi_8_di(m68ki_cpu_core *cpu); +void m68k_op_smi_8_ix(m68ki_cpu_core *cpu); +void m68k_op_smi_8_aw(m68ki_cpu_core *cpu); +void m68k_op_smi_8_al(m68ki_cpu_core *cpu); +void m68k_op_sge_8_ai(m68ki_cpu_core *cpu); +void m68k_op_sge_8_pi(m68ki_cpu_core *cpu); +void m68k_op_sge_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_sge_8_pd(m68ki_cpu_core *cpu); +void m68k_op_sge_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_sge_8_di(m68ki_cpu_core *cpu); +void m68k_op_sge_8_ix(m68ki_cpu_core *cpu); +void m68k_op_sge_8_aw(m68ki_cpu_core *cpu); +void m68k_op_sge_8_al(m68ki_cpu_core *cpu); +void m68k_op_slt_8_ai(m68ki_cpu_core *cpu); +void m68k_op_slt_8_pi(m68ki_cpu_core *cpu); +void m68k_op_slt_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_slt_8_pd(m68ki_cpu_core *cpu); +void m68k_op_slt_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_slt_8_di(m68ki_cpu_core *cpu); +void m68k_op_slt_8_ix(m68ki_cpu_core *cpu); +void m68k_op_slt_8_aw(m68ki_cpu_core *cpu); +void m68k_op_slt_8_al(m68ki_cpu_core *cpu); +void m68k_op_sgt_8_ai(m68ki_cpu_core *cpu); +void m68k_op_sgt_8_pi(m68ki_cpu_core *cpu); +void m68k_op_sgt_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_sgt_8_pd(m68ki_cpu_core *cpu); +void m68k_op_sgt_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_sgt_8_di(m68ki_cpu_core *cpu); +void m68k_op_sgt_8_ix(m68ki_cpu_core *cpu); +void m68k_op_sgt_8_aw(m68ki_cpu_core *cpu); +void m68k_op_sgt_8_al(m68ki_cpu_core *cpu); +void m68k_op_sle_8_ai(m68ki_cpu_core *cpu); +void m68k_op_sle_8_pi(m68ki_cpu_core *cpu); +void m68k_op_sle_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_sle_8_pd(m68ki_cpu_core *cpu); +void m68k_op_sle_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_sle_8_di(m68ki_cpu_core *cpu); +void m68k_op_sle_8_ix(m68ki_cpu_core *cpu); +void m68k_op_sle_8_aw(m68ki_cpu_core *cpu); +void m68k_op_sle_8_al(m68ki_cpu_core *cpu); +void m68k_op_stop(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_d(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_ai(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_pi(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_pi7(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_pd(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_pd7(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_di(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_ix(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_aw(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_al(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_sub_8_er_i(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_d(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_a(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_ai(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_pi(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_pd(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_di(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_ix(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_aw(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_al(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_sub_16_er_i(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_d(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_a(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_ai(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_pi(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_pd(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_di(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_ix(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_aw(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_al(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_pcdi(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_pcix(m68ki_cpu_core *cpu); +void m68k_op_sub_32_er_i(m68ki_cpu_core *cpu); +void m68k_op_sub_8_re_ai(m68ki_cpu_core *cpu); +void m68k_op_sub_8_re_pi(m68ki_cpu_core *cpu); +void m68k_op_sub_8_re_pi7(m68ki_cpu_core *cpu); +void m68k_op_sub_8_re_pd(m68ki_cpu_core *cpu); +void m68k_op_sub_8_re_pd7(m68ki_cpu_core *cpu); +void m68k_op_sub_8_re_di(m68ki_cpu_core *cpu); +void m68k_op_sub_8_re_ix(m68ki_cpu_core *cpu); +void m68k_op_sub_8_re_aw(m68ki_cpu_core *cpu); +void m68k_op_sub_8_re_al(m68ki_cpu_core *cpu); +void m68k_op_sub_16_re_ai(m68ki_cpu_core *cpu); +void m68k_op_sub_16_re_pi(m68ki_cpu_core *cpu); +void m68k_op_sub_16_re_pd(m68ki_cpu_core *cpu); +void m68k_op_sub_16_re_di(m68ki_cpu_core *cpu); +void m68k_op_sub_16_re_ix(m68ki_cpu_core *cpu); +void m68k_op_sub_16_re_aw(m68ki_cpu_core *cpu); +void m68k_op_sub_16_re_al(m68ki_cpu_core *cpu); +void m68k_op_sub_32_re_ai(m68ki_cpu_core *cpu); +void m68k_op_sub_32_re_pi(m68ki_cpu_core *cpu); +void m68k_op_sub_32_re_pd(m68ki_cpu_core *cpu); +void m68k_op_sub_32_re_di(m68ki_cpu_core *cpu); +void m68k_op_sub_32_re_ix(m68ki_cpu_core *cpu); +void m68k_op_sub_32_re_aw(m68ki_cpu_core *cpu); +void m68k_op_sub_32_re_al(m68ki_cpu_core *cpu); +void m68k_op_suba_16_d(m68ki_cpu_core *cpu); +void m68k_op_suba_16_a(m68ki_cpu_core *cpu); +void m68k_op_suba_16_ai(m68ki_cpu_core *cpu); +void m68k_op_suba_16_pi(m68ki_cpu_core *cpu); +void m68k_op_suba_16_pd(m68ki_cpu_core *cpu); +void m68k_op_suba_16_di(m68ki_cpu_core *cpu); +void m68k_op_suba_16_ix(m68ki_cpu_core *cpu); +void m68k_op_suba_16_aw(m68ki_cpu_core *cpu); +void m68k_op_suba_16_al(m68ki_cpu_core *cpu); +void m68k_op_suba_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_suba_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_suba_16_i(m68ki_cpu_core *cpu); +void m68k_op_suba_32_d(m68ki_cpu_core *cpu); +void m68k_op_suba_32_a(m68ki_cpu_core *cpu); +void m68k_op_suba_32_ai(m68ki_cpu_core *cpu); +void m68k_op_suba_32_pi(m68ki_cpu_core *cpu); +void m68k_op_suba_32_pd(m68ki_cpu_core *cpu); +void m68k_op_suba_32_di(m68ki_cpu_core *cpu); +void m68k_op_suba_32_ix(m68ki_cpu_core *cpu); +void m68k_op_suba_32_aw(m68ki_cpu_core *cpu); +void m68k_op_suba_32_al(m68ki_cpu_core *cpu); +void m68k_op_suba_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_suba_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_suba_32_i(m68ki_cpu_core *cpu); +void m68k_op_subi_8_d(m68ki_cpu_core *cpu); +void m68k_op_subi_8_ai(m68ki_cpu_core *cpu); +void m68k_op_subi_8_pi(m68ki_cpu_core *cpu); +void m68k_op_subi_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_subi_8_pd(m68ki_cpu_core *cpu); +void m68k_op_subi_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_subi_8_di(m68ki_cpu_core *cpu); +void m68k_op_subi_8_ix(m68ki_cpu_core *cpu); +void m68k_op_subi_8_aw(m68ki_cpu_core *cpu); +void m68k_op_subi_8_al(m68ki_cpu_core *cpu); +void m68k_op_subi_16_d(m68ki_cpu_core *cpu); +void m68k_op_subi_16_ai(m68ki_cpu_core *cpu); +void m68k_op_subi_16_pi(m68ki_cpu_core *cpu); +void m68k_op_subi_16_pd(m68ki_cpu_core *cpu); +void m68k_op_subi_16_di(m68ki_cpu_core *cpu); +void m68k_op_subi_16_ix(m68ki_cpu_core *cpu); +void m68k_op_subi_16_aw(m68ki_cpu_core *cpu); +void m68k_op_subi_16_al(m68ki_cpu_core *cpu); +void m68k_op_subi_32_d(m68ki_cpu_core *cpu); +void m68k_op_subi_32_ai(m68ki_cpu_core *cpu); +void m68k_op_subi_32_pi(m68ki_cpu_core *cpu); +void m68k_op_subi_32_pd(m68ki_cpu_core *cpu); +void m68k_op_subi_32_di(m68ki_cpu_core *cpu); +void m68k_op_subi_32_ix(m68ki_cpu_core *cpu); +void m68k_op_subi_32_aw(m68ki_cpu_core *cpu); +void m68k_op_subi_32_al(m68ki_cpu_core *cpu); +void m68k_op_subq_8_d(m68ki_cpu_core *cpu); +void m68k_op_subq_8_ai(m68ki_cpu_core *cpu); +void m68k_op_subq_8_pi(m68ki_cpu_core *cpu); +void m68k_op_subq_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_subq_8_pd(m68ki_cpu_core *cpu); +void m68k_op_subq_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_subq_8_di(m68ki_cpu_core *cpu); +void m68k_op_subq_8_ix(m68ki_cpu_core *cpu); +void m68k_op_subq_8_aw(m68ki_cpu_core *cpu); +void m68k_op_subq_8_al(m68ki_cpu_core *cpu); +void m68k_op_subq_16_d(m68ki_cpu_core *cpu); +void m68k_op_subq_16_a(m68ki_cpu_core *cpu); +void m68k_op_subq_16_ai(m68ki_cpu_core *cpu); +void m68k_op_subq_16_pi(m68ki_cpu_core *cpu); +void m68k_op_subq_16_pd(m68ki_cpu_core *cpu); +void m68k_op_subq_16_di(m68ki_cpu_core *cpu); +void m68k_op_subq_16_ix(m68ki_cpu_core *cpu); +void m68k_op_subq_16_aw(m68ki_cpu_core *cpu); +void m68k_op_subq_16_al(m68ki_cpu_core *cpu); +void m68k_op_subq_32_d(m68ki_cpu_core *cpu); +void m68k_op_subq_32_a(m68ki_cpu_core *cpu); +void m68k_op_subq_32_ai(m68ki_cpu_core *cpu); +void m68k_op_subq_32_pi(m68ki_cpu_core *cpu); +void m68k_op_subq_32_pd(m68ki_cpu_core *cpu); +void m68k_op_subq_32_di(m68ki_cpu_core *cpu); +void m68k_op_subq_32_ix(m68ki_cpu_core *cpu); +void m68k_op_subq_32_aw(m68ki_cpu_core *cpu); +void m68k_op_subq_32_al(m68ki_cpu_core *cpu); +void m68k_op_subx_8_rr(m68ki_cpu_core *cpu); +void m68k_op_subx_16_rr(m68ki_cpu_core *cpu); +void m68k_op_subx_32_rr(m68ki_cpu_core *cpu); +void m68k_op_subx_8_mm_ax7(m68ki_cpu_core *cpu); +void m68k_op_subx_8_mm_ay7(m68ki_cpu_core *cpu); +void m68k_op_subx_8_mm_axy7(m68ki_cpu_core *cpu); +void m68k_op_subx_8_mm(m68ki_cpu_core *cpu); +void m68k_op_subx_16_mm(m68ki_cpu_core *cpu); +void m68k_op_subx_32_mm(m68ki_cpu_core *cpu); +void m68k_op_swap_32(m68ki_cpu_core *cpu); +void m68k_op_tas_8_d(m68ki_cpu_core *cpu); +void m68k_op_tas_8_ai(m68ki_cpu_core *cpu); +void m68k_op_tas_8_pi(m68ki_cpu_core *cpu); +void m68k_op_tas_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_tas_8_pd(m68ki_cpu_core *cpu); +void m68k_op_tas_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_tas_8_di(m68ki_cpu_core *cpu); +void m68k_op_tas_8_ix(m68ki_cpu_core *cpu); +void m68k_op_tas_8_aw(m68ki_cpu_core *cpu); +void m68k_op_tas_8_al(m68ki_cpu_core *cpu); +void m68k_op_trap(m68ki_cpu_core *cpu); +void m68k_op_trapt(m68ki_cpu_core *cpu); +void m68k_op_trapt_16(m68ki_cpu_core *cpu); +void m68k_op_trapt_32(m68ki_cpu_core *cpu); +void m68k_op_trapf(m68ki_cpu_core *cpu); +void m68k_op_trapf_16(m68ki_cpu_core *cpu); +void m68k_op_trapf_32(m68ki_cpu_core *cpu); +void m68k_op_traphi(m68ki_cpu_core *cpu); +void m68k_op_trapls(m68ki_cpu_core *cpu); +void m68k_op_trapcc(m68ki_cpu_core *cpu); +void m68k_op_trapcs(m68ki_cpu_core *cpu); +void m68k_op_trapne(m68ki_cpu_core *cpu); +void m68k_op_trapeq(m68ki_cpu_core *cpu); +void m68k_op_trapvc(m68ki_cpu_core *cpu); +void m68k_op_trapvs(m68ki_cpu_core *cpu); +void m68k_op_trappl(m68ki_cpu_core *cpu); +void m68k_op_trapmi(m68ki_cpu_core *cpu); +void m68k_op_trapge(m68ki_cpu_core *cpu); +void m68k_op_traplt(m68ki_cpu_core *cpu); +void m68k_op_trapgt(m68ki_cpu_core *cpu); +void m68k_op_traple(m68ki_cpu_core *cpu); +void m68k_op_traphi_16(m68ki_cpu_core *cpu); +void m68k_op_trapls_16(m68ki_cpu_core *cpu); +void m68k_op_trapcc_16(m68ki_cpu_core *cpu); +void m68k_op_trapcs_16(m68ki_cpu_core *cpu); +void m68k_op_trapne_16(m68ki_cpu_core *cpu); +void m68k_op_trapeq_16(m68ki_cpu_core *cpu); +void m68k_op_trapvc_16(m68ki_cpu_core *cpu); +void m68k_op_trapvs_16(m68ki_cpu_core *cpu); +void m68k_op_trappl_16(m68ki_cpu_core *cpu); +void m68k_op_trapmi_16(m68ki_cpu_core *cpu); +void m68k_op_trapge_16(m68ki_cpu_core *cpu); +void m68k_op_traplt_16(m68ki_cpu_core *cpu); +void m68k_op_trapgt_16(m68ki_cpu_core *cpu); +void m68k_op_traple_16(m68ki_cpu_core *cpu); +void m68k_op_traphi_32(m68ki_cpu_core *cpu); +void m68k_op_trapls_32(m68ki_cpu_core *cpu); +void m68k_op_trapcc_32(m68ki_cpu_core *cpu); +void m68k_op_trapcs_32(m68ki_cpu_core *cpu); +void m68k_op_trapne_32(m68ki_cpu_core *cpu); +void m68k_op_trapeq_32(m68ki_cpu_core *cpu); +void m68k_op_trapvc_32(m68ki_cpu_core *cpu); +void m68k_op_trapvs_32(m68ki_cpu_core *cpu); +void m68k_op_trappl_32(m68ki_cpu_core *cpu); +void m68k_op_trapmi_32(m68ki_cpu_core *cpu); +void m68k_op_trapge_32(m68ki_cpu_core *cpu); +void m68k_op_traplt_32(m68ki_cpu_core *cpu); +void m68k_op_trapgt_32(m68ki_cpu_core *cpu); +void m68k_op_traple_32(m68ki_cpu_core *cpu); +void m68k_op_trapv(m68ki_cpu_core *cpu); +void m68k_op_tst_8_d(m68ki_cpu_core *cpu); +void m68k_op_tst_8_ai(m68ki_cpu_core *cpu); +void m68k_op_tst_8_pi(m68ki_cpu_core *cpu); +void m68k_op_tst_8_pi7(m68ki_cpu_core *cpu); +void m68k_op_tst_8_pd(m68ki_cpu_core *cpu); +void m68k_op_tst_8_pd7(m68ki_cpu_core *cpu); +void m68k_op_tst_8_di(m68ki_cpu_core *cpu); +void m68k_op_tst_8_ix(m68ki_cpu_core *cpu); +void m68k_op_tst_8_aw(m68ki_cpu_core *cpu); +void m68k_op_tst_8_al(m68ki_cpu_core *cpu); +void m68k_op_tst_8_pcdi(m68ki_cpu_core *cpu); +void m68k_op_tst_8_pcix(m68ki_cpu_core *cpu); +void m68k_op_tst_8_i(m68ki_cpu_core *cpu); +void m68k_op_tst_16_d(m68ki_cpu_core *cpu); +void m68k_op_tst_16_a(m68ki_cpu_core *cpu); +void m68k_op_tst_16_ai(m68ki_cpu_core *cpu); +void m68k_op_tst_16_pi(m68ki_cpu_core *cpu); +void m68k_op_tst_16_pd(m68ki_cpu_core *cpu); +void m68k_op_tst_16_di(m68ki_cpu_core *cpu); +void m68k_op_tst_16_ix(m68ki_cpu_core *cpu); +void m68k_op_tst_16_aw(m68ki_cpu_core *cpu); +void m68k_op_tst_16_al(m68ki_cpu_core *cpu); +void m68k_op_tst_16_pcdi(m68ki_cpu_core *cpu); +void m68k_op_tst_16_pcix(m68ki_cpu_core *cpu); +void m68k_op_tst_16_i(m68ki_cpu_core *cpu); +void m68k_op_tst_32_d(m68ki_cpu_core *cpu); +void m68k_op_tst_32_a(m68ki_cpu_core *cpu); +void m68k_op_tst_32_ai(m68ki_cpu_core *cpu); +void m68k_op_tst_32_pi(m68ki_cpu_core *cpu); +void m68k_op_tst_32_pd(m68ki_cpu_core *cpu); +void m68k_op_tst_32_di(m68ki_cpu_core *cpu); +void m68k_op_tst_32_ix(m68ki_cpu_core *cpu); +void m68k_op_tst_32_aw(m68ki_cpu_core *cpu); +void m68k_op_tst_32_al(m68ki_cpu_core *cpu); +void m68k_op_tst_32_pcdi(m68ki_cpu_core *cpu); +void m68k_op_tst_32_pcix(m68ki_cpu_core *cpu); +void m68k_op_tst_32_i(m68ki_cpu_core *cpu); +void m68k_op_unlk_32_a7(m68ki_cpu_core *cpu); +void m68k_op_unlk_32(m68ki_cpu_core *cpu); +void m68k_op_unpk_16_rr(m68ki_cpu_core *cpu); +void m68k_op_unpk_16_mm_ax7(m68ki_cpu_core *cpu); +void m68k_op_unpk_16_mm_ay7(m68ki_cpu_core *cpu); +void m68k_op_unpk_16_mm_axy7(m68ki_cpu_core *cpu); +void m68k_op_unpk_16_mm(m68ki_cpu_core *cpu); /* Build the opcode handler table */ -void m68ki_build_opcode_table(void); +void m68ki_build_opcode_table(); -extern void (*m68ki_instruction_jump_table[0x10000])(void); /* opcode handler jump table */ +extern void (*m68ki_instruction_jump_table[0x10000])(m68ki_cpu_core *cpu); /* opcode handler jump table */ extern unsigned char m68ki_cycles[][0x10000]; diff --git a/plugins/ao/eng_ssf/sat_hw.c b/plugins/ao/eng_ssf/sat_hw.c index bc880549..fd324fdc 100644 --- a/plugins/ao/eng_ssf/sat_hw.c +++ b/plugins/ao/eng_ssf/sat_hw.c @@ -34,14 +34,13 @@ #include "scsp.h" #include "sat_hw.h" #include "m68k.h" +#include "m68kcpu.h" -uint8 sat_ram[512*1024]; - -static void scsp_irq(int irq) +static void scsp_irq(m68ki_cpu_core *cpu, int irq) { if (irq > 0) { - m68k_set_irq(irq); + m68k_set_irq(cpu, irq); } } @@ -50,6 +49,7 @@ static void scsp_irq(int irq) #define MIXER(level,pan) ((level & 0xff) | ((pan & 0x03) << 8)) #define YM3012_VOL(LVol,LPan,RVol,RPan) (MIXER(LVol,LPan)|(MIXER(RVol,RPan) << 16)) +#if 0 static struct SCSPinterface scsp_interface =
{
1, @@ -57,27 +57,37 @@ static struct SCSPinterface scsp_interface = { YM3012_VOL(100, MIXER_PAN_LEFT, 100, MIXER_PAN_RIGHT) }, { scsp_irq, }, };
+#endif -void sat_hw_init(void) +void sat_hw_init(m68ki_cpu_core *cpu) { - m68k_init(); - m68k_set_cpu_type(M68K_CPU_TYPE_68000); - m68k_pulse_reset(); +// m68k_init(); + m68k_set_cpu_type(cpu, M68K_CPU_TYPE_68000); + m68k_pulse_reset(cpu); + struct SCSPinterface scsp_interface; + scsp_interface.num = 1; + scsp_interface.region[0] = cpu->sat_ram; + scsp_interface.mixing_level[0] = YM3012_VOL(100, MIXER_PAN_LEFT, 100, MIXER_PAN_RIGHT); + scsp_interface.irq_callback[0] = scsp_irq; + scsp_interface.cpu = cpu; + + cpu->SCSP = SCSP_Start(&scsp_interface); +} - scsp_interface.region[0] = sat_ram; - scsp_start(&scsp_interface); +void sat_hw_free(struct m68ki_cpu_core_s *cpu) { + SCSP_Exit (cpu->SCSP); } /* M68k memory handlers */ -unsigned int m68k_read_memory_8(unsigned int address) +unsigned int m68k_read_memory_8(m68ki_cpu_core *cpu, unsigned int address) { if (address < (512*1024)) - return sat_ram[address^1]; + return cpu->sat_ram[address^1]; if (address >= 0x100000 && address < 0x100c00) { - int foo = SCSP_0_r((address - 0x100000)/2, 0); + int foo = SCSP_0_r(cpu->SCSP, (address - 0x100000)/2, 0); if (address & 1) return foo & 0xff; @@ -89,36 +99,36 @@ unsigned int m68k_read_memory_8(unsigned int address) return 0; } -unsigned int m68k_read_memory_16(unsigned int address) +unsigned int m68k_read_memory_16(m68ki_cpu_core *cpu, unsigned int address) { if (address < (512*1024)) { - return mem_readword_swap((unsigned short *)(sat_ram+address)); + return mem_readword_swap((unsigned short *)(cpu->sat_ram+address)); } if (address >= 0x100000 && address < 0x100c00) - return SCSP_0_r((address-0x100000)/2, 0); + return SCSP_0_r(cpu->SCSP, (address-0x100000)/2, 0); printf("R16 @ %x\n", address); return 0; } -unsigned int m68k_read_memory_32(unsigned int address) +unsigned int m68k_read_memory_32(m68ki_cpu_core *cpu, unsigned int address) { if (address < 0x80000) { - return sat_ram[address+2] | sat_ram[address+3]<<8 | sat_ram[address]<<16 | sat_ram[address+1]<<24; + return cpu->sat_ram[address+2] | cpu->sat_ram[address+3]<<8 | cpu->sat_ram[address]<<16 | cpu->sat_ram[address+1]<<24; } printf("R32 @ %x\n", address); return 0; } -void m68k_write_memory_8(unsigned int address, unsigned int data) +void m68k_write_memory_8(m68ki_cpu_core *cpu, unsigned int address, unsigned int data) { if (address < 0x80000) { - sat_ram[address^1] = data; + cpu->sat_ram[address^1] = data; return; } @@ -126,45 +136,45 @@ void m68k_write_memory_8(unsigned int address, unsigned int data) { address -= 0x100000; if (address & 1) - SCSP_0_w(address>>1, data, 0xff00); + SCSP_0_w(cpu->SCSP, address>>1, data, 0xff00); else - SCSP_0_w(address>>1, data<<8, 0x00ff); + SCSP_0_w(cpu->SCSP, address>>1, data<<8, 0x00ff); return; } } -void m68k_write_memory_16(unsigned int address, unsigned int data) +void m68k_write_memory_16(m68ki_cpu_core *cpu, unsigned int address, unsigned int data) { if (address < 0x80000) { - sat_ram[address+1] = (data>>8)&0xff; - sat_ram[address] = data&0xff; + cpu->sat_ram[address+1] = (data>>8)&0xff; + cpu->sat_ram[address] = data&0xff; return; } if (address >= 0x100000 && address < 0x100c00) { - SCSP_0_w((address-0x100000)>>1, data, 0x0000); + SCSP_0_w(cpu->SCSP, (address-0x100000)>>1, data, 0x0000); return; } } -void m68k_write_memory_32(unsigned int address, unsigned int data) +void m68k_write_memory_32(m68ki_cpu_core *cpu, unsigned int address, unsigned int data) { if (address < 0x80000) { - sat_ram[address+1] = (data>>24)&0xff; - sat_ram[address] = (data>>16)&0xff; - sat_ram[address+3] = (data>>8)&0xff; - sat_ram[address+2] = data&0xff; + cpu->sat_ram[address+1] = (data>>24)&0xff; + cpu->sat_ram[address] = (data>>16)&0xff; + cpu->sat_ram[address+3] = (data>>8)&0xff; + cpu->sat_ram[address+2] = data&0xff; return; } if (address >= 0x100000 && address < 0x100c00) { address -= 0x100000; - SCSP_0_w(address>>1, data>>16, 0x0000); - SCSP_0_w((address>>1)+1, data&0xffff, 0x0000); + SCSP_0_w(cpu->SCSP, address>>1, data>>16, 0x0000); + SCSP_0_w(cpu->SCSP, (address>>1)+1, data&0xffff, 0x0000); return; } } diff --git a/plugins/ao/eng_ssf/sat_hw.h b/plugins/ao/eng_ssf/sat_hw.h index 1f275842..fe0935c9 100644 --- a/plugins/ao/eng_ssf/sat_hw.h +++ b/plugins/ao/eng_ssf/sat_hw.h @@ -1,9 +1,10 @@ #ifndef _SAT_HW_H_ #define _SAT_HW_H_ -extern uint8 sat_ram[512*1024]; +struct m68ki_cpu_core_s; -void sat_hw_init(void); +void sat_hw_init(struct m68ki_cpu_core_s *cpu); +void sat_hw_free(struct m68ki_cpu_core_s *cpu); #if !LSB_FIRST static unsigned short INLINE mem_readword_swap(unsigned short *addr) diff --git a/plugins/ao/eng_ssf/scsp.c b/plugins/ao/eng_ssf/scsp.c index a4ed2d6a..f3a3d9da 100644 --- a/plugins/ao/eng_ssf/scsp.c +++ b/plugins/ao/eng_ssf/scsp.c @@ -145,7 +145,6 @@ struct _SLOT signed short Prev; //Previous sample (for interpolation) }; - #define MEM4B(scsp) ((scsp->udata.data[0]>>0x0)&0x0200) #define DAC18B(scsp) ((scsp->udata.data[0]>>0x0)&0x0100) #define MVOL(scsp) ((scsp->udata.data[0]>>0x0)&0x000F) @@ -172,6 +171,8 @@ struct _SLOT #define USEDSP +struct m68ki_cpu_core_s; + struct _SCSP { union @@ -189,7 +190,7 @@ struct _SCSP unsigned char *SCSPRAM; UINT32 SCSPRAM_LENGTH; char Master; - void (*Int68kCB)(int irq); + void (*Int68kCB)(struct m68ki_cpu_core_s *cpu, int irq); INT32 *buffertmpl, *buffertmpr; @@ -214,10 +215,16 @@ struct _SCSP int ARTABLE[64], DRTABLE[64]; + struct m68ki_cpu_core_s *cpu; struct _SCSPDSP DSP; -}; -static struct _SCSP *AllocedSCSP; + INT16 *bufferl; + INT16 *bufferr; + + int length; + + signed short *RBUFDST; //this points to where the sample will be stored in the RingBuf +}; static void dma_scsp(struct _SCSP *SCSP); /*SCSP DMA transfer function*/ #define scsp_dgate scsp_regs[0x16/2] & 0x4000 @@ -227,13 +234,6 @@ static void dma_scsp(struct _SCSP *SCSP); /*SCSP DMA transfer function*/ static const float SDLT[8]={-1000000.0,-36.0,-30.0,-24.0,-18.0,-12.0,-6.0,0.0}; -static INT16 *bufferl; -static INT16 *bufferr; - -static int length; - -static signed short *RBUFDST; //this points to where the sample will be stored in the RingBuf - static unsigned char DecodeSCI(struct _SCSP *SCSP,unsigned char irq) { unsigned char SCI=0; @@ -251,9 +251,9 @@ static void ResetInterrupts(struct _SCSP *SCSP) { UINT32 reset = SCSP->udata.data[0x22/2]; if (reset & 0x40) - SCSP->Int68kCB(-SCSP->IrqTimA); + SCSP->Int68kCB(SCSP->cpu, -SCSP->IrqTimA); if (reset & 0x180) - SCSP->Int68kCB(-SCSP->IrqTimBC); + SCSP->Int68kCB(SCSP->cpu, -SCSP->IrqTimBC); } static void CheckPendingIRQ(struct _SCSP *SCSP) @@ -262,7 +262,7 @@ static void CheckPendingIRQ(struct _SCSP *SCSP) UINT32 en=SCSP->udata.data[0x1e/2]; if(SCSP->MidiW!=SCSP->MidiR) { - SCSP->Int68kCB(SCSP->IrqMidi); + SCSP->Int68kCB(SCSP->cpu, SCSP->IrqMidi); return; } if(!pend) @@ -270,23 +270,23 @@ static void CheckPendingIRQ(struct _SCSP *SCSP) if(pend&0x40) if(en&0x40) { - SCSP->Int68kCB(SCSP->IrqTimA); + SCSP->Int68kCB(SCSP->cpu, SCSP->IrqTimA); return; } if(pend&0x80) if(en&0x80) { - SCSP->Int68kCB(SCSP->IrqTimBC); + SCSP->Int68kCB(SCSP->cpu, SCSP->IrqTimBC); return; } if(pend&0x100) if(en&0x100) { - SCSP->Int68kCB(SCSP->IrqTimBC); + SCSP->Int68kCB(SCSP->cpu, SCSP->IrqTimBC); return; } - SCSP->Int68kCB(0); + SCSP->Int68kCB(SCSP->cpu, 0); } static int Get_AR(struct _SCSP *SCSP,int base,int R) @@ -452,6 +452,7 @@ static void SCSP_Init(struct _SCSP *SCSP, const struct SCSPinterface *intf) // get SCSP RAM { memset(SCSP,0,sizeof(*SCSP)); + SCSP->cpu = intf->cpu; if (!i) { @@ -464,7 +465,7 @@ static void SCSP_Init(struct _SCSP *SCSP, const struct SCSPinterface *intf) if (intf->region) { - SCSP->SCSPRAM = &sat_ram[0]; //(unsigned char *)intf->region; + SCSP->SCSPRAM = (unsigned char *)intf->region[0]; SCSP->SCSPRAM_LENGTH = 512*1024; SCSP->DSP.SCSPRAM = (UINT16 *)SCSP->SCSPRAM; SCSP->DSP.SCSPRAM_LENGTH = (512*1024)/2; @@ -644,7 +645,7 @@ static void SCSP_UpdateReg(struct _SCSP *SCSP, int reg) break; case 0x6: case 0x7: - SCSP_MidiIn(0, SCSP->udata.data[0x6/2]&0xff, 0); + SCSP_MidiIn(SCSP, 0, SCSP->udata.data[0x6/2]&0xff, 0); break; case 0x12: case 0x13: @@ -732,7 +733,7 @@ static void SCSP_UpdateRegR(struct _SCSP *SCSP, int reg) unsigned short v=SCSP->udata.data[0x5/2]; v&=0xff00; v|=SCSP->MidiStack[SCSP->MidiR]; - SCSP->Int68kCB(0); // cancel the IRQ + SCSP->Int68kCB(SCSP->cpu, 0); // cancel the IRQ if(SCSP->MidiR!=SCSP->MidiW) { ++SCSP->MidiR; @@ -1000,7 +1001,7 @@ INLINE INT32 SCSP_UpdateSlot(struct _SCSP *SCSP, struct _SLOT *slot) if(!STWINH(slot)) { unsigned short Enc=((TL(slot))<<0x0)|(0x7<<0xd); - *RBUFDST=(sample*SCSP->LPANTABLE[Enc])>>(SHIFT+1); + *SCSP->RBUFDST=(sample*SCSP->LPANTABLE[Enc])>>(SHIFT+1); } return sample; @@ -1011,8 +1012,8 @@ static void SCSP_DoMasterSamples(struct _SCSP *SCSP, int nsamples) INT16 *bufr,*bufl; int sl, s, i; - bufr=bufferr; - bufl=bufferl; + bufr=SCSP->bufferr; + bufl=SCSP->bufferl; for(s=0;s<nsamples;++s) { @@ -1023,9 +1024,9 @@ static void SCSP_DoMasterSamples(struct _SCSP *SCSP, int nsamples) for(sl=0;sl<32;++sl) { #if FM_DELAY - RBUFDST=SCSP->DELAYBUF+SCSP->DELAYPTR; + SCSP->RBUFDST=SCSP->DELAYBUF+SCSP->DELAYPTR; #else - RBUFDST=SCSP->RINGBUF+SCSP->BUFPTR; + SCSP->RBUFDST=SCSP->RINGBUF+SCSP->BUFPTR; #endif if(SCSP->Slots[sl].active) { @@ -1136,14 +1137,14 @@ int SCSP_IRQCB(void *param) void SCSP_Update(void *param, INT16 **inputs, INT16 **buf, int samples) { - struct _SCSP *SCSP = AllocedSCSP; - bufferl = buf[0]; - bufferr = buf[1]; - length = samples; + struct _SCSP *SCSP = param; + SCSP->bufferl = buf[0]; + SCSP->bufferr = buf[1]; + SCSP->length = samples; SCSP_DoMasterSamples(SCSP, samples); } -void *scsp_start(const void *config) +void *SCSP_Start(const void *config) { const struct SCSPinterface *intf; @@ -1164,15 +1165,25 @@ void *scsp_start(const void *config) // SCSP->stream = stream_create(0, 2, 44100, SCSP, SCSP_Update); } - AllocedSCSP = SCSP; - return SCSP; } +void SCSP_Exit (void *param) { + if (param) { + struct _SCSP *SCSP = param; + if (SCSP->buffertmpl) { + free (SCSP->buffertmpl); + } + if (SCSP->buffertmpr) { + free (SCSP->buffertmpr); + } + free (param); + } +} + -void SCSP_set_ram_base(int which, void *base) +void SCSP_set_ram_base(struct _SCSP *SCSP, int which, void *base) { - struct _SCSP *SCSP = AllocedSCSP; if (SCSP) { SCSP->SCSPRAM = base; @@ -1183,16 +1194,12 @@ void SCSP_set_ram_base(int which, void *base) READ16_HANDLER( SCSP_0_r ) { - struct _SCSP *SCSP = AllocedSCSP; - - return SCSP_r16(SCSP, offset*2); + return SCSP_r16(param, offset*2); } -extern UINT32* stv_scu; - WRITE16_HANDLER( SCSP_0_w ) { - struct _SCSP *SCSP = AllocedSCSP; + struct _SCSP *SCSP = param; UINT16 tmp, *scsp_regs; tmp = SCSP_r16(SCSP, offset*2); @@ -1235,6 +1242,8 @@ WRITE16_HANDLER( SCSP_0_w ) //check main cpu IRQ case 0x42a: #if 0 + extern UINT32* stv_scu; + if(stv_scu && !(stv_scu[40] & 0x40) /*&& scsp_regs[0x42c/2] & 0x20*/)/*Main CPU allow sound irq*/ { cpunum_set_input_line_and_vector(0, 9, HOLD_LINE , 0x46); @@ -1251,14 +1260,14 @@ WRITE16_HANDLER( SCSP_0_w ) WRITE16_HANDLER( SCSP_MidiIn ) { - struct _SCSP *SCSP = AllocedSCSP; + struct _SCSP *SCSP = param; SCSP->MidiStack[SCSP->MidiW++]=data; SCSP->MidiW &= 15; } READ16_HANDLER( SCSP_MidiOutR ) { - struct _SCSP *SCSP = AllocedSCSP; + struct _SCSP *SCSP = param; unsigned char val; val=SCSP->MidiStack[SCSP->MidiR++]; diff --git a/plugins/ao/eng_ssf/scsp.h b/plugins/ao/eng_ssf/scsp.h index 345c78b8..2f2a8e01 100644 --- a/plugins/ao/eng_ssf/scsp.h +++ b/plugins/ao/eng_ssf/scsp.h @@ -15,20 +15,24 @@ typedef int8 data8_t; typedef int16 data16_t; typedef int32 data32_t; typedef int offs_t; +struct m68ki_cpu_core_s; struct SCSPinterface { int num; void *region[MAX_SCSP]; int mixing_level[MAX_SCSP]; /* volume */
- void (*irq_callback[MAX_SCSP])(int state); /* irq callback */ + void (*irq_callback[MAX_SCSP])(struct m68ki_cpu_core_s *cpu, int state); /* irq callback */ + struct m68ki_cpu_core_s *cpu; }; -void *scsp_start(const void *config); +void *SCSP_Start(const void *config); +void SCSP_Exit (void *param); + void SCSP_Update(void *param, INT16 **inputs, INT16 **buf, int samples); -#define READ16_HANDLER(name) data16_t name(offs_t offset, data16_t mem_mask) -#define WRITE16_HANDLER(name) void name(offs_t offset, data16_t data, data16_t mem_mask) +#define READ16_HANDLER(name) data16_t name(void *param, offs_t offset, data16_t mem_mask) +#define WRITE16_HANDLER(name) void name(void *param, offs_t offset, data16_t data, data16_t mem_mask) // SCSP register access READ16_HANDLER( SCSP_0_r ); |