summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-07-04 10:51:28 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-07-04 10:51:28 +0200
commite6013001a3e730497e4606add4aff3ac743aedc4 (patch)
tree0b347abed118addaf7631f78cbc1649b0b9d0596
parentefd7ae55acdca5eef47432eefed35d90d594d572 (diff)
ao plugin: eng_ssf reentrant
-rw-r--r--plugins/ao/eng_ssf/eng_ssf.c34
-rw-r--r--plugins/ao/eng_ssf/m68k.h70
-rw-r--r--plugins/ao/eng_ssf/m68kcpu.c148
-rw-r--r--plugins/ao/eng_ssf/m68kcpu.h1014
-rw-r--r--plugins/ao/eng_ssf/m68kopac.c2301
-rw-r--r--plugins/ao/eng_ssf/m68kopdm.c2592
-rw-r--r--plugins/ao/eng_ssf/m68kopnz.c1895
-rw-r--r--plugins/ao/eng_ssf/m68kops.c4
-rw-r--r--plugins/ao/eng_ssf/m68kops.h3930
-rw-r--r--plugins/ao/eng_ssf/sat_hw.c76
-rw-r--r--plugins/ao/eng_ssf/sat_hw.h5
-rw-r--r--plugins/ao/eng_ssf/scsp.c95
-rw-r--r--plugins/ao/eng_ssf/scsp.h12
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 );