From 79a8a93e03915a1112ee2e662226c401a19c6bdd Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Thu, 5 Oct 2023 18:47:48 -0400 Subject: [PATCH] update m68k cpu to match current upstream code, which includes a handful of bug fixes (mostly timing related). --- cpu/CMakeLists.txt | 5 + cpu/CpuIntegration.c | 52 +- cpu/CpuIntegration.h | 27 +- cpu/CpuModule.c | 8 +- cpu/CpuModule.h | 99 +- cpu/CpuModule_Code.h | 10379 +++++++++++++++-------------- cpu/CpuModule_Data.h | 2609 ++++---- cpu/CpuModule_Decl.h | 3358 +++++----- cpu/CpuModule_Disassembler.c | 670 +- cpu/CpuModule_Disassembler.h | 187 +- cpu/CpuModule_DisassemblerFunc.h | 106 +- cpu/CpuModule_EffectiveAddress.c | 53 +- cpu/CpuModule_Exceptions.c | 100 +- cpu/CpuModule_Flags.c | 115 +- cpu/CpuModule_Instructions.c | 1425 ++-- cpu/CpuModule_Internal.h | 217 +- cpu/CpuModule_InternalState.c | 219 +- cpu/CpuModule_Interrupts.c | 19 +- cpu/CpuModule_Logging.c | 7 +- cpu/CpuModule_Memory.h | 2 +- cpu/CpuModule_Profile.h | 4 +- cpu/CpuModule_StackFrameGen.c | 32 +- cpu/defs.h | 50 +- cpu/fmem.c | 1696 +++-- cpu/fmem.h | 152 +- cpu/memory.c | 22 +- toolbox/dispatch.cpp | 2 +- toolbox/sane.cpp | 2 +- toolbox/toolbox.cpp | 2 +- 29 files changed, 10953 insertions(+), 10666 deletions(-) diff --git a/cpu/CMakeLists.txt b/cpu/CMakeLists.txt index e1bd05b..65e9629 100644 --- a/cpu/CMakeLists.txt +++ b/cpu/CMakeLists.txt @@ -3,6 +3,11 @@ if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") set(CMAKE_CXX_FLAGS "-Wall -Wno-unused-function") endif() +if ("${CMAKE_C_COMPILER_ID}" MATCHES "Clang") + # Clang or AppleClang + set(CMAKE_C_FLAGS "-Wall -Wno-unused-function") +endif() + set(CPU_SRC CpuModule.c CpuModule_Disassembler.c diff --git a/cpu/CpuIntegration.c b/cpu/CpuIntegration.c index 7bef9f9..ec08368 100644 --- a/cpu/CpuIntegration.c +++ b/cpu/CpuIntegration.c @@ -1,8 +1,7 @@ -/* @(#) $Id: CpuIntegration.c,v 1.10 2013-01-08 19:17:33 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* Initialization of 68000 core */ -/* Integrates the 68k emulation with custom chips */ +/* Integrates the 68k emulation with custom chips */ /* */ /* Author: Petter Schau */ /* */ @@ -34,47 +33,47 @@ #include "interrupt.h" jmp_buf cpu_integration_exception_buffer; -ULO cpu_integration_chip_interrupt_number; +uint32_t cpu_integration_chip_interrupt_number; /* Cycles spent by chips (Blitter) as a result of an instruction */ -static ULO cpu_integration_chip_cycles; -static ULO cpu_integration_chip_slowdown; +static uint32_t cpu_integration_chip_cycles; +static uint32_t cpu_integration_chip_slowdown; /*===========================================================================*/ /* CPU properties */ /*===========================================================================*/ -ULO cpu_integration_speed; // The speed as expressed in the fellow configuration settings -ULO cpu_integration_speed_multiplier; // The cycle multiplier used to adjust the cpu-speed, calculated from cpu_integration_speed +uint32_t cpu_integration_speed; // The speed as expressed in the fellow configuration settings +uint32_t cpu_integration_speed_multiplier; // The cycle multiplier used to adjust the cpu-speed, calculated from cpu_integration_speed cpu_integration_models cpu_integration_model; // The cpu model as expressed in the fellow configuration settings /*===========================================================================*/ /* CPU properties */ /*===========================================================================*/ -void cpuIntegrationSetSpeed(ULO speed) +void cpuIntegrationSetSpeed(uint32_t speed) { cpu_integration_speed = speed; } -ULO cpuIntegrationGetSpeed(void) +uint32_t cpuIntegrationGetSpeed(void) { return cpu_integration_speed; } -static void cpuIntegrationSetSpeedMultiplier(ULO multiplier) +static void cpuIntegrationSetSpeedMultiplier(uint32_t multiplier) { cpu_integration_speed_multiplier = multiplier; } -static ULO cpuIntegrationGetSpeedMultiplier(void) +static uint32_t cpuIntegrationGetSpeedMultiplier(void) { return cpu_integration_speed_multiplier; } void cpuIntegrationCalculateMultiplier(void) { - ULO multiplier = 12; + uint32_t multiplier = 12; switch (cpuGetModelMajor()) { @@ -121,39 +120,39 @@ cpu_integration_models cpuIntegrationGetModel(void) return cpu_integration_model; } -void cpuIntegrationSetChipCycles(ULO chip_cycles) +void cpuIntegrationSetChipCycles(uint32_t chip_cycles) { cpu_integration_chip_cycles = chip_cycles; } -ULO cpuIntegrationGetChipCycles(void) +uint32_t cpuIntegrationGetChipCycles(void) { return cpu_integration_chip_cycles; } -void cpuIntegrationSetChipSlowdown(ULO chip_slowdown) +void cpuIntegrationSetChipSlowdown(uint32_t chip_slowdown) { cpu_integration_chip_slowdown = chip_slowdown; } -ULO cpuIntegrationGetChipSlowdown(void) +uint32_t cpuIntegrationGetChipSlowdown(void) { return cpu_integration_chip_slowdown; } -void cpuIntegrationSetChipInterruptNumber(ULO chip_interrupt_number) +void cpuIntegrationSetChipInterruptNumber(uint32_t chip_interrupt_number) { cpu_integration_chip_interrupt_number = chip_interrupt_number; } -ULO cpuIntegrationGetChipInterruptNumber(void) +uint32_t cpuIntegrationGetChipInterruptNumber(void) { return cpu_integration_chip_interrupt_number; } // A wrapper for cpuSetIrqLevel that restarts the -// scheduling of cpu events if the cpu was stopped -void cpuIntegrationSetIrqLevel(ULO new_interrupt_level, ULO chip_interrupt_number) +// scheduling of cpu events if the cpu was stoppped +void cpuIntegrationSetIrqLevel(uint32_t new_interrupt_level, uint32_t chip_interrupt_number) { if (cpuSetIrqLevel(new_interrupt_level)) { @@ -241,7 +240,7 @@ void cpuIntegrationInstructionLogging(void) fprintf(CPUINSTRUCTIONLOG, "SSP:%.6X USP:%.6X SP:%.4X %s %s\t%s\t%s\n", cpuGetSspDirect(), cpuGetUspDirect(), cpuGetSR(), saddress, sdata, sinstruction, soperands); } -void cpuIntegrationExceptionLogging(STR *description, ULO original_pc, UWO opcode) +void cpuIntegrationExceptionLogging(char *description, uint32_t original_pc, uint16_t opcode) { if (cpu_disable_instruction_log) return; cpuInstructionLogOpen(); @@ -250,7 +249,7 @@ void cpuIntegrationExceptionLogging(STR *description, ULO original_pc, UWO opcod fprintf(CPUINSTRUCTIONLOG, "%s for opcode %.4X at PC %.8X from PC %.8X\n", description, opcode, original_pc, cpuGetPC()); } -void cpuIntegrationInterruptLogging(ULO level, ULO vector_address) +void cpuIntegrationInterruptLogging(uint32_t level, uint32_t vector_address) { if (cpu_disable_instruction_log) return; cpuInstructionLogOpen(); @@ -263,8 +262,7 @@ void cpuIntegrationInterruptLogging(ULO level, ULO vector_address) void cpuIntegrationExecuteInstructionEventHandler68000Fast(void) { - ULO cycles; - cycles = cpuExecuteInstruction(); + uint32_t cycles = cpuExecuteInstruction(); if (cpuGetStop()) { @@ -279,8 +277,8 @@ void cpuIntegrationExecuteInstructionEventHandler68000Fast(void) void cpuIntegrationExecuteInstructionEventHandler68000General(void) { - ULO cycles = 0; - ULO time_used = 0; + uint32_t cycles = 0; + uint32_t time_used = 0; do { @@ -303,7 +301,7 @@ void cpuIntegrationExecuteInstructionEventHandler68000General(void) void cpuIntegrationExecuteInstructionEventHandler68020(void) { - ULO time_used = 0; + uint32_t time_used = 0; do { cpuExecuteInstruction(); diff --git a/cpu/CpuIntegration.h b/cpu/CpuIntegration.h index ca4b299..fc5dcde 100644 --- a/cpu/CpuIntegration.h +++ b/cpu/CpuIntegration.h @@ -1,5 +1,4 @@ -#ifndef CpuIntegration_H -#define CpuIntegration_H +#pragma once #ifdef __cplusplus extern "C" { @@ -16,25 +15,23 @@ typedef enum { extern void cpuIntegrationCalculateMultiplier(void); -extern void cpuIntegrationSetUpInterruptEventHandler(void); extern void cpuIntegrationExecuteInstructionEventHandler68000Fast(void); extern void cpuIntegrationExecuteInstructionEventHandler68000General(void); extern void cpuIntegrationExecuteInstructionEventHandler68020(void); -extern void cpuIntegrationCheckPendingInterrupts(void); -extern ULO cpuIntegrationDisOpcode(ULO disasm_pc, STR *saddress, STR *sdata, STR *sinstruction, STR *soperands); +extern uint32_t cpuIntegrationDisOpcode(uint32_t disasm_pc, char *saddress, char *sdata, char *sinstruction, char *soperands); extern BOOLE cpuIntegrationSetModel(cpu_integration_models model); extern cpu_integration_models cpuIntegrationGetModel(void); -extern ULO cpuIntegrationGetModelMajor(void); -extern ULO cpuIntegrationGetPC(void); +extern uint32_t cpuIntegrationGetModelMajor(void); -extern ULO cpuIntegrationGetInstructionTime(void); -extern void cpuIntegrationSetSpeed(ULO speed); -extern ULO cpuIntegrationGetSpeed(void); -extern void cpuIntegrationSetChipCycles(ULO chip_cycles); -extern ULO cpuIntegrationGetChipCycles(void); -extern void cpuIntegrationSetChipSlowdown(ULO chip_slowdown); -extern ULO cpuIntegrationGetChipSlowdown(void); +void cpuIntegrationSetIrqLevel(uint32_t new_interrupt_level, uint32_t chip_interrupt_number); +extern uint32_t cpuIntegrationGetInstructionTime(void); +extern void cpuIntegrationSetSpeed(uint32_t speed); +extern uint32_t cpuIntegrationGetSpeed(void); +extern void cpuIntegrationSetChipCycles(uint32_t chip_cycles); +extern uint32_t cpuIntegrationGetChipCycles(void); +extern void cpuIntegrationSetChipSlowdown(uint32_t chip_slowdown); +extern uint32_t cpuIntegrationGetChipSlowdown(void); extern jmp_buf cpu_integration_exception_buffer; @@ -50,5 +47,3 @@ extern void cpuIntegrationShutdown(void); #ifdef __cplusplus } #endif - -#endif diff --git a/cpu/CpuModule.c b/cpu/CpuModule.c index f427a55..71c9be7 100644 --- a/cpu/CpuModule.c +++ b/cpu/CpuModule.c @@ -1,4 +1,3 @@ -/* @(#) $Id: CpuModule.c,v 1.7 2012-08-12 16:51:02 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* Initialization of 68000 core */ @@ -29,10 +28,8 @@ void cpuClearEverything(void) { - ULO i,j; - - for (j = 0; j < 2; j++) - for (i = 0; i < 8; i++) + for (uint32_t j = 0; j < 2; j++) + for (uint32_t i = 0; i < 8; i++) cpuSetReg(j, i, 0); cpuSetUspDirect(0); @@ -47,7 +44,6 @@ void cpuClearEverything(void) cpuSetSfc(0); cpuSetDfc(0); cpuSetIrqLevel(0); - cpuSetRaiseInterrupt(FALSE); cpuSetStop(FALSE); cpuSetInstructionTime(0); cpuSetOriginalPC(0); diff --git a/cpu/CpuModule.h b/cpu/CpuModule.h index c52df80..9a56371 100644 --- a/cpu/CpuModule.h +++ b/cpu/CpuModule.h @@ -1,87 +1,88 @@ -#ifndef CpuModule_H -#define CpuModule_H +#pragma once #ifdef __cplusplus extern "C" { #endif +// This header file defines the internal interfaces of the CPU module. + +// MPW additions. typedef void (*cpuLineExceptionFunc)(uint16_t); extern void cpuSetALineExceptionFunc(cpuLineExceptionFunc func); extern void cpuSetFLineExceptionFunc(cpuLineExceptionFunc func); - -// This header file defines the internal interfaces of the CPU module. - -//#define CPU_INSTRUCTION_LOGGING - -// Function to check if there are any external interrupt sources wanting to issue interrupts -typedef BOOLE (*cpuCheckPendingInterruptsFunc)(void); -extern void cpuSetCheckPendingInterruptsFunc(cpuCheckPendingInterruptsFunc func); -extern void cpuCheckPendingInterrupts(void); -extern void cpuSetUpInterrupt(ULO new_interrupt_level); -extern void cpuInitializeFromNewPC(ULO new_pc); - - typedef void (*memoryLoggingFunc)(uint32_t address, int size, int readWrite, uint32_t value); extern void memorySetLoggingFunc(memoryLoggingFunc func); + +#ifdef _DEBUG +#define CPU_INSTRUCTION_LOGGING +#endif + +// Function to check if there are any external interrupt sources wanting to issue interrupts +typedef void (*cpuCheckPendingInterruptsFunc)(void); +extern void cpuSetCheckPendingInterruptsFunc(cpuCheckPendingInterruptsFunc func); +extern void cpuCheckPendingInterrupts(void); +extern void cpuSetUpInterrupt(uint32_t new_interrupt_level); +extern void cpuInitializeFromNewPC(uint32_t new_pc); + // Logging interface #ifdef CPU_INSTRUCTION_LOGGING typedef void (*cpuInstructionLoggingFunc)(void); extern void cpuSetInstructionLoggingFunc(cpuInstructionLoggingFunc func); -typedef void (*cpuExceptionLoggingFunc)(STR *description, ULO original_pc, UWO opcode); +typedef void (*cpuExceptionLoggingFunc)(char *description, uint32_t original_pc, uint16_t opcode); extern void cpuSetExceptionLoggingFunc(cpuExceptionLoggingFunc func); -typedef void (*cpuInterruptLoggingFunc)(ULO level, ULO vector_address); +typedef void (*cpuInterruptLoggingFunc)(uint32_t level, uint32_t vector_address); extern void cpuSetInterruptLoggingFunc(cpuInterruptLoggingFunc func); #endif // CPU register and control properties -extern void cpuSetPC(ULO pc); -extern ULO cpuGetPC(void); +extern void cpuSetPC(uint32_t pc); +extern uint32_t cpuGetPC(void); -extern void cpuSetReg(ULO da, ULO i, ULO value); -extern ULO cpuGetReg(ULO da, ULO i); +extern void cpuSetReg(uint32_t da, uint32_t i, uint32_t value); +extern uint32_t cpuGetReg(uint32_t da, uint32_t i); -extern void cpuSetDReg(ULO i, ULO value); -extern ULO cpuGetDReg(ULO i); +extern void cpuSetDReg(uint32_t i, uint32_t value); +extern uint32_t cpuGetDReg(uint32_t i); -extern void cpuSetAReg(ULO i, ULO value); -extern ULO cpuGetAReg(ULO i); +extern void cpuSetAReg(uint32_t i, uint32_t value); +extern uint32_t cpuGetAReg(uint32_t i); -extern void cpuSetSR(ULO sr); -extern ULO cpuGetSR(void); +extern void cpuSetSR(uint32_t sr); +extern uint32_t cpuGetSR(void); -extern void cpuSetUspDirect(ULO usp); -extern ULO cpuGetUspDirect(void); -extern ULO cpuGetUspAutoMap(void); +extern void cpuSetUspDirect(uint32_t usp); +extern uint32_t cpuGetUspDirect(void); +extern uint32_t cpuGetUspAutoMap(void); -extern void cpuSetMspDirect(ULO msp); -extern ULO cpuGetMspDirect(void); +extern void cpuSetMspDirect(uint32_t msp); +extern uint32_t cpuGetMspDirect(void); -extern void cpuSetSspDirect(ULO ssp); -extern ULO cpuGetSspDirect(void); -extern ULO cpuGetSspAutoMap(void); +extern void cpuSetSspDirect(uint32_t ssp); +extern uint32_t cpuGetSspDirect(void); +extern uint32_t cpuGetSspAutoMap(void); -extern ULO cpuGetVbr(void); +extern uint32_t cpuGetVbr(void); extern void cpuSetStop(BOOLE stop); extern BOOLE cpuGetStop(void); -extern void cpuSetInitialPC(ULO pc); -extern ULO cpuGetInitialPC(void); +extern void cpuSetInitialPC(uint32_t pc); +extern uint32_t cpuGetInitialPC(void); -extern void cpuSetInitialSP(ULO sp); -extern ULO cpuGetInitialSP(void); +extern void cpuSetInitialSP(uint32_t sp); +extern uint32_t cpuGetInitialSP(void); -extern ULO cpuGetInstructionTime(void); +extern uint32_t cpuGetInstructionTime(void); -extern BOOLE cpuSetIrqLevel(ULO irq_level); -extern ULO cpuGetIrqLevel(void); +extern BOOLE cpuSetIrqLevel(uint32_t irq_level); +extern uint32_t cpuGetIrqLevel(void); -extern ULO cpuExecuteInstruction(void); -extern ULO cpuDisOpcode(ULO disasm_pc, STR *saddress, STR *sdata, STR *sinstruction, STR *soperands); +extern uint32_t cpuExecuteInstruction(void); +extern uint32_t cpuDisOpcode(uint32_t disasm_pc, char *saddress, char *sdata, char *sinstruction, char *soperands); extern void cpuSaveState(FILE *F); extern void cpuLoadState(FILE *F); @@ -96,12 +97,10 @@ typedef void (*cpuResetExceptionFunc)(void); extern void cpuSetResetExceptionFunc(cpuResetExceptionFunc func); // Configuration settings -extern void cpuSetModel(ULO major, ULO minor); -extern ULO cpuGetModelMajor(void); -extern ULO cpuGetModelMinor(void); +extern void cpuSetModel(uint32_t major, uint32_t minor); +extern uint32_t cpuGetModelMajor(void); +extern uint32_t cpuGetModelMinor(void); #ifdef __cplusplus } -#endif - #endif \ No newline at end of file diff --git a/cpu/CpuModule_Code.h b/cpu/CpuModule_Code.h index fc5f0d4..46efdf0 100644 --- a/cpu/CpuModule_Code.h +++ b/cpu/CpuModule_Code.h @@ -1,7853 +1,7900 @@ -#ifndef CPUMODULE_CODE_H -#define CPUMODULE_CODE_H +#pragma once -static void ADD_D000(ULO*opc_data) +static void ADD_D000(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(4); } -static void ADD_D010(ULO*opc_data) +static void ADD_D010(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADD_D018(ULO*opc_data) +static void ADD_D018(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADD_D020(ULO*opc_data) +static void ADD_D020(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(10); } -static void ADD_D028(ULO*opc_data) +static void ADD_D028(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void ADD_D030(ULO*opc_data) +static void ADD_D030(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(14); } -static void ADD_D038(ULO*opc_data) +static void ADD_D038(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA70()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void ADD_D039(ULO*opc_data) +static void ADD_D039(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA71()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(16); } -static void ADD_D03A(ULO*opc_data) +static void ADD_D03A(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA72()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void ADD_D03B(ULO*opc_data) +static void ADD_D03B(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA73()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(14); } -static void ADD_D03C(ULO*opc_data) +static void ADD_D03C(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADD_D040(ULO*opc_data) +static void ADD_D040(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(4); } -static void ADD_D048(ULO*opc_data) +static void ADD_D048(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetARegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(4); } -static void ADD_D050(ULO*opc_data) +static void ADD_D050(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADD_D058(ULO*opc_data) +static void ADD_D058(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADD_D060(ULO*opc_data) +static void ADD_D060(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(10); } -static void ADD_D068(ULO*opc_data) +static void ADD_D068(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void ADD_D070(ULO*opc_data) +static void ADD_D070(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(14); } -static void ADD_D078(ULO*opc_data) +static void ADD_D078(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA70()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void ADD_D079(ULO*opc_data) +static void ADD_D079(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA71()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(16); } -static void ADD_D07A(ULO*opc_data) +static void ADD_D07A(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA72()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void ADD_D07B(ULO*opc_data) +static void ADD_D07B(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA73()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(14); } -static void ADD_D07C(ULO*opc_data) +static void ADD_D07C(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADD_D080(ULO*opc_data) +static void ADD_D080(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADD_D088(ULO*opc_data) +static void ADD_D088(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADD_D090(ULO*opc_data) +static void ADD_D090(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void ADD_D098(ULO*opc_data) +static void ADD_D098(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void ADD_D0A0(ULO*opc_data) +static void ADD_D0A0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void ADD_D0A8(ULO*opc_data) +static void ADD_D0A8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void ADD_D0B0(ULO*opc_data) +static void ADD_D0B0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void ADD_D0B8(ULO*opc_data) +static void ADD_D0B8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void ADD_D0B9(ULO*opc_data) +static void ADD_D0B9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(22); } -static void ADD_D0BA(ULO*opc_data) +static void ADD_D0BA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void ADD_D0BB(ULO*opc_data) +static void ADD_D0BB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void ADD_D0BC(ULO*opc_data) +static void ADD_D0BC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void ADD_D110(ULO*opc_data) +static void ADD_D110(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void ADD_D118(ULO*opc_data) +static void ADD_D118(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void ADD_D120(ULO*opc_data) +static void ADD_D120(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void ADD_D128(ULO*opc_data) +static void ADD_D128(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void ADD_D130(ULO*opc_data) +static void ADD_D130(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void ADD_D138(ULO*opc_data) +static void ADD_D138(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void ADD_D139(ULO*opc_data) +static void ADD_D139(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void ADD_D150(ULO*opc_data) +static void ADD_D150(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void ADD_D158(ULO*opc_data) +static void ADD_D158(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void ADD_D160(ULO*opc_data) +static void ADD_D160(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void ADD_D168(ULO*opc_data) +static void ADD_D168(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void ADD_D170(ULO*opc_data) +static void ADD_D170(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void ADD_D178(ULO*opc_data) +static void ADD_D178(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void ADD_D179(ULO*opc_data) +static void ADD_D179(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void ADD_D190(ULO*opc_data) +static void ADD_D190(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void ADD_D198(ULO*opc_data) +static void ADD_D198(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void ADD_D1A0(ULO*opc_data) +static void ADD_D1A0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(22); } -static void ADD_D1A8(ULO*opc_data) +static void ADD_D1A8(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void ADD_D1B0(ULO*opc_data) +static void ADD_D1B0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(26); } -static void ADD_D1B8(ULO*opc_data) +static void ADD_D1B8(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void ADD_D1B9(ULO*opc_data) +static void ADD_D1B9(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void ADDA_D0C0(ULO*opc_data) +static void ADDA_D0C0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)cpuGetDRegWord(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)cpuGetDRegWord(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADDA_D0C8(ULO*opc_data) +static void ADDA_D0C8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)cpuGetARegWord(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)cpuGetARegWord(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADDA_D0D0(ULO*opc_data) +static void ADDA_D0D0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA02(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(12); } -static void ADDA_D0D8(ULO*opc_data) +static void ADDA_D0D8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(12); } -static void ADDA_D0E0(ULO*opc_data) +static void ADDA_D0E0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void ADDA_D0E8(ULO*opc_data) +static void ADDA_D0E8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA05(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void ADDA_D0F0(ULO*opc_data) +static void ADDA_D0F0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA06(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void ADDA_D0F8(ULO*opc_data) +static void ADDA_D0F8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA70()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA70()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void ADDA_D0F9(ULO*opc_data) +static void ADDA_D0F9(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA71()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA71()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void ADDA_D0FA(ULO*opc_data) +static void ADDA_D0FA(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA72()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA72()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void ADDA_D0FB(ULO*opc_data) +static void ADDA_D0FB(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA73()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA73()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void ADDA_D0FC(ULO*opc_data) +static void ADDA_D0FC(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)cpuGetNextWord(); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)cpuGetNextWord(); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(12); } -static void ADDA_D1C0(ULO*opc_data) +static void ADDA_D1C0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADDA_D1C8(ULO*opc_data) +static void ADDA_D1C8(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADDA_D1D0(ULO*opc_data) +static void ADDA_D1D0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void ADDA_D1D8(ULO*opc_data) +static void ADDA_D1D8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void ADDA_D1E0(ULO*opc_data) +static void ADDA_D1E0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void ADDA_D1E8(ULO*opc_data) +static void ADDA_D1E8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void ADDA_D1F0(ULO*opc_data) +static void ADDA_D1F0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void ADDA_D1F8(ULO*opc_data) +static void ADDA_D1F8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void ADDA_D1F9(ULO*opc_data) +static void ADDA_D1F9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(22); } -static void ADDA_D1FA(ULO*opc_data) +static void ADDA_D1FA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void ADDA_D1FB(ULO*opc_data) +static void ADDA_D1FB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void ADDA_D1FC(ULO*opc_data) +static void ADDA_D1FC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void ADDI_0600(ULO*opc_data) +static void ADDI_0600(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(8); } -static void ADDI_0610(ULO*opc_data) +static void ADDI_0610(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void ADDI_0618(ULO*opc_data) +static void ADDI_0618(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void ADDI_0620(ULO*opc_data) +static void ADDI_0620(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void ADDI_0628(ULO*opc_data) +static void ADDI_0628(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void ADDI_0630(ULO*opc_data) +static void ADDI_0630(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(22); } -static void ADDI_0638(ULO*opc_data) +static void ADDI_0638(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void ADDI_0639(ULO*opc_data) +static void ADDI_0639(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(24); } -static void ADDI_0640(ULO*opc_data) +static void ADDI_0640(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(8); } -static void ADDI_0650(ULO*opc_data) +static void ADDI_0650(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void ADDI_0658(ULO*opc_data) +static void ADDI_0658(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void ADDI_0660(ULO*opc_data) +static void ADDI_0660(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void ADDI_0668(ULO*opc_data) +static void ADDI_0668(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void ADDI_0670(ULO*opc_data) +static void ADDI_0670(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(22); } -static void ADDI_0678(ULO*opc_data) +static void ADDI_0678(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void ADDI_0679(ULO*opc_data) +static void ADDI_0679(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(24); } -static void ADDI_0680(ULO*opc_data) +static void ADDI_0680(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(16); } -static void ADDI_0690(ULO*opc_data) +static void ADDI_0690(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void ADDI_0698(ULO*opc_data) +static void ADDI_0698(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void ADDI_06A0(ULO*opc_data) +static void ADDI_06A0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(30); } -static void ADDI_06A8(ULO*opc_data) +static void ADDI_06A8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(32); } -static void ADDI_06B0(ULO*opc_data) +static void ADDI_06B0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(34); } -static void ADDI_06B8(ULO*opc_data) +static void ADDI_06B8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(32); } -static void ADDI_06B9(ULO*opc_data) +static void ADDI_06B9(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(36); } -static void ADDQ_5000(ULO*opc_data) +static void ADDQ_5000(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t src = (uint8_t)opc_data[1]; + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuAddB(dst, src); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(4); } -static void ADDQ_5010(ULO*opc_data) +static void ADDQ_5010(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void ADDQ_5018(ULO*opc_data) +static void ADDQ_5018(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void ADDQ_5020(ULO*opc_data) +static void ADDQ_5020(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void ADDQ_5028(ULO*opc_data) +static void ADDQ_5028(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void ADDQ_5030(ULO*opc_data) +static void ADDQ_5030(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void ADDQ_5038(ULO*opc_data) +static void ADDQ_5038(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void ADDQ_5039(ULO*opc_data) +static void ADDQ_5039(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void ADDQ_5040(ULO*opc_data) +static void ADDQ_5040(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t src = (uint16_t)opc_data[1]; + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuAddW(dst, src); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(4); } -static void ADDQ_5050(ULO*opc_data) +static void ADDQ_5050(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void ADDQ_5058(ULO*opc_data) +static void ADDQ_5058(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void ADDQ_5060(ULO*opc_data) +static void ADDQ_5060(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void ADDQ_5068(ULO*opc_data) +static void ADDQ_5068(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void ADDQ_5070(ULO*opc_data) +static void ADDQ_5070(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void ADDQ_5078(ULO*opc_data) +static void ADDQ_5078(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void ADDQ_5079(ULO*opc_data) +static void ADDQ_5079(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void ADDQ_5080(ULO*opc_data) +static void ADDQ_5080(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = opc_data[1]; + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuAddL(dst, src); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(8); } -static void ADDQ_5090(ULO*opc_data) +static void ADDQ_5090(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void ADDQ_5098(ULO*opc_data) +static void ADDQ_5098(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void ADDQ_50A0(ULO*opc_data) +static void ADDQ_50A0(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(22); } -static void ADDQ_50A8(ULO*opc_data) +static void ADDQ_50A8(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void ADDQ_50B0(ULO*opc_data) +static void ADDQ_50B0(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(26); } -static void ADDQ_50B8(ULO*opc_data) +static void ADDQ_50B8(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void ADDQ_50B9(ULO*opc_data) +static void ADDQ_50B9(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void ADDQ_5048(ULO*opc_data) +static void ADDQ_5048(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dst = cpuGetAReg(opc_data[0]); + uint32_t src = opc_data[1]; + uint32_t dst = cpuGetAReg(opc_data[0]); dst = cpuAddaW(dst, src); cpuSetAReg(opc_data[0], dst); cpuSetInstructionTime(8); } -static void ADDQ_5088(ULO*opc_data) +static void ADDQ_5088(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dst = cpuGetAReg(opc_data[0]); + uint32_t src = opc_data[1]; + uint32_t dst = cpuGetAReg(opc_data[0]); dst = cpuAddaL(dst, src); cpuSetAReg(opc_data[0], dst); cpuSetInstructionTime(8); } -static void AND_C000(ULO*opc_data) +static void AND_C000(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(4); } -static void AND_C010(ULO*opc_data) +static void AND_C010(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void AND_C018(ULO*opc_data) +static void AND_C018(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void AND_C020(ULO*opc_data) +static void AND_C020(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(10); } -static void AND_C028(ULO*opc_data) +static void AND_C028(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void AND_C030(ULO*opc_data) +static void AND_C030(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(14); } -static void AND_C038(ULO*opc_data) +static void AND_C038(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA70()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void AND_C039(ULO*opc_data) +static void AND_C039(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA71()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(16); } -static void AND_C03A(ULO*opc_data) +static void AND_C03A(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA72()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void AND_C03B(ULO*opc_data) +static void AND_C03B(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA73()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(14); } -static void AND_C03C(ULO*opc_data) +static void AND_C03C(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void AND_C040(ULO*opc_data) +static void AND_C040(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(4); } -static void AND_C050(ULO*opc_data) +static void AND_C050(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void AND_C058(ULO*opc_data) +static void AND_C058(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void AND_C060(ULO*opc_data) +static void AND_C060(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(10); } -static void AND_C068(ULO*opc_data) +static void AND_C068(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void AND_C070(ULO*opc_data) +static void AND_C070(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(14); } -static void AND_C078(ULO*opc_data) +static void AND_C078(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA70()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void AND_C079(ULO*opc_data) +static void AND_C079(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA71()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(16); } -static void AND_C07A(ULO*opc_data) +static void AND_C07A(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA72()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void AND_C07B(ULO*opc_data) +static void AND_C07B(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA73()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(14); } -static void AND_C07C(ULO*opc_data) +static void AND_C07C(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void AND_C080(ULO*opc_data) +static void AND_C080(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void AND_C090(ULO*opc_data) +static void AND_C090(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void AND_C098(ULO*opc_data) +static void AND_C098(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void AND_C0A0(ULO*opc_data) +static void AND_C0A0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void AND_C0A8(ULO*opc_data) +static void AND_C0A8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void AND_C0B0(ULO*opc_data) +static void AND_C0B0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void AND_C0B8(ULO*opc_data) +static void AND_C0B8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void AND_C0B9(ULO*opc_data) +static void AND_C0B9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(22); } -static void AND_C0BA(ULO*opc_data) +static void AND_C0BA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void AND_C0BB(ULO*opc_data) +static void AND_C0BB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void AND_C0BC(ULO*opc_data) +static void AND_C0BC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void AND_C110(ULO*opc_data) +static void AND_C110(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void AND_C118(ULO*opc_data) +static void AND_C118(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void AND_C120(ULO*opc_data) +static void AND_C120(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void AND_C128(ULO*opc_data) +static void AND_C128(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void AND_C130(ULO*opc_data) +static void AND_C130(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void AND_C138(ULO*opc_data) +static void AND_C138(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void AND_C139(ULO*opc_data) +static void AND_C139(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void AND_C150(ULO*opc_data) +static void AND_C150(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void AND_C158(ULO*opc_data) +static void AND_C158(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void AND_C160(ULO*opc_data) +static void AND_C160(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void AND_C168(ULO*opc_data) +static void AND_C168(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void AND_C170(ULO*opc_data) +static void AND_C170(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void AND_C178(ULO*opc_data) +static void AND_C178(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void AND_C179(ULO*opc_data) +static void AND_C179(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void AND_C190(ULO*opc_data) +static void AND_C190(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void AND_C198(ULO*opc_data) +static void AND_C198(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void AND_C1A0(ULO*opc_data) +static void AND_C1A0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(22); } -static void AND_C1A8(ULO*opc_data) +static void AND_C1A8(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void AND_C1B0(ULO*opc_data) +static void AND_C1B0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(26); } -static void AND_C1B8(ULO*opc_data) +static void AND_C1B8(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void AND_C1B9(ULO*opc_data) +static void AND_C1B9(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void ANDI_0200(ULO*opc_data) +static void ANDI_0200(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuAndB(dst, src); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(8); } -static void ANDI_0210(ULO*opc_data) +static void ANDI_0210(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void ANDI_0218(ULO*opc_data) +static void ANDI_0218(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void ANDI_0220(ULO*opc_data) +static void ANDI_0220(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void ANDI_0228(ULO*opc_data) +static void ANDI_0228(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void ANDI_0230(ULO*opc_data) +static void ANDI_0230(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(22); } -static void ANDI_0238(ULO*opc_data) +static void ANDI_0238(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void ANDI_0239(ULO*opc_data) +static void ANDI_0239(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuAndB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(24); } -static void ANDI_0240(ULO*opc_data) +static void ANDI_0240(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuAndW(dst, src); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(8); } -static void ANDI_0250(ULO*opc_data) +static void ANDI_0250(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void ANDI_0258(ULO*opc_data) +static void ANDI_0258(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void ANDI_0260(ULO*opc_data) +static void ANDI_0260(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void ANDI_0268(ULO*opc_data) +static void ANDI_0268(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void ANDI_0270(ULO*opc_data) +static void ANDI_0270(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(22); } -static void ANDI_0278(ULO*opc_data) +static void ANDI_0278(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void ANDI_0279(ULO*opc_data) +static void ANDI_0279(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAndW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(24); } -static void ANDI_0280(ULO*opc_data) +static void ANDI_0280(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuAndL(dst, src); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(14); } -static void ANDI_0290(ULO*opc_data) +static void ANDI_0290(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void ANDI_0298(ULO*opc_data) +static void ANDI_0298(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void ANDI_02A0(ULO*opc_data) +static void ANDI_02A0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(30); } -static void ANDI_02A8(ULO*opc_data) +static void ANDI_02A8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(32); } -static void ANDI_02B0(ULO*opc_data) +static void ANDI_02B0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(34); } -static void ANDI_02B8(ULO*opc_data) +static void ANDI_02B8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(32); } -static void ANDI_02B9(ULO*opc_data) +static void ANDI_02B9(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuAndL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(36); } -static void ANDI_023C(ULO*opc_data) +static void ANDI_023C(uint32_t*opc_data) { cpuAndCcrB(); - cpuSetInstructionTime(20); } -static void ANDI_027C(ULO*opc_data) +static void ANDI_027C(uint32_t*opc_data) { cpuAndSrW(); - cpuSetInstructionTime(20); } -static void EOR_B100(ULO*opc_data) +static void EOR_B100(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuEorB(dst, src); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(4); } -static void EOR_B110(ULO*opc_data) +static void EOR_B110(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); - dst = cpuEorB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(8); -} -static void EOR_B118(ULO*opc_data) -{ - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); - dst = cpuEorB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(8); -} -static void EOR_B120(ULO*opc_data) -{ - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); - dst = cpuEorB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(10); -} -static void EOR_B128(ULO*opc_data) -{ - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuEorB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void EOR_B130(ULO*opc_data) +static void EOR_B118(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); + dst = cpuEorB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(12); +} +static void EOR_B120(uint32_t*opc_data) +{ + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuEorB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void EOR_B138(ULO*opc_data) +static void EOR_B128(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); - dst = cpuEorB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(12); -} -static void EOR_B139(ULO*opc_data) -{ - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuEorB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void EOR_B140(ULO*opc_data) +static void EOR_B130(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - UWO dst = cpuGetDRegWord(opc_data[0]); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); + dst = cpuEorB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(18); +} +static void EOR_B138(uint32_t*opc_data) +{ + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); + dst = cpuEorB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(16); +} +static void EOR_B139(uint32_t*opc_data) +{ + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); + dst = cpuEorB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(20); +} +static void EOR_B140(uint32_t*opc_data) +{ + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuEorW(dst, src); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(4); } -static void EOR_B150(ULO*opc_data) +static void EOR_B150(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); - dst = cpuEorW(dst, src); - memoryWriteWord(dst, dstea); - cpuSetInstructionTime(8); -} -static void EOR_B158(ULO*opc_data) -{ - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); - dst = cpuEorW(dst, src); - memoryWriteWord(dst, dstea); - cpuSetInstructionTime(8); -} -static void EOR_B160(ULO*opc_data) -{ - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); - dst = cpuEorW(dst, src); - memoryWriteWord(dst, dstea); - cpuSetInstructionTime(10); -} -static void EOR_B168(ULO*opc_data) -{ - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuEorW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void EOR_B170(ULO*opc_data) +static void EOR_B158(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); + dst = cpuEorW(dst, src); + memoryWriteWord(dst, dstea); + cpuSetInstructionTime(12); +} +static void EOR_B160(uint32_t*opc_data) +{ + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuEorW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void EOR_B178(ULO*opc_data) +static void EOR_B168(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); - dst = cpuEorW(dst, src); - memoryWriteWord(dst, dstea); - cpuSetInstructionTime(12); -} -static void EOR_B179(ULO*opc_data) -{ - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuEorW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void EOR_B180(ULO*opc_data) +static void EOR_B170(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dst = cpuGetDReg(opc_data[0]); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); + dst = cpuEorW(dst, src); + memoryWriteWord(dst, dstea); + cpuSetInstructionTime(18); +} +static void EOR_B178(uint32_t*opc_data) +{ + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); + dst = cpuEorW(dst, src); + memoryWriteWord(dst, dstea); + cpuSetInstructionTime(16); +} +static void EOR_B179(uint32_t*opc_data) +{ + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); + dst = cpuEorW(dst, src); + memoryWriteWord(dst, dstea); + cpuSetInstructionTime(20); +} +static void EOR_B180(uint32_t*opc_data) +{ + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuEorL(dst, src); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(8); } -static void EOR_B190(ULO*opc_data) +static void EOR_B190(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); - dst = cpuEorL(dst, src); - memoryWriteLong(dst, dstea); - cpuSetInstructionTime(16); -} -static void EOR_B198(ULO*opc_data) -{ - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); - dst = cpuEorL(dst, src); - memoryWriteLong(dst, dstea); - cpuSetInstructionTime(16); -} -static void EOR_B1A0(ULO*opc_data) -{ - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); - dst = cpuEorL(dst, src); - memoryWriteLong(dst, dstea); - cpuSetInstructionTime(18); -} -static void EOR_B1A8(ULO*opc_data) -{ - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuEorL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void EOR_B1B0(ULO*opc_data) +static void EOR_B198(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); + dst = cpuEorL(dst, src); + memoryWriteLong(dst, dstea); + cpuSetInstructionTime(20); +} +static void EOR_B1A0(uint32_t*opc_data) +{ + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuEorL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(22); } -static void EOR_B1B8(ULO*opc_data) +static void EOR_B1A8(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); - dst = cpuEorL(dst, src); - memoryWriteLong(dst, dstea); - cpuSetInstructionTime(20); -} -static void EOR_B1B9(ULO*opc_data) -{ - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuEorL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void EORI_0A00(ULO*opc_data) +static void EOR_B1B0(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - UBY dst = cpuGetDRegByte(opc_data[0]); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); + dst = cpuEorL(dst, src); + memoryWriteLong(dst, dstea); + cpuSetInstructionTime(26); +} +static void EOR_B1B8(uint32_t*opc_data) +{ + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); + dst = cpuEorL(dst, src); + memoryWriteLong(dst, dstea); + cpuSetInstructionTime(24); +} +static void EOR_B1B9(uint32_t*opc_data) +{ + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); + dst = cpuEorL(dst, src); + memoryWriteLong(dst, dstea); + cpuSetInstructionTime(28); +} +static void EORI_0A00(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuEorB(dst, src); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(8); } -static void EORI_0A10(ULO*opc_data) +static void EORI_0A10(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuEorB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void EORI_0A18(ULO*opc_data) +static void EORI_0A18(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuEorB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void EORI_0A20(ULO*opc_data) +static void EORI_0A20(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuEorB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void EORI_0A28(ULO*opc_data) +static void EORI_0A28(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuEorB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void EORI_0A30(ULO*opc_data) +static void EORI_0A30(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuEorB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(22); } -static void EORI_0A38(ULO*opc_data) +static void EORI_0A38(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuEorB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void EORI_0A39(ULO*opc_data) +static void EORI_0A39(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuEorB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(24); } -static void EORI_0A40(ULO*opc_data) +static void EORI_0A40(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuEorW(dst, src); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(8); } -static void EORI_0A50(ULO*opc_data) +static void EORI_0A50(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuEorW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void EORI_0A58(ULO*opc_data) +static void EORI_0A58(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuEorW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void EORI_0A60(ULO*opc_data) +static void EORI_0A60(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuEorW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void EORI_0A68(ULO*opc_data) +static void EORI_0A68(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuEorW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void EORI_0A70(ULO*opc_data) +static void EORI_0A70(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuEorW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(22); } -static void EORI_0A78(ULO*opc_data) +static void EORI_0A78(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuEorW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void EORI_0A79(ULO*opc_data) +static void EORI_0A79(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuEorW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(24); } -static void EORI_0A80(ULO*opc_data) +static void EORI_0A80(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuEorL(dst, src); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(16); } -static void EORI_0A90(ULO*opc_data) +static void EORI_0A90(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuEorL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void EORI_0A98(ULO*opc_data) +static void EORI_0A98(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuEorL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void EORI_0AA0(ULO*opc_data) +static void EORI_0AA0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuEorL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(30); } -static void EORI_0AA8(ULO*opc_data) +static void EORI_0AA8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuEorL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(32); } -static void EORI_0AB0(ULO*opc_data) +static void EORI_0AB0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuEorL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(34); } -static void EORI_0AB8(ULO*opc_data) +static void EORI_0AB8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuEorL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(32); } -static void EORI_0AB9(ULO*opc_data) +static void EORI_0AB9(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuEorL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(36); } -static void EORI_0A3C(ULO*opc_data) +static void EORI_0A3C(uint32_t*opc_data) { cpuEorCcrB(); - cpuSetInstructionTime(20); } -static void EORI_0A7C(ULO*opc_data) +static void EORI_0A7C(uint32_t*opc_data) { cpuEorSrW(); - cpuSetInstructionTime(20); } -static void OR_8000(ULO*opc_data) +static void OR_8000(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(4); } -static void OR_8010(ULO*opc_data) +static void OR_8010(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void OR_8018(ULO*opc_data) +static void OR_8018(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void OR_8020(ULO*opc_data) +static void OR_8020(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(10); } -static void OR_8028(ULO*opc_data) +static void OR_8028(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void OR_8030(ULO*opc_data) +static void OR_8030(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(14); } -static void OR_8038(ULO*opc_data) +static void OR_8038(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA70()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void OR_8039(ULO*opc_data) +static void OR_8039(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA71()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(16); } -static void OR_803A(ULO*opc_data) +static void OR_803A(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA72()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void OR_803B(ULO*opc_data) +static void OR_803B(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA73()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(14); } -static void OR_803C(ULO*opc_data) +static void OR_803C(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void OR_8040(ULO*opc_data) +static void OR_8040(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(4); } -static void OR_8050(ULO*opc_data) +static void OR_8050(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void OR_8058(ULO*opc_data) +static void OR_8058(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void OR_8060(ULO*opc_data) +static void OR_8060(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(10); } -static void OR_8068(ULO*opc_data) +static void OR_8068(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void OR_8070(ULO*opc_data) +static void OR_8070(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(14); } -static void OR_8078(ULO*opc_data) +static void OR_8078(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA70()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void OR_8079(ULO*opc_data) +static void OR_8079(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA71()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(16); } -static void OR_807A(ULO*opc_data) +static void OR_807A(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA72()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void OR_807B(ULO*opc_data) +static void OR_807B(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA73()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(14); } -static void OR_807C(ULO*opc_data) +static void OR_807C(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void OR_8080(ULO*opc_data) +static void OR_8080(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void OR_8090(ULO*opc_data) +static void OR_8090(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void OR_8098(ULO*opc_data) +static void OR_8098(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void OR_80A0(ULO*opc_data) +static void OR_80A0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void OR_80A8(ULO*opc_data) +static void OR_80A8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void OR_80B0(ULO*opc_data) +static void OR_80B0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void OR_80B8(ULO*opc_data) +static void OR_80B8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void OR_80B9(ULO*opc_data) +static void OR_80B9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(22); } -static void OR_80BA(ULO*opc_data) +static void OR_80BA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void OR_80BB(ULO*opc_data) +static void OR_80BB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void OR_80BC(ULO*opc_data) +static void OR_80BC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void OR_8110(ULO*opc_data) +static void OR_8110(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void OR_8118(ULO*opc_data) +static void OR_8118(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void OR_8120(ULO*opc_data) +static void OR_8120(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void OR_8128(ULO*opc_data) +static void OR_8128(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void OR_8130(ULO*opc_data) +static void OR_8130(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void OR_8138(ULO*opc_data) +static void OR_8138(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void OR_8139(ULO*opc_data) +static void OR_8139(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void OR_8150(ULO*opc_data) +static void OR_8150(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void OR_8158(ULO*opc_data) +static void OR_8158(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void OR_8160(ULO*opc_data) +static void OR_8160(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void OR_8168(ULO*opc_data) +static void OR_8168(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void OR_8170(ULO*opc_data) +static void OR_8170(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void OR_8178(ULO*opc_data) +static void OR_8178(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void OR_8179(ULO*opc_data) +static void OR_8179(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void OR_8190(ULO*opc_data) +static void OR_8190(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void OR_8198(ULO*opc_data) +static void OR_8198(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void OR_81A0(ULO*opc_data) +static void OR_81A0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(22); } -static void OR_81A8(ULO*opc_data) +static void OR_81A8(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void OR_81B0(ULO*opc_data) +static void OR_81B0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(26); } -static void OR_81B8(ULO*opc_data) +static void OR_81B8(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void OR_81B9(ULO*opc_data) +static void OR_81B9(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void ORI_0000(ULO*opc_data) +static void ORI_0000(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuOrB(dst, src); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(8); } -static void ORI_0010(ULO*opc_data) +static void ORI_0010(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void ORI_0018(ULO*opc_data) +static void ORI_0018(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void ORI_0020(ULO*opc_data) +static void ORI_0020(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void ORI_0028(ULO*opc_data) +static void ORI_0028(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void ORI_0030(ULO*opc_data) +static void ORI_0030(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(22); } -static void ORI_0038(ULO*opc_data) +static void ORI_0038(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void ORI_0039(ULO*opc_data) +static void ORI_0039(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuOrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(24); } -static void ORI_0040(ULO*opc_data) +static void ORI_0040(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuOrW(dst, src); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(8); } -static void ORI_0050(ULO*opc_data) +static void ORI_0050(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void ORI_0058(ULO*opc_data) +static void ORI_0058(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void ORI_0060(ULO*opc_data) +static void ORI_0060(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void ORI_0068(ULO*opc_data) +static void ORI_0068(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void ORI_0070(ULO*opc_data) +static void ORI_0070(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(22); } -static void ORI_0078(ULO*opc_data) +static void ORI_0078(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void ORI_0079(ULO*opc_data) +static void ORI_0079(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuOrW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(24); } -static void ORI_0080(ULO*opc_data) +static void ORI_0080(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuOrL(dst, src); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(16); } -static void ORI_0090(ULO*opc_data) +static void ORI_0090(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void ORI_0098(ULO*opc_data) +static void ORI_0098(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void ORI_00A0(ULO*opc_data) +static void ORI_00A0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(30); } -static void ORI_00A8(ULO*opc_data) +static void ORI_00A8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(32); } -static void ORI_00B0(ULO*opc_data) +static void ORI_00B0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(34); } -static void ORI_00B8(ULO*opc_data) +static void ORI_00B8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(32); } -static void ORI_00B9(ULO*opc_data) +static void ORI_00B9(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuOrL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(36); } -static void ORI_003C(ULO*opc_data) +static void ORI_003C(uint32_t*opc_data) { cpuOrCcrB(); - cpuSetInstructionTime(20); } -static void ORI_007C(ULO*opc_data) +static void ORI_007C(uint32_t*opc_data) { cpuOrSrW(); - cpuSetInstructionTime(20); } -static void SUB_9000(ULO*opc_data) +static void SUB_9000(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(4); } -static void SUB_9010(ULO*opc_data) +static void SUB_9010(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUB_9018(ULO*opc_data) +static void SUB_9018(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUB_9020(ULO*opc_data) +static void SUB_9020(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(10); } -static void SUB_9028(ULO*opc_data) +static void SUB_9028(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void SUB_9030(ULO*opc_data) +static void SUB_9030(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(14); } -static void SUB_9038(ULO*opc_data) +static void SUB_9038(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA70()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void SUB_9039(ULO*opc_data) +static void SUB_9039(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA71()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(16); } -static void SUB_903A(ULO*opc_data) +static void SUB_903A(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA72()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(12); } -static void SUB_903B(ULO*opc_data) +static void SUB_903B(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA73()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(14); } -static void SUB_903C(ULO*opc_data) +static void SUB_903C(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUB_9040(ULO*opc_data) +static void SUB_9040(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(4); } -static void SUB_9048(ULO*opc_data) +static void SUB_9048(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetARegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(4); } -static void SUB_9050(ULO*opc_data) +static void SUB_9050(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUB_9058(ULO*opc_data) +static void SUB_9058(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUB_9060(ULO*opc_data) +static void SUB_9060(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(10); } -static void SUB_9068(ULO*opc_data) +static void SUB_9068(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void SUB_9070(ULO*opc_data) +static void SUB_9070(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(14); } -static void SUB_9078(ULO*opc_data) +static void SUB_9078(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA70()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void SUB_9079(ULO*opc_data) +static void SUB_9079(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA71()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(16); } -static void SUB_907A(ULO*opc_data) +static void SUB_907A(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA72()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(12); } -static void SUB_907B(ULO*opc_data) +static void SUB_907B(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA73()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(14); } -static void SUB_907C(ULO*opc_data) +static void SUB_907C(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUB_9080(ULO*opc_data) +static void SUB_9080(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUB_9088(ULO*opc_data) +static void SUB_9088(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUB_9090(ULO*opc_data) +static void SUB_9090(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void SUB_9098(ULO*opc_data) +static void SUB_9098(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void SUB_90A0(ULO*opc_data) +static void SUB_90A0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void SUB_90A8(ULO*opc_data) +static void SUB_90A8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void SUB_90B0(ULO*opc_data) +static void SUB_90B0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void SUB_90B8(ULO*opc_data) +static void SUB_90B8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void SUB_90B9(ULO*opc_data) +static void SUB_90B9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(22); } -static void SUB_90BA(ULO*opc_data) +static void SUB_90BA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void SUB_90BB(ULO*opc_data) +static void SUB_90BB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void SUB_90BC(ULO*opc_data) +static void SUB_90BC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void SUB_9110(ULO*opc_data) +static void SUB_9110(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void SUB_9118(ULO*opc_data) +static void SUB_9118(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void SUB_9120(ULO*opc_data) +static void SUB_9120(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void SUB_9128(ULO*opc_data) +static void SUB_9128(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void SUB_9130(ULO*opc_data) +static void SUB_9130(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void SUB_9138(ULO*opc_data) +static void SUB_9138(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void SUB_9139(ULO*opc_data) +static void SUB_9139(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void SUB_9150(ULO*opc_data) +static void SUB_9150(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void SUB_9158(ULO*opc_data) +static void SUB_9158(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void SUB_9160(ULO*opc_data) +static void SUB_9160(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void SUB_9168(ULO*opc_data) +static void SUB_9168(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void SUB_9170(ULO*opc_data) +static void SUB_9170(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void SUB_9178(ULO*opc_data) +static void SUB_9178(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void SUB_9179(ULO*opc_data) +static void SUB_9179(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[1]); - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetDRegWord(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void SUB_9190(ULO*opc_data) +static void SUB_9190(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void SUB_9198(ULO*opc_data) +static void SUB_9198(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void SUB_91A0(ULO*opc_data) +static void SUB_91A0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(22); } -static void SUB_91A8(ULO*opc_data) +static void SUB_91A8(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void SUB_91B0(ULO*opc_data) +static void SUB_91B0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(26); } -static void SUB_91B8(ULO*opc_data) +static void SUB_91B8(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void SUB_91B9(ULO*opc_data) +static void SUB_91B9(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void SUBA_90C0(ULO*opc_data) +static void SUBA_90C0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)cpuGetDRegWord(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)cpuGetDRegWord(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUBA_90C8(ULO*opc_data) +static void SUBA_90C8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)cpuGetARegWord(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)cpuGetARegWord(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUBA_90D0(ULO*opc_data) +static void SUBA_90D0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA02(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(12); } -static void SUBA_90D8(ULO*opc_data) +static void SUBA_90D8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(12); } -static void SUBA_90E0(ULO*opc_data) +static void SUBA_90E0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void SUBA_90E8(ULO*opc_data) +static void SUBA_90E8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA05(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void SUBA_90F0(ULO*opc_data) +static void SUBA_90F0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA06(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void SUBA_90F8(ULO*opc_data) +static void SUBA_90F8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA70()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA70()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void SUBA_90F9(ULO*opc_data) +static void SUBA_90F9(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA71()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA71()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void SUBA_90FA(ULO*opc_data) +static void SUBA_90FA(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA72()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA72()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void SUBA_90FB(ULO*opc_data) +static void SUBA_90FB(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA73()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA73()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void SUBA_90FC(ULO*opc_data) +static void SUBA_90FC(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)cpuGetNextWord(); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)cpuGetNextWord(); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(12); } -static void SUBA_91C0(ULO*opc_data) +static void SUBA_91C0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUBA_91C8(ULO*opc_data) +static void SUBA_91C8(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUBA_91D0(ULO*opc_data) +static void SUBA_91D0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void SUBA_91D8(ULO*opc_data) +static void SUBA_91D8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(14); } -static void SUBA_91E0(ULO*opc_data) +static void SUBA_91E0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void SUBA_91E8(ULO*opc_data) +static void SUBA_91E8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void SUBA_91F0(ULO*opc_data) +static void SUBA_91F0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void SUBA_91F8(ULO*opc_data) +static void SUBA_91F8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void SUBA_91F9(ULO*opc_data) +static void SUBA_91F9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(22); } -static void SUBA_91FA(ULO*opc_data) +static void SUBA_91FA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(18); } -static void SUBA_91FB(ULO*opc_data) +static void SUBA_91FB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(20); } -static void SUBA_91FC(ULO*opc_data) +static void SUBA_91FC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetAReg(opc_data[1]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[1], dst); cpuSetInstructionTime(16); } -static void SUBI_0400(ULO*opc_data) +static void SUBI_0400(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(8); } -static void SUBI_0410(ULO*opc_data) +static void SUBI_0410(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void SUBI_0418(ULO*opc_data) +static void SUBI_0418(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void SUBI_0420(ULO*opc_data) +static void SUBI_0420(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void SUBI_0428(ULO*opc_data) +static void SUBI_0428(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void SUBI_0430(ULO*opc_data) +static void SUBI_0430(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(22); } -static void SUBI_0438(ULO*opc_data) +static void SUBI_0438(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void SUBI_0439(ULO*opc_data) +static void SUBI_0439(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(24); } -static void SUBI_0440(ULO*opc_data) +static void SUBI_0440(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(8); } -static void SUBI_0450(ULO*opc_data) +static void SUBI_0450(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void SUBI_0458(ULO*opc_data) +static void SUBI_0458(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void SUBI_0460(ULO*opc_data) +static void SUBI_0460(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void SUBI_0468(ULO*opc_data) +static void SUBI_0468(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void SUBI_0470(ULO*opc_data) +static void SUBI_0470(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(22); } -static void SUBI_0478(ULO*opc_data) +static void SUBI_0478(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void SUBI_0479(ULO*opc_data) +static void SUBI_0479(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(24); } -static void SUBI_0480(ULO*opc_data) +static void SUBI_0480(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(16); } -static void SUBI_0490(ULO*opc_data) +static void SUBI_0490(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void SUBI_0498(ULO*opc_data) +static void SUBI_0498(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void SUBI_04A0(ULO*opc_data) +static void SUBI_04A0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(30); } -static void SUBI_04A8(ULO*opc_data) +static void SUBI_04A8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(32); } -static void SUBI_04B0(ULO*opc_data) +static void SUBI_04B0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(34); } -static void SUBI_04B8(ULO*opc_data) +static void SUBI_04B8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(32); } -static void SUBI_04B9(ULO*opc_data) +static void SUBI_04B9(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(36); } -static void SUBQ_5100(ULO*opc_data) +static void SUBQ_5100(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t src = (uint8_t)opc_data[1]; + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuSubB(dst, src); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(4); } -static void SUBQ_5110(ULO*opc_data) +static void SUBQ_5110(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void SUBQ_5118(ULO*opc_data) +static void SUBQ_5118(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void SUBQ_5120(ULO*opc_data) +static void SUBQ_5120(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void SUBQ_5128(ULO*opc_data) +static void SUBQ_5128(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void SUBQ_5130(ULO*opc_data) +static void SUBQ_5130(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void SUBQ_5138(ULO*opc_data) +static void SUBQ_5138(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void SUBQ_5139(ULO*opc_data) +static void SUBQ_5139(uint32_t*opc_data) { - UBY src = (UBY)opc_data[1]; - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)opc_data[1]; + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void SUBQ_5140(ULO*opc_data) +static void SUBQ_5140(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t src = (uint16_t)opc_data[1]; + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuSubW(dst, src); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(4); } -static void SUBQ_5150(ULO*opc_data) +static void SUBQ_5150(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void SUBQ_5158(ULO*opc_data) +static void SUBQ_5158(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void SUBQ_5160(ULO*opc_data) +static void SUBQ_5160(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void SUBQ_5168(ULO*opc_data) +static void SUBQ_5168(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void SUBQ_5170(ULO*opc_data) +static void SUBQ_5170(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void SUBQ_5178(ULO*opc_data) +static void SUBQ_5178(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void SUBQ_5179(ULO*opc_data) +static void SUBQ_5179(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void SUBQ_5180(ULO*opc_data) +static void SUBQ_5180(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = opc_data[1]; + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuSubL(dst, src); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(8); } -static void SUBQ_5190(ULO*opc_data) +static void SUBQ_5190(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void SUBQ_5198(ULO*opc_data) +static void SUBQ_5198(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void SUBQ_51A0(ULO*opc_data) +static void SUBQ_51A0(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(22); } -static void SUBQ_51A8(ULO*opc_data) +static void SUBQ_51A8(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void SUBQ_51B0(ULO*opc_data) +static void SUBQ_51B0(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(26); } -static void SUBQ_51B8(ULO*opc_data) +static void SUBQ_51B8(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void SUBQ_51B9(ULO*opc_data) +static void SUBQ_51B9(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = opc_data[1]; + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void SUBQ_5148(ULO*opc_data) +static void SUBQ_5148(uint32_t*opc_data) { - UWO src = (UWO)opc_data[1]; - ULO dst = cpuGetAReg(opc_data[0]); + uint16_t src = (uint16_t)opc_data[1]; + uint32_t dst = cpuGetAReg(opc_data[0]); dst = cpuSubaW(dst, src); cpuSetAReg(opc_data[0], dst); cpuSetInstructionTime(8); } -static void SUBQ_5188(ULO*opc_data) +static void SUBQ_5188(uint32_t*opc_data) { - ULO src = opc_data[1]; - ULO dst = cpuGetAReg(opc_data[0]); + uint32_t src = opc_data[1]; + uint32_t dst = cpuGetAReg(opc_data[0]); dst = cpuSubaL(dst, src); cpuSetAReg(opc_data[0], dst); cpuSetInstructionTime(8); } -static void CHK_4180(ULO*opc_data) +static void CHK_4180(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); - cpuChkW(dst, src); - cpuSetInstructionTime(10); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + cpuChkW(dst, src, 10); } -static void CHK_4190(ULO*opc_data) +static void CHK_4190(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); - cpuChkW(dst, src); - cpuSetInstructionTime(14); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + cpuChkW(dst, src, 14); } -static void CHK_4198(ULO*opc_data) +static void CHK_4198(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); - cpuChkW(dst, src); - cpuSetInstructionTime(14); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + cpuChkW(dst, src, 14); } -static void CHK_41A0(ULO*opc_data) +static void CHK_41A0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); - cpuChkW(dst, src); - cpuSetInstructionTime(16); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + cpuChkW(dst, src, 16); } -static void CHK_41A8(ULO*opc_data) +static void CHK_41A8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); - cpuChkW(dst, src); - cpuSetInstructionTime(18); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + cpuChkW(dst, src, 18); } -static void CHK_41B0(ULO*opc_data) +static void CHK_41B0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); - cpuChkW(dst, src); - cpuSetInstructionTime(20); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + cpuChkW(dst, src, 20); } -static void CHK_41B8(ULO*opc_data) +static void CHK_41B8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - UWO dst = cpuGetDRegWord(opc_data[1]); - cpuChkW(dst, src); - cpuSetInstructionTime(18); + uint16_t src = memoryReadWord(cpuEA70()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + cpuChkW(dst, src, 18); } -static void CHK_41B9(ULO*opc_data) +static void CHK_41B9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - UWO dst = cpuGetDRegWord(opc_data[1]); - cpuChkW(dst, src); - cpuSetInstructionTime(22); + uint16_t src = memoryReadWord(cpuEA71()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + cpuChkW(dst, src, 22); } -static void CHK_41BA(ULO*opc_data) +static void CHK_41BA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - UWO dst = cpuGetDRegWord(opc_data[1]); - cpuChkW(dst, src); - cpuSetInstructionTime(18); + uint16_t src = memoryReadWord(cpuEA72()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + cpuChkW(dst, src, 18); } -static void CHK_41BB(ULO*opc_data) +static void CHK_41BB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - UWO dst = cpuGetDRegWord(opc_data[1]); - cpuChkW(dst, src); - cpuSetInstructionTime(20); + uint16_t src = memoryReadWord(cpuEA73()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + cpuChkW(dst, src, 20); } -static void CHK_41BC(ULO*opc_data) +static void CHK_41BC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[1]); - cpuChkW(dst, src); - cpuSetInstructionTime(14); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + cpuChkW(dst, src, 14); } -static void CHK_4100(ULO*opc_data) +static void CHK_4100(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); - cpuChkL(dst, src); - cpuSetInstructionTime(10); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); + cpuChkL(dst, src, 10); } -static void CHK_4110(ULO*opc_data) +static void CHK_4110(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); - cpuChkL(dst, src); - cpuSetInstructionTime(18); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); + cpuChkL(dst, src, 18); } -static void CHK_4118(ULO*opc_data) +static void CHK_4118(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); - cpuChkL(dst, src); - cpuSetInstructionTime(18); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); + cpuChkL(dst, src, 18); } -static void CHK_4120(ULO*opc_data) +static void CHK_4120(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); - cpuChkL(dst, src); - cpuSetInstructionTime(20); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); + cpuChkL(dst, src, 20); } -static void CHK_4128(ULO*opc_data) +static void CHK_4128(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); - cpuChkL(dst, src); - cpuSetInstructionTime(22); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); + cpuChkL(dst, src, 22); } -static void CHK_4130(ULO*opc_data) +static void CHK_4130(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); - cpuChkL(dst, src); - cpuSetInstructionTime(24); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); + cpuChkL(dst, src, 24); } -static void CHK_4138(ULO*opc_data) +static void CHK_4138(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dst = cpuGetDReg(opc_data[1]); - cpuChkL(dst, src); - cpuSetInstructionTime(22); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dst = cpuGetDReg(opc_data[1]); + cpuChkL(dst, src, 22); } -static void CHK_4139(ULO*opc_data) +static void CHK_4139(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dst = cpuGetDReg(opc_data[1]); - cpuChkL(dst, src); - cpuSetInstructionTime(26); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dst = cpuGetDReg(opc_data[1]); + cpuChkL(dst, src, 26); } -static void CHK_413A(ULO*opc_data) +static void CHK_413A(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dst = cpuGetDReg(opc_data[1]); - cpuChkL(dst, src); - cpuSetInstructionTime(22); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dst = cpuGetDReg(opc_data[1]); + cpuChkL(dst, src, 22); } -static void CHK_413B(ULO*opc_data) +static void CHK_413B(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dst = cpuGetDReg(opc_data[1]); - cpuChkL(dst, src); - cpuSetInstructionTime(24); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dst = cpuGetDReg(opc_data[1]); + cpuChkL(dst, src, 24); } -static void CHK_413C(ULO*opc_data) +static void CHK_413C(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[1]); - cpuChkL(dst, src); - cpuSetInstructionTime(18); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[1]); + cpuChkL(dst, src, 18); } -static void CMP_B000(ULO*opc_data) +static void CMP_B000(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[1]); cpuCmpB(dst, src); cpuSetInstructionTime(4); } -static void CMP_B010(ULO*opc_data) +static void CMP_B010(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); cpuCmpB(dst, src); cpuSetInstructionTime(8); } -static void CMP_B018(ULO*opc_data) +static void CMP_B018(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint8_t dst = cpuGetDRegByte(opc_data[1]); cpuCmpB(dst, src); cpuSetInstructionTime(8); } -static void CMP_B020(ULO*opc_data) +static void CMP_B020(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint8_t dst = cpuGetDRegByte(opc_data[1]); cpuCmpB(dst, src); cpuSetInstructionTime(10); } -static void CMP_B028(ULO*opc_data) +static void CMP_B028(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); cpuCmpB(dst, src); cpuSetInstructionTime(12); } -static void CMP_B030(ULO*opc_data) +static void CMP_B030(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint8_t dst = cpuGetDRegByte(opc_data[1]); cpuCmpB(dst, src); cpuSetInstructionTime(14); } -static void CMP_B038(ULO*opc_data) +static void CMP_B038(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA70()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); cpuCmpB(dst, src); cpuSetInstructionTime(12); } -static void CMP_B039(ULO*opc_data) +static void CMP_B039(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA71()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); cpuCmpB(dst, src); cpuSetInstructionTime(16); } -static void CMP_B03A(ULO*opc_data) +static void CMP_B03A(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA72()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); cpuCmpB(dst, src); cpuSetInstructionTime(12); } -static void CMP_B03B(ULO*opc_data) +static void CMP_B03B(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA73()); + uint8_t dst = cpuGetDRegByte(opc_data[1]); cpuCmpB(dst, src); cpuSetInstructionTime(14); } -static void CMP_B03C(ULO*opc_data) +static void CMP_B03C(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint8_t dst = cpuGetDRegByte(opc_data[1]); cpuCmpB(dst, src); cpuSetInstructionTime(8); } -static void CMP_B040(ULO*opc_data) +static void CMP_B040(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(4); } -static void CMP_B048(ULO*opc_data) +static void CMP_B048(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetARegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(4); } -static void CMP_B050(ULO*opc_data) +static void CMP_B050(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(8); } -static void CMP_B058(ULO*opc_data) +static void CMP_B058(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(8); } -static void CMP_B060(ULO*opc_data) +static void CMP_B060(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(10); } -static void CMP_B068(ULO*opc_data) +static void CMP_B068(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(12); } -static void CMP_B070(ULO*opc_data) +static void CMP_B070(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(14); } -static void CMP_B078(ULO*opc_data) +static void CMP_B078(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA70()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(12); } -static void CMP_B079(ULO*opc_data) +static void CMP_B079(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA71()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(16); } -static void CMP_B07A(ULO*opc_data) +static void CMP_B07A(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA72()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(12); } -static void CMP_B07B(ULO*opc_data) +static void CMP_B07B(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA73()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(14); } -static void CMP_B07C(ULO*opc_data) +static void CMP_B07C(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[1]); cpuCmpW(dst, src); cpuSetInstructionTime(8); } -static void CMP_B080(ULO*opc_data) +static void CMP_B080(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(6); } -static void CMP_B088(ULO*opc_data) +static void CMP_B088(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(6); } -static void CMP_B090(ULO*opc_data) +static void CMP_B090(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(14); } -static void CMP_B098(ULO*opc_data) +static void CMP_B098(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(14); } -static void CMP_B0A0(ULO*opc_data) +static void CMP_B0A0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(16); } -static void CMP_B0A8(ULO*opc_data) +static void CMP_B0A8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(18); } -static void CMP_B0B0(ULO*opc_data) +static void CMP_B0B0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(20); } -static void CMP_B0B8(ULO*opc_data) +static void CMP_B0B8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(18); } -static void CMP_B0B9(ULO*opc_data) +static void CMP_B0B9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(22); } -static void CMP_B0BA(ULO*opc_data) +static void CMP_B0BA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(18); } -static void CMP_B0BB(ULO*opc_data) +static void CMP_B0BB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(20); } -static void CMP_B0BC(ULO*opc_data) +static void CMP_B0BC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(14); } -static void CMPA_B0C0(ULO*opc_data) +static void CMPA_B0C0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)cpuGetDRegWord(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)cpuGetDRegWord(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(6); } -static void CMPA_B0C8(ULO*opc_data) +static void CMPA_B0C8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)cpuGetARegWord(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)cpuGetARegWord(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(6); } -static void CMPA_B0D0(ULO*opc_data) +static void CMPA_B0D0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA02(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(10); } -static void CMPA_B0D8(ULO*opc_data) +static void CMPA_B0D8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(10); } -static void CMPA_B0E0(ULO*opc_data) +static void CMPA_B0E0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(12); } -static void CMPA_B0E8(ULO*opc_data) +static void CMPA_B0E8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA05(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(14); } -static void CMPA_B0F0(ULO*opc_data) +static void CMPA_B0F0(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA06(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(16); } -static void CMPA_B0F8(ULO*opc_data) +static void CMPA_B0F8(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA70()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA70()); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(14); } -static void CMPA_B0F9(ULO*opc_data) +static void CMPA_B0F9(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA71()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA71()); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(18); } -static void CMPA_B0FA(ULO*opc_data) +static void CMPA_B0FA(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA72()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA72()); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(14); } -static void CMPA_B0FB(ULO*opc_data) +static void CMPA_B0FB(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)memoryReadWord(cpuEA73()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)memoryReadWord(cpuEA73()); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(16); } -static void CMPA_B0FC(ULO*opc_data) +static void CMPA_B0FC(uint32_t*opc_data) { - ULO src = (ULO)(LON)(WOR)cpuGetNextWord(); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = (uint32_t)(int32_t)(int16_t)cpuGetNextWord(); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(10); } -static void CMPA_B1C0(ULO*opc_data) +static void CMPA_B1C0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(6); } -static void CMPA_B1C8(ULO*opc_data) +static void CMPA_B1C8(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(6); } -static void CMPA_B1D0(ULO*opc_data) +static void CMPA_B1D0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(14); } -static void CMPA_B1D8(ULO*opc_data) +static void CMPA_B1D8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(14); } -static void CMPA_B1E0(ULO*opc_data) +static void CMPA_B1E0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(16); } -static void CMPA_B1E8(ULO*opc_data) +static void CMPA_B1E8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(18); } -static void CMPA_B1F0(ULO*opc_data) +static void CMPA_B1F0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(20); } -static void CMPA_B1F8(ULO*opc_data) +static void CMPA_B1F8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(18); } -static void CMPA_B1F9(ULO*opc_data) +static void CMPA_B1F9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(22); } -static void CMPA_B1FA(ULO*opc_data) +static void CMPA_B1FA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(18); } -static void CMPA_B1FB(ULO*opc_data) +static void CMPA_B1FB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(20); } -static void CMPA_B1FC(ULO*opc_data) +static void CMPA_B1FC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetAReg(opc_data[1]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetAReg(opc_data[1]); cpuCmpL(dst, src); cpuSetInstructionTime(14); } -static void CMPI_0C00(ULO*opc_data) +static void CMPI_0C00(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint8_t dst = cpuGetDRegByte(opc_data[0]); cpuCmpB(dst, src); cpuSetInstructionTime(8); } -static void CMPI_0C10(ULO*opc_data) +static void CMPI_0C10(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuCmpB(dst, src); cpuSetInstructionTime(12); } -static void CMPI_0C18(ULO*opc_data) +static void CMPI_0C18(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); cpuCmpB(dst, src); cpuSetInstructionTime(12); } -static void CMPI_0C20(ULO*opc_data) +static void CMPI_0C20(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); cpuCmpB(dst, src); cpuSetInstructionTime(14); } -static void CMPI_0C28(ULO*opc_data) +static void CMPI_0C28(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuCmpB(dst, src); cpuSetInstructionTime(16); } -static void CMPI_0C30(ULO*opc_data) +static void CMPI_0C30(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuCmpB(dst, src); cpuSetInstructionTime(18); } -static void CMPI_0C38(ULO*opc_data) +static void CMPI_0C38(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); cpuCmpB(dst, src); cpuSetInstructionTime(16); } -static void CMPI_0C39(ULO*opc_data) +static void CMPI_0C39(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); cpuCmpB(dst, src); cpuSetInstructionTime(20); } -static void CMPI_0C40(ULO*opc_data) +static void CMPI_0C40(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[0]); cpuCmpW(dst, src); cpuSetInstructionTime(8); } -static void CMPI_0C50(ULO*opc_data) +static void CMPI_0C50(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); cpuCmpW(dst, src); cpuSetInstructionTime(12); } -static void CMPI_0C58(ULO*opc_data) +static void CMPI_0C58(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); cpuCmpW(dst, src); cpuSetInstructionTime(12); } -static void CMPI_0C60(ULO*opc_data) +static void CMPI_0C60(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); cpuCmpW(dst, src); cpuSetInstructionTime(14); } -static void CMPI_0C68(ULO*opc_data) +static void CMPI_0C68(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); cpuCmpW(dst, src); cpuSetInstructionTime(16); } -static void CMPI_0C70(ULO*opc_data) +static void CMPI_0C70(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); cpuCmpW(dst, src); cpuSetInstructionTime(18); } -static void CMPI_0C78(ULO*opc_data) +static void CMPI_0C78(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); cpuCmpW(dst, src); cpuSetInstructionTime(16); } -static void CMPI_0C79(ULO*opc_data) +static void CMPI_0C79(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); cpuCmpW(dst, src); cpuSetInstructionTime(20); } -static void CMPI_0C80(ULO*opc_data) +static void CMPI_0C80(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetNextLong(); + uint32_t dst = cpuGetDReg(opc_data[0]); cpuCmpL(dst, src); cpuSetInstructionTime(14); } -static void CMPI_0C90(ULO*opc_data) +static void CMPI_0C90(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); cpuCmpL(dst, src); cpuSetInstructionTime(20); } -static void CMPI_0C98(ULO*opc_data) +static void CMPI_0C98(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); cpuCmpL(dst, src); cpuSetInstructionTime(20); } -static void CMPI_0CA0(ULO*opc_data) +static void CMPI_0CA0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); cpuCmpL(dst, src); cpuSetInstructionTime(22); } -static void CMPI_0CA8(ULO*opc_data) +static void CMPI_0CA8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); cpuCmpL(dst, src); cpuSetInstructionTime(24); } -static void CMPI_0CB0(ULO*opc_data) +static void CMPI_0CB0(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); cpuCmpL(dst, src); cpuSetInstructionTime(26); } -static void CMPI_0CB8(ULO*opc_data) +static void CMPI_0CB8(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); cpuCmpL(dst, src); cpuSetInstructionTime(24); } -static void CMPI_0CB9(ULO*opc_data) +static void CMPI_0CB9(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); cpuCmpL(dst, src); cpuSetInstructionTime(28); } -static void CMPI_0C3A(ULO*opc_data) +static void CMPI_0C3A(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA72(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA72(); + uint8_t dst = memoryReadByte(dstea); cpuCmpB(dst, src); cpuSetInstructionTime(16); } -static void CMPI_0C3B(ULO*opc_data) +static void CMPI_0C3B(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA73(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA73(); + uint8_t dst = memoryReadByte(dstea); cpuCmpB(dst, src); cpuSetInstructionTime(18); } -static void CMPI_0C7A(ULO*opc_data) +static void CMPI_0C7A(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA72(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA72(); + uint16_t dst = memoryReadWord(dstea); cpuCmpW(dst, src); cpuSetInstructionTime(16); } -static void CMPI_0C7B(ULO*opc_data) +static void CMPI_0C7B(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA73(); - UWO dst = memoryReadWord(dstea); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA73(); + uint16_t dst = memoryReadWord(dstea); cpuCmpW(dst, src); cpuSetInstructionTime(18); } -static void CMPI_0CBA(ULO*opc_data) +static void CMPI_0CBA(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA72(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA72(); + uint32_t dst = memoryReadLong(dstea); cpuCmpL(dst, src); cpuSetInstructionTime(24); } -static void CMPI_0CBB(ULO*opc_data) +static void CMPI_0CBB(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA73(); - ULO dst = memoryReadLong(dstea); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA73(); + uint32_t dst = memoryReadLong(dstea); cpuCmpL(dst, src); cpuSetInstructionTime(26); } -static void BCHG_0150(ULO*opc_data) +static void BCHG_0150(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); - dst = cpuBchgB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(10); -} -static void BCHG_0158(ULO*opc_data) -{ - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); - dst = cpuBchgB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(10); -} -static void BCHG_0160(ULO*opc_data) -{ - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuBchgB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void BCHG_0168(ULO*opc_data) +static void BCHG_0158(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBchgB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(12); +} +static void BCHG_0160(uint32_t*opc_data) +{ + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuBchgB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void BCHG_0170(ULO*opc_data) +static void BCHG_0168(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuBchgB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void BCHG_0178(ULO*opc_data) +static void BCHG_0170(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); - dst = cpuBchgB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(14); -} -static void BCHG_0179(ULO*opc_data) -{ - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuBchgB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void BCHG_0140(ULO*opc_data) +static void BCHG_0178(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dst = cpuGetDReg(opc_data[0]); - dst = cpuBchgL(dst, src); - cpuSetDReg(opc_data[0], dst); - cpuSetInstructionTime(10 + ((src >= 16) ? 2 : 0)); -} -static void BCHG_0850(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); - dst = cpuBchgB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(12); -} -static void BCHG_0858(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); - dst = cpuBchgB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(12); -} -static void BCHG_0860(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); - dst = cpuBchgB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(14); -} -static void BCHG_0868(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuBchgB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void BCHG_0870(ULO*opc_data) +static void BCHG_0179(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); - dst = cpuBchgB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(18); -} -static void BCHG_0878(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); - dst = cpuBchgB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(16); -} -static void BCHG_0879(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuBchgB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void BCHG_0840(ULO*opc_data) +static void BCHG_0140(uint32_t*opc_data) { - ULO src = (ULO)cpuGetNextWord(); - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuBchgL(dst, src); cpuSetDReg(opc_data[0], dst); - cpuSetInstructionTime(12); + cpuSetInstructionTime(6 + ((src >= 16) ? 2 : 0)); } -static void BCLR_0190(ULO*opc_data) +static void BCHG_0850(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBchgB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(16); +} +static void BCHG_0858(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBchgB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(16); +} +static void BCHG_0860(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBchgB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(18); +} +static void BCHG_0868(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBchgB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(20); +} +static void BCHG_0870(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBchgB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(22); +} +static void BCHG_0878(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBchgB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(20); +} +static void BCHG_0879(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBchgB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(24); +} +static void BCHG_0840(uint32_t*opc_data) +{ + uint32_t src = (uint32_t)cpuGetNextWord(); + uint32_t dst = cpuGetDReg(opc_data[0]); + dst = cpuBchgL(dst, src); + cpuSetDReg(opc_data[0], dst); + cpuSetInstructionTime(10); +} +static void BCLR_0190(uint32_t*opc_data) +{ + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuBclrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void BCLR_0198(ULO*opc_data) +static void BCLR_0198(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuBclrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void BCLR_01A0(ULO*opc_data) +static void BCLR_01A0(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuBclrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void BCLR_01A8(ULO*opc_data) +static void BCLR_01A8(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuBclrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void BCLR_01B0(ULO*opc_data) +static void BCLR_01B0(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuBclrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void BCLR_01B8(ULO*opc_data) +static void BCLR_01B8(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuBclrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void BCLR_01B9(ULO*opc_data) +static void BCLR_01B9(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuBclrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void BCLR_0180(ULO*opc_data) +static void BCLR_0180(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuBclrL(dst, src); cpuSetDReg(opc_data[0], dst); - cpuSetInstructionTime(12 + ((src >= 16) ? 2 : 0)); + cpuSetInstructionTime(8 + ((src >= 16) ? 2 : 0)); } -static void BCLR_0890(ULO*opc_data) +static void BCLR_0890(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); - dst = cpuBclrB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(12); -} -static void BCLR_0898(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); - dst = cpuBclrB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(12); -} -static void BCLR_08A0(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); - dst = cpuBclrB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(14); -} -static void BCLR_08A8(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuBclrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void BCLR_08B0(ULO*opc_data) +static void BCLR_0898(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBclrB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(16); +} +static void BCLR_08A0(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuBclrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void BCLR_08B8(ULO*opc_data) +static void BCLR_08A8(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); - dst = cpuBclrB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(16); -} -static void BCLR_08B9(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuBclrB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void BCLR_0880(ULO*opc_data) +static void BCLR_08B0(uint32_t*opc_data) { - ULO src = (ULO)cpuGetNextWord(); - ULO dst = cpuGetDReg(opc_data[0]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBclrB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(22); +} +static void BCLR_08B8(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBclrB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(20); +} +static void BCLR_08B9(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBclrB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(24); +} +static void BCLR_0880(uint32_t*opc_data) +{ + uint32_t src = (uint32_t)cpuGetNextWord(); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuBclrL(dst, src); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(12); } -static void BSET_01D0(ULO*opc_data) +static void BSET_01D0(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); - dst = cpuBsetB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(10); -} -static void BSET_01D8(ULO*opc_data) -{ - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); - dst = cpuBsetB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(10); -} -static void BSET_01E0(ULO*opc_data) -{ - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuBsetB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void BSET_01E8(ULO*opc_data) +static void BSET_01D8(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBsetB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(12); +} +static void BSET_01E0(uint32_t*opc_data) +{ + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuBsetB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void BSET_01F0(ULO*opc_data) +static void BSET_01E8(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuBsetB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void BSET_01F8(ULO*opc_data) +static void BSET_01F0(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); - dst = cpuBsetB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(14); -} -static void BSET_01F9(ULO*opc_data) -{ - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuBsetB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void BSET_01C0(ULO*opc_data) +static void BSET_01F8(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dst = cpuGetDReg(opc_data[0]); - dst = cpuBsetL(dst, src); - cpuSetDReg(opc_data[0], dst); - cpuSetInstructionTime(10 + ((src >= 16) ? 2 : 0)); -} -static void BSET_08D0(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); - dst = cpuBsetB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(12); -} -static void BSET_08D8(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); - dst = cpuBsetB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(12); -} -static void BSET_08E0(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); - dst = cpuBsetB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(14); -} -static void BSET_08E8(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuBsetB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void BSET_08F0(ULO*opc_data) +static void BSET_01F9(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); - dst = cpuBsetB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(18); -} -static void BSET_08F8(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); - dst = cpuBsetB(dst, src); - memoryWriteByte(dst, dstea); - cpuSetInstructionTime(16); -} -static void BSET_08F9(ULO*opc_data) -{ - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuBsetB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void BSET_08C0(ULO*opc_data) +static void BSET_01C0(uint32_t*opc_data) { - ULO src = (ULO)cpuGetNextWord(); - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuBsetL(dst, src); cpuSetDReg(opc_data[0], dst); - cpuSetInstructionTime(12); + cpuSetInstructionTime(6 + ((src >= 16) ? 2 : 0)); } -static void BTST_0110(ULO*opc_data) +static void BSET_08D0(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBsetB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(16); +} +static void BSET_08D8(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBsetB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(16); +} +static void BSET_08E0(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBsetB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(18); +} +static void BSET_08E8(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBsetB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(20); +} +static void BSET_08F0(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBsetB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(22); +} +static void BSET_08F8(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBsetB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(20); +} +static void BSET_08F9(uint32_t*opc_data) +{ + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); + dst = cpuBsetB(dst, src); + memoryWriteByte(dst, dstea); + cpuSetInstructionTime(24); +} +static void BSET_08C0(uint32_t*opc_data) +{ + uint32_t src = (uint32_t)cpuGetNextWord(); + uint32_t dst = cpuGetDReg(opc_data[0]); + dst = cpuBsetL(dst, src); + cpuSetDReg(opc_data[0], dst); + cpuSetInstructionTime(10); +} +static void BTST_0110(uint32_t*opc_data) +{ + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(8); } -static void BTST_0118(ULO*opc_data) +static void BTST_0118(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(8); } -static void BTST_0120(ULO*opc_data) +static void BTST_0120(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(10); } -static void BTST_0128(ULO*opc_data) +static void BTST_0128(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(12); } -static void BTST_0130(ULO*opc_data) +static void BTST_0130(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(14); } -static void BTST_0138(ULO*opc_data) +static void BTST_0138(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(12); } -static void BTST_0139(ULO*opc_data) +static void BTST_0139(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(16); } -static void BTST_013A(ULO*opc_data) +static void BTST_013A(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA72(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA72(); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(12); } -static void BTST_013B(ULO*opc_data) +static void BTST_013B(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - ULO dstea = cpuEA73(); - UBY dst = memoryReadByte(dstea); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint32_t dstea = cpuEA73(); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(14); } -static void BTST_013C(ULO*opc_data) +static void BTST_013C(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[1]); - UBY dst = (UBY)cpuGetNextWord(); + uint8_t src = cpuGetDRegByte(opc_data[1]); + uint8_t dst = (uint8_t)cpuGetNextWord(); cpuBtstB(dst, src); cpuSetInstructionTime(8); } -static void BTST_0100(ULO*opc_data) +static void BTST_0100(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[1]); - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetDReg(opc_data[1]); + uint32_t dst = cpuGetDReg(opc_data[0]); cpuBtstL(dst, src); cpuSetInstructionTime(6); } -static void BTST_0810(ULO*opc_data) +static void BTST_0810(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(12); } -static void BTST_0818(ULO*opc_data) +static void BTST_0818(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(12); } -static void BTST_0820(ULO*opc_data) +static void BTST_0820(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(14); } -static void BTST_0828(ULO*opc_data) +static void BTST_0828(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(16); } -static void BTST_0830(ULO*opc_data) +static void BTST_0830(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(18); } -static void BTST_0838(ULO*opc_data) +static void BTST_0838(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(16); } -static void BTST_0839(ULO*opc_data) +static void BTST_0839(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(20); } -static void BTST_083A(ULO*opc_data) +static void BTST_083A(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA72(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA72(); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(16); } -static void BTST_083B(ULO*opc_data) +static void BTST_083B(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA73(); - UBY dst = memoryReadByte(dstea); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA73(); + uint8_t dst = memoryReadByte(dstea); cpuBtstB(dst, src); cpuSetInstructionTime(18); } -static void BTST_0800(ULO*opc_data) +static void BTST_0800(uint32_t*opc_data) { - ULO src = (ULO)cpuGetNextWord(); - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t src = (uint32_t)cpuGetNextWord(); + uint32_t dst = cpuGetDReg(opc_data[0]); cpuBtstL(dst, src); cpuSetInstructionTime(10); } -static void LEA_41D0(ULO*opc_data) +static void LEA_41D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); + uint32_t dstea = cpuEA02(opc_data[0]); cpuSetAReg(opc_data[1], dstea); cpuSetInstructionTime(4); } -static void LEA_41E8(ULO*opc_data) +static void LEA_41E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); + uint32_t dstea = cpuEA05(opc_data[0]); cpuSetAReg(opc_data[1], dstea); cpuSetInstructionTime(8); } -static void LEA_41F0(ULO*opc_data) +static void LEA_41F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); + uint32_t dstea = cpuEA06(opc_data[0]); cpuSetAReg(opc_data[1], dstea); cpuSetInstructionTime(12); } -static void LEA_41F8(ULO*opc_data) +static void LEA_41F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); + uint32_t dstea = cpuEA70(); cpuSetAReg(opc_data[1], dstea); cpuSetInstructionTime(8); } -static void LEA_41F9(ULO*opc_data) +static void LEA_41F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); + uint32_t dstea = cpuEA71(); cpuSetAReg(opc_data[1], dstea); cpuSetInstructionTime(12); } -static void LEA_41FA(ULO*opc_data) +static void LEA_41FA(uint32_t*opc_data) { - ULO dstea = cpuEA72(); + uint32_t dstea = cpuEA72(); cpuSetAReg(opc_data[1], dstea); cpuSetInstructionTime(8); } -static void LEA_41FB(ULO*opc_data) +static void LEA_41FB(uint32_t*opc_data) { - ULO dstea = cpuEA73(); + uint32_t dstea = cpuEA73(); cpuSetAReg(opc_data[1], dstea); cpuSetInstructionTime(12); } -static void MULS_C1C0(ULO*opc_data) +static void MULS_C1C0(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMulsW(dst, src, 0); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMulsW(dst, src, 0); cpuSetDReg(opc_data[1], res); } -static void MULS_C1D0(ULO*opc_data) +static void MULS_C1D0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMulsW(dst, src, 4); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMulsW(dst, src, 4); cpuSetDReg(opc_data[1], res); } -static void MULS_C1D8(ULO*opc_data) +static void MULS_C1D8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMulsW(dst, src, 4); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMulsW(dst, src, 4); cpuSetDReg(opc_data[1], res); } -static void MULS_C1E0(ULO*opc_data) +static void MULS_C1E0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMulsW(dst, src, 6); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMulsW(dst, src, 6); cpuSetDReg(opc_data[1], res); } -static void MULS_C1E8(ULO*opc_data) +static void MULS_C1E8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMulsW(dst, src, 8); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMulsW(dst, src, 8); cpuSetDReg(opc_data[1], res); } -static void MULS_C1F0(ULO*opc_data) +static void MULS_C1F0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMulsW(dst, src, 10); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMulsW(dst, src, 10); cpuSetDReg(opc_data[1], res); } -static void MULS_C1F8(ULO*opc_data) +static void MULS_C1F8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMulsW(dst, src, 8); + uint16_t src = memoryReadWord(cpuEA70()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMulsW(dst, src, 8); cpuSetDReg(opc_data[1], res); } -static void MULS_C1F9(ULO*opc_data) +static void MULS_C1F9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMulsW(dst, src, 12); + uint16_t src = memoryReadWord(cpuEA71()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMulsW(dst, src, 12); cpuSetDReg(opc_data[1], res); } -static void MULS_C1FA(ULO*opc_data) +static void MULS_C1FA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMulsW(dst, src, 8); + uint16_t src = memoryReadWord(cpuEA72()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMulsW(dst, src, 8); cpuSetDReg(opc_data[1], res); } -static void MULS_C1FB(ULO*opc_data) +static void MULS_C1FB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMulsW(dst, src, 10); + uint16_t src = memoryReadWord(cpuEA73()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMulsW(dst, src, 10); cpuSetDReg(opc_data[1], res); } -static void MULS_C1FC(ULO*opc_data) +static void MULS_C1FC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMulsW(dst, src, 4); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMulsW(dst, src, 4); cpuSetDReg(opc_data[1], res); } -static void MULU_C0C0(ULO*opc_data) +static void MULU_C0C0(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMuluW(dst, src, 0); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMuluW(dst, src, 0); cpuSetDReg(opc_data[1], res); } -static void MULU_C0D0(ULO*opc_data) +static void MULU_C0D0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMuluW(dst, src, 4); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMuluW(dst, src, 4); cpuSetDReg(opc_data[1], res); } -static void MULU_C0D8(ULO*opc_data) +static void MULU_C0D8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMuluW(dst, src, 4); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMuluW(dst, src, 4); cpuSetDReg(opc_data[1], res); } -static void MULU_C0E0(ULO*opc_data) +static void MULU_C0E0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMuluW(dst, src, 6); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMuluW(dst, src, 6); cpuSetDReg(opc_data[1], res); } -static void MULU_C0E8(ULO*opc_data) +static void MULU_C0E8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMuluW(dst, src, 8); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMuluW(dst, src, 8); cpuSetDReg(opc_data[1], res); } -static void MULU_C0F0(ULO*opc_data) +static void MULU_C0F0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMuluW(dst, src, 10); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMuluW(dst, src, 10); cpuSetDReg(opc_data[1], res); } -static void MULU_C0F8(ULO*opc_data) +static void MULU_C0F8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMuluW(dst, src, 8); + uint16_t src = memoryReadWord(cpuEA70()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMuluW(dst, src, 8); cpuSetDReg(opc_data[1], res); } -static void MULU_C0F9(ULO*opc_data) +static void MULU_C0F9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMuluW(dst, src, 12); + uint16_t src = memoryReadWord(cpuEA71()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMuluW(dst, src, 12); cpuSetDReg(opc_data[1], res); } -static void MULU_C0FA(ULO*opc_data) +static void MULU_C0FA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMuluW(dst, src, 8); + uint16_t src = memoryReadWord(cpuEA72()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMuluW(dst, src, 8); cpuSetDReg(opc_data[1], res); } -static void MULU_C0FB(ULO*opc_data) +static void MULU_C0FB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMuluW(dst, src, 10); + uint16_t src = memoryReadWord(cpuEA73()); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMuluW(dst, src, 10); cpuSetDReg(opc_data[1], res); } -static void MULU_C0FC(ULO*opc_data) +static void MULU_C0FC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - UWO dst = cpuGetDRegWord(opc_data[1]); - ULO res = cpuMuluW(dst, src, 4); + uint16_t src = cpuGetNextWord(); + uint16_t dst = cpuGetDRegWord(opc_data[1]); + uint32_t res = cpuMuluW(dst, src, 4); cpuSetDReg(opc_data[1], res); } -static void DIVS_81C0(ULO*opc_data) +static void DIVS_81C0(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivsW(dst, src, opc_data[1], opc_data[2]); } -static void DIVS_81D0(ULO*opc_data) +static void DIVS_81D0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivsW(dst, src, opc_data[1], opc_data[2]); } -static void DIVS_81D8(ULO*opc_data) +static void DIVS_81D8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivsW(dst, src, opc_data[1], opc_data[2]); } -static void DIVS_81E0(ULO*opc_data) +static void DIVS_81E0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivsW(dst, src, opc_data[1], opc_data[2]); } -static void DIVS_81E8(ULO*opc_data) +static void DIVS_81E8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivsW(dst, src, opc_data[1], opc_data[2]); } -static void DIVS_81F0(ULO*opc_data) +static void DIVS_81F0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivsW(dst, src, opc_data[1], opc_data[2]); } -static void DIVS_81F8(ULO*opc_data) +static void DIVS_81F8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA70()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivsW(dst, src, opc_data[1], opc_data[2]); } -static void DIVS_81F9(ULO*opc_data) +static void DIVS_81F9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA71()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivsW(dst, src, opc_data[1], opc_data[2]); } -static void DIVS_81FA(ULO*opc_data) +static void DIVS_81FA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA72()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivsW(dst, src, opc_data[1], opc_data[2]); } -static void DIVS_81FB(ULO*opc_data) +static void DIVS_81FB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA73()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivsW(dst, src, opc_data[1], opc_data[2]); } -static void DIVS_81FC(ULO*opc_data) +static void DIVS_81FC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = cpuGetNextWord(); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivsW(dst, src, opc_data[1], opc_data[2]); } -static void DIVL_4C40(ULO*opc_data) +static void DIVL_4C40(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = cpuGetDReg(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t src = cpuGetDReg(opc_data[0]); cpuDivL(src, ext, opc_data[2]); } -static void DIVL_4C50(ULO*opc_data) +static void DIVL_4C50(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA02(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); cpuDivL(src, ext, opc_data[2]); } -static void DIVL_4C58(ULO*opc_data) +static void DIVL_4C58(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); cpuDivL(src, ext, opc_data[2]); } -static void DIVL_4C60(ULO*opc_data) +static void DIVL_4C60(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); cpuDivL(src, ext, opc_data[2]); } -static void DIVL_4C68(ULO*opc_data) +static void DIVL_4C68(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA05(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); cpuDivL(src, ext, opc_data[2]); } -static void DIVL_4C70(ULO*opc_data) +static void DIVL_4C70(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA06(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); cpuDivL(src, ext, opc_data[2]); } -static void DIVL_4C78(ULO*opc_data) +static void DIVL_4C78(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA70()); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA70()); cpuDivL(src, ext, opc_data[2]); } -static void DIVL_4C79(ULO*opc_data) +static void DIVL_4C79(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA71()); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA71()); cpuDivL(src, ext, opc_data[2]); } -static void DIVL_4C7A(ULO*opc_data) +static void DIVL_4C7A(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA72()); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA72()); cpuDivL(src, ext, opc_data[2]); } -static void DIVL_4C7B(ULO*opc_data) +static void DIVL_4C7B(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA73()); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA73()); cpuDivL(src, ext, opc_data[2]); } -static void DIVL_4C7C(ULO*opc_data) +static void DIVL_4C7C(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = cpuGetNextLong(); + uint16_t ext = cpuGetNextWord(); + uint32_t src = cpuGetNextLong(); cpuDivL(src, ext, opc_data[2]); } -static void DIVU_80C0(ULO*opc_data) +static void DIVU_80C0(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivuW(dst, src, opc_data[1], opc_data[2]); } -static void DIVU_80D0(ULO*opc_data) +static void DIVU_80D0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivuW(dst, src, opc_data[1], opc_data[2]); } -static void DIVU_80D8(ULO*opc_data) +static void DIVU_80D8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivuW(dst, src, opc_data[1], opc_data[2]); } -static void DIVU_80E0(ULO*opc_data) +static void DIVU_80E0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivuW(dst, src, opc_data[1], opc_data[2]); } -static void DIVU_80E8(ULO*opc_data) +static void DIVU_80E8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivuW(dst, src, opc_data[1], opc_data[2]); } -static void DIVU_80F0(ULO*opc_data) +static void DIVU_80F0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivuW(dst, src, opc_data[1], opc_data[2]); } -static void DIVU_80F8(ULO*opc_data) +static void DIVU_80F8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA70()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivuW(dst, src, opc_data[1], opc_data[2]); } -static void DIVU_80F9(ULO*opc_data) +static void DIVU_80F9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA71()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivuW(dst, src, opc_data[1], opc_data[2]); } -static void DIVU_80FA(ULO*opc_data) +static void DIVU_80FA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA72()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivuW(dst, src, opc_data[1], opc_data[2]); } -static void DIVU_80FB(ULO*opc_data) +static void DIVU_80FB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA73()); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivuW(dst, src, opc_data[1], opc_data[2]); } -static void DIVU_80FC(ULO*opc_data) +static void DIVU_80FC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dst = cpuGetDReg(opc_data[1]); + uint16_t src = cpuGetNextWord(); + uint32_t dst = cpuGetDReg(opc_data[1]); cpuDivuW(dst, src, opc_data[1], opc_data[2]); } -static void MOVEM_48A0(ULO*opc_data) +static void MOVEM_48A0(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); + uint16_t regs = cpuGetNextWord(); cpuMovemwPre(regs, opc_data[0]); } -static void MOVEM_48E0(ULO*opc_data) +static void MOVEM_48E0(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); + uint16_t regs = cpuGetNextWord(); cpuMovemlPre(regs, opc_data[0]); } -static void MOVEM_4C98(ULO*opc_data) +static void MOVEM_4C98(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); + uint16_t regs = cpuGetNextWord(); cpuMovemwPost(regs, opc_data[0]); } -static void MOVEM_4CD8(ULO*opc_data) +static void MOVEM_4CD8(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); + uint16_t regs = cpuGetNextWord(); cpuMovemlPost(regs, opc_data[0]); } -static void MOVEM_4890(ULO*opc_data) +static void MOVEM_4890(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuMovemwR2Ea(regs, dstea, opc_data[1]); } -static void MOVEM_48A8(ULO*opc_data) +static void MOVEM_48A8(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuMovemwR2Ea(regs, dstea, opc_data[1]); } -static void MOVEM_48B0(ULO*opc_data) +static void MOVEM_48B0(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuMovemwR2Ea(regs, dstea, opc_data[1]); } -static void MOVEM_48B8(ULO*opc_data) +static void MOVEM_48B8(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuMovemwR2Ea(regs, dstea, opc_data[1]); } -static void MOVEM_48B9(ULO*opc_data) +static void MOVEM_48B9(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuMovemwR2Ea(regs, dstea, opc_data[1]); } -static void MOVEM_48D0(ULO*opc_data) +static void MOVEM_48D0(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuMovemlR2Ea(regs, dstea, opc_data[1]); } -static void MOVEM_48E8(ULO*opc_data) +static void MOVEM_48E8(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuMovemlR2Ea(regs, dstea, opc_data[1]); } -static void MOVEM_48F0(ULO*opc_data) +static void MOVEM_48F0(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuMovemlR2Ea(regs, dstea, opc_data[1]); } -static void MOVEM_48F8(ULO*opc_data) +static void MOVEM_48F8(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuMovemlR2Ea(regs, dstea, opc_data[1]); } -static void MOVEM_48F9(ULO*opc_data) +static void MOVEM_48F9(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuMovemlR2Ea(regs, dstea, opc_data[1]); } -static void MOVEM_4C90(ULO*opc_data) +static void MOVEM_4C90(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuMovemwEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CA8(ULO*opc_data) +static void MOVEM_4CA8(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuMovemwEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CB0(ULO*opc_data) +static void MOVEM_4CB0(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuMovemwEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CB8(ULO*opc_data) +static void MOVEM_4CB8(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuMovemwEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CB9(ULO*opc_data) +static void MOVEM_4CB9(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuMovemwEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CBA(ULO*opc_data) +static void MOVEM_4CBA(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA72(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA72(); cpuMovemwEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CBB(ULO*opc_data) +static void MOVEM_4CBB(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA73(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA73(); cpuMovemwEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CD0(ULO*opc_data) +static void MOVEM_4CD0(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuMovemlEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CE8(ULO*opc_data) +static void MOVEM_4CE8(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuMovemlEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CF0(ULO*opc_data) +static void MOVEM_4CF0(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuMovemlEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CF8(ULO*opc_data) +static void MOVEM_4CF8(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuMovemlEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CF9(ULO*opc_data) +static void MOVEM_4CF9(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuMovemlEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CFA(ULO*opc_data) +static void MOVEM_4CFA(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA72(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA72(); cpuMovemlEa2R(regs, dstea, opc_data[1]); } -static void MOVEM_4CFB(ULO*opc_data) +static void MOVEM_4CFB(uint32_t*opc_data) { - UWO regs = cpuGetNextWord(); - ULO dstea = cpuEA73(); + uint16_t regs = cpuGetNextWord(); + uint32_t dstea = cpuEA73(); cpuMovemlEa2R(regs, dstea, opc_data[1]); } -static void CLR_4200(ULO*opc_data) +static void CLR_4200(uint32_t*opc_data) { - UBY dst = 0; + const uint8_t dst = 0; cpuClr(); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(4); } -static void CLR_4210(ULO*opc_data) +static void CLR_4210(uint32_t*opc_data) { - UBY dst = 0; - ULO dstea = cpuEA02(opc_data[0]); + const uint8_t dst = 0; + uint32_t dstea = cpuEA02(opc_data[0]); + memoryReadByte(dstea); cpuClr(); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void CLR_4218(ULO*opc_data) +static void CLR_4218(uint32_t*opc_data) { - UBY dst = 0; - ULO dstea = cpuEA03(opc_data[0], 1); + const uint8_t dst = 0; + uint32_t dstea = cpuEA03(opc_data[0], 1); + memoryReadByte(dstea); cpuClr(); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void CLR_4220(ULO*opc_data) +static void CLR_4220(uint32_t*opc_data) { - UBY dst = 0; - ULO dstea = cpuEA04(opc_data[0], 1); + const uint8_t dst = 0; + uint32_t dstea = cpuEA04(opc_data[0], 1); + memoryReadByte(dstea); cpuClr(); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void CLR_4228(ULO*opc_data) +static void CLR_4228(uint32_t*opc_data) { - UBY dst = 0; - ULO dstea = cpuEA05(opc_data[0]); + const uint8_t dst = 0; + uint32_t dstea = cpuEA05(opc_data[0]); + memoryReadByte(dstea); cpuClr(); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void CLR_4230(ULO*opc_data) +static void CLR_4230(uint32_t*opc_data) { - UBY dst = 0; - ULO dstea = cpuEA06(opc_data[0]); + const uint8_t dst = 0; + uint32_t dstea = cpuEA06(opc_data[0]); + memoryReadByte(dstea); cpuClr(); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void CLR_4238(ULO*opc_data) +static void CLR_4238(uint32_t*opc_data) { - UBY dst = 0; - ULO dstea = cpuEA70(); + const uint8_t dst = 0; + uint32_t dstea = cpuEA70(); + memoryReadByte(dstea); cpuClr(); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void CLR_4239(ULO*opc_data) +static void CLR_4239(uint32_t*opc_data) { - UBY dst = 0; - ULO dstea = cpuEA71(); + const uint8_t dst = 0; + uint32_t dstea = cpuEA71(); + memoryReadByte(dstea); cpuClr(); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void CLR_4240(ULO*opc_data) +static void CLR_4240(uint32_t*opc_data) { - UWO dst = 0; + const uint16_t dst = 0; cpuClr(); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(4); } -static void CLR_4250(ULO*opc_data) +static void CLR_4250(uint32_t*opc_data) { - UWO dst = 0; - ULO dstea = cpuEA02(opc_data[0]); + const uint16_t dst = 0; + uint32_t dstea = cpuEA02(opc_data[0]); + memoryReadWord(dstea); cpuClr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void CLR_4258(ULO*opc_data) +static void CLR_4258(uint32_t*opc_data) { - UWO dst = 0; - ULO dstea = cpuEA03(opc_data[0], 2); + const uint16_t dst = 0; + uint32_t dstea = cpuEA03(opc_data[0], 2); + memoryReadWord(dstea); cpuClr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void CLR_4260(ULO*opc_data) +static void CLR_4260(uint32_t*opc_data) { - UWO dst = 0; - ULO dstea = cpuEA04(opc_data[0], 2); + const uint16_t dst = 0; + uint32_t dstea = cpuEA04(opc_data[0], 2); + memoryReadWord(dstea); cpuClr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void CLR_4268(ULO*opc_data) +static void CLR_4268(uint32_t*opc_data) { - UWO dst = 0; - ULO dstea = cpuEA05(opc_data[0]); + const uint16_t dst = 0; + uint32_t dstea = cpuEA05(opc_data[0]); + memoryReadWord(dstea); cpuClr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void CLR_4270(ULO*opc_data) +static void CLR_4270(uint32_t*opc_data) { - UWO dst = 0; - ULO dstea = cpuEA06(opc_data[0]); + const uint16_t dst = 0; + uint32_t dstea = cpuEA06(opc_data[0]); + memoryReadWord(dstea); cpuClr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void CLR_4278(ULO*opc_data) +static void CLR_4278(uint32_t*opc_data) { - UWO dst = 0; - ULO dstea = cpuEA70(); + const uint16_t dst = 0; + uint32_t dstea = cpuEA70(); + memoryReadWord(dstea); cpuClr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void CLR_4279(ULO*opc_data) +static void CLR_4279(uint32_t*opc_data) { - UWO dst = 0; - ULO dstea = cpuEA71(); + const uint16_t dst = 0; + uint32_t dstea = cpuEA71(); + memoryReadWord(dstea); cpuClr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void CLR_4280(ULO*opc_data) +static void CLR_4280(uint32_t*opc_data) { - ULO dst = 0; + const uint32_t dst = 0; cpuClr(); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(6); } -static void CLR_4290(ULO*opc_data) +static void CLR_4290(uint32_t*opc_data) { - ULO dst = 0; - ULO dstea = cpuEA02(opc_data[0]); + const uint32_t dst = 0; + uint32_t dstea = cpuEA02(opc_data[0]); + memoryReadLong(dstea); cpuClr(); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void CLR_4298(ULO*opc_data) +static void CLR_4298(uint32_t*opc_data) { - ULO dst = 0; - ULO dstea = cpuEA03(opc_data[0], 4); + const uint32_t dst = 0; + uint32_t dstea = cpuEA03(opc_data[0], 4); + memoryReadLong(dstea); cpuClr(); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void CLR_42A0(ULO*opc_data) +static void CLR_42A0(uint32_t*opc_data) { - ULO dst = 0; - ULO dstea = cpuEA04(opc_data[0], 4); + const uint32_t dst = 0; + uint32_t dstea = cpuEA04(opc_data[0], 4); + memoryReadLong(dstea); cpuClr(); memoryWriteLong(dst, dstea); cpuSetInstructionTime(22); } -static void CLR_42A8(ULO*opc_data) +static void CLR_42A8(uint32_t*opc_data) { - ULO dst = 0; - ULO dstea = cpuEA05(opc_data[0]); + const uint32_t dst = 0; + uint32_t dstea = cpuEA05(opc_data[0]); + memoryReadLong(dstea); cpuClr(); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void CLR_42B0(ULO*opc_data) +static void CLR_42B0(uint32_t*opc_data) { - ULO dst = 0; - ULO dstea = cpuEA06(opc_data[0]); + const uint32_t dst = 0; + uint32_t dstea = cpuEA06(opc_data[0]); + memoryReadLong(dstea); cpuClr(); memoryWriteLong(dst, dstea); cpuSetInstructionTime(26); } -static void CLR_42B8(ULO*opc_data) +static void CLR_42B8(uint32_t*opc_data) { - ULO dst = 0; - ULO dstea = cpuEA70(); + const uint32_t dst = 0; + uint32_t dstea = cpuEA70(); + memoryReadLong(dstea); cpuClr(); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void CLR_42B9(ULO*opc_data) +static void CLR_42B9(uint32_t*opc_data) { - ULO dst = 0; - ULO dstea = cpuEA71(); + const uint32_t dst = 0; + uint32_t dstea = cpuEA71(); + memoryReadLong(dstea); cpuClr(); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void BFCHG_EAD0(ULO*opc_data) +static void BFCHG_EAD0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuBfChgEa(dstea, ext); } -static void BFCHG_EAE8(ULO*opc_data) +static void BFCHG_EAE8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuBfChgEa(dstea, ext); } -static void BFCHG_EAF0(ULO*opc_data) +static void BFCHG_EAF0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuBfChgEa(dstea, ext); } -static void BFCHG_EAF8(ULO*opc_data) +static void BFCHG_EAF8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuBfChgEa(dstea, ext); } -static void BFCHG_EAF9(ULO*opc_data) +static void BFCHG_EAF9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuBfChgEa(dstea, ext); } -static void BFCLR_ECD0(ULO*opc_data) +static void BFCLR_ECD0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuBfClrEa(dstea, ext); } -static void BFCLR_ECE8(ULO*opc_data) +static void BFCLR_ECE8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuBfClrEa(dstea, ext); } -static void BFCLR_ECF0(ULO*opc_data) +static void BFCLR_ECF0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuBfClrEa(dstea, ext); } -static void BFCLR_ECF8(ULO*opc_data) +static void BFCLR_ECF8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuBfClrEa(dstea, ext); } -static void BFCLR_ECF9(ULO*opc_data) +static void BFCLR_ECF9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuBfClrEa(dstea, ext); } -static void BFEXTS_EBD0(ULO*opc_data) +static void BFEXTS_EBD0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuBfExtsEa(dstea, ext); } -static void BFEXTS_EBE8(ULO*opc_data) +static void BFEXTS_EBE8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuBfExtsEa(dstea, ext); } -static void BFEXTS_EBF0(ULO*opc_data) +static void BFEXTS_EBF0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuBfExtsEa(dstea, ext); } -static void BFEXTS_EBF8(ULO*opc_data) +static void BFEXTS_EBF8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuBfExtsEa(dstea, ext); } -static void BFEXTS_EBF9(ULO*opc_data) +static void BFEXTS_EBF9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuBfExtsEa(dstea, ext); } -static void BFEXTS_EBFA(ULO*opc_data) +static void BFEXTS_EBFA(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA72(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA72(); cpuBfExtsEa(dstea, ext); } -static void BFEXTS_EBFB(ULO*opc_data) +static void BFEXTS_EBFB(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA73(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA73(); cpuBfExtsEa(dstea, ext); } -static void BFEXTU_E9D0(ULO*opc_data) +static void BFEXTU_E9D0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuBfExtuEa(dstea, ext); } -static void BFEXTU_E9E8(ULO*opc_data) +static void BFEXTU_E9E8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuBfExtuEa(dstea, ext); } -static void BFEXTU_E9F0(ULO*opc_data) +static void BFEXTU_E9F0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuBfExtuEa(dstea, ext); } -static void BFEXTU_E9F8(ULO*opc_data) +static void BFEXTU_E9F8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuBfExtuEa(dstea, ext); } -static void BFEXTU_E9F9(ULO*opc_data) +static void BFEXTU_E9F9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuBfExtuEa(dstea, ext); } -static void BFEXTU_E9FA(ULO*opc_data) +static void BFEXTU_E9FA(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA72(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA72(); cpuBfExtuEa(dstea, ext); } -static void BFEXTU_E9FB(ULO*opc_data) +static void BFEXTU_E9FB(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA73(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA73(); cpuBfExtuEa(dstea, ext); } -static void BFFFO_EDD0(ULO*opc_data) +static void BFFFO_EDD0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuBfFfoEa(dstea, ext); } -static void BFFFO_EDE8(ULO*opc_data) +static void BFFFO_EDE8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuBfFfoEa(dstea, ext); } -static void BFFFO_EDF0(ULO*opc_data) +static void BFFFO_EDF0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuBfFfoEa(dstea, ext); } -static void BFFFO_EDF8(ULO*opc_data) +static void BFFFO_EDF8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuBfFfoEa(dstea, ext); } -static void BFFFO_EDF9(ULO*opc_data) +static void BFFFO_EDF9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuBfFfoEa(dstea, ext); } -static void BFFFO_EDFA(ULO*opc_data) +static void BFFFO_EDFA(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA72(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA72(); cpuBfFfoEa(dstea, ext); } -static void BFFFO_EDFB(ULO*opc_data) +static void BFFFO_EDFB(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA73(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA73(); cpuBfFfoEa(dstea, ext); } -static void BFINS_EFD0(ULO*opc_data) +static void BFINS_EFD0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuBfInsEa(dstea, ext); } -static void BFINS_EFE8(ULO*opc_data) +static void BFINS_EFE8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuBfInsEa(dstea, ext); } -static void BFINS_EFF0(ULO*opc_data) +static void BFINS_EFF0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuBfInsEa(dstea, ext); } -static void BFINS_EFF8(ULO*opc_data) +static void BFINS_EFF8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuBfInsEa(dstea, ext); } -static void BFINS_EFF9(ULO*opc_data) +static void BFINS_EFF9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuBfInsEa(dstea, ext); } -static void BFSET_EED0(ULO*opc_data) +static void BFSET_EED0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuBfSetEa(dstea, ext); } -static void BFSET_EEE8(ULO*opc_data) +static void BFSET_EEE8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuBfSetEa(dstea, ext); } -static void BFSET_EEF0(ULO*opc_data) +static void BFSET_EEF0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuBfSetEa(dstea, ext); } -static void BFSET_EEF8(ULO*opc_data) +static void BFSET_EEF8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuBfSetEa(dstea, ext); } -static void BFSET_EEF9(ULO*opc_data) +static void BFSET_EEF9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuBfSetEa(dstea, ext); } -static void BFTST_E8D0(ULO*opc_data) +static void BFTST_E8D0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuBfTstEa(dstea, ext); } -static void BFTST_E8E8(ULO*opc_data) +static void BFTST_E8E8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuBfTstEa(dstea, ext); } -static void BFTST_E8F0(ULO*opc_data) +static void BFTST_E8F0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuBfTstEa(dstea, ext); } -static void BFTST_E8F8(ULO*opc_data) +static void BFTST_E8F8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuBfTstEa(dstea, ext); } -static void BFTST_E8F9(ULO*opc_data) +static void BFTST_E8F9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuBfTstEa(dstea, ext); } -static void BFTST_E8FA(ULO*opc_data) +static void BFTST_E8FA(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA72(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA72(); cpuBfTstEa(dstea, ext); } -static void BFTST_E8FB(ULO*opc_data) +static void BFTST_E8FB(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA73(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA73(); cpuBfTstEa(dstea, ext); } -static void BFCHG_EAC0(ULO*opc_data) +static void BFCHG_EAC0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); + uint16_t ext = cpuGetNextWord(); cpuBfChgReg(opc_data[0], ext); } -static void BFCLR_ECC0(ULO*opc_data) +static void BFCLR_ECC0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); + uint16_t ext = cpuGetNextWord(); cpuBfClrReg(opc_data[0], ext); } -static void BFEXTS_EBC0(ULO*opc_data) +static void BFEXTS_EBC0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); + uint16_t ext = cpuGetNextWord(); cpuBfExtsReg(opc_data[0], ext); } -static void BFEXTU_E9C0(ULO*opc_data) +static void BFEXTU_E9C0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); + uint16_t ext = cpuGetNextWord(); cpuBfExtuReg(opc_data[0], ext); } -static void BFFFO_EDC0(ULO*opc_data) +static void BFFFO_EDC0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); + uint16_t ext = cpuGetNextWord(); cpuBfFfoReg(opc_data[0], ext); } -static void BFINS_EFC0(ULO*opc_data) +static void BFINS_EFC0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); + uint16_t ext = cpuGetNextWord(); cpuBfInsReg(opc_data[0], ext); } -static void BFSET_EEC0(ULO*opc_data) +static void BFSET_EEC0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); + uint16_t ext = cpuGetNextWord(); cpuBfSetReg(opc_data[0], ext); } -static void BFTST_E8C0(ULO*opc_data) +static void BFTST_E8C0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); + uint16_t ext = cpuGetNextWord(); cpuBfTstReg(opc_data[0], ext); } -static void MULL_4C00(ULO*opc_data) +static void MULL_4C00(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = cpuGetDReg(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t src = cpuGetDReg(opc_data[0]); cpuMulL(src, ext); } -static void MULL_4C10(ULO*opc_data) +static void MULL_4C10(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA02(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); cpuMulL(src, ext); } -static void MULL_4C18(ULO*opc_data) +static void MULL_4C18(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); cpuMulL(src, ext); } -static void MULL_4C20(ULO*opc_data) +static void MULL_4C20(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); cpuMulL(src, ext); } -static void MULL_4C28(ULO*opc_data) +static void MULL_4C28(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA05(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); cpuMulL(src, ext); } -static void MULL_4C30(ULO*opc_data) +static void MULL_4C30(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA06(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); cpuMulL(src, ext); } -static void MULL_4C38(ULO*opc_data) +static void MULL_4C38(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA70()); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA70()); cpuMulL(src, ext); } -static void MULL_4C39(ULO*opc_data) +static void MULL_4C39(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA71()); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA71()); cpuMulL(src, ext); } -static void MULL_4C3A(ULO*opc_data) +static void MULL_4C3A(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA72()); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA72()); cpuMulL(src, ext); } -static void MULL_4C3B(ULO*opc_data) +static void MULL_4C3B(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA73()); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA73()); cpuMulL(src, ext); } -static void MULL_4C3C(ULO*opc_data) +static void MULL_4C3C(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = cpuGetNextLong(); + uint16_t ext = cpuGetNextWord(); + uint32_t src = cpuGetNextLong(); cpuMulL(src, ext); } -static void MOVES_0E10(ULO*opc_data) +static void MOVES_0E10(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UBY src = memoryReadByte(cpuEA02(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); cpuMoveSB(src, ext); } -static void MOVES_0E18(ULO*opc_data) +static void MOVES_0E18(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint16_t ext = cpuGetNextWord(); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); cpuMoveSB(src, ext); } -static void MOVES_0E20(ULO*opc_data) +static void MOVES_0E20(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint16_t ext = cpuGetNextWord(); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); cpuMoveSB(src, ext); } -static void MOVES_0E28(ULO*opc_data) +static void MOVES_0E28(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UBY src = memoryReadByte(cpuEA05(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); cpuMoveSB(src, ext); } -static void MOVES_0E30(ULO*opc_data) +static void MOVES_0E30(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UBY src = memoryReadByte(cpuEA06(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); cpuMoveSB(src, ext); } -static void MOVES_0E38(ULO*opc_data) +static void MOVES_0E38(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UBY src = memoryReadByte(cpuEA70()); + uint16_t ext = cpuGetNextWord(); + uint8_t src = memoryReadByte(cpuEA70()); cpuMoveSB(src, ext); } -static void MOVES_0E39(ULO*opc_data) +static void MOVES_0E39(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UBY src = memoryReadByte(cpuEA71()); + uint16_t ext = cpuGetNextWord(); + uint8_t src = memoryReadByte(cpuEA71()); cpuMoveSB(src, ext); } -static void MOVES_0E50(ULO*opc_data) +static void MOVES_0E50(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UWO src = memoryReadWord(cpuEA02(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); cpuMoveSW(src, ext); } -static void MOVES_0E58(ULO*opc_data) +static void MOVES_0E58(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint16_t ext = cpuGetNextWord(); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); cpuMoveSW(src, ext); } -static void MOVES_0E60(ULO*opc_data) +static void MOVES_0E60(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint16_t ext = cpuGetNextWord(); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); cpuMoveSW(src, ext); } -static void MOVES_0E68(ULO*opc_data) +static void MOVES_0E68(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UWO src = memoryReadWord(cpuEA05(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); cpuMoveSW(src, ext); } -static void MOVES_0E70(ULO*opc_data) +static void MOVES_0E70(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UWO src = memoryReadWord(cpuEA06(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); cpuMoveSW(src, ext); } -static void MOVES_0E78(ULO*opc_data) +static void MOVES_0E78(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UWO src = memoryReadWord(cpuEA70()); + uint16_t ext = cpuGetNextWord(); + uint16_t src = memoryReadWord(cpuEA70()); cpuMoveSW(src, ext); } -static void MOVES_0E79(ULO*opc_data) +static void MOVES_0E79(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - UWO src = memoryReadWord(cpuEA71()); + uint16_t ext = cpuGetNextWord(); + uint16_t src = memoryReadWord(cpuEA71()); cpuMoveSW(src, ext); } -static void MOVES_0E90(ULO*opc_data) +static void MOVES_0E90(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA02(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); cpuMoveSL(src, ext); } -static void MOVES_0E98(ULO*opc_data) +static void MOVES_0E98(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); cpuMoveSL(src, ext); } -static void MOVES_0EA0(ULO*opc_data) +static void MOVES_0EA0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); cpuMoveSL(src, ext); } -static void MOVES_0EA8(ULO*opc_data) +static void MOVES_0EA8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA05(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); cpuMoveSL(src, ext); } -static void MOVES_0EB0(ULO*opc_data) +static void MOVES_0EB0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA06(opc_data[0])); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); cpuMoveSL(src, ext); } -static void MOVES_0EB8(ULO*opc_data) +static void MOVES_0EB8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA70()); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA70()); cpuMoveSL(src, ext); } -static void MOVES_0EB9(ULO*opc_data) +static void MOVES_0EB9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO src = memoryReadLong(cpuEA71()); + uint16_t ext = cpuGetNextWord(); + uint32_t src = memoryReadLong(cpuEA71()); cpuMoveSL(src, ext); } -static void NBCD_4800(ULO*opc_data) +static void NBCD_4800(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuNbcdB(dst); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(6); } -static void NBCD_4810(ULO*opc_data) +static void NBCD_4810(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNbcdB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void NBCD_4818(ULO*opc_data) +static void NBCD_4818(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuNbcdB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void NBCD_4820(ULO*opc_data) +static void NBCD_4820(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuNbcdB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void NBCD_4828(ULO*opc_data) +static void NBCD_4828(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNbcdB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void NBCD_4830(ULO*opc_data) +static void NBCD_4830(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNbcdB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void NBCD_4838(ULO*opc_data) +static void NBCD_4838(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuNbcdB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void NBCD_4839(ULO*opc_data) +static void NBCD_4839(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuNbcdB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void NEG_4400(ULO*opc_data) +static void NEG_4400(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuNegB(dst); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(4); } -static void NEG_4410(ULO*opc_data) +static void NEG_4410(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void NEG_4418(ULO*opc_data) +static void NEG_4418(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void NEG_4420(ULO*opc_data) +static void NEG_4420(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void NEG_4428(ULO*opc_data) +static void NEG_4428(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void NEG_4430(ULO*opc_data) +static void NEG_4430(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void NEG_4438(ULO*opc_data) +static void NEG_4438(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void NEG_4439(ULO*opc_data) +static void NEG_4439(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void NEG_4440(ULO*opc_data) +static void NEG_4440(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuNegW(dst); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(4); } -static void NEG_4450(ULO*opc_data) +static void NEG_4450(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void NEG_4458(ULO*opc_data) +static void NEG_4458(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void NEG_4460(ULO*opc_data) +static void NEG_4460(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void NEG_4468(ULO*opc_data) +static void NEG_4468(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void NEG_4470(ULO*opc_data) +static void NEG_4470(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void NEG_4478(ULO*opc_data) +static void NEG_4478(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void NEG_4479(ULO*opc_data) +static void NEG_4479(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void NEG_4480(ULO*opc_data) +static void NEG_4480(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuNegL(dst); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(6); } -static void NEG_4490(ULO*opc_data) +static void NEG_4490(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void NEG_4498(ULO*opc_data) +static void NEG_4498(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void NEG_44A0(ULO*opc_data) +static void NEG_44A0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(22); } -static void NEG_44A8(ULO*opc_data) +static void NEG_44A8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void NEG_44B0(ULO*opc_data) +static void NEG_44B0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(26); } -static void NEG_44B8(ULO*opc_data) +static void NEG_44B8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void NEG_44B9(ULO*opc_data) +static void NEG_44B9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void NEGX_4000(ULO*opc_data) +static void NEGX_4000(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuNegxB(dst); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(4); } -static void NEGX_4010(ULO*opc_data) +static void NEGX_4010(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegxB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void NEGX_4018(ULO*opc_data) +static void NEGX_4018(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegxB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void NEGX_4020(ULO*opc_data) +static void NEGX_4020(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegxB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void NEGX_4028(ULO*opc_data) +static void NEGX_4028(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegxB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void NEGX_4030(ULO*opc_data) +static void NEGX_4030(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegxB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void NEGX_4038(ULO*opc_data) +static void NEGX_4038(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegxB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void NEGX_4039(ULO*opc_data) +static void NEGX_4039(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuNegxB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void NEGX_4040(ULO*opc_data) +static void NEGX_4040(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuNegxW(dst); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(4); } -static void NEGX_4050(ULO*opc_data) +static void NEGX_4050(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegxW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void NEGX_4058(ULO*opc_data) +static void NEGX_4058(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegxW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void NEGX_4060(ULO*opc_data) +static void NEGX_4060(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegxW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void NEGX_4068(ULO*opc_data) +static void NEGX_4068(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegxW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void NEGX_4070(ULO*opc_data) +static void NEGX_4070(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegxW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void NEGX_4078(ULO*opc_data) +static void NEGX_4078(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegxW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void NEGX_4079(ULO*opc_data) +static void NEGX_4079(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuNegxW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void NEGX_4080(ULO*opc_data) +static void NEGX_4080(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuNegxL(dst); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(6); } -static void NEGX_4090(ULO*opc_data) +static void NEGX_4090(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegxL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void NEGX_4098(ULO*opc_data) +static void NEGX_4098(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegxL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void NEGX_40A0(ULO*opc_data) +static void NEGX_40A0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegxL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(22); } -static void NEGX_40A8(ULO*opc_data) +static void NEGX_40A8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegxL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void NEGX_40B0(ULO*opc_data) +static void NEGX_40B0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegxL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(26); } -static void NEGX_40B8(ULO*opc_data) +static void NEGX_40B8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegxL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void NEGX_40B9(ULO*opc_data) +static void NEGX_40B9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuNegxL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void NOT_4600(ULO*opc_data) +static void NOT_4600(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuNotB(dst); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(4); } -static void NOT_4610(ULO*opc_data) +static void NOT_4610(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNotB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void NOT_4618(ULO*opc_data) +static void NOT_4618(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuNotB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void NOT_4620(ULO*opc_data) +static void NOT_4620(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuNotB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void NOT_4628(ULO*opc_data) +static void NOT_4628(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNotB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void NOT_4630(ULO*opc_data) +static void NOT_4630(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuNotB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void NOT_4638(ULO*opc_data) +static void NOT_4638(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuNotB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void NOT_4639(ULO*opc_data) +static void NOT_4639(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuNotB(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void NOT_4640(ULO*opc_data) +static void NOT_4640(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuNotW(dst); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(4); } -static void NOT_4650(ULO*opc_data) +static void NOT_4650(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuNotW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void NOT_4658(ULO*opc_data) +static void NOT_4658(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuNotW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void NOT_4660(ULO*opc_data) +static void NOT_4660(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuNotW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void NOT_4668(ULO*opc_data) +static void NOT_4668(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuNotW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void NOT_4670(ULO*opc_data) +static void NOT_4670(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuNotW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void NOT_4678(ULO*opc_data) +static void NOT_4678(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuNotW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void NOT_4679(ULO*opc_data) +static void NOT_4679(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuNotW(dst); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void NOT_4680(ULO*opc_data) +static void NOT_4680(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuNotL(dst); cpuSetDReg(opc_data[0], dst); cpuSetInstructionTime(6); } -static void NOT_4690(ULO*opc_data) +static void NOT_4690(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuNotL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void NOT_4698(ULO*opc_data) +static void NOT_4698(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuNotL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(20); } -static void NOT_46A0(ULO*opc_data) +static void NOT_46A0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuNotL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(22); } -static void NOT_46A8(ULO*opc_data) +static void NOT_46A8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuNotL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void NOT_46B0(ULO*opc_data) +static void NOT_46B0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); dst = cpuNotL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(26); } -static void NOT_46B8(ULO*opc_data) +static void NOT_46B8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); dst = cpuNotL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(24); } -static void NOT_46B9(ULO*opc_data) +static void NOT_46B9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); dst = cpuNotL(dst); memoryWriteLong(dst, dstea); cpuSetInstructionTime(28); } -static void TAS_4AC0(ULO*opc_data) +static void TAS_4AC0(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuTas(dst); cpuSetDRegByte(opc_data[0], dst); cpuSetInstructionTime(4); } -static void TAS_4AD0(ULO*opc_data) +static void TAS_4AD0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuTas(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void TAS_4AD8(ULO*opc_data) +static void TAS_4AD8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuTas(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void TAS_4AE0(ULO*opc_data) +static void TAS_4AE0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuTas(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void TAS_4AE8(ULO*opc_data) +static void TAS_4AE8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuTas(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void TAS_4AF0(ULO*opc_data) +static void TAS_4AF0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); dst = cpuTas(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void TAS_4AF8(ULO*opc_data) +static void TAS_4AF8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); dst = cpuTas(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void TAS_4AF9(ULO*opc_data) +static void TAS_4AF9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); dst = cpuTas(dst); memoryWriteByte(dst, dstea); cpuSetInstructionTime(22); } -static void TST_4A00(ULO*opc_data) +static void TST_4A00(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); cpuTestB(dst); cpuSetInstructionTime(4); } -static void TST_4A10(ULO*opc_data) +static void TST_4A10(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuTestB(dst); cpuSetInstructionTime(8); } -static void TST_4A18(ULO*opc_data) +static void TST_4A18(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); cpuTestB(dst); cpuSetInstructionTime(8); } -static void TST_4A20(ULO*opc_data) +static void TST_4A20(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = memoryReadByte(dstea); cpuTestB(dst); cpuSetInstructionTime(10); } -static void TST_4A28(ULO*opc_data) +static void TST_4A28(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuTestB(dst); cpuSetInstructionTime(12); } -static void TST_4A30(ULO*opc_data) +static void TST_4A30(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = memoryReadByte(dstea); cpuTestB(dst); cpuSetInstructionTime(14); } -static void TST_4A38(ULO*opc_data) +static void TST_4A38(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA70(); + uint8_t dst = memoryReadByte(dstea); cpuTestB(dst); cpuSetInstructionTime(12); } -static void TST_4A39(ULO*opc_data) +static void TST_4A39(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA71(); + uint8_t dst = memoryReadByte(dstea); cpuTestB(dst); cpuSetInstructionTime(16); } -static void TST_4A40(ULO*opc_data) +static void TST_4A40(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); cpuTestW(dst); cpuSetInstructionTime(4); } -static void TST_4A50(ULO*opc_data) +static void TST_4A50(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); cpuTestW(dst); cpuSetInstructionTime(8); } -static void TST_4A58(ULO*opc_data) +static void TST_4A58(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); cpuTestW(dst); cpuSetInstructionTime(8); } -static void TST_4A60(ULO*opc_data) +static void TST_4A60(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); cpuTestW(dst); cpuSetInstructionTime(10); } -static void TST_4A68(ULO*opc_data) +static void TST_4A68(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); cpuTestW(dst); cpuSetInstructionTime(12); } -static void TST_4A70(ULO*opc_data) +static void TST_4A70(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); cpuTestW(dst); cpuSetInstructionTime(14); } -static void TST_4A78(ULO*opc_data) +static void TST_4A78(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); cpuTestW(dst); cpuSetInstructionTime(12); } -static void TST_4A79(ULO*opc_data) +static void TST_4A79(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); cpuTestW(dst); cpuSetInstructionTime(16); } -static void TST_4A80(ULO*opc_data) +static void TST_4A80(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); cpuTestL(dst); cpuSetInstructionTime(4); } -static void TST_4A90(ULO*opc_data) +static void TST_4A90(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); cpuTestL(dst); cpuSetInstructionTime(12); } -static void TST_4A98(ULO*opc_data) +static void TST_4A98(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); cpuTestL(dst); cpuSetInstructionTime(12); } -static void TST_4AA0(ULO*opc_data) +static void TST_4AA0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 4); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 4); + uint32_t dst = memoryReadLong(dstea); cpuTestL(dst); cpuSetInstructionTime(14); } -static void TST_4AA8(ULO*opc_data) +static void TST_4AA8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); cpuTestL(dst); cpuSetInstructionTime(16); } -static void TST_4AB0(ULO*opc_data) +static void TST_4AB0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint32_t dst = memoryReadLong(dstea); cpuTestL(dst); cpuSetInstructionTime(18); } -static void TST_4AB8(ULO*opc_data) +static void TST_4AB8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA70(); + uint32_t dst = memoryReadLong(dstea); cpuTestL(dst); cpuSetInstructionTime(16); } -static void TST_4AB9(ULO*opc_data) +static void TST_4AB9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA71(); + uint32_t dst = memoryReadLong(dstea); cpuTestL(dst); cpuSetInstructionTime(20); } -static void TST_4A3A(ULO*opc_data) +static void TST_4A3A(uint32_t*opc_data) { - ULO dstea = cpuEA72(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA72(); + uint8_t dst = memoryReadByte(dstea); cpuTestB(dst); cpuSetInstructionTime(12); } -static void TST_4A3B(ULO*opc_data) +static void TST_4A3B(uint32_t*opc_data) { - ULO dstea = cpuEA73(); - UBY dst = memoryReadByte(dstea); + uint32_t dstea = cpuEA73(); + uint8_t dst = memoryReadByte(dstea); cpuTestB(dst); cpuSetInstructionTime(14); } -static void TST_4A3C(ULO*opc_data) +static void TST_4A3C(uint32_t*opc_data) { - UBY dst = (UBY)cpuGetNextWord(); + uint8_t dst = (uint8_t)cpuGetNextWord(); cpuTestB(dst); cpuSetInstructionTime(8); } -static void TST_4A48(ULO*opc_data) +static void TST_4A48(uint32_t*opc_data) { - UWO dst = (UWO)cpuGetAReg(opc_data[0]); + uint16_t dst = (uint16_t)cpuGetAReg(opc_data[0]); cpuTestW(dst); cpuSetInstructionTime(4); } -static void TST_4A7A(ULO*opc_data) +static void TST_4A7A(uint32_t*opc_data) { - ULO dstea = cpuEA72(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA72(); + uint16_t dst = memoryReadWord(dstea); cpuTestW(dst); cpuSetInstructionTime(12); } -static void TST_4A7B(ULO*opc_data) +static void TST_4A7B(uint32_t*opc_data) { - ULO dstea = cpuEA73(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA73(); + uint16_t dst = memoryReadWord(dstea); cpuTestW(dst); cpuSetInstructionTime(14); } -static void TST_4A7C(ULO*opc_data) +static void TST_4A7C(uint32_t*opc_data) { - UWO dst = cpuGetNextWord(); + uint16_t dst = cpuGetNextWord(); cpuTestW(dst); cpuSetInstructionTime(8); } -static void TST_4A88(ULO*opc_data) +static void TST_4A88(uint32_t*opc_data) { - ULO dst = cpuGetAReg(opc_data[0]); + uint32_t dst = cpuGetAReg(opc_data[0]); cpuTestL(dst); cpuSetInstructionTime(4); } -static void TST_4ABA(ULO*opc_data) +static void TST_4ABA(uint32_t*opc_data) { - ULO dstea = cpuEA72(); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA72(); + uint32_t dst = memoryReadLong(dstea); cpuTestL(dst); cpuSetInstructionTime(16); } -static void TST_4ABB(ULO*opc_data) +static void TST_4ABB(uint32_t*opc_data) { - ULO dstea = cpuEA73(); - ULO dst = memoryReadLong(dstea); + uint32_t dstea = cpuEA73(); + uint32_t dst = memoryReadLong(dstea); cpuTestL(dst); cpuSetInstructionTime(18); } -static void TST_4ABC(ULO*opc_data) +static void TST_4ABC(uint32_t*opc_data) { - ULO dst = cpuGetNextLong(); + uint32_t dst = cpuGetNextLong(); cpuTestL(dst); cpuSetInstructionTime(12); } -static void PEA_4850(ULO*opc_data) +static void PEA_4850(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); + uint32_t dstea = cpuEA02(opc_data[0]); cpuPeaL(dstea); cpuSetInstructionTime(12); } -static void PEA_4868(ULO*opc_data) +static void PEA_4868(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); + uint32_t dstea = cpuEA05(opc_data[0]); cpuPeaL(dstea); cpuSetInstructionTime(16); } -static void PEA_4870(ULO*opc_data) +static void PEA_4870(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); + uint32_t dstea = cpuEA06(opc_data[0]); cpuPeaL(dstea); cpuSetInstructionTime(20); } -static void PEA_4878(ULO*opc_data) +static void PEA_4878(uint32_t*opc_data) { - ULO dstea = cpuEA70(); + uint32_t dstea = cpuEA70(); cpuPeaL(dstea); cpuSetInstructionTime(16); } -static void PEA_4879(ULO*opc_data) +static void PEA_4879(uint32_t*opc_data) { - ULO dstea = cpuEA71(); + uint32_t dstea = cpuEA71(); cpuPeaL(dstea); cpuSetInstructionTime(20); } -static void PEA_487A(ULO*opc_data) +static void PEA_487A(uint32_t*opc_data) { - ULO dstea = cpuEA72(); + uint32_t dstea = cpuEA72(); cpuPeaL(dstea); cpuSetInstructionTime(16); } -static void PEA_487B(ULO*opc_data) +static void PEA_487B(uint32_t*opc_data) { - ULO dstea = cpuEA73(); + uint32_t dstea = cpuEA73(); cpuPeaL(dstea); cpuSetInstructionTime(20); } -static void JMP_4ED0(ULO*opc_data) +static void JMP_4ED0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); + uint32_t dstea = cpuEA02(opc_data[0]); cpuJmp(dstea); cpuSetInstructionTime(8); } -static void JMP_4EE8(ULO*opc_data) +static void JMP_4EE8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); + uint32_t dstea = cpuEA05(opc_data[0]); cpuJmp(dstea); cpuSetInstructionTime(10); } -static void JMP_4EF0(ULO*opc_data) +static void JMP_4EF0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); + uint32_t dstea = cpuEA06(opc_data[0]); cpuJmp(dstea); cpuSetInstructionTime(14); } -static void JMP_4EF8(ULO*opc_data) +static void JMP_4EF8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); + uint32_t dstea = cpuEA70(); cpuJmp(dstea); cpuSetInstructionTime(10); } -static void JMP_4EF9(ULO*opc_data) +static void JMP_4EF9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); + uint32_t dstea = cpuEA71(); cpuJmp(dstea); cpuSetInstructionTime(12); } -static void JMP_4EFA(ULO*opc_data) +static void JMP_4EFA(uint32_t*opc_data) { - ULO dstea = cpuEA72(); + uint32_t dstea = cpuEA72(); cpuJmp(dstea); cpuSetInstructionTime(10); } -static void JMP_4EFB(ULO*opc_data) +static void JMP_4EFB(uint32_t*opc_data) { - ULO dstea = cpuEA73(); + uint32_t dstea = cpuEA73(); cpuJmp(dstea); cpuSetInstructionTime(14); } -static void JSR_4E90(ULO*opc_data) +static void JSR_4E90(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); + uint32_t dstea = cpuEA02(opc_data[0]); cpuJsr(dstea); cpuSetInstructionTime(16); } -static void JSR_4EA8(ULO*opc_data) +static void JSR_4EA8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); + uint32_t dstea = cpuEA05(opc_data[0]); cpuJsr(dstea); cpuSetInstructionTime(18); } -static void JSR_4EB0(ULO*opc_data) +static void JSR_4EB0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); + uint32_t dstea = cpuEA06(opc_data[0]); cpuJsr(dstea); cpuSetInstructionTime(22); } -static void JSR_4EB8(ULO*opc_data) +static void JSR_4EB8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); + uint32_t dstea = cpuEA70(); cpuJsr(dstea); cpuSetInstructionTime(18); } -static void JSR_4EB9(ULO*opc_data) +static void JSR_4EB9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); + uint32_t dstea = cpuEA71(); cpuJsr(dstea); cpuSetInstructionTime(20); } -static void JSR_4EBA(ULO*opc_data) +static void JSR_4EBA(uint32_t*opc_data) { - ULO dstea = cpuEA72(); + uint32_t dstea = cpuEA72(); cpuJsr(dstea); cpuSetInstructionTime(18); } -static void JSR_4EBB(ULO*opc_data) +static void JSR_4EBB(uint32_t*opc_data) { - ULO dstea = cpuEA73(); + uint32_t dstea = cpuEA73(); cpuJsr(dstea); cpuSetInstructionTime(22); } -static void MOVETOSR_46C0(ULO*opc_data) +static void MOVETOSR_46C0(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); + if (!cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t src = cpuGetDRegWord(opc_data[0]); cpuMoveToSr(src); cpuSetInstructionTime(12); } -static void MOVETOSR_46D0(ULO*opc_data) +static void MOVETOSR_46D0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); + if (!cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); cpuMoveToSr(src); cpuSetInstructionTime(16); } -static void MOVETOSR_46D8(ULO*opc_data) +static void MOVETOSR_46D8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); + if (!cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); cpuMoveToSr(src); cpuSetInstructionTime(16); } -static void MOVETOSR_46E0(ULO*opc_data) +static void MOVETOSR_46E0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); + if (!cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); cpuMoveToSr(src); cpuSetInstructionTime(18); } -static void MOVETOSR_46E8(ULO*opc_data) +static void MOVETOSR_46E8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); + if (!cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); cpuMoveToSr(src); cpuSetInstructionTime(20); } -static void MOVETOSR_46F0(ULO*opc_data) +static void MOVETOSR_46F0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); + if (!cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); cpuMoveToSr(src); cpuSetInstructionTime(22); } -static void MOVETOSR_46F8(ULO*opc_data) +static void MOVETOSR_46F8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); + if (!cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t src = memoryReadWord(cpuEA70()); cpuMoveToSr(src); cpuSetInstructionTime(20); } -static void MOVETOSR_46F9(ULO*opc_data) +static void MOVETOSR_46F9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); + if (!cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t src = memoryReadWord(cpuEA71()); cpuMoveToSr(src); cpuSetInstructionTime(24); } -static void MOVETOSR_46FA(ULO*opc_data) +static void MOVETOSR_46FA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); + if (!cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t src = memoryReadWord(cpuEA72()); cpuMoveToSr(src); cpuSetInstructionTime(20); } -static void MOVETOSR_46FB(ULO*opc_data) +static void MOVETOSR_46FB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); + if (!cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t src = memoryReadWord(cpuEA73()); cpuMoveToSr(src); cpuSetInstructionTime(22); } -static void MOVETOSR_46FC(ULO*opc_data) +static void MOVETOSR_46FC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); + if (!cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t src = cpuGetNextWord(); cpuMoveToSr(src); cpuSetInstructionTime(16); } -static void MOVETOCCR_44C0(ULO*opc_data) +static void MOVETOCCR_44C0(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); + uint16_t src = cpuGetDRegWord(opc_data[0]); cpuMoveToCcr(src); cpuSetInstructionTime(12); } -static void MOVETOCCR_44D0(ULO*opc_data) +static void MOVETOCCR_44D0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); cpuMoveToCcr(src); cpuSetInstructionTime(16); } -static void MOVETOCCR_44D8(ULO*opc_data) +static void MOVETOCCR_44D8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); cpuMoveToCcr(src); cpuSetInstructionTime(16); } -static void MOVETOCCR_44E0(ULO*opc_data) +static void MOVETOCCR_44E0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); cpuMoveToCcr(src); cpuSetInstructionTime(18); } -static void MOVETOCCR_44E8(ULO*opc_data) +static void MOVETOCCR_44E8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); cpuMoveToCcr(src); cpuSetInstructionTime(20); } -static void MOVETOCCR_44F0(ULO*opc_data) +static void MOVETOCCR_44F0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); cpuMoveToCcr(src); cpuSetInstructionTime(22); } -static void MOVETOCCR_44F8(ULO*opc_data) +static void MOVETOCCR_44F8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); + uint16_t src = memoryReadWord(cpuEA70()); cpuMoveToCcr(src); cpuSetInstructionTime(20); } -static void MOVETOCCR_44F9(ULO*opc_data) +static void MOVETOCCR_44F9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); + uint16_t src = memoryReadWord(cpuEA71()); cpuMoveToCcr(src); cpuSetInstructionTime(24); } -static void MOVETOCCR_44FA(ULO*opc_data) +static void MOVETOCCR_44FA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); + uint16_t src = memoryReadWord(cpuEA72()); cpuMoveToCcr(src); cpuSetInstructionTime(20); } -static void MOVETOCCR_44FB(ULO*opc_data) +static void MOVETOCCR_44FB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); + uint16_t src = memoryReadWord(cpuEA73()); cpuMoveToCcr(src); cpuSetInstructionTime(22); } -static void MOVETOCCR_44FC(ULO*opc_data) +static void MOVETOCCR_44FC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); + uint16_t src = cpuGetNextWord(); cpuMoveToCcr(src); cpuSetInstructionTime(16); } -static void SCC_50C0(ULO*opc_data) +static void SCC_50C0(uint32_t*opc_data) { - UBY dst = cpuScc(opc_data[1]); + uint8_t dst = cpuScc(opc_data[1]); cpuSetDRegByte(opc_data[0], dst); if (dst == 0) { @@ -7858,4329 +7905,4305 @@ static void SCC_50C0(ULO*opc_data) cpuSetInstructionTime(6); } } -static void SCC_50D0(ULO*opc_data) +static void SCC_50D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UBY dst = cpuScc(opc_data[1]); + uint32_t dstea = cpuEA02(opc_data[0]); + uint8_t dst = cpuScc(opc_data[1]); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void SCC_50D8(ULO*opc_data) +static void SCC_50D8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 1); - UBY dst = cpuScc(opc_data[1]); + uint32_t dstea = cpuEA03(opc_data[0], 1); + uint8_t dst = cpuScc(opc_data[1]); memoryWriteByte(dst, dstea); cpuSetInstructionTime(12); } -static void SCC_50E0(ULO*opc_data) +static void SCC_50E0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 1); - UBY dst = cpuScc(opc_data[1]); + uint32_t dstea = cpuEA04(opc_data[0], 1); + uint8_t dst = cpuScc(opc_data[1]); memoryWriteByte(dst, dstea); cpuSetInstructionTime(14); } -static void SCC_50E8(ULO*opc_data) +static void SCC_50E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UBY dst = cpuScc(opc_data[1]); + uint32_t dstea = cpuEA05(opc_data[0]); + uint8_t dst = cpuScc(opc_data[1]); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void SCC_50F0(ULO*opc_data) +static void SCC_50F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UBY dst = cpuScc(opc_data[1]); + uint32_t dstea = cpuEA06(opc_data[0]); + uint8_t dst = cpuScc(opc_data[1]); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void SCC_50F8(ULO*opc_data) +static void SCC_50F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UBY dst = cpuScc(opc_data[1]); + uint32_t dstea = cpuEA70(); + uint8_t dst = cpuScc(opc_data[1]); memoryWriteByte(dst, dstea); cpuSetInstructionTime(16); } -static void SCC_50F9(ULO*opc_data) +static void SCC_50F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UBY dst = cpuScc(opc_data[1]); + uint32_t dstea = cpuEA71(); + uint8_t dst = cpuScc(opc_data[1]); memoryWriteByte(dst, dstea); cpuSetInstructionTime(20); } -static void MOVEFROMCCR_42C0(ULO*opc_data) +static void MOVEFROMCCR_42C0(uint32_t*opc_data) { - UWO dst = cpuMoveFromCcr(); + uint16_t dst = cpuMoveFromCcr(); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(6); } -static void MOVEFROMCCR_42D0(ULO*opc_data) +static void MOVEFROMCCR_42D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = cpuMoveFromCcr(); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = cpuMoveFromCcr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void MOVEFROMCCR_42D8(ULO*opc_data) +static void MOVEFROMCCR_42D8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = cpuMoveFromCcr(); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = cpuMoveFromCcr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void MOVEFROMCCR_42E0(ULO*opc_data) +static void MOVEFROMCCR_42E0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = cpuMoveFromCcr(); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = cpuMoveFromCcr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void MOVEFROMCCR_42E8(ULO*opc_data) +static void MOVEFROMCCR_42E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = cpuMoveFromCcr(); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = cpuMoveFromCcr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void MOVEFROMCCR_42F0(ULO*opc_data) +static void MOVEFROMCCR_42F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = cpuMoveFromCcr(); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = cpuMoveFromCcr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void MOVEFROMCCR_42F8(ULO*opc_data) +static void MOVEFROMCCR_42F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = cpuMoveFromCcr(); + uint32_t dstea = cpuEA70(); + uint16_t dst = cpuMoveFromCcr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void MOVEFROMCCR_42F9(ULO*opc_data) +static void MOVEFROMCCR_42F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = cpuMoveFromCcr(); + uint32_t dstea = cpuEA71(); + uint16_t dst = cpuMoveFromCcr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void MOVEFROMSR_40C0(ULO*opc_data) +static void MOVEFROMSR_40C0(uint32_t*opc_data) { - UWO dst = cpuMoveFromSr(); + if (cpuGetModelMajor() > 0 && !cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint16_t dst = cpuMoveFromSr(); cpuSetDRegWord(opc_data[0], dst); cpuSetInstructionTime(6); } -static void MOVEFROMSR_40D0(ULO*opc_data) +static void MOVEFROMSR_40D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = cpuMoveFromSr(); + if (cpuGetModelMajor() > 0 && !cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = cpuMoveFromSr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void MOVEFROMSR_40D8(ULO*opc_data) +static void MOVEFROMSR_40D8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = cpuMoveFromSr(); + if (cpuGetModelMajor() > 0 && !cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = cpuMoveFromSr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(12); } -static void MOVEFROMSR_40E0(ULO*opc_data) +static void MOVEFROMSR_40E0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = cpuMoveFromSr(); + if (cpuGetModelMajor() > 0 && !cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = cpuMoveFromSr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(14); } -static void MOVEFROMSR_40E8(ULO*opc_data) +static void MOVEFROMSR_40E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = cpuMoveFromSr(); + if (cpuGetModelMajor() > 0 && !cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = cpuMoveFromSr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void MOVEFROMSR_40F0(ULO*opc_data) +static void MOVEFROMSR_40F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = cpuMoveFromSr(); + if (cpuGetModelMajor() > 0 && !cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = cpuMoveFromSr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void MOVEFROMSR_40F8(ULO*opc_data) +static void MOVEFROMSR_40F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = cpuMoveFromSr(); + if (cpuGetModelMajor() > 0 && !cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint32_t dstea = cpuEA70(); + uint16_t dst = cpuMoveFromSr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(16); } -static void MOVEFROMSR_40F9(ULO*opc_data) +static void MOVEFROMSR_40F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = cpuMoveFromSr(); + if (cpuGetModelMajor() > 0 && !cpuGetFlagSupervisor()) + { + cpuThrowPrivilegeViolationException(); + return; + } + uint32_t dstea = cpuEA71(); + uint16_t dst = cpuMoveFromSr(); memoryWriteWord(dst, dstea); cpuSetInstructionTime(20); } -static void CAS_0AD0(ULO*opc_data) +static void CAS_0AD0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuCasB(dstea, ext); } -static void CAS_0AD8(ULO*opc_data) +static void CAS_0AD8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 1); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 1); cpuCasB(dstea, ext); } -static void CAS_0AE0(ULO*opc_data) +static void CAS_0AE0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 1); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 1); cpuCasB(dstea, ext); } -static void CAS_0AE8(ULO*opc_data) +static void CAS_0AE8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuCasB(dstea, ext); } -static void CAS_0AF0(ULO*opc_data) +static void CAS_0AF0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuCasB(dstea, ext); } -static void CAS_0AF8(ULO*opc_data) +static void CAS_0AF8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuCasB(dstea, ext); } -static void CAS_0AF9(ULO*opc_data) +static void CAS_0AF9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuCasB(dstea, ext); } -static void CAS_0CD0(ULO*opc_data) +static void CAS_0CD0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuCasW(dstea, ext); } -static void CAS_0CD8(ULO*opc_data) +static void CAS_0CD8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 2); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 2); cpuCasW(dstea, ext); } -static void CAS_0CE0(ULO*opc_data) +static void CAS_0CE0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 2); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 2); cpuCasW(dstea, ext); } -static void CAS_0CE8(ULO*opc_data) +static void CAS_0CE8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuCasW(dstea, ext); } -static void CAS_0CF0(ULO*opc_data) +static void CAS_0CF0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuCasW(dstea, ext); } -static void CAS_0CF8(ULO*opc_data) +static void CAS_0CF8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuCasW(dstea, ext); } -static void CAS_0CF9(ULO*opc_data) +static void CAS_0CF9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuCasW(dstea, ext); } -static void CAS_0ED0(ULO*opc_data) +static void CAS_0ED0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuCasL(dstea, ext); } -static void CAS_0ED8(ULO*opc_data) +static void CAS_0ED8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[0], 4); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[0], 4); cpuCasL(dstea, ext); } -static void CAS_0EE0(ULO*opc_data) +static void CAS_0EE0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[0], 4); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[0], 4); cpuCasL(dstea, ext); } -static void CAS_0EE8(ULO*opc_data) +static void CAS_0EE8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuCasL(dstea, ext); } -static void CAS_0EF0(ULO*opc_data) +static void CAS_0EF0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuCasL(dstea, ext); } -static void CAS_0EF8(ULO*opc_data) +static void CAS_0EF8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuCasL(dstea, ext); } -static void CAS_0EF9(ULO*opc_data) +static void CAS_0EF9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuCasL(dstea, ext); } -static void CHKCMP2_00D0(ULO*opc_data) +static void CHKCMP2_00D0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuChkCmp2B(dstea, ext); } -static void CHKCMP2_00E8(ULO*opc_data) +static void CHKCMP2_00E8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuChkCmp2B(dstea, ext); } -static void CHKCMP2_00F0(ULO*opc_data) +static void CHKCMP2_00F0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuChkCmp2B(dstea, ext); } -static void CHKCMP2_00F8(ULO*opc_data) +static void CHKCMP2_00F8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuChkCmp2B(dstea, ext); } -static void CHKCMP2_00F9(ULO*opc_data) +static void CHKCMP2_00F9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuChkCmp2B(dstea, ext); } -static void CHKCMP2_00FA(ULO*opc_data) +static void CHKCMP2_00FA(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA72(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA72(); cpuChkCmp2B(dstea, ext); } -static void CHKCMP2_00FB(ULO*opc_data) +static void CHKCMP2_00FB(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA73(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA73(); cpuChkCmp2B(dstea, ext); } -static void CHKCMP2_02D0(ULO*opc_data) +static void CHKCMP2_02D0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuChkCmp2W(dstea, ext); } -static void CHKCMP2_02E8(ULO*opc_data) +static void CHKCMP2_02E8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuChkCmp2W(dstea, ext); } -static void CHKCMP2_02F0(ULO*opc_data) +static void CHKCMP2_02F0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuChkCmp2W(dstea, ext); } -static void CHKCMP2_02F8(ULO*opc_data) +static void CHKCMP2_02F8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuChkCmp2W(dstea, ext); } -static void CHKCMP2_02F9(ULO*opc_data) +static void CHKCMP2_02F9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuChkCmp2W(dstea, ext); } -static void CHKCMP2_02FA(ULO*opc_data) +static void CHKCMP2_02FA(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA72(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA72(); cpuChkCmp2W(dstea, ext); } -static void CHKCMP2_02FB(ULO*opc_data) +static void CHKCMP2_02FB(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA73(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA73(); cpuChkCmp2W(dstea, ext); } -static void CHKCMP2_04D0(ULO*opc_data) +static void CHKCMP2_04D0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuChkCmp2L(dstea, ext); } -static void CHKCMP2_04E8(ULO*opc_data) +static void CHKCMP2_04E8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuChkCmp2L(dstea, ext); } -static void CHKCMP2_04F0(ULO*opc_data) +static void CHKCMP2_04F0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuChkCmp2L(dstea, ext); } -static void CHKCMP2_04F8(ULO*opc_data) +static void CHKCMP2_04F8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuChkCmp2L(dstea, ext); } -static void CHKCMP2_04F9(ULO*opc_data) +static void CHKCMP2_04F9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuChkCmp2L(dstea, ext); } -static void CHKCMP2_04FA(ULO*opc_data) +static void CHKCMP2_04FA(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA72(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA72(); cpuChkCmp2L(dstea, ext); } -static void CHKCMP2_04FB(ULO*opc_data) +static void CHKCMP2_04FB(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA73(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA73(); cpuChkCmp2L(dstea, ext); } -static void CALLM_06D0(ULO*opc_data) +static void CALLM_06D0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuCallm(dstea, ext); } -static void CALLM_06E8(ULO*opc_data) +static void CALLM_06E8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuCallm(dstea, ext); } -static void CALLM_06F0(ULO*opc_data) +static void CALLM_06F0(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuCallm(dstea, ext); } -static void CALLM_06F8(ULO*opc_data) +static void CALLM_06F8(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuCallm(dstea, ext); } -static void CALLM_06F9(ULO*opc_data) +static void CALLM_06F9(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuCallm(dstea, ext); } -static void CALLM_06FA(ULO*opc_data) +static void CALLM_06FA(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA72(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA72(); cpuCallm(dstea, ext); } -static void CALLM_06FB(ULO*opc_data) +static void CALLM_06FB(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA73(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA73(); cpuCallm(dstea, ext); } -static void PFLUSH030_F010(ULO*opc_data) +static void PFLUSH030_F010(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[0]); cpuPflush030(dstea, ext); } -static void PFLUSH030_F028(ULO*opc_data) +static void PFLUSH030_F028(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[0]); cpuPflush030(dstea, ext); } -static void PFLUSH030_F030(ULO*opc_data) +static void PFLUSH030_F030(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[0]); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[0]); cpuPflush030(dstea, ext); } -static void PFLUSH030_F038(ULO*opc_data) +static void PFLUSH030_F038(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuPflush030(dstea, ext); } -static void PFLUSH030_F039(ULO*opc_data) +static void PFLUSH030_F039(uint32_t*opc_data) { - UWO ext = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t ext = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuPflush030(dstea, ext); } -static void MOVEQ_7000(ULO*opc_data) +static void MOVEQ_7000(uint32_t*opc_data) { cpuSetDReg(opc_data[0], opc_data[1]); - cpuSetFlagsAbs((UWO)opc_data[2]); + cpuSetFlagsAbs((uint16_t)opc_data[2]); cpuSetInstructionTime(4); } -static void MOVE_1000(ULO*opc_data) +static void MOVE_1000(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); + uint8_t src = cpuGetDRegByte(opc_data[0]); cpuMoveB(src); cpuSetDRegByte(opc_data[1], src); cpuSetInstructionTime(4); } -static void MOVE_1008(ULO*opc_data) +static void MOVE_1010(uint32_t*opc_data) { - UBY src = cpuGetARegByte(opc_data[0]); - cpuMoveB(src); - cpuSetDRegByte(opc_data[1], src); - cpuSetInstructionTime(4); -} -static void MOVE_1010(ULO*opc_data) -{ - UBY src = memoryReadByte(cpuEA02(opc_data[0])); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); cpuMoveB(src); cpuSetDRegByte(opc_data[1], src); cpuSetInstructionTime(8); } -static void MOVE_1018(ULO*opc_data) +static void MOVE_1018(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); cpuMoveB(src); cpuSetDRegByte(opc_data[1], src); cpuSetInstructionTime(8); } -static void MOVE_1020(ULO*opc_data) +static void MOVE_1020(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); cpuMoveB(src); cpuSetDRegByte(opc_data[1], src); cpuSetInstructionTime(10); } -static void MOVE_1028(ULO*opc_data) +static void MOVE_1028(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); cpuMoveB(src); cpuSetDRegByte(opc_data[1], src); cpuSetInstructionTime(12); } -static void MOVE_1030(ULO*opc_data) +static void MOVE_1030(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); cpuMoveB(src); cpuSetDRegByte(opc_data[1], src); cpuSetInstructionTime(14); } -static void MOVE_1038(ULO*opc_data) +static void MOVE_1038(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); + uint8_t src = memoryReadByte(cpuEA70()); cpuMoveB(src); cpuSetDRegByte(opc_data[1], src); cpuSetInstructionTime(12); } -static void MOVE_1039(ULO*opc_data) +static void MOVE_1039(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); + uint8_t src = memoryReadByte(cpuEA71()); cpuMoveB(src); cpuSetDRegByte(opc_data[1], src); cpuSetInstructionTime(16); } -static void MOVE_103A(ULO*opc_data) +static void MOVE_103A(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); + uint8_t src = memoryReadByte(cpuEA72()); cpuMoveB(src); cpuSetDRegByte(opc_data[1], src); cpuSetInstructionTime(12); } -static void MOVE_103B(ULO*opc_data) +static void MOVE_103B(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); + uint8_t src = memoryReadByte(cpuEA73()); cpuMoveB(src); cpuSetDRegByte(opc_data[1], src); cpuSetInstructionTime(14); } -static void MOVE_103C(ULO*opc_data) +static void MOVE_103C(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); + uint8_t src = (uint8_t)cpuGetNextWord(); cpuMoveB(src); cpuSetDRegByte(opc_data[1], src); cpuSetInstructionTime(8); } -static void MOVE_1080(ULO*opc_data) +static void MOVE_1080(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - ULO dstea = cpuEA02(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(8); } -static void MOVE_1088(ULO*opc_data) +static void MOVE_1090(uint32_t*opc_data) { - UBY src = cpuGetARegByte(opc_data[0]); - ULO dstea = cpuEA02(opc_data[1]); - cpuMoveB(src); - memoryWriteByte(src, dstea); - cpuSetInstructionTime(8); -} -static void MOVE_1090(ULO*opc_data) -{ - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - ULO dstea = cpuEA02(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_1098(ULO*opc_data) +static void MOVE_1098(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - ULO dstea = cpuEA02(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_10A0(ULO*opc_data) +static void MOVE_10A0(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - ULO dstea = cpuEA02(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(14); } -static void MOVE_10A8(ULO*opc_data) +static void MOVE_10A8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - ULO dstea = cpuEA02(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_10B0(ULO*opc_data) +static void MOVE_10B0(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - ULO dstea = cpuEA02(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_10B8(ULO*opc_data) +static void MOVE_10B8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - ULO dstea = cpuEA02(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA70()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_10B9(ULO*opc_data) +static void MOVE_10B9(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - ULO dstea = cpuEA02(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA71()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_10BA(ULO*opc_data) +static void MOVE_10BA(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - ULO dstea = cpuEA02(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA72()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_10BB(ULO*opc_data) +static void MOVE_10BB(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - ULO dstea = cpuEA02(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA73()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_10BC(ULO*opc_data) +static void MOVE_10BC(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[1]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_10C0(ULO*opc_data) +static void MOVE_10C0(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - ULO dstea = cpuEA03(opc_data[1], 1); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint32_t dstea = cpuEA03(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(8); } -static void MOVE_10C8(ULO*opc_data) +static void MOVE_10D0(uint32_t*opc_data) { - UBY src = cpuGetARegByte(opc_data[0]); - ULO dstea = cpuEA03(opc_data[1], 1); - cpuMoveB(src); - memoryWriteByte(src, dstea); - cpuSetInstructionTime(8); -} -static void MOVE_10D0(ULO*opc_data) -{ - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - ULO dstea = cpuEA03(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA03(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_10D8(ULO*opc_data) +static void MOVE_10D8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - ULO dstea = cpuEA03(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint32_t dstea = cpuEA03(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_10E0(ULO*opc_data) +static void MOVE_10E0(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - ULO dstea = cpuEA03(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint32_t dstea = cpuEA03(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(14); } -static void MOVE_10E8(ULO*opc_data) +static void MOVE_10E8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - ULO dstea = cpuEA03(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA03(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_10F0(ULO*opc_data) +static void MOVE_10F0(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - ULO dstea = cpuEA03(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA03(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_10F8(ULO*opc_data) +static void MOVE_10F8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - ULO dstea = cpuEA03(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA70()); + uint32_t dstea = cpuEA03(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_10F9(ULO*opc_data) +static void MOVE_10F9(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - ULO dstea = cpuEA03(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA71()); + uint32_t dstea = cpuEA03(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_10FA(ULO*opc_data) +static void MOVE_10FA(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - ULO dstea = cpuEA03(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA72()); + uint32_t dstea = cpuEA03(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_10FB(ULO*opc_data) +static void MOVE_10FB(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - ULO dstea = cpuEA03(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA73()); + uint32_t dstea = cpuEA03(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_10FC(ULO*opc_data) +static void MOVE_10FC(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[1], 1); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_1100(ULO*opc_data) +static void MOVE_1100(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - ULO dstea = cpuEA04(opc_data[1], 1); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint32_t dstea = cpuEA04(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(8); } -static void MOVE_1108(ULO*opc_data) +static void MOVE_1110(uint32_t*opc_data) { - UBY src = cpuGetARegByte(opc_data[0]); - ULO dstea = cpuEA04(opc_data[1], 1); - cpuMoveB(src); - memoryWriteByte(src, dstea); - cpuSetInstructionTime(8); -} -static void MOVE_1110(ULO*opc_data) -{ - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - ULO dstea = cpuEA04(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA04(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_1118(ULO*opc_data) +static void MOVE_1118(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - ULO dstea = cpuEA04(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint32_t dstea = cpuEA04(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_1120(ULO*opc_data) +static void MOVE_1120(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - ULO dstea = cpuEA04(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint32_t dstea = cpuEA04(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(14); } -static void MOVE_1128(ULO*opc_data) +static void MOVE_1128(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - ULO dstea = cpuEA04(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA04(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_1130(ULO*opc_data) +static void MOVE_1130(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - ULO dstea = cpuEA04(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA04(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_1138(ULO*opc_data) +static void MOVE_1138(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - ULO dstea = cpuEA04(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA70()); + uint32_t dstea = cpuEA04(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_1139(ULO*opc_data) +static void MOVE_1139(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - ULO dstea = cpuEA04(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA71()); + uint32_t dstea = cpuEA04(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_113A(ULO*opc_data) +static void MOVE_113A(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - ULO dstea = cpuEA04(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA72()); + uint32_t dstea = cpuEA04(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_113B(ULO*opc_data) +static void MOVE_113B(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - ULO dstea = cpuEA04(opc_data[1], 1); + uint8_t src = memoryReadByte(cpuEA73()); + uint32_t dstea = cpuEA04(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_113C(ULO*opc_data) +static void MOVE_113C(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[1], 1); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[1], 1); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_1140(ULO*opc_data) +static void MOVE_1140(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - ULO dstea = cpuEA05(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_1148(ULO*opc_data) +static void MOVE_1150(uint32_t*opc_data) { - UBY src = cpuGetARegByte(opc_data[0]); - ULO dstea = cpuEA05(opc_data[1]); - cpuMoveB(src); - memoryWriteByte(src, dstea); - cpuSetInstructionTime(12); -} -static void MOVE_1150(ULO*opc_data) -{ - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - ULO dstea = cpuEA05(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_1158(ULO*opc_data) +static void MOVE_1158(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - ULO dstea = cpuEA05(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_1160(ULO*opc_data) +static void MOVE_1160(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - ULO dstea = cpuEA05(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_1168(ULO*opc_data) +static void MOVE_1168(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - ULO dstea = cpuEA05(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_1170(ULO*opc_data) +static void MOVE_1170(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - ULO dstea = cpuEA05(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_1178(ULO*opc_data) +static void MOVE_1178(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - ULO dstea = cpuEA05(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA70()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_1179(ULO*opc_data) +static void MOVE_1179(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - ULO dstea = cpuEA05(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA71()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_117A(ULO*opc_data) +static void MOVE_117A(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - ULO dstea = cpuEA05(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA72()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_117B(ULO*opc_data) +static void MOVE_117B(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - ULO dstea = cpuEA05(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA73()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_117C(ULO*opc_data) +static void MOVE_117C(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[1]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_1180(ULO*opc_data) +static void MOVE_1180(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - ULO dstea = cpuEA06(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(14); } -static void MOVE_1188(ULO*opc_data) +static void MOVE_1190(uint32_t*opc_data) { - UBY src = cpuGetARegByte(opc_data[0]); - ULO dstea = cpuEA06(opc_data[1]); - cpuMoveB(src); - memoryWriteByte(src, dstea); - cpuSetInstructionTime(14); -} -static void MOVE_1190(ULO*opc_data) -{ - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - ULO dstea = cpuEA06(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_1198(ULO*opc_data) +static void MOVE_1198(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - ULO dstea = cpuEA06(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_11A0(ULO*opc_data) +static void MOVE_11A0(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - ULO dstea = cpuEA06(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_11A8(ULO*opc_data) +static void MOVE_11A8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - ULO dstea = cpuEA06(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_11B0(ULO*opc_data) +static void MOVE_11B0(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - ULO dstea = cpuEA06(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_11B8(ULO*opc_data) +static void MOVE_11B8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - ULO dstea = cpuEA06(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA70()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_11B9(ULO*opc_data) +static void MOVE_11B9(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - ULO dstea = cpuEA06(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA71()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_11BA(ULO*opc_data) +static void MOVE_11BA(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - ULO dstea = cpuEA06(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA72()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_11BB(ULO*opc_data) +static void MOVE_11BB(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - ULO dstea = cpuEA06(opc_data[1]); + uint8_t src = memoryReadByte(cpuEA73()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_11BC(ULO*opc_data) +static void MOVE_11BC(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[1]); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_11C0(ULO*opc_data) +static void MOVE_11C0(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - ULO dstea = cpuEA70(); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint32_t dstea = cpuEA70(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_11C8(ULO*opc_data) +static void MOVE_11D0(uint32_t*opc_data) { - UBY src = cpuGetARegByte(opc_data[0]); - ULO dstea = cpuEA70(); - cpuMoveB(src); - memoryWriteByte(src, dstea); - cpuSetInstructionTime(12); -} -static void MOVE_11D0(ULO*opc_data) -{ - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - ULO dstea = cpuEA70(); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA70(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_11D8(ULO*opc_data) +static void MOVE_11D8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - ULO dstea = cpuEA70(); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint32_t dstea = cpuEA70(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_11E0(ULO*opc_data) +static void MOVE_11E0(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - ULO dstea = cpuEA70(); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint32_t dstea = cpuEA70(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_11E8(ULO*opc_data) +static void MOVE_11E8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - ULO dstea = cpuEA70(); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA70(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_11F0(ULO*opc_data) +static void MOVE_11F0(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - ULO dstea = cpuEA70(); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA70(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_11F8(ULO*opc_data) +static void MOVE_11F8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - ULO dstea = cpuEA70(); + uint8_t src = memoryReadByte(cpuEA70()); + uint32_t dstea = cpuEA70(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_11F9(ULO*opc_data) +static void MOVE_11F9(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - ULO dstea = cpuEA70(); + uint8_t src = memoryReadByte(cpuEA71()); + uint32_t dstea = cpuEA70(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_11FA(ULO*opc_data) +static void MOVE_11FA(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - ULO dstea = cpuEA70(); + uint8_t src = memoryReadByte(cpuEA72()); + uint32_t dstea = cpuEA70(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_11FB(ULO*opc_data) +static void MOVE_11FB(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - ULO dstea = cpuEA70(); + uint8_t src = memoryReadByte(cpuEA73()); + uint32_t dstea = cpuEA70(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_11FC(ULO*opc_data) +static void MOVE_11FC(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_13C0(ULO*opc_data) +static void MOVE_13C0(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - ULO dstea = cpuEA71(); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint32_t dstea = cpuEA71(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_13C8(ULO*opc_data) +static void MOVE_13D0(uint32_t*opc_data) { - UBY src = cpuGetARegByte(opc_data[0]); - ULO dstea = cpuEA71(); - cpuMoveB(src); - memoryWriteByte(src, dstea); - cpuSetInstructionTime(16); -} -static void MOVE_13D0(ULO*opc_data) -{ - UBY src = memoryReadByte(cpuEA02(opc_data[0])); - ULO dstea = cpuEA71(); + uint8_t src = memoryReadByte(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA71(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_13D8(ULO*opc_data) +static void MOVE_13D8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA03(opc_data[0],1)); - ULO dstea = cpuEA71(); + uint8_t src = memoryReadByte(cpuEA03(opc_data[0],1)); + uint32_t dstea = cpuEA71(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_13E0(ULO*opc_data) +static void MOVE_13E0(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - ULO dstea = cpuEA71(); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint32_t dstea = cpuEA71(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_13E8(ULO*opc_data) +static void MOVE_13E8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA05(opc_data[0])); - ULO dstea = cpuEA71(); + uint8_t src = memoryReadByte(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA71(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_13F0(ULO*opc_data) +static void MOVE_13F0(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA06(opc_data[0])); - ULO dstea = cpuEA71(); + uint8_t src = memoryReadByte(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA71(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_13F8(ULO*opc_data) +static void MOVE_13F8(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA70()); - ULO dstea = cpuEA71(); + uint8_t src = memoryReadByte(cpuEA70()); + uint32_t dstea = cpuEA71(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_13F9(ULO*opc_data) +static void MOVE_13F9(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA71()); - ULO dstea = cpuEA71(); + uint8_t src = memoryReadByte(cpuEA71()); + uint32_t dstea = cpuEA71(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_13FA(ULO*opc_data) +static void MOVE_13FA(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA72()); - ULO dstea = cpuEA71(); + uint8_t src = memoryReadByte(cpuEA72()); + uint32_t dstea = cpuEA71(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_13FB(ULO*opc_data) +static void MOVE_13FB(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA73()); - ULO dstea = cpuEA71(); + uint8_t src = memoryReadByte(cpuEA73()); + uint32_t dstea = cpuEA71(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_13FC(ULO*opc_data) +static void MOVE_13FC(uint32_t*opc_data) { - UBY src = (UBY)cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint8_t src = (uint8_t)cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuMoveB(src); memoryWriteByte(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_3000(ULO*opc_data) +static void MOVE_3000(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); + uint16_t src = cpuGetDRegWord(opc_data[0]); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(4); } -static void MOVE_3008(ULO*opc_data) +static void MOVE_3008(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); + uint16_t src = cpuGetARegWord(opc_data[0]); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(4); } -static void MOVE_3010(ULO*opc_data) +static void MOVE_3010(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(8); } -static void MOVE_3018(ULO*opc_data) +static void MOVE_3018(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(8); } -static void MOVE_3020(ULO*opc_data) +static void MOVE_3020(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(10); } -static void MOVE_3028(ULO*opc_data) +static void MOVE_3028(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(12); } -static void MOVE_3030(ULO*opc_data) +static void MOVE_3030(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(14); } -static void MOVE_3038(ULO*opc_data) +static void MOVE_3038(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); + uint16_t src = memoryReadWord(cpuEA70()); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(12); } -static void MOVE_3039(ULO*opc_data) +static void MOVE_3039(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); + uint16_t src = memoryReadWord(cpuEA71()); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(16); } -static void MOVE_303A(ULO*opc_data) +static void MOVE_303A(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); + uint16_t src = memoryReadWord(cpuEA72()); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(12); } -static void MOVE_303B(ULO*opc_data) +static void MOVE_303B(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); + uint16_t src = memoryReadWord(cpuEA73()); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(14); } -static void MOVE_303C(ULO*opc_data) +static void MOVE_303C(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); + uint16_t src = cpuGetNextWord(); cpuMoveW(src); cpuSetDRegWord(opc_data[1], src); cpuSetInstructionTime(8); } -static void MOVE_3080(ULO*opc_data) +static void MOVE_3080(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(8); } -static void MOVE_3088(ULO*opc_data) +static void MOVE_3088(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = cpuGetARegWord(opc_data[0]); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(8); } -static void MOVE_3090(ULO*opc_data) +static void MOVE_3090(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_3098(ULO*opc_data) +static void MOVE_3098(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_30A0(ULO*opc_data) +static void MOVE_30A0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(14); } -static void MOVE_30A8(ULO*opc_data) +static void MOVE_30A8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_30B0(ULO*opc_data) +static void MOVE_30B0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_30B8(ULO*opc_data) +static void MOVE_30B8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA70()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_30B9(ULO*opc_data) +static void MOVE_30B9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA71()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_30BA(ULO*opc_data) +static void MOVE_30BA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA72()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_30BB(ULO*opc_data) +static void MOVE_30BB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA73()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_30BC(ULO*opc_data) +static void MOVE_30BC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA02(opc_data[1]); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_30C0(ULO*opc_data) +static void MOVE_30C0(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(8); } -static void MOVE_30C8(ULO*opc_data) +static void MOVE_30C8(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = cpuGetARegWord(opc_data[0]); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(8); } -static void MOVE_30D0(ULO*opc_data) +static void MOVE_30D0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_30D8(ULO*opc_data) +static void MOVE_30D8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_30E0(ULO*opc_data) +static void MOVE_30E0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(14); } -static void MOVE_30E8(ULO*opc_data) +static void MOVE_30E8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_30F0(ULO*opc_data) +static void MOVE_30F0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_30F8(ULO*opc_data) +static void MOVE_30F8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA70()); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_30F9(ULO*opc_data) +static void MOVE_30F9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA71()); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_30FA(ULO*opc_data) +static void MOVE_30FA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA72()); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_30FB(ULO*opc_data) +static void MOVE_30FB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA73()); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_30FC(ULO*opc_data) +static void MOVE_30FC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA03(opc_data[1], 2); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA03(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_3100(ULO*opc_data) +static void MOVE_3100(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(8); } -static void MOVE_3108(ULO*opc_data) +static void MOVE_3108(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = cpuGetARegWord(opc_data[0]); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(8); } -static void MOVE_3110(ULO*opc_data) +static void MOVE_3110(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_3118(ULO*opc_data) +static void MOVE_3118(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_3120(ULO*opc_data) +static void MOVE_3120(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(14); } -static void MOVE_3128(ULO*opc_data) +static void MOVE_3128(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_3130(ULO*opc_data) +static void MOVE_3130(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_3138(ULO*opc_data) +static void MOVE_3138(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA70()); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_3139(ULO*opc_data) +static void MOVE_3139(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA71()); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_313A(ULO*opc_data) +static void MOVE_313A(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA72()); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_313B(ULO*opc_data) +static void MOVE_313B(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = memoryReadWord(cpuEA73()); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_313C(ULO*opc_data) +static void MOVE_313C(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA04(opc_data[1], 2); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA04(opc_data[1], 2); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_3140(ULO*opc_data) +static void MOVE_3140(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_3148(ULO*opc_data) +static void MOVE_3148(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = cpuGetARegWord(opc_data[0]); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_3150(ULO*opc_data) +static void MOVE_3150(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_3158(ULO*opc_data) +static void MOVE_3158(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_3160(ULO*opc_data) +static void MOVE_3160(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_3168(ULO*opc_data) +static void MOVE_3168(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_3170(ULO*opc_data) +static void MOVE_3170(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_3178(ULO*opc_data) +static void MOVE_3178(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA70()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_3179(ULO*opc_data) +static void MOVE_3179(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA71()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_317A(ULO*opc_data) +static void MOVE_317A(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA72()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_317B(ULO*opc_data) +static void MOVE_317B(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA73()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_317C(ULO*opc_data) +static void MOVE_317C(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA05(opc_data[1]); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_3180(ULO*opc_data) +static void MOVE_3180(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(14); } -static void MOVE_3188(ULO*opc_data) +static void MOVE_3188(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = cpuGetARegWord(opc_data[0]); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(14); } -static void MOVE_3190(ULO*opc_data) +static void MOVE_3190(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_3198(ULO*opc_data) +static void MOVE_3198(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_31A0(ULO*opc_data) +static void MOVE_31A0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_31A8(ULO*opc_data) +static void MOVE_31A8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_31B0(ULO*opc_data) +static void MOVE_31B0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_31B8(ULO*opc_data) +static void MOVE_31B8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA70()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_31B9(ULO*opc_data) +static void MOVE_31B9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA71()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_31BA(ULO*opc_data) +static void MOVE_31BA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA72()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_31BB(ULO*opc_data) +static void MOVE_31BB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = memoryReadWord(cpuEA73()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_31BC(ULO*opc_data) +static void MOVE_31BC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA06(opc_data[1]); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_31C0(ULO*opc_data) +static void MOVE_31C0(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - ULO dstea = cpuEA70(); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_31C8(ULO*opc_data) +static void MOVE_31C8(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); - ULO dstea = cpuEA70(); + uint16_t src = cpuGetARegWord(opc_data[0]); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_31D0(ULO*opc_data) +static void MOVE_31D0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - ULO dstea = cpuEA70(); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_31D8(ULO*opc_data) +static void MOVE_31D8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dstea = cpuEA70(); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_31E0(ULO*opc_data) +static void MOVE_31E0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dstea = cpuEA70(); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_31E8(ULO*opc_data) +static void MOVE_31E8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - ULO dstea = cpuEA70(); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_31F0(ULO*opc_data) +static void MOVE_31F0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - ULO dstea = cpuEA70(); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_31F8(ULO*opc_data) +static void MOVE_31F8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - ULO dstea = cpuEA70(); + uint16_t src = memoryReadWord(cpuEA70()); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_31F9(ULO*opc_data) +static void MOVE_31F9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - ULO dstea = cpuEA70(); + uint16_t src = memoryReadWord(cpuEA71()); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_31FA(ULO*opc_data) +static void MOVE_31FA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - ULO dstea = cpuEA70(); + uint16_t src = memoryReadWord(cpuEA72()); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_31FB(ULO*opc_data) +static void MOVE_31FB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - ULO dstea = cpuEA70(); + uint16_t src = memoryReadWord(cpuEA73()); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_31FC(ULO*opc_data) +static void MOVE_31FC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA70(); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA70(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_33C0(ULO*opc_data) +static void MOVE_33C0(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - ULO dstea = cpuEA71(); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_33C8(ULO*opc_data) +static void MOVE_33C8(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); - ULO dstea = cpuEA71(); + uint16_t src = cpuGetARegWord(opc_data[0]); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_33D0(ULO*opc_data) +static void MOVE_33D0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - ULO dstea = cpuEA71(); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_33D8(ULO*opc_data) +static void MOVE_33D8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - ULO dstea = cpuEA71(); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_33E0(ULO*opc_data) +static void MOVE_33E0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dstea = cpuEA71(); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_33E8(ULO*opc_data) +static void MOVE_33E8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - ULO dstea = cpuEA71(); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_33F0(ULO*opc_data) +static void MOVE_33F0(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - ULO dstea = cpuEA71(); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_33F8(ULO*opc_data) +static void MOVE_33F8(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - ULO dstea = cpuEA71(); + uint16_t src = memoryReadWord(cpuEA70()); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_33F9(ULO*opc_data) +static void MOVE_33F9(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - ULO dstea = cpuEA71(); + uint16_t src = memoryReadWord(cpuEA71()); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_33FA(ULO*opc_data) +static void MOVE_33FA(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - ULO dstea = cpuEA71(); + uint16_t src = memoryReadWord(cpuEA72()); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_33FB(ULO*opc_data) +static void MOVE_33FB(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - ULO dstea = cpuEA71(); + uint16_t src = memoryReadWord(cpuEA73()); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_33FC(ULO*opc_data) +static void MOVE_33FC(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - ULO dstea = cpuEA71(); + uint16_t src = cpuGetNextWord(); + uint32_t dstea = cpuEA71(); cpuMoveW(src); memoryWriteWord(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_2000(ULO*opc_data) +static void MOVE_2000(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetDReg(opc_data[0]); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(4); } -static void MOVE_2008(ULO*opc_data) +static void MOVE_2008(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); + uint32_t src = cpuGetAReg(opc_data[0]); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(4); } -static void MOVE_2010(ULO*opc_data) +static void MOVE_2010(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(12); } -static void MOVE_2018(ULO*opc_data) +static void MOVE_2018(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(12); } -static void MOVE_2020(ULO*opc_data) +static void MOVE_2020(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(14); } -static void MOVE_2028(ULO*opc_data) +static void MOVE_2028(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(16); } -static void MOVE_2030(ULO*opc_data) +static void MOVE_2030(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(18); } -static void MOVE_2038(ULO*opc_data) +static void MOVE_2038(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); + uint32_t src = memoryReadLong(cpuEA70()); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(16); } -static void MOVE_2039(ULO*opc_data) +static void MOVE_2039(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); + uint32_t src = memoryReadLong(cpuEA71()); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(20); } -static void MOVE_203A(ULO*opc_data) +static void MOVE_203A(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); + uint32_t src = memoryReadLong(cpuEA72()); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(16); } -static void MOVE_203B(ULO*opc_data) +static void MOVE_203B(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); + uint32_t src = memoryReadLong(cpuEA73()); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(18); } -static void MOVE_203C(ULO*opc_data) +static void MOVE_203C(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); + uint32_t src = cpuGetNextLong(); cpuMoveL(src); cpuSetDReg(opc_data[1], src); cpuSetInstructionTime(12); } -static void MOVE_2080(ULO*opc_data) +static void MOVE_2080(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_2088(ULO*opc_data) +static void MOVE_2088(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_2090(ULO*opc_data) +static void MOVE_2090(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_2098(ULO*opc_data) +static void MOVE_2098(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_20A0(ULO*opc_data) +static void MOVE_20A0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_20A8(ULO*opc_data) +static void MOVE_20A8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_20B0(ULO*opc_data) +static void MOVE_20B0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_20B8(ULO*opc_data) +static void MOVE_20B8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_20B9(ULO*opc_data) +static void MOVE_20B9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_20BA(ULO*opc_data) +static void MOVE_20BA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_20BB(ULO*opc_data) +static void MOVE_20BB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_20BC(ULO*opc_data) +static void MOVE_20BC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA02(opc_data[1]); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA02(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_20C0(ULO*opc_data) +static void MOVE_20C0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_20C8(ULO*opc_data) +static void MOVE_20C8(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_20D0(ULO*opc_data) +static void MOVE_20D0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_20D8(ULO*opc_data) +static void MOVE_20D8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_20E0(ULO*opc_data) +static void MOVE_20E0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_20E8(ULO*opc_data) +static void MOVE_20E8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_20F0(ULO*opc_data) +static void MOVE_20F0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_20F8(ULO*opc_data) +static void MOVE_20F8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_20F9(ULO*opc_data) +static void MOVE_20F9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_20FA(ULO*opc_data) +static void MOVE_20FA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_20FB(ULO*opc_data) +static void MOVE_20FB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_20FC(ULO*opc_data) +static void MOVE_20FC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA03(opc_data[1], 4); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA03(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_2100(ULO*opc_data) +static void MOVE_2100(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_2108(ULO*opc_data) +static void MOVE_2108(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(12); } -static void MOVE_2110(ULO*opc_data) +static void MOVE_2110(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_2118(ULO*opc_data) +static void MOVE_2118(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_2120(ULO*opc_data) +static void MOVE_2120(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(22); } -static void MOVE_2128(ULO*opc_data) +static void MOVE_2128(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_2130(ULO*opc_data) +static void MOVE_2130(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_2138(ULO*opc_data) +static void MOVE_2138(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_2139(ULO*opc_data) +static void MOVE_2139(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_213A(ULO*opc_data) +static void MOVE_213A(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_213B(ULO*opc_data) +static void MOVE_213B(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_213C(ULO*opc_data) +static void MOVE_213C(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA04(opc_data[1], 4); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA04(opc_data[1], 4); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_2140(ULO*opc_data) +static void MOVE_2140(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_2148(ULO*opc_data) +static void MOVE_2148(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_2150(ULO*opc_data) +static void MOVE_2150(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_2158(ULO*opc_data) +static void MOVE_2158(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_2160(ULO*opc_data) +static void MOVE_2160(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_2168(ULO*opc_data) +static void MOVE_2168(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_2170(ULO*opc_data) +static void MOVE_2170(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(30); } -static void MOVE_2178(ULO*opc_data) +static void MOVE_2178(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_2179(ULO*opc_data) +static void MOVE_2179(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(32); } -static void MOVE_217A(ULO*opc_data) +static void MOVE_217A(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_217B(ULO*opc_data) +static void MOVE_217B(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(30); } -static void MOVE_217C(ULO*opc_data) +static void MOVE_217C(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA05(opc_data[1]); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA05(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_2180(ULO*opc_data) +static void MOVE_2180(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_2188(ULO*opc_data) +static void MOVE_2188(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(18); } -static void MOVE_2190(ULO*opc_data) +static void MOVE_2190(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_2198(ULO*opc_data) +static void MOVE_2198(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_21A0(ULO*opc_data) +static void MOVE_21A0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_21A8(ULO*opc_data) +static void MOVE_21A8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(30); } -static void MOVE_21B0(ULO*opc_data) +static void MOVE_21B0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(32); } -static void MOVE_21B8(ULO*opc_data) +static void MOVE_21B8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(30); } -static void MOVE_21B9(ULO*opc_data) +static void MOVE_21B9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(34); } -static void MOVE_21BA(ULO*opc_data) +static void MOVE_21BA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(30); } -static void MOVE_21BB(ULO*opc_data) +static void MOVE_21BB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(32); } -static void MOVE_21BC(ULO*opc_data) +static void MOVE_21BC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA06(opc_data[1]); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA06(opc_data[1]); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_21C0(ULO*opc_data) +static void MOVE_21C0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dstea = cpuEA70(); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_21C8(ULO*opc_data) +static void MOVE_21C8(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dstea = cpuEA70(); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(16); } -static void MOVE_21D0(ULO*opc_data) +static void MOVE_21D0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dstea = cpuEA70(); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_21D8(ULO*opc_data) +static void MOVE_21D8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dstea = cpuEA70(); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_21E0(ULO*opc_data) +static void MOVE_21E0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dstea = cpuEA70(); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(26); } -static void MOVE_21E8(ULO*opc_data) +static void MOVE_21E8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dstea = cpuEA70(); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_21F0(ULO*opc_data) +static void MOVE_21F0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dstea = cpuEA70(); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(30); } -static void MOVE_21F8(ULO*opc_data) +static void MOVE_21F8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dstea = cpuEA70(); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_21F9(ULO*opc_data) +static void MOVE_21F9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dstea = cpuEA70(); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(32); } -static void MOVE_21FA(ULO*opc_data) +static void MOVE_21FA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dstea = cpuEA70(); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_21FB(ULO*opc_data) +static void MOVE_21FB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dstea = cpuEA70(); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(30); } -static void MOVE_21FC(ULO*opc_data) +static void MOVE_21FC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA70(); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA70(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(24); } -static void MOVE_23C0(ULO*opc_data) +static void MOVE_23C0(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dstea = cpuEA71(); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_23C8(ULO*opc_data) +static void MOVE_23C8(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); - ULO dstea = cpuEA71(); + uint32_t src = cpuGetAReg(opc_data[0]); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(20); } -static void MOVE_23D0(ULO*opc_data) +static void MOVE_23D0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); - ULO dstea = cpuEA71(); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_23D8(ULO*opc_data) +static void MOVE_23D8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); - ULO dstea = cpuEA71(); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVE_23E0(ULO*opc_data) +static void MOVE_23E0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dstea = cpuEA71(); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(30); } -static void MOVE_23E8(ULO*opc_data) +static void MOVE_23E8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); - ULO dstea = cpuEA71(); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(32); } -static void MOVE_23F0(ULO*opc_data) +static void MOVE_23F0(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); - ULO dstea = cpuEA71(); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(34); } -static void MOVE_23F8(ULO*opc_data) +static void MOVE_23F8(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); - ULO dstea = cpuEA71(); + uint32_t src = memoryReadLong(cpuEA70()); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(32); } -static void MOVE_23F9(ULO*opc_data) +static void MOVE_23F9(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); - ULO dstea = cpuEA71(); + uint32_t src = memoryReadLong(cpuEA71()); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(36); } -static void MOVE_23FA(ULO*opc_data) +static void MOVE_23FA(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); - ULO dstea = cpuEA71(); + uint32_t src = memoryReadLong(cpuEA72()); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(32); } -static void MOVE_23FB(ULO*opc_data) +static void MOVE_23FB(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); - ULO dstea = cpuEA71(); + uint32_t src = memoryReadLong(cpuEA73()); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(34); } -static void MOVE_23FC(ULO*opc_data) +static void MOVE_23FC(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); - ULO dstea = cpuEA71(); + uint32_t src = cpuGetNextLong(); + uint32_t dstea = cpuEA71(); cpuMoveL(src); memoryWriteLong(src, dstea); cpuSetInstructionTime(28); } -static void MOVEA_3040(ULO*opc_data) +static void MOVEA_3040(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = cpuGetDRegWord(opc_data[0]); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(4); } -static void MOVEA_3048(ULO*opc_data) +static void MOVEA_3048(uint32_t*opc_data) { - UWO src = cpuGetARegWord(opc_data[0]); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = cpuGetARegWord(opc_data[0]); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(4); } -static void MOVEA_3050(ULO*opc_data) +static void MOVEA_3050(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA02(opc_data[0])); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = memoryReadWord(cpuEA02(opc_data[0])); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(8); } -static void MOVEA_3058(ULO*opc_data) +static void MOVEA_3058(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA03(opc_data[0],2)); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = memoryReadWord(cpuEA03(opc_data[0],2)); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(8); } -static void MOVEA_3060(ULO*opc_data) +static void MOVEA_3060(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(10); } -static void MOVEA_3068(ULO*opc_data) +static void MOVEA_3068(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA05(opc_data[0])); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = memoryReadWord(cpuEA05(opc_data[0])); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(12); } -static void MOVEA_3070(ULO*opc_data) +static void MOVEA_3070(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA06(opc_data[0])); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = memoryReadWord(cpuEA06(opc_data[0])); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(14); } -static void MOVEA_3078(ULO*opc_data) +static void MOVEA_3078(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA70()); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = memoryReadWord(cpuEA70()); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(12); } -static void MOVEA_3079(ULO*opc_data) +static void MOVEA_3079(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA71()); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = memoryReadWord(cpuEA71()); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(16); } -static void MOVEA_307A(ULO*opc_data) +static void MOVEA_307A(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA72()); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = memoryReadWord(cpuEA72()); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(12); } -static void MOVEA_307B(ULO*opc_data) +static void MOVEA_307B(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA73()); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = memoryReadWord(cpuEA73()); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(14); } -static void MOVEA_307C(ULO*opc_data) +static void MOVEA_307C(uint32_t*opc_data) { - UWO src = cpuGetNextWord(); - cpuSetAReg(opc_data[1], (ULO)(LON)(WOR)src); + uint16_t src = cpuGetNextWord(); + cpuSetAReg(opc_data[1], (uint32_t)(int32_t)(int16_t)src); cpuSetInstructionTime(8); } -static void MOVEA_2040(ULO*opc_data) +static void MOVEA_2040(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); + uint32_t src = cpuGetDReg(opc_data[0]); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(4); } -static void MOVEA_2048(ULO*opc_data) +static void MOVEA_2048(uint32_t*opc_data) { - ULO src = cpuGetAReg(opc_data[0]); + uint32_t src = cpuGetAReg(opc_data[0]); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(4); } -static void MOVEA_2050(ULO*opc_data) +static void MOVEA_2050(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA02(opc_data[0])); + uint32_t src = memoryReadLong(cpuEA02(opc_data[0])); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(12); } -static void MOVEA_2058(ULO*opc_data) +static void MOVEA_2058(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA03(opc_data[0],4)); + uint32_t src = memoryReadLong(cpuEA03(opc_data[0],4)); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(12); } -static void MOVEA_2060(ULO*opc_data) +static void MOVEA_2060(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(14); } -static void MOVEA_2068(ULO*opc_data) +static void MOVEA_2068(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA05(opc_data[0])); + uint32_t src = memoryReadLong(cpuEA05(opc_data[0])); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(16); } -static void MOVEA_2070(ULO*opc_data) +static void MOVEA_2070(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA06(opc_data[0])); + uint32_t src = memoryReadLong(cpuEA06(opc_data[0])); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(18); } -static void MOVEA_2078(ULO*opc_data) +static void MOVEA_2078(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA70()); + uint32_t src = memoryReadLong(cpuEA70()); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(16); } -static void MOVEA_2079(ULO*opc_data) +static void MOVEA_2079(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA71()); + uint32_t src = memoryReadLong(cpuEA71()); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(20); } -static void MOVEA_207A(ULO*opc_data) +static void MOVEA_207A(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA72()); + uint32_t src = memoryReadLong(cpuEA72()); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(16); } -static void MOVEA_207B(ULO*opc_data) +static void MOVEA_207B(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA73()); + uint32_t src = memoryReadLong(cpuEA73()); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(18); } -static void MOVEA_207C(ULO*opc_data) +static void MOVEA_207C(uint32_t*opc_data) { - ULO src = cpuGetNextLong(); + uint32_t src = cpuGetNextLong(); cpuSetAReg(opc_data[1], src); cpuSetInstructionTime(12); } -static void BCCB_6200(ULO*opc_data) +static void BCCB_6200(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode2(), opc_data[1]); } -static void BCCB_6300(ULO*opc_data) +static void BCCB_6300(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode3(), opc_data[1]); } -static void BCCB_6400(ULO*opc_data) +static void BCCB_6400(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode4(), opc_data[1]); } -static void BCCB_6500(ULO*opc_data) +static void BCCB_6500(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode5(), opc_data[1]); } -static void BCCB_6600(ULO*opc_data) +static void BCCB_6600(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode6(), opc_data[1]); } -static void BCCB_6700(ULO*opc_data) +static void BCCB_6700(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode7(), opc_data[1]); } -static void BCCB_6800(ULO*opc_data) +static void BCCB_6800(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode8(), opc_data[1]); } -static void BCCB_6900(ULO*opc_data) +static void BCCB_6900(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode9(), opc_data[1]); } -static void BCCB_6A00(ULO*opc_data) +static void BCCB_6A00(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode10(), opc_data[1]); } -static void BCCB_6B00(ULO*opc_data) +static void BCCB_6B00(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode11(), opc_data[1]); } -static void BCCB_6C00(ULO*opc_data) +static void BCCB_6C00(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode12(), opc_data[1]); } -static void BCCB_6D00(ULO*opc_data) +static void BCCB_6D00(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode13(), opc_data[1]); } -static void BCCB_6E00(ULO*opc_data) +static void BCCB_6E00(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode14(), opc_data[1]); } -static void BCCB_6F00(ULO*opc_data) +static void BCCB_6F00(uint32_t*opc_data) { cpuBccB(cpuCalculateConditionCode15(), opc_data[1]); } -static void BCCW_6200(ULO*opc_data) +static void BCCW_6200(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode2()); } -static void BCCW_6300(ULO*opc_data) +static void BCCW_6300(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode3()); } -static void BCCW_6400(ULO*opc_data) +static void BCCW_6400(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode4()); } -static void BCCW_6500(ULO*opc_data) +static void BCCW_6500(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode5()); } -static void BCCW_6600(ULO*opc_data) +static void BCCW_6600(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode6()); } -static void BCCW_6700(ULO*opc_data) +static void BCCW_6700(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode7()); } -static void BCCW_6800(ULO*opc_data) +static void BCCW_6800(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode8()); } -static void BCCW_6900(ULO*opc_data) +static void BCCW_6900(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode9()); } -static void BCCW_6A00(ULO*opc_data) +static void BCCW_6A00(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode10()); } -static void BCCW_6B00(ULO*opc_data) +static void BCCW_6B00(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode11()); } -static void BCCW_6C00(ULO*opc_data) +static void BCCW_6C00(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode12()); } -static void BCCW_6D00(ULO*opc_data) +static void BCCW_6D00(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode13()); } -static void BCCW_6E00(ULO*opc_data) +static void BCCW_6E00(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode14()); } -static void BCCW_6F00(ULO*opc_data) +static void BCCW_6F00(uint32_t*opc_data) { cpuBccW(cpuCalculateConditionCode15()); } -static void BCCL_62FF(ULO*opc_data) +static void BCCL_62FF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode2()); } -static void BCCL_63FF(ULO*opc_data) +static void BCCL_63FF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode3()); } -static void BCCL_64FF(ULO*opc_data) +static void BCCL_64FF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode4()); } -static void BCCL_65FF(ULO*opc_data) +static void BCCL_65FF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode5()); } -static void BCCL_66FF(ULO*opc_data) +static void BCCL_66FF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode6()); } -static void BCCL_67FF(ULO*opc_data) +static void BCCL_67FF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode7()); } -static void BCCL_68FF(ULO*opc_data) +static void BCCL_68FF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode8()); } -static void BCCL_69FF(ULO*opc_data) +static void BCCL_69FF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode9()); } -static void BCCL_6AFF(ULO*opc_data) +static void BCCL_6AFF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode10()); } -static void BCCL_6BFF(ULO*opc_data) +static void BCCL_6BFF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode11()); } -static void BCCL_6CFF(ULO*opc_data) +static void BCCL_6CFF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode12()); } -static void BCCL_6DFF(ULO*opc_data) +static void BCCL_6DFF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode13()); } -static void BCCL_6EFF(ULO*opc_data) +static void BCCL_6EFF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode14()); } -static void BCCL_6FFF(ULO*opc_data) +static void BCCL_6FFF(uint32_t*opc_data) { cpuBccL(cpuCalculateConditionCode15()); } -static void BKPT_4848(ULO*opc_data) +static void BKPT_4848(uint32_t*opc_data) { cpuBkpt(opc_data[0]); } -static void EXG_C140(ULO*opc_data) +static void EXG_C140(uint32_t*opc_data) { cpuExgDD(opc_data[0], opc_data[1]); } -static void EXG_C148(ULO*opc_data) +static void EXG_C148(uint32_t*opc_data) { cpuExgAA(opc_data[0], opc_data[1]); } -static void EXG_C188(ULO*opc_data) +static void EXG_C188(uint32_t*opc_data) { cpuExgDA(opc_data[0], opc_data[1]); } -static void EXT_4880(ULO*opc_data) +static void EXT_4880(uint32_t*opc_data) { cpuExtW(opc_data[0]); } -static void EXT_48C0(ULO*opc_data) +static void EXT_48C0(uint32_t*opc_data) { cpuExtL(opc_data[0]); } -static void EXT_49C0(ULO*opc_data) +static void EXT_49C0(uint32_t*opc_data) { cpuExtBL(opc_data[0]); } -static void SWAP_4840(ULO*opc_data) +static void SWAP_4840(uint32_t*opc_data) { cpuSwap(opc_data[0]); } -static void LINK_4E50(ULO*opc_data) +static void LINK_4E50(uint32_t*opc_data) { cpuLinkW(opc_data[0]); } -static void LINK_4808(ULO*opc_data) +static void LINK_4808(uint32_t*opc_data) { cpuLinkL(opc_data[0]); } -static void UNLK_4E58(ULO*opc_data) +static void UNLK_4E58(uint32_t*opc_data) { cpuUnlk(opc_data[0]); } -static void BRAB_6000(ULO*opc_data) +static void BRAB_6000(uint32_t*opc_data) { cpuBraB(opc_data[1]); } -static void BRAW_6000(ULO*opc_data) +static void BRAW_6000(uint32_t*opc_data) { cpuBraW(); } -static void BRAL_60FF(ULO*opc_data) +static void BRAL_60FF(uint32_t*opc_data) { cpuBraL(); } -static void BSRB_6100(ULO*opc_data) +static void BSRB_6100(uint32_t*opc_data) { cpuBsrB(opc_data[1]); } -static void BSRW_6100(ULO*opc_data) +static void BSRW_6100(uint32_t*opc_data) { cpuBsrW(); } -static void BSRL_61FF(ULO*opc_data) +static void BSRL_61FF(uint32_t*opc_data) { cpuBsrL(); } -static void DBCC_50C8(ULO*opc_data) +static void DBCC_50C8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode0(), opc_data[1]); } -static void DBCC_51C8(ULO*opc_data) +static void DBCC_51C8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode1(), opc_data[1]); } -static void DBCC_52C8(ULO*opc_data) +static void DBCC_52C8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode2(), opc_data[1]); } -static void DBCC_53C8(ULO*opc_data) +static void DBCC_53C8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode3(), opc_data[1]); } -static void DBCC_54C8(ULO*opc_data) +static void DBCC_54C8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode4(), opc_data[1]); } -static void DBCC_55C8(ULO*opc_data) +static void DBCC_55C8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode5(), opc_data[1]); } -static void DBCC_56C8(ULO*opc_data) +static void DBCC_56C8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode6(), opc_data[1]); } -static void DBCC_57C8(ULO*opc_data) +static void DBCC_57C8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode7(), opc_data[1]); } -static void DBCC_58C8(ULO*opc_data) +static void DBCC_58C8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode8(), opc_data[1]); } -static void DBCC_59C8(ULO*opc_data) +static void DBCC_59C8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode9(), opc_data[1]); } -static void DBCC_5AC8(ULO*opc_data) +static void DBCC_5AC8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode10(), opc_data[1]); } -static void DBCC_5BC8(ULO*opc_data) +static void DBCC_5BC8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode11(), opc_data[1]); } -static void DBCC_5CC8(ULO*opc_data) +static void DBCC_5CC8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode12(), opc_data[1]); } -static void DBCC_5DC8(ULO*opc_data) +static void DBCC_5DC8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode13(), opc_data[1]); } -static void DBCC_5EC8(ULO*opc_data) +static void DBCC_5EC8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode14(), opc_data[1]); } -static void DBCC_5FC8(ULO*opc_data) +static void DBCC_5FC8(uint32_t*opc_data) { cpuDbcc(cpuCalculateConditionCode15(), opc_data[1]); } -static void TRAPCC_50FC(ULO*opc_data) +static void TRAPCC_50FC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode0()); } -static void TRAPCC_51FC(ULO*opc_data) +static void TRAPCC_51FC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode1()); } -static void TRAPCC_52FC(ULO*opc_data) +static void TRAPCC_52FC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode2()); } -static void TRAPCC_53FC(ULO*opc_data) +static void TRAPCC_53FC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode3()); } -static void TRAPCC_54FC(ULO*opc_data) +static void TRAPCC_54FC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode4()); } -static void TRAPCC_55FC(ULO*opc_data) +static void TRAPCC_55FC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode5()); } -static void TRAPCC_56FC(ULO*opc_data) +static void TRAPCC_56FC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode6()); } -static void TRAPCC_57FC(ULO*opc_data) +static void TRAPCC_57FC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode7()); } -static void TRAPCC_58FC(ULO*opc_data) +static void TRAPCC_58FC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode8()); } -static void TRAPCC_59FC(ULO*opc_data) +static void TRAPCC_59FC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode9()); } -static void TRAPCC_5AFC(ULO*opc_data) +static void TRAPCC_5AFC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode10()); } -static void TRAPCC_5BFC(ULO*opc_data) +static void TRAPCC_5BFC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode11()); } -static void TRAPCC_5CFC(ULO*opc_data) +static void TRAPCC_5CFC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode12()); } -static void TRAPCC_5DFC(ULO*opc_data) +static void TRAPCC_5DFC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode13()); } -static void TRAPCC_5EFC(ULO*opc_data) +static void TRAPCC_5EFC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode14()); } -static void TRAPCC_5FFC(ULO*opc_data) +static void TRAPCC_5FFC(uint32_t*opc_data) { cpuTrapcc(cpuCalculateConditionCode15()); } -static void TRAPCC_50FA(ULO*opc_data) +static void TRAPCC_50FA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode0()); } -static void TRAPCC_51FA(ULO*opc_data) +static void TRAPCC_51FA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode1()); } -static void TRAPCC_52FA(ULO*opc_data) +static void TRAPCC_52FA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode2()); } -static void TRAPCC_53FA(ULO*opc_data) +static void TRAPCC_53FA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode3()); } -static void TRAPCC_54FA(ULO*opc_data) +static void TRAPCC_54FA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode4()); } -static void TRAPCC_55FA(ULO*opc_data) +static void TRAPCC_55FA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode5()); } -static void TRAPCC_56FA(ULO*opc_data) +static void TRAPCC_56FA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode6()); } -static void TRAPCC_57FA(ULO*opc_data) +static void TRAPCC_57FA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode7()); } -static void TRAPCC_58FA(ULO*opc_data) +static void TRAPCC_58FA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode8()); } -static void TRAPCC_59FA(ULO*opc_data) +static void TRAPCC_59FA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode9()); } -static void TRAPCC_5AFA(ULO*opc_data) +static void TRAPCC_5AFA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode10()); } -static void TRAPCC_5BFA(ULO*opc_data) +static void TRAPCC_5BFA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode11()); } -static void TRAPCC_5CFA(ULO*opc_data) +static void TRAPCC_5CFA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode12()); } -static void TRAPCC_5DFA(ULO*opc_data) +static void TRAPCC_5DFA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode13()); } -static void TRAPCC_5EFA(ULO*opc_data) +static void TRAPCC_5EFA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode14()); } -static void TRAPCC_5FFA(ULO*opc_data) +static void TRAPCC_5FFA(uint32_t*opc_data) { cpuTrapccW(cpuCalculateConditionCode15()); } -static void TRAPCC_50FB(ULO*opc_data) +static void TRAPCC_50FB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode0()); } -static void TRAPCC_51FB(ULO*opc_data) +static void TRAPCC_51FB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode1()); } -static void TRAPCC_52FB(ULO*opc_data) +static void TRAPCC_52FB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode2()); } -static void TRAPCC_53FB(ULO*opc_data) +static void TRAPCC_53FB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode3()); } -static void TRAPCC_54FB(ULO*opc_data) +static void TRAPCC_54FB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode4()); } -static void TRAPCC_55FB(ULO*opc_data) +static void TRAPCC_55FB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode5()); } -static void TRAPCC_56FB(ULO*opc_data) +static void TRAPCC_56FB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode6()); } -static void TRAPCC_57FB(ULO*opc_data) +static void TRAPCC_57FB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode7()); } -static void TRAPCC_58FB(ULO*opc_data) +static void TRAPCC_58FB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode8()); } -static void TRAPCC_59FB(ULO*opc_data) +static void TRAPCC_59FB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode9()); } -static void TRAPCC_5AFB(ULO*opc_data) +static void TRAPCC_5AFB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode10()); } -static void TRAPCC_5BFB(ULO*opc_data) +static void TRAPCC_5BFB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode11()); } -static void TRAPCC_5CFB(ULO*opc_data) +static void TRAPCC_5CFB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode12()); } -static void TRAPCC_5DFB(ULO*opc_data) +static void TRAPCC_5DFB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode13()); } -static void TRAPCC_5EFB(ULO*opc_data) +static void TRAPCC_5EFB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode14()); } -static void TRAPCC_5FFB(ULO*opc_data) +static void TRAPCC_5FFB(uint32_t*opc_data) { cpuTrapccL(cpuCalculateConditionCode15()); } -static void RTD_4E74(ULO*opc_data) +static void RTD_4E74(uint32_t*opc_data) { cpuRtd(); } -static void RTE_4E73(ULO*opc_data) +static void RTE_4E73(uint32_t*opc_data) { cpuRte(); } -static void RTS_4E75(ULO*opc_data) +static void RTS_4E75(uint32_t*opc_data) { cpuRts(); } -static void RTR_4E77(ULO*opc_data) +static void RTR_4E77(uint32_t*opc_data) { cpuRtr(); } -static void NOP_4E71(ULO*opc_data) +static void NOP_4E71(uint32_t*opc_data) { cpuNop(); } -static void MOVEC_4E7A(ULO*opc_data) +static void MOVEC_4E7A(uint32_t*opc_data) { cpuMoveCFrom(); } -static void MOVEC_4E7B(ULO*opc_data) +static void MOVEC_4E7B(uint32_t*opc_data) { cpuMoveCTo(); } -static void CAS2_0CFC(ULO*opc_data) +static void CAS2_0CFC(uint32_t*opc_data) { cpuCas2W(); } -static void CAS2_0EFC(ULO*opc_data) +static void CAS2_0EFC(uint32_t*opc_data) { cpuCas2L(); } -static void TRAP_4E40(ULO*opc_data) +static void TRAP_4E40(uint32_t*opc_data) { cpuTrap(opc_data[0]); } -static void TRAPV_4E76(ULO*opc_data) +static void TRAPV_4E76(uint32_t*opc_data) { cpuTrapv(); } -static void STOP_4E72(ULO*opc_data) +static void STOP_4E72(uint32_t*opc_data) { cpuStop(cpuGetNextWord()); } -static void RESET_4E70(ULO*opc_data) +static void RESET_4E70(uint32_t*opc_data) { cpuReset(); } -static void MOVEUSP_4E60(ULO*opc_data) +static void MOVEUSP_4E60(uint32_t*opc_data) { cpuMoveToUsp(opc_data[0]); } -static void MOVEUSP_4E68(ULO*opc_data) +static void MOVEUSP_4E68(uint32_t*opc_data) { cpuMoveFromUsp(opc_data[0]); } -static void CMPM_B108(ULO*opc_data) +static void CMPM_B108(uint32_t*opc_data) { cpuCmpMB(opc_data[0], opc_data[1]); } -static void CMPM_B148(ULO*opc_data) +static void CMPM_B148(uint32_t*opc_data) { cpuCmpMW(opc_data[0], opc_data[1]); } -static void CMPM_B188(ULO*opc_data) +static void CMPM_B188(uint32_t*opc_data) { cpuCmpML(opc_data[0], opc_data[1]); } -static void RTM_06C0(ULO*opc_data) +static void RTM_06C0(uint32_t*opc_data) { cpuRtm(opc_data[0], opc_data[1]); } -static void PFLUSH040_F500(ULO*opc_data) +static void PFLUSH040_F500(uint32_t*opc_data) { cpuPflush040(opc_data[0], opc_data[1]); } -static void PTEST040_F548(ULO*opc_data) +static void PTEST040_F548(uint32_t*opc_data) { cpuPtest040(opc_data[0], opc_data[1]); } -static void ADDX_D100(ULO*opc_data) +static void ADDX_D100(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAddXB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(4); } -static void ADDX_D140(ULO*opc_data) +static void ADDX_D140(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuAddXW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(4); } -static void ADDX_D180(ULO*opc_data) +static void ADDX_D180(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuAddXL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void ADDX_D108(ULO*opc_data) +static void ADDX_D108(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - ULO dstea = cpuEA04(opc_data[1], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint32_t dstea = cpuEA04(opc_data[1], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAddXB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void ADDX_D148(ULO*opc_data) +static void ADDX_D148(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dstea = cpuEA04(opc_data[1], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dstea = cpuEA04(opc_data[1], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAddXW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void ADDX_D188(ULO*opc_data) +static void ADDX_D188(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dstea = cpuEA04(opc_data[1], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dstea = cpuEA04(opc_data[1], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuAddXL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(30); } -static void SUBX_9100(ULO*opc_data) +static void SUBX_9100(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSubXB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(4); } -static void SUBX_9140(ULO*opc_data) +static void SUBX_9140(uint32_t*opc_data) { - UWO src = cpuGetDRegWord(opc_data[0]); - UWO dst = cpuGetDRegWord(opc_data[1]); + uint16_t src = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[1]); dst = cpuSubXW(dst, src); cpuSetDRegWord(opc_data[1], dst); cpuSetInstructionTime(4); } -static void SUBX_9180(ULO*opc_data) +static void SUBX_9180(uint32_t*opc_data) { - ULO src = cpuGetDReg(opc_data[0]); - ULO dst = cpuGetDReg(opc_data[1]); + uint32_t src = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[1]); dst = cpuSubXL(dst, src); cpuSetDReg(opc_data[1], dst); cpuSetInstructionTime(8); } -static void SUBX_9108(ULO*opc_data) +static void SUBX_9108(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - ULO dstea = cpuEA04(opc_data[1], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint32_t dstea = cpuEA04(opc_data[1], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuSubXB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void SUBX_9148(ULO*opc_data) +static void SUBX_9148(uint32_t*opc_data) { - UWO src = memoryReadWord(cpuEA04(opc_data[0],2)); - ULO dstea = cpuEA04(opc_data[1], 2); - UWO dst = memoryReadWord(dstea); + uint16_t src = memoryReadWord(cpuEA04(opc_data[0],2)); + uint32_t dstea = cpuEA04(opc_data[1], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuSubXW(dst, src); memoryWriteWord(dst, dstea); cpuSetInstructionTime(18); } -static void SUBX_9188(ULO*opc_data) +static void SUBX_9188(uint32_t*opc_data) { - ULO src = memoryReadLong(cpuEA04(opc_data[0],4)); - ULO dstea = cpuEA04(opc_data[1], 4); - ULO dst = memoryReadLong(dstea); + uint32_t src = memoryReadLong(cpuEA04(opc_data[0],4)); + uint32_t dstea = cpuEA04(opc_data[1], 4); + uint32_t dst = memoryReadLong(dstea); dst = cpuSubXL(dst, src); memoryWriteLong(dst, dstea); cpuSetInstructionTime(30); } -static void ABCD_C100(ULO*opc_data) +static void ABCD_C100(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuAbcdB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(6); } -static void ABCD_C108(ULO*opc_data) +static void ABCD_C108(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - ULO dstea = cpuEA04(opc_data[1], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint32_t dstea = cpuEA04(opc_data[1], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuAbcdB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void SBCD_8100(ULO*opc_data) +static void SBCD_8100(uint32_t*opc_data) { - UBY src = cpuGetDRegByte(opc_data[0]); - UBY dst = cpuGetDRegByte(opc_data[1]); + uint8_t src = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[1]); dst = cpuSbcdB(dst, src); cpuSetDRegByte(opc_data[1], dst); cpuSetInstructionTime(6); } -static void SBCD_8108(ULO*opc_data) +static void SBCD_8108(uint32_t*opc_data) { - UBY src = memoryReadByte(cpuEA04(opc_data[0],1)); - ULO dstea = cpuEA04(opc_data[1], 1); - UBY dst = memoryReadByte(dstea); + uint8_t src = memoryReadByte(cpuEA04(opc_data[0],1)); + uint32_t dstea = cpuEA04(opc_data[1], 1); + uint8_t dst = memoryReadByte(dstea); dst = cpuSbcdB(dst, src); memoryWriteByte(dst, dstea); cpuSetInstructionTime(18); } -static void LSL_E108(ULO*opc_data) +static void LSL_E108(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuLslB(dst, opc_data[1], opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void LSL_E148(ULO*opc_data) +static void LSL_E148(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuLslW(dst, opc_data[1], opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void LSL_E188(ULO*opc_data) +static void LSL_E188(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuLslL(dst, opc_data[1], opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void LSL_E128(ULO*opc_data) +static void LSL_E128(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuLslB(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void LSL_E168(ULO*opc_data) +static void LSL_E168(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuLslW(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void LSL_E1A8(ULO*opc_data) +static void LSL_E1A8(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuLslL(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void LSL_E3D0(ULO*opc_data) +static void LSL_E3D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuLslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSL_E3D8(ULO*opc_data) +static void LSL_E3D8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuLslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSL_E3E0(ULO*opc_data) +static void LSL_E3E0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuLslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSL_E3E8(ULO*opc_data) +static void LSL_E3E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuLslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSL_E3F0(ULO*opc_data) +static void LSL_E3F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuLslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSL_E3F8(ULO*opc_data) +static void LSL_E3F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuLslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSL_E3F9(ULO*opc_data) +static void LSL_E3F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuLslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSR_E008(ULO*opc_data) +static void LSR_E008(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuLsrB(dst, opc_data[1], opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void LSR_E048(ULO*opc_data) +static void LSR_E048(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuLsrW(dst, opc_data[1], opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void LSR_E088(ULO*opc_data) +static void LSR_E088(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuLsrL(dst, opc_data[1], opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void LSR_E028(ULO*opc_data) +static void LSR_E028(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuLsrB(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void LSR_E068(ULO*opc_data) +static void LSR_E068(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuLsrW(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void LSR_E0A8(ULO*opc_data) +static void LSR_E0A8(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuLsrL(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void LSR_E2D0(ULO*opc_data) +static void LSR_E2D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuLsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSR_E2D8(ULO*opc_data) +static void LSR_E2D8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuLsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSR_E2E0(ULO*opc_data) +static void LSR_E2E0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuLsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSR_E2E8(ULO*opc_data) +static void LSR_E2E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuLsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSR_E2F0(ULO*opc_data) +static void LSR_E2F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuLsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSR_E2F8(ULO*opc_data) +static void LSR_E2F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuLsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void LSR_E2F9(ULO*opc_data) +static void LSR_E2F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuLsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASL_E100(ULO*opc_data) +static void ASL_E100(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuAslB(dst, opc_data[1], opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ASL_E140(ULO*opc_data) +static void ASL_E140(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuAslW(dst, opc_data[1], opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ASL_E180(ULO*opc_data) +static void ASL_E180(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuAslL(dst, opc_data[1], opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ASL_E120(ULO*opc_data) +static void ASL_E120(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuAslB(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ASL_E160(ULO*opc_data) +static void ASL_E160(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuAslW(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ASL_E1A0(ULO*opc_data) +static void ASL_E1A0(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuAslL(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ASL_E1D0(ULO*opc_data) +static void ASL_E1D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASL_E1D8(ULO*opc_data) +static void ASL_E1D8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASL_E1E0(ULO*opc_data) +static void ASL_E1E0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASL_E1E8(ULO*opc_data) +static void ASL_E1E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASL_E1F0(ULO*opc_data) +static void ASL_E1F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASL_E1F8(ULO*opc_data) +static void ASL_E1F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASL_E1F9(ULO*opc_data) +static void ASL_E1F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAslW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASR_E000(ULO*opc_data) +static void ASR_E000(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuAsrB(dst, opc_data[1], opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ASR_E040(ULO*opc_data) +static void ASR_E040(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuAsrW(dst, opc_data[1], opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ASR_E080(ULO*opc_data) +static void ASR_E080(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuAsrL(dst, opc_data[1], opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ASR_E020(ULO*opc_data) +static void ASR_E020(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuAsrB(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ASR_E060(ULO*opc_data) +static void ASR_E060(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuAsrW(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ASR_E0A0(ULO*opc_data) +static void ASR_E0A0(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuAsrL(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ASR_E0D0(ULO*opc_data) +static void ASR_E0D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASR_E0D8(ULO*opc_data) +static void ASR_E0D8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASR_E0E0(ULO*opc_data) +static void ASR_E0E0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuAsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASR_E0E8(ULO*opc_data) +static void ASR_E0E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASR_E0F0(ULO*opc_data) +static void ASR_E0F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuAsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASR_E0F8(ULO*opc_data) +static void ASR_E0F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ASR_E0F9(ULO*opc_data) +static void ASR_E0F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuAsrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROL_E118(ULO*opc_data) +static void ROL_E118(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuRolB(dst, opc_data[1], opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ROL_E158(ULO*opc_data) +static void ROL_E158(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuRolW(dst, opc_data[1], opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ROL_E198(ULO*opc_data) +static void ROL_E198(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuRolL(dst, opc_data[1], opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ROL_E138(ULO*opc_data) +static void ROL_E138(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuRolB(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ROL_E178(ULO*opc_data) +static void ROL_E178(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuRolW(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ROL_E1B8(ULO*opc_data) +static void ROL_E1B8(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuRolL(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ROL_E7D0(ULO*opc_data) +static void ROL_E7D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRolW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROL_E7D8(ULO*opc_data) +static void ROL_E7D8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuRolW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROL_E7E0(ULO*opc_data) +static void ROL_E7E0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuRolW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROL_E7E8(ULO*opc_data) +static void ROL_E7E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRolW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROL_E7F0(ULO*opc_data) +static void ROL_E7F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRolW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROL_E7F8(ULO*opc_data) +static void ROL_E7F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuRolW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROL_E7F9(ULO*opc_data) +static void ROL_E7F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuRolW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROR_E018(ULO*opc_data) +static void ROR_E018(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuRorB(dst, opc_data[1], opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ROR_E058(ULO*opc_data) +static void ROR_E058(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuRorW(dst, opc_data[1], opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ROR_E098(ULO*opc_data) +static void ROR_E098(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuRorL(dst, opc_data[1], opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ROR_E038(ULO*opc_data) +static void ROR_E038(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuRorB(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ROR_E078(ULO*opc_data) +static void ROR_E078(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuRorW(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ROR_E0B8(ULO*opc_data) +static void ROR_E0B8(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuRorL(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ROR_E6D0(ULO*opc_data) +static void ROR_E6D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRorW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROR_E6D8(ULO*opc_data) +static void ROR_E6D8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuRorW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROR_E6E0(ULO*opc_data) +static void ROR_E6E0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuRorW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROR_E6E8(ULO*opc_data) +static void ROR_E6E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRorW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROR_E6F0(ULO*opc_data) +static void ROR_E6F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRorW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROR_E6F8(ULO*opc_data) +static void ROR_E6F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuRorW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROR_E6F9(ULO*opc_data) +static void ROR_E6F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuRorW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXL_E110(ULO*opc_data) +static void ROXL_E110(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuRoxlB(dst, opc_data[1], opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ROXL_E150(ULO*opc_data) +static void ROXL_E150(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuRoxlW(dst, opc_data[1], opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ROXL_E190(ULO*opc_data) +static void ROXL_E190(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuRoxlL(dst, opc_data[1], opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ROXL_E130(ULO*opc_data) +static void ROXL_E130(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuRoxlB(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ROXL_E170(ULO*opc_data) +static void ROXL_E170(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuRoxlW(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ROXL_E1B0(ULO*opc_data) +static void ROXL_E1B0(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuRoxlL(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ROXL_E5D0(ULO*opc_data) +static void ROXL_E5D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxlW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXL_E5D8(ULO*opc_data) +static void ROXL_E5D8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxlW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXL_E5E0(ULO*opc_data) +static void ROXL_E5E0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxlW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXL_E5E8(ULO*opc_data) +static void ROXL_E5E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxlW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXL_E5F0(ULO*opc_data) +static void ROXL_E5F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxlW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXL_E5F8(ULO*opc_data) +static void ROXL_E5F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxlW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXL_E5F9(ULO*opc_data) +static void ROXL_E5F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxlW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXR_E010(ULO*opc_data) +static void ROXR_E010(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuRoxrB(dst, opc_data[1], opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ROXR_E050(ULO*opc_data) +static void ROXR_E050(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuRoxrW(dst, opc_data[1], opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ROXR_E090(ULO*opc_data) +static void ROXR_E090(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuRoxrL(dst, opc_data[1], opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ROXR_E030(ULO*opc_data) +static void ROXR_E030(uint32_t*opc_data) { - UBY dst = cpuGetDRegByte(opc_data[0]); + uint8_t dst = cpuGetDRegByte(opc_data[0]); dst = cpuRoxrB(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegByte(opc_data[0], dst); } -static void ROXR_E070(ULO*opc_data) +static void ROXR_E070(uint32_t*opc_data) { - UWO dst = cpuGetDRegWord(opc_data[0]); + uint16_t dst = cpuGetDRegWord(opc_data[0]); dst = cpuRoxrW(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDRegWord(opc_data[0], dst); } -static void ROXR_E0B0(ULO*opc_data) +static void ROXR_E0B0(uint32_t*opc_data) { - ULO dst = cpuGetDReg(opc_data[0]); + uint32_t dst = cpuGetDReg(opc_data[0]); dst = cpuRoxrL(dst, cpuGetDReg(opc_data[1]), opc_data[2]); cpuSetDReg(opc_data[0], dst); } -static void ROXR_E4D0(ULO*opc_data) +static void ROXR_E4D0(uint32_t*opc_data) { - ULO dstea = cpuEA02(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA02(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXR_E4D8(ULO*opc_data) +static void ROXR_E4D8(uint32_t*opc_data) { - ULO dstea = cpuEA03(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA03(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXR_E4E0(ULO*opc_data) +static void ROXR_E4E0(uint32_t*opc_data) { - ULO dstea = cpuEA04(opc_data[0], 2); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA04(opc_data[0], 2); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXR_E4E8(ULO*opc_data) +static void ROXR_E4E8(uint32_t*opc_data) { - ULO dstea = cpuEA05(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA05(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXR_E4F0(ULO*opc_data) +static void ROXR_E4F0(uint32_t*opc_data) { - ULO dstea = cpuEA06(opc_data[0]); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA06(opc_data[0]); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXR_E4F8(ULO*opc_data) +static void ROXR_E4F8(uint32_t*opc_data) { - ULO dstea = cpuEA70(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA70(); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void ROXR_E4F9(ULO*opc_data) +static void ROXR_E4F9(uint32_t*opc_data) { - ULO dstea = cpuEA71(); - UWO dst = memoryReadWord(dstea); + uint32_t dstea = cpuEA71(); + uint16_t dst = memoryReadWord(dstea); dst = cpuRoxrW(dst, 1, opc_data[2]); memoryWriteWord(dst, dstea); } -static void MOVEP_0188(ULO*opc_data) +static void MOVEP_0188(uint32_t*opc_data) { cpuMovepWEa(opc_data[1], opc_data[0]); } -static void MOVEP_01C8(ULO*opc_data) +static void MOVEP_01C8(uint32_t*opc_data) { cpuMovepLEa(opc_data[1], opc_data[0]); } -static void MOVEP_0108(ULO*opc_data) +static void MOVEP_0108(uint32_t*opc_data) { cpuMovepWReg(opc_data[1], opc_data[0]); } -static void MOVEP_0148(ULO*opc_data) +static void MOVEP_0148(uint32_t*opc_data) { cpuMovepLReg(opc_data[1], opc_data[0]); } -static void PACK_8140(ULO*opc_data) +static void PACK_8140(uint32_t*opc_data) { cpuPackReg(opc_data[1], opc_data[0]); } -static void PACK_8148(ULO*opc_data) +static void PACK_8148(uint32_t*opc_data) { cpuPackEa(opc_data[1], opc_data[0]); } -static void UNPK_8180(ULO*opc_data) +static void UNPK_8180(uint32_t*opc_data) { cpuUnpkReg(opc_data[1], opc_data[0]); } -static void UNPK_8188(ULO*opc_data) +static void UNPK_8188(uint32_t*opc_data) { cpuUnpkEa(opc_data[1], opc_data[0]); } -#endif diff --git a/cpu/CpuModule_Data.h b/cpu/CpuModule_Data.h index c84c0ff..86aaca6 100644 --- a/cpu/CpuModule_Data.h +++ b/cpu/CpuModule_Data.h @@ -1,11 +1,10 @@ -#ifndef CPUMODULE_DATA_H -#define CPUMODULE_DATA_H +#pragma once -typedef void (*cpuInstructionFunction)(ULO*); +typedef void (*cpuInstructionFunction)(uint32_t*); typedef struct cpu_data_struct { cpuInstructionFunction instruction_func; - ULO data[3]; + uint32_t data[3]; } cpuOpcodeData; cpuOpcodeData cpu_opcode_data[65536] = { @@ -4113,14 +4112,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1000,{5U,0U,0U}}, {MOVE_1000,{6U,0U,0U}}, {MOVE_1000,{7U,0U,0U}}, -{MOVE_1008,{0U,0U,0U}}, -{MOVE_1008,{1U,0U,0U}}, -{MOVE_1008,{2U,0U,0U}}, -{MOVE_1008,{3U,0U,0U}}, -{MOVE_1008,{4U,0U,0U}}, -{MOVE_1008,{5U,0U,0U}}, -{MOVE_1008,{6U,0U,0U}}, -{MOVE_1008,{7U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1010,{0U,0U,0U}}, {MOVE_1010,{1U,0U,0U}}, {MOVE_1010,{2U,0U,0U}}, @@ -4241,14 +4240,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1080,{5U,0U,0U}}, {MOVE_1080,{6U,0U,0U}}, {MOVE_1080,{7U,0U,0U}}, -{MOVE_1088,{0U,0U,0U}}, -{MOVE_1088,{1U,0U,0U}}, -{MOVE_1088,{2U,0U,0U}}, -{MOVE_1088,{3U,0U,0U}}, -{MOVE_1088,{4U,0U,0U}}, -{MOVE_1088,{5U,0U,0U}}, -{MOVE_1088,{6U,0U,0U}}, -{MOVE_1088,{7U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1090,{0U,0U,0U}}, {MOVE_1090,{1U,0U,0U}}, {MOVE_1090,{2U,0U,0U}}, @@ -4305,14 +4304,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_10C0,{5U,0U,0U}}, {MOVE_10C0,{6U,0U,0U}}, {MOVE_10C0,{7U,0U,0U}}, -{MOVE_10C8,{0U,0U,0U}}, -{MOVE_10C8,{1U,0U,0U}}, -{MOVE_10C8,{2U,0U,0U}}, -{MOVE_10C8,{3U,0U,0U}}, -{MOVE_10C8,{4U,0U,0U}}, -{MOVE_10C8,{5U,0U,0U}}, -{MOVE_10C8,{6U,0U,0U}}, -{MOVE_10C8,{7U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_10D0,{0U,0U,0U}}, {MOVE_10D0,{1U,0U,0U}}, {MOVE_10D0,{2U,0U,0U}}, @@ -4369,14 +4368,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1100,{5U,0U,0U}}, {MOVE_1100,{6U,0U,0U}}, {MOVE_1100,{7U,0U,0U}}, -{MOVE_1108,{0U,0U,0U}}, -{MOVE_1108,{1U,0U,0U}}, -{MOVE_1108,{2U,0U,0U}}, -{MOVE_1108,{3U,0U,0U}}, -{MOVE_1108,{4U,0U,0U}}, -{MOVE_1108,{5U,0U,0U}}, -{MOVE_1108,{6U,0U,0U}}, -{MOVE_1108,{7U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1110,{0U,0U,0U}}, {MOVE_1110,{1U,0U,0U}}, {MOVE_1110,{2U,0U,0U}}, @@ -4433,14 +4432,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1140,{5U,0U,0U}}, {MOVE_1140,{6U,0U,0U}}, {MOVE_1140,{7U,0U,0U}}, -{MOVE_1148,{0U,0U,0U}}, -{MOVE_1148,{1U,0U,0U}}, -{MOVE_1148,{2U,0U,0U}}, -{MOVE_1148,{3U,0U,0U}}, -{MOVE_1148,{4U,0U,0U}}, -{MOVE_1148,{5U,0U,0U}}, -{MOVE_1148,{6U,0U,0U}}, -{MOVE_1148,{7U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1150,{0U,0U,0U}}, {MOVE_1150,{1U,0U,0U}}, {MOVE_1150,{2U,0U,0U}}, @@ -4497,14 +4496,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1180,{5U,0U,0U}}, {MOVE_1180,{6U,0U,0U}}, {MOVE_1180,{7U,0U,0U}}, -{MOVE_1188,{0U,0U,0U}}, -{MOVE_1188,{1U,0U,0U}}, -{MOVE_1188,{2U,0U,0U}}, -{MOVE_1188,{3U,0U,0U}}, -{MOVE_1188,{4U,0U,0U}}, -{MOVE_1188,{5U,0U,0U}}, -{MOVE_1188,{6U,0U,0U}}, -{MOVE_1188,{7U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1190,{0U,0U,0U}}, {MOVE_1190,{1U,0U,0U}}, {MOVE_1190,{2U,0U,0U}}, @@ -4561,14 +4560,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_11C0,{5U,0U,0U}}, {MOVE_11C0,{6U,0U,0U}}, {MOVE_11C0,{7U,0U,0U}}, -{MOVE_11C8,{0U,0U,0U}}, -{MOVE_11C8,{1U,0U,0U}}, -{MOVE_11C8,{2U,0U,0U}}, -{MOVE_11C8,{3U,0U,0U}}, -{MOVE_11C8,{4U,0U,0U}}, -{MOVE_11C8,{5U,0U,0U}}, -{MOVE_11C8,{6U,0U,0U}}, -{MOVE_11C8,{7U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_11D0,{0U,0U,0U}}, {MOVE_11D0,{1U,0U,0U}}, {MOVE_11D0,{2U,0U,0U}}, @@ -4625,14 +4624,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1000,{5U,1U,0U}}, {MOVE_1000,{6U,1U,0U}}, {MOVE_1000,{7U,1U,0U}}, -{MOVE_1008,{0U,1U,0U}}, -{MOVE_1008,{1U,1U,0U}}, -{MOVE_1008,{2U,1U,0U}}, -{MOVE_1008,{3U,1U,0U}}, -{MOVE_1008,{4U,1U,0U}}, -{MOVE_1008,{5U,1U,0U}}, -{MOVE_1008,{6U,1U,0U}}, -{MOVE_1008,{7U,1U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1010,{0U,1U,0U}}, {MOVE_1010,{1U,1U,0U}}, {MOVE_1010,{2U,1U,0U}}, @@ -4753,14 +4752,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1080,{5U,1U,0U}}, {MOVE_1080,{6U,1U,0U}}, {MOVE_1080,{7U,1U,0U}}, -{MOVE_1088,{0U,1U,0U}}, -{MOVE_1088,{1U,1U,0U}}, -{MOVE_1088,{2U,1U,0U}}, -{MOVE_1088,{3U,1U,0U}}, -{MOVE_1088,{4U,1U,0U}}, -{MOVE_1088,{5U,1U,0U}}, -{MOVE_1088,{6U,1U,0U}}, -{MOVE_1088,{7U,1U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1090,{0U,1U,0U}}, {MOVE_1090,{1U,1U,0U}}, {MOVE_1090,{2U,1U,0U}}, @@ -4817,14 +4816,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_10C0,{5U,1U,0U}}, {MOVE_10C0,{6U,1U,0U}}, {MOVE_10C0,{7U,1U,0U}}, -{MOVE_10C8,{0U,1U,0U}}, -{MOVE_10C8,{1U,1U,0U}}, -{MOVE_10C8,{2U,1U,0U}}, -{MOVE_10C8,{3U,1U,0U}}, -{MOVE_10C8,{4U,1U,0U}}, -{MOVE_10C8,{5U,1U,0U}}, -{MOVE_10C8,{6U,1U,0U}}, -{MOVE_10C8,{7U,1U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_10D0,{0U,1U,0U}}, {MOVE_10D0,{1U,1U,0U}}, {MOVE_10D0,{2U,1U,0U}}, @@ -4881,14 +4880,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1100,{5U,1U,0U}}, {MOVE_1100,{6U,1U,0U}}, {MOVE_1100,{7U,1U,0U}}, -{MOVE_1108,{0U,1U,0U}}, -{MOVE_1108,{1U,1U,0U}}, -{MOVE_1108,{2U,1U,0U}}, -{MOVE_1108,{3U,1U,0U}}, -{MOVE_1108,{4U,1U,0U}}, -{MOVE_1108,{5U,1U,0U}}, -{MOVE_1108,{6U,1U,0U}}, -{MOVE_1108,{7U,1U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1110,{0U,1U,0U}}, {MOVE_1110,{1U,1U,0U}}, {MOVE_1110,{2U,1U,0U}}, @@ -4945,14 +4944,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1140,{5U,1U,0U}}, {MOVE_1140,{6U,1U,0U}}, {MOVE_1140,{7U,1U,0U}}, -{MOVE_1148,{0U,1U,0U}}, -{MOVE_1148,{1U,1U,0U}}, -{MOVE_1148,{2U,1U,0U}}, -{MOVE_1148,{3U,1U,0U}}, -{MOVE_1148,{4U,1U,0U}}, -{MOVE_1148,{5U,1U,0U}}, -{MOVE_1148,{6U,1U,0U}}, -{MOVE_1148,{7U,1U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1150,{0U,1U,0U}}, {MOVE_1150,{1U,1U,0U}}, {MOVE_1150,{2U,1U,0U}}, @@ -5009,14 +5008,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1180,{5U,1U,0U}}, {MOVE_1180,{6U,1U,0U}}, {MOVE_1180,{7U,1U,0U}}, -{MOVE_1188,{0U,1U,0U}}, -{MOVE_1188,{1U,1U,0U}}, -{MOVE_1188,{2U,1U,0U}}, -{MOVE_1188,{3U,1U,0U}}, -{MOVE_1188,{4U,1U,0U}}, -{MOVE_1188,{5U,1U,0U}}, -{MOVE_1188,{6U,1U,0U}}, -{MOVE_1188,{7U,1U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1190,{0U,1U,0U}}, {MOVE_1190,{1U,1U,0U}}, {MOVE_1190,{2U,1U,0U}}, @@ -5073,14 +5072,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_13C0,{5U,0U,0U}}, {MOVE_13C0,{6U,0U,0U}}, {MOVE_13C0,{7U,0U,0U}}, -{MOVE_13C8,{0U,0U,0U}}, -{MOVE_13C8,{1U,0U,0U}}, -{MOVE_13C8,{2U,0U,0U}}, -{MOVE_13C8,{3U,0U,0U}}, -{MOVE_13C8,{4U,0U,0U}}, -{MOVE_13C8,{5U,0U,0U}}, -{MOVE_13C8,{6U,0U,0U}}, -{MOVE_13C8,{7U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_13D0,{0U,0U,0U}}, {MOVE_13D0,{1U,0U,0U}}, {MOVE_13D0,{2U,0U,0U}}, @@ -5137,14 +5136,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1000,{5U,2U,0U}}, {MOVE_1000,{6U,2U,0U}}, {MOVE_1000,{7U,2U,0U}}, -{MOVE_1008,{0U,2U,0U}}, -{MOVE_1008,{1U,2U,0U}}, -{MOVE_1008,{2U,2U,0U}}, -{MOVE_1008,{3U,2U,0U}}, -{MOVE_1008,{4U,2U,0U}}, -{MOVE_1008,{5U,2U,0U}}, -{MOVE_1008,{6U,2U,0U}}, -{MOVE_1008,{7U,2U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1010,{0U,2U,0U}}, {MOVE_1010,{1U,2U,0U}}, {MOVE_1010,{2U,2U,0U}}, @@ -5265,14 +5264,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1080,{5U,2U,0U}}, {MOVE_1080,{6U,2U,0U}}, {MOVE_1080,{7U,2U,0U}}, -{MOVE_1088,{0U,2U,0U}}, -{MOVE_1088,{1U,2U,0U}}, -{MOVE_1088,{2U,2U,0U}}, -{MOVE_1088,{3U,2U,0U}}, -{MOVE_1088,{4U,2U,0U}}, -{MOVE_1088,{5U,2U,0U}}, -{MOVE_1088,{6U,2U,0U}}, -{MOVE_1088,{7U,2U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1090,{0U,2U,0U}}, {MOVE_1090,{1U,2U,0U}}, {MOVE_1090,{2U,2U,0U}}, @@ -5329,14 +5328,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_10C0,{5U,2U,0U}}, {MOVE_10C0,{6U,2U,0U}}, {MOVE_10C0,{7U,2U,0U}}, -{MOVE_10C8,{0U,2U,0U}}, -{MOVE_10C8,{1U,2U,0U}}, -{MOVE_10C8,{2U,2U,0U}}, -{MOVE_10C8,{3U,2U,0U}}, -{MOVE_10C8,{4U,2U,0U}}, -{MOVE_10C8,{5U,2U,0U}}, -{MOVE_10C8,{6U,2U,0U}}, -{MOVE_10C8,{7U,2U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_10D0,{0U,2U,0U}}, {MOVE_10D0,{1U,2U,0U}}, {MOVE_10D0,{2U,2U,0U}}, @@ -5393,14 +5392,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1100,{5U,2U,0U}}, {MOVE_1100,{6U,2U,0U}}, {MOVE_1100,{7U,2U,0U}}, -{MOVE_1108,{0U,2U,0U}}, -{MOVE_1108,{1U,2U,0U}}, -{MOVE_1108,{2U,2U,0U}}, -{MOVE_1108,{3U,2U,0U}}, -{MOVE_1108,{4U,2U,0U}}, -{MOVE_1108,{5U,2U,0U}}, -{MOVE_1108,{6U,2U,0U}}, -{MOVE_1108,{7U,2U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1110,{0U,2U,0U}}, {MOVE_1110,{1U,2U,0U}}, {MOVE_1110,{2U,2U,0U}}, @@ -5457,14 +5456,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1140,{5U,2U,0U}}, {MOVE_1140,{6U,2U,0U}}, {MOVE_1140,{7U,2U,0U}}, -{MOVE_1148,{0U,2U,0U}}, -{MOVE_1148,{1U,2U,0U}}, -{MOVE_1148,{2U,2U,0U}}, -{MOVE_1148,{3U,2U,0U}}, -{MOVE_1148,{4U,2U,0U}}, -{MOVE_1148,{5U,2U,0U}}, -{MOVE_1148,{6U,2U,0U}}, -{MOVE_1148,{7U,2U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1150,{0U,2U,0U}}, {MOVE_1150,{1U,2U,0U}}, {MOVE_1150,{2U,2U,0U}}, @@ -5521,14 +5520,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1180,{5U,2U,0U}}, {MOVE_1180,{6U,2U,0U}}, {MOVE_1180,{7U,2U,0U}}, -{MOVE_1188,{0U,2U,0U}}, -{MOVE_1188,{1U,2U,0U}}, -{MOVE_1188,{2U,2U,0U}}, -{MOVE_1188,{3U,2U,0U}}, -{MOVE_1188,{4U,2U,0U}}, -{MOVE_1188,{5U,2U,0U}}, -{MOVE_1188,{6U,2U,0U}}, -{MOVE_1188,{7U,2U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1190,{0U,2U,0U}}, {MOVE_1190,{1U,2U,0U}}, {MOVE_1190,{2U,2U,0U}}, @@ -5649,14 +5648,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1000,{5U,3U,0U}}, {MOVE_1000,{6U,3U,0U}}, {MOVE_1000,{7U,3U,0U}}, -{MOVE_1008,{0U,3U,0U}}, -{MOVE_1008,{1U,3U,0U}}, -{MOVE_1008,{2U,3U,0U}}, -{MOVE_1008,{3U,3U,0U}}, -{MOVE_1008,{4U,3U,0U}}, -{MOVE_1008,{5U,3U,0U}}, -{MOVE_1008,{6U,3U,0U}}, -{MOVE_1008,{7U,3U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1010,{0U,3U,0U}}, {MOVE_1010,{1U,3U,0U}}, {MOVE_1010,{2U,3U,0U}}, @@ -5777,14 +5776,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1080,{5U,3U,0U}}, {MOVE_1080,{6U,3U,0U}}, {MOVE_1080,{7U,3U,0U}}, -{MOVE_1088,{0U,3U,0U}}, -{MOVE_1088,{1U,3U,0U}}, -{MOVE_1088,{2U,3U,0U}}, -{MOVE_1088,{3U,3U,0U}}, -{MOVE_1088,{4U,3U,0U}}, -{MOVE_1088,{5U,3U,0U}}, -{MOVE_1088,{6U,3U,0U}}, -{MOVE_1088,{7U,3U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1090,{0U,3U,0U}}, {MOVE_1090,{1U,3U,0U}}, {MOVE_1090,{2U,3U,0U}}, @@ -5841,14 +5840,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_10C0,{5U,3U,0U}}, {MOVE_10C0,{6U,3U,0U}}, {MOVE_10C0,{7U,3U,0U}}, -{MOVE_10C8,{0U,3U,0U}}, -{MOVE_10C8,{1U,3U,0U}}, -{MOVE_10C8,{2U,3U,0U}}, -{MOVE_10C8,{3U,3U,0U}}, -{MOVE_10C8,{4U,3U,0U}}, -{MOVE_10C8,{5U,3U,0U}}, -{MOVE_10C8,{6U,3U,0U}}, -{MOVE_10C8,{7U,3U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_10D0,{0U,3U,0U}}, {MOVE_10D0,{1U,3U,0U}}, {MOVE_10D0,{2U,3U,0U}}, @@ -5905,14 +5904,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1100,{5U,3U,0U}}, {MOVE_1100,{6U,3U,0U}}, {MOVE_1100,{7U,3U,0U}}, -{MOVE_1108,{0U,3U,0U}}, -{MOVE_1108,{1U,3U,0U}}, -{MOVE_1108,{2U,3U,0U}}, -{MOVE_1108,{3U,3U,0U}}, -{MOVE_1108,{4U,3U,0U}}, -{MOVE_1108,{5U,3U,0U}}, -{MOVE_1108,{6U,3U,0U}}, -{MOVE_1108,{7U,3U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1110,{0U,3U,0U}}, {MOVE_1110,{1U,3U,0U}}, {MOVE_1110,{2U,3U,0U}}, @@ -5969,14 +5968,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1140,{5U,3U,0U}}, {MOVE_1140,{6U,3U,0U}}, {MOVE_1140,{7U,3U,0U}}, -{MOVE_1148,{0U,3U,0U}}, -{MOVE_1148,{1U,3U,0U}}, -{MOVE_1148,{2U,3U,0U}}, -{MOVE_1148,{3U,3U,0U}}, -{MOVE_1148,{4U,3U,0U}}, -{MOVE_1148,{5U,3U,0U}}, -{MOVE_1148,{6U,3U,0U}}, -{MOVE_1148,{7U,3U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1150,{0U,3U,0U}}, {MOVE_1150,{1U,3U,0U}}, {MOVE_1150,{2U,3U,0U}}, @@ -6033,14 +6032,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1180,{5U,3U,0U}}, {MOVE_1180,{6U,3U,0U}}, {MOVE_1180,{7U,3U,0U}}, -{MOVE_1188,{0U,3U,0U}}, -{MOVE_1188,{1U,3U,0U}}, -{MOVE_1188,{2U,3U,0U}}, -{MOVE_1188,{3U,3U,0U}}, -{MOVE_1188,{4U,3U,0U}}, -{MOVE_1188,{5U,3U,0U}}, -{MOVE_1188,{6U,3U,0U}}, -{MOVE_1188,{7U,3U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1190,{0U,3U,0U}}, {MOVE_1190,{1U,3U,0U}}, {MOVE_1190,{2U,3U,0U}}, @@ -6161,14 +6160,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1000,{5U,4U,0U}}, {MOVE_1000,{6U,4U,0U}}, {MOVE_1000,{7U,4U,0U}}, -{MOVE_1008,{0U,4U,0U}}, -{MOVE_1008,{1U,4U,0U}}, -{MOVE_1008,{2U,4U,0U}}, -{MOVE_1008,{3U,4U,0U}}, -{MOVE_1008,{4U,4U,0U}}, -{MOVE_1008,{5U,4U,0U}}, -{MOVE_1008,{6U,4U,0U}}, -{MOVE_1008,{7U,4U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1010,{0U,4U,0U}}, {MOVE_1010,{1U,4U,0U}}, {MOVE_1010,{2U,4U,0U}}, @@ -6289,14 +6288,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1080,{5U,4U,0U}}, {MOVE_1080,{6U,4U,0U}}, {MOVE_1080,{7U,4U,0U}}, -{MOVE_1088,{0U,4U,0U}}, -{MOVE_1088,{1U,4U,0U}}, -{MOVE_1088,{2U,4U,0U}}, -{MOVE_1088,{3U,4U,0U}}, -{MOVE_1088,{4U,4U,0U}}, -{MOVE_1088,{5U,4U,0U}}, -{MOVE_1088,{6U,4U,0U}}, -{MOVE_1088,{7U,4U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1090,{0U,4U,0U}}, {MOVE_1090,{1U,4U,0U}}, {MOVE_1090,{2U,4U,0U}}, @@ -6353,14 +6352,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_10C0,{5U,4U,0U}}, {MOVE_10C0,{6U,4U,0U}}, {MOVE_10C0,{7U,4U,0U}}, -{MOVE_10C8,{0U,4U,0U}}, -{MOVE_10C8,{1U,4U,0U}}, -{MOVE_10C8,{2U,4U,0U}}, -{MOVE_10C8,{3U,4U,0U}}, -{MOVE_10C8,{4U,4U,0U}}, -{MOVE_10C8,{5U,4U,0U}}, -{MOVE_10C8,{6U,4U,0U}}, -{MOVE_10C8,{7U,4U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_10D0,{0U,4U,0U}}, {MOVE_10D0,{1U,4U,0U}}, {MOVE_10D0,{2U,4U,0U}}, @@ -6417,14 +6416,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1100,{5U,4U,0U}}, {MOVE_1100,{6U,4U,0U}}, {MOVE_1100,{7U,4U,0U}}, -{MOVE_1108,{0U,4U,0U}}, -{MOVE_1108,{1U,4U,0U}}, -{MOVE_1108,{2U,4U,0U}}, -{MOVE_1108,{3U,4U,0U}}, -{MOVE_1108,{4U,4U,0U}}, -{MOVE_1108,{5U,4U,0U}}, -{MOVE_1108,{6U,4U,0U}}, -{MOVE_1108,{7U,4U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1110,{0U,4U,0U}}, {MOVE_1110,{1U,4U,0U}}, {MOVE_1110,{2U,4U,0U}}, @@ -6481,14 +6480,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1140,{5U,4U,0U}}, {MOVE_1140,{6U,4U,0U}}, {MOVE_1140,{7U,4U,0U}}, -{MOVE_1148,{0U,4U,0U}}, -{MOVE_1148,{1U,4U,0U}}, -{MOVE_1148,{2U,4U,0U}}, -{MOVE_1148,{3U,4U,0U}}, -{MOVE_1148,{4U,4U,0U}}, -{MOVE_1148,{5U,4U,0U}}, -{MOVE_1148,{6U,4U,0U}}, -{MOVE_1148,{7U,4U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1150,{0U,4U,0U}}, {MOVE_1150,{1U,4U,0U}}, {MOVE_1150,{2U,4U,0U}}, @@ -6545,14 +6544,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1180,{5U,4U,0U}}, {MOVE_1180,{6U,4U,0U}}, {MOVE_1180,{7U,4U,0U}}, -{MOVE_1188,{0U,4U,0U}}, -{MOVE_1188,{1U,4U,0U}}, -{MOVE_1188,{2U,4U,0U}}, -{MOVE_1188,{3U,4U,0U}}, -{MOVE_1188,{4U,4U,0U}}, -{MOVE_1188,{5U,4U,0U}}, -{MOVE_1188,{6U,4U,0U}}, -{MOVE_1188,{7U,4U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1190,{0U,4U,0U}}, {MOVE_1190,{1U,4U,0U}}, {MOVE_1190,{2U,4U,0U}}, @@ -6673,14 +6672,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1000,{5U,5U,0U}}, {MOVE_1000,{6U,5U,0U}}, {MOVE_1000,{7U,5U,0U}}, -{MOVE_1008,{0U,5U,0U}}, -{MOVE_1008,{1U,5U,0U}}, -{MOVE_1008,{2U,5U,0U}}, -{MOVE_1008,{3U,5U,0U}}, -{MOVE_1008,{4U,5U,0U}}, -{MOVE_1008,{5U,5U,0U}}, -{MOVE_1008,{6U,5U,0U}}, -{MOVE_1008,{7U,5U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1010,{0U,5U,0U}}, {MOVE_1010,{1U,5U,0U}}, {MOVE_1010,{2U,5U,0U}}, @@ -6801,14 +6800,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1080,{5U,5U,0U}}, {MOVE_1080,{6U,5U,0U}}, {MOVE_1080,{7U,5U,0U}}, -{MOVE_1088,{0U,5U,0U}}, -{MOVE_1088,{1U,5U,0U}}, -{MOVE_1088,{2U,5U,0U}}, -{MOVE_1088,{3U,5U,0U}}, -{MOVE_1088,{4U,5U,0U}}, -{MOVE_1088,{5U,5U,0U}}, -{MOVE_1088,{6U,5U,0U}}, -{MOVE_1088,{7U,5U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1090,{0U,5U,0U}}, {MOVE_1090,{1U,5U,0U}}, {MOVE_1090,{2U,5U,0U}}, @@ -6865,14 +6864,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_10C0,{5U,5U,0U}}, {MOVE_10C0,{6U,5U,0U}}, {MOVE_10C0,{7U,5U,0U}}, -{MOVE_10C8,{0U,5U,0U}}, -{MOVE_10C8,{1U,5U,0U}}, -{MOVE_10C8,{2U,5U,0U}}, -{MOVE_10C8,{3U,5U,0U}}, -{MOVE_10C8,{4U,5U,0U}}, -{MOVE_10C8,{5U,5U,0U}}, -{MOVE_10C8,{6U,5U,0U}}, -{MOVE_10C8,{7U,5U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_10D0,{0U,5U,0U}}, {MOVE_10D0,{1U,5U,0U}}, {MOVE_10D0,{2U,5U,0U}}, @@ -6929,14 +6928,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1100,{5U,5U,0U}}, {MOVE_1100,{6U,5U,0U}}, {MOVE_1100,{7U,5U,0U}}, -{MOVE_1108,{0U,5U,0U}}, -{MOVE_1108,{1U,5U,0U}}, -{MOVE_1108,{2U,5U,0U}}, -{MOVE_1108,{3U,5U,0U}}, -{MOVE_1108,{4U,5U,0U}}, -{MOVE_1108,{5U,5U,0U}}, -{MOVE_1108,{6U,5U,0U}}, -{MOVE_1108,{7U,5U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1110,{0U,5U,0U}}, {MOVE_1110,{1U,5U,0U}}, {MOVE_1110,{2U,5U,0U}}, @@ -6993,14 +6992,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1140,{5U,5U,0U}}, {MOVE_1140,{6U,5U,0U}}, {MOVE_1140,{7U,5U,0U}}, -{MOVE_1148,{0U,5U,0U}}, -{MOVE_1148,{1U,5U,0U}}, -{MOVE_1148,{2U,5U,0U}}, -{MOVE_1148,{3U,5U,0U}}, -{MOVE_1148,{4U,5U,0U}}, -{MOVE_1148,{5U,5U,0U}}, -{MOVE_1148,{6U,5U,0U}}, -{MOVE_1148,{7U,5U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1150,{0U,5U,0U}}, {MOVE_1150,{1U,5U,0U}}, {MOVE_1150,{2U,5U,0U}}, @@ -7057,14 +7056,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1180,{5U,5U,0U}}, {MOVE_1180,{6U,5U,0U}}, {MOVE_1180,{7U,5U,0U}}, -{MOVE_1188,{0U,5U,0U}}, -{MOVE_1188,{1U,5U,0U}}, -{MOVE_1188,{2U,5U,0U}}, -{MOVE_1188,{3U,5U,0U}}, -{MOVE_1188,{4U,5U,0U}}, -{MOVE_1188,{5U,5U,0U}}, -{MOVE_1188,{6U,5U,0U}}, -{MOVE_1188,{7U,5U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1190,{0U,5U,0U}}, {MOVE_1190,{1U,5U,0U}}, {MOVE_1190,{2U,5U,0U}}, @@ -7185,14 +7184,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1000,{5U,6U,0U}}, {MOVE_1000,{6U,6U,0U}}, {MOVE_1000,{7U,6U,0U}}, -{MOVE_1008,{0U,6U,0U}}, -{MOVE_1008,{1U,6U,0U}}, -{MOVE_1008,{2U,6U,0U}}, -{MOVE_1008,{3U,6U,0U}}, -{MOVE_1008,{4U,6U,0U}}, -{MOVE_1008,{5U,6U,0U}}, -{MOVE_1008,{6U,6U,0U}}, -{MOVE_1008,{7U,6U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1010,{0U,6U,0U}}, {MOVE_1010,{1U,6U,0U}}, {MOVE_1010,{2U,6U,0U}}, @@ -7313,14 +7312,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1080,{5U,6U,0U}}, {MOVE_1080,{6U,6U,0U}}, {MOVE_1080,{7U,6U,0U}}, -{MOVE_1088,{0U,6U,0U}}, -{MOVE_1088,{1U,6U,0U}}, -{MOVE_1088,{2U,6U,0U}}, -{MOVE_1088,{3U,6U,0U}}, -{MOVE_1088,{4U,6U,0U}}, -{MOVE_1088,{5U,6U,0U}}, -{MOVE_1088,{6U,6U,0U}}, -{MOVE_1088,{7U,6U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1090,{0U,6U,0U}}, {MOVE_1090,{1U,6U,0U}}, {MOVE_1090,{2U,6U,0U}}, @@ -7377,14 +7376,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_10C0,{5U,6U,0U}}, {MOVE_10C0,{6U,6U,0U}}, {MOVE_10C0,{7U,6U,0U}}, -{MOVE_10C8,{0U,6U,0U}}, -{MOVE_10C8,{1U,6U,0U}}, -{MOVE_10C8,{2U,6U,0U}}, -{MOVE_10C8,{3U,6U,0U}}, -{MOVE_10C8,{4U,6U,0U}}, -{MOVE_10C8,{5U,6U,0U}}, -{MOVE_10C8,{6U,6U,0U}}, -{MOVE_10C8,{7U,6U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_10D0,{0U,6U,0U}}, {MOVE_10D0,{1U,6U,0U}}, {MOVE_10D0,{2U,6U,0U}}, @@ -7441,14 +7440,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1100,{5U,6U,0U}}, {MOVE_1100,{6U,6U,0U}}, {MOVE_1100,{7U,6U,0U}}, -{MOVE_1108,{0U,6U,0U}}, -{MOVE_1108,{1U,6U,0U}}, -{MOVE_1108,{2U,6U,0U}}, -{MOVE_1108,{3U,6U,0U}}, -{MOVE_1108,{4U,6U,0U}}, -{MOVE_1108,{5U,6U,0U}}, -{MOVE_1108,{6U,6U,0U}}, -{MOVE_1108,{7U,6U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1110,{0U,6U,0U}}, {MOVE_1110,{1U,6U,0U}}, {MOVE_1110,{2U,6U,0U}}, @@ -7505,14 +7504,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1140,{5U,6U,0U}}, {MOVE_1140,{6U,6U,0U}}, {MOVE_1140,{7U,6U,0U}}, -{MOVE_1148,{0U,6U,0U}}, -{MOVE_1148,{1U,6U,0U}}, -{MOVE_1148,{2U,6U,0U}}, -{MOVE_1148,{3U,6U,0U}}, -{MOVE_1148,{4U,6U,0U}}, -{MOVE_1148,{5U,6U,0U}}, -{MOVE_1148,{6U,6U,0U}}, -{MOVE_1148,{7U,6U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1150,{0U,6U,0U}}, {MOVE_1150,{1U,6U,0U}}, {MOVE_1150,{2U,6U,0U}}, @@ -7569,14 +7568,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1180,{5U,6U,0U}}, {MOVE_1180,{6U,6U,0U}}, {MOVE_1180,{7U,6U,0U}}, -{MOVE_1188,{0U,6U,0U}}, -{MOVE_1188,{1U,6U,0U}}, -{MOVE_1188,{2U,6U,0U}}, -{MOVE_1188,{3U,6U,0U}}, -{MOVE_1188,{4U,6U,0U}}, -{MOVE_1188,{5U,6U,0U}}, -{MOVE_1188,{6U,6U,0U}}, -{MOVE_1188,{7U,6U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1190,{0U,6U,0U}}, {MOVE_1190,{1U,6U,0U}}, {MOVE_1190,{2U,6U,0U}}, @@ -7697,14 +7696,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1000,{5U,7U,0U}}, {MOVE_1000,{6U,7U,0U}}, {MOVE_1000,{7U,7U,0U}}, -{MOVE_1008,{0U,7U,0U}}, -{MOVE_1008,{1U,7U,0U}}, -{MOVE_1008,{2U,7U,0U}}, -{MOVE_1008,{3U,7U,0U}}, -{MOVE_1008,{4U,7U,0U}}, -{MOVE_1008,{5U,7U,0U}}, -{MOVE_1008,{6U,7U,0U}}, -{MOVE_1008,{7U,7U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1010,{0U,7U,0U}}, {MOVE_1010,{1U,7U,0U}}, {MOVE_1010,{2U,7U,0U}}, @@ -7825,14 +7824,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1080,{5U,7U,0U}}, {MOVE_1080,{6U,7U,0U}}, {MOVE_1080,{7U,7U,0U}}, -{MOVE_1088,{0U,7U,0U}}, -{MOVE_1088,{1U,7U,0U}}, -{MOVE_1088,{2U,7U,0U}}, -{MOVE_1088,{3U,7U,0U}}, -{MOVE_1088,{4U,7U,0U}}, -{MOVE_1088,{5U,7U,0U}}, -{MOVE_1088,{6U,7U,0U}}, -{MOVE_1088,{7U,7U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1090,{0U,7U,0U}}, {MOVE_1090,{1U,7U,0U}}, {MOVE_1090,{2U,7U,0U}}, @@ -7889,14 +7888,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_10C0,{5U,7U,0U}}, {MOVE_10C0,{6U,7U,0U}}, {MOVE_10C0,{7U,7U,0U}}, -{MOVE_10C8,{0U,7U,0U}}, -{MOVE_10C8,{1U,7U,0U}}, -{MOVE_10C8,{2U,7U,0U}}, -{MOVE_10C8,{3U,7U,0U}}, -{MOVE_10C8,{4U,7U,0U}}, -{MOVE_10C8,{5U,7U,0U}}, -{MOVE_10C8,{6U,7U,0U}}, -{MOVE_10C8,{7U,7U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_10D0,{0U,7U,0U}}, {MOVE_10D0,{1U,7U,0U}}, {MOVE_10D0,{2U,7U,0U}}, @@ -7953,14 +7952,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1100,{5U,7U,0U}}, {MOVE_1100,{6U,7U,0U}}, {MOVE_1100,{7U,7U,0U}}, -{MOVE_1108,{0U,7U,0U}}, -{MOVE_1108,{1U,7U,0U}}, -{MOVE_1108,{2U,7U,0U}}, -{MOVE_1108,{3U,7U,0U}}, -{MOVE_1108,{4U,7U,0U}}, -{MOVE_1108,{5U,7U,0U}}, -{MOVE_1108,{6U,7U,0U}}, -{MOVE_1108,{7U,7U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1110,{0U,7U,0U}}, {MOVE_1110,{1U,7U,0U}}, {MOVE_1110,{2U,7U,0U}}, @@ -8017,14 +8016,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1140,{5U,7U,0U}}, {MOVE_1140,{6U,7U,0U}}, {MOVE_1140,{7U,7U,0U}}, -{MOVE_1148,{0U,7U,0U}}, -{MOVE_1148,{1U,7U,0U}}, -{MOVE_1148,{2U,7U,0U}}, -{MOVE_1148,{3U,7U,0U}}, -{MOVE_1148,{4U,7U,0U}}, -{MOVE_1148,{5U,7U,0U}}, -{MOVE_1148,{6U,7U,0U}}, -{MOVE_1148,{7U,7U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1150,{0U,7U,0U}}, {MOVE_1150,{1U,7U,0U}}, {MOVE_1150,{2U,7U,0U}}, @@ -8081,14 +8080,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {MOVE_1180,{5U,7U,0U}}, {MOVE_1180,{6U,7U,0U}}, {MOVE_1180,{7U,7U,0U}}, -{MOVE_1188,{0U,7U,0U}}, -{MOVE_1188,{1U,7U,0U}}, -{MOVE_1188,{2U,7U,0U}}, -{MOVE_1188,{3U,7U,0U}}, -{MOVE_1188,{4U,7U,0U}}, -{MOVE_1188,{5U,7U,0U}}, -{MOVE_1188,{6U,7U,0U}}, -{MOVE_1188,{7U,7U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, +{cpuIllegalInstruction,{0U,0U,0U}}, {MOVE_1190,{0U,7U,0U}}, {MOVE_1190,{1U,7U,0U}}, {MOVE_1190,{2U,7U,0U}}, @@ -32969,14 +32968,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80C0,{0U,0U,70U}}, -{DIVU_80C0,{1U,0U,70U}}, -{DIVU_80C0,{2U,0U,70U}}, -{DIVU_80C0,{3U,0U,70U}}, -{DIVU_80C0,{4U,0U,70U}}, -{DIVU_80C0,{5U,0U,70U}}, -{DIVU_80C0,{6U,0U,70U}}, -{DIVU_80C0,{7U,0U,70U}}, +{DIVU_80C0,{0U,0U,132U}}, +{DIVU_80C0,{1U,0U,132U}}, +{DIVU_80C0,{2U,0U,132U}}, +{DIVU_80C0,{3U,0U,132U}}, +{DIVU_80C0,{4U,0U,132U}}, +{DIVU_80C0,{5U,0U,132U}}, +{DIVU_80C0,{6U,0U,132U}}, +{DIVU_80C0,{7U,0U,132U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -32985,51 +32984,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80D0,{0U,0U,74U}}, -{DIVU_80D0,{1U,0U,74U}}, -{DIVU_80D0,{2U,0U,74U}}, -{DIVU_80D0,{3U,0U,74U}}, -{DIVU_80D0,{4U,0U,74U}}, -{DIVU_80D0,{5U,0U,74U}}, -{DIVU_80D0,{6U,0U,74U}}, -{DIVU_80D0,{7U,0U,74U}}, -{DIVU_80D8,{0U,0U,74U}}, -{DIVU_80D8,{1U,0U,74U}}, -{DIVU_80D8,{2U,0U,74U}}, -{DIVU_80D8,{3U,0U,74U}}, -{DIVU_80D8,{4U,0U,74U}}, -{DIVU_80D8,{5U,0U,74U}}, -{DIVU_80D8,{6U,0U,74U}}, -{DIVU_80D8,{7U,0U,74U}}, -{DIVU_80E0,{0U,0U,76U}}, -{DIVU_80E0,{1U,0U,76U}}, -{DIVU_80E0,{2U,0U,76U}}, -{DIVU_80E0,{3U,0U,76U}}, -{DIVU_80E0,{4U,0U,76U}}, -{DIVU_80E0,{5U,0U,76U}}, -{DIVU_80E0,{6U,0U,76U}}, -{DIVU_80E0,{7U,0U,76U}}, -{DIVU_80E8,{0U,0U,78U}}, -{DIVU_80E8,{1U,0U,78U}}, -{DIVU_80E8,{2U,0U,78U}}, -{DIVU_80E8,{3U,0U,78U}}, -{DIVU_80E8,{4U,0U,78U}}, -{DIVU_80E8,{5U,0U,78U}}, -{DIVU_80E8,{6U,0U,78U}}, -{DIVU_80E8,{7U,0U,78U}}, -{DIVU_80F0,{0U,0U,80U}}, -{DIVU_80F0,{1U,0U,80U}}, -{DIVU_80F0,{2U,0U,80U}}, -{DIVU_80F0,{3U,0U,80U}}, -{DIVU_80F0,{4U,0U,80U}}, -{DIVU_80F0,{5U,0U,80U}}, -{DIVU_80F0,{6U,0U,80U}}, -{DIVU_80F0,{7U,0U,80U}}, -{DIVU_80F8,{0U,0U,78U}}, -{DIVU_80F9,{0U,0U,82U}}, -{DIVU_80FA,{0U,0U,78U}}, -{DIVU_80FB,{0U,0U,80U}}, -{DIVU_80FC,{0U,0U,74U}}, +{DIVU_80D0,{0U,0U,136U}}, +{DIVU_80D0,{1U,0U,136U}}, +{DIVU_80D0,{2U,0U,136U}}, +{DIVU_80D0,{3U,0U,136U}}, +{DIVU_80D0,{4U,0U,136U}}, +{DIVU_80D0,{5U,0U,136U}}, +{DIVU_80D0,{6U,0U,136U}}, +{DIVU_80D0,{7U,0U,136U}}, +{DIVU_80D8,{0U,0U,136U}}, +{DIVU_80D8,{1U,0U,136U}}, +{DIVU_80D8,{2U,0U,136U}}, +{DIVU_80D8,{3U,0U,136U}}, +{DIVU_80D8,{4U,0U,136U}}, +{DIVU_80D8,{5U,0U,136U}}, +{DIVU_80D8,{6U,0U,136U}}, +{DIVU_80D8,{7U,0U,136U}}, +{DIVU_80E0,{0U,0U,138U}}, +{DIVU_80E0,{1U,0U,138U}}, +{DIVU_80E0,{2U,0U,138U}}, +{DIVU_80E0,{3U,0U,138U}}, +{DIVU_80E0,{4U,0U,138U}}, +{DIVU_80E0,{5U,0U,138U}}, +{DIVU_80E0,{6U,0U,138U}}, +{DIVU_80E0,{7U,0U,138U}}, +{DIVU_80E8,{0U,0U,140U}}, +{DIVU_80E8,{1U,0U,140U}}, +{DIVU_80E8,{2U,0U,140U}}, +{DIVU_80E8,{3U,0U,140U}}, +{DIVU_80E8,{4U,0U,140U}}, +{DIVU_80E8,{5U,0U,140U}}, +{DIVU_80E8,{6U,0U,140U}}, +{DIVU_80E8,{7U,0U,140U}}, +{DIVU_80F0,{0U,0U,142U}}, +{DIVU_80F0,{1U,0U,142U}}, +{DIVU_80F0,{2U,0U,142U}}, +{DIVU_80F0,{3U,0U,142U}}, +{DIVU_80F0,{4U,0U,142U}}, +{DIVU_80F0,{5U,0U,142U}}, +{DIVU_80F0,{6U,0U,142U}}, +{DIVU_80F0,{7U,0U,142U}}, +{DIVU_80F8,{0U,0U,140U}}, +{DIVU_80F9,{0U,0U,144U}}, +{DIVU_80FA,{0U,0U,140U}}, +{DIVU_80FB,{0U,0U,142U}}, +{DIVU_80FC,{0U,0U,136U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -33225,14 +33224,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81C0,{0U,0U,70U}}, -{DIVS_81C0,{1U,0U,70U}}, -{DIVS_81C0,{2U,0U,70U}}, -{DIVS_81C0,{3U,0U,70U}}, -{DIVS_81C0,{4U,0U,70U}}, -{DIVS_81C0,{5U,0U,70U}}, -{DIVS_81C0,{6U,0U,70U}}, -{DIVS_81C0,{7U,0U,70U}}, +{DIVS_81C0,{0U,0U,150U}}, +{DIVS_81C0,{1U,0U,150U}}, +{DIVS_81C0,{2U,0U,150U}}, +{DIVS_81C0,{3U,0U,150U}}, +{DIVS_81C0,{4U,0U,150U}}, +{DIVS_81C0,{5U,0U,150U}}, +{DIVS_81C0,{6U,0U,150U}}, +{DIVS_81C0,{7U,0U,150U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -33241,51 +33240,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81D0,{0U,0U,74U}}, -{DIVS_81D0,{1U,0U,74U}}, -{DIVS_81D0,{2U,0U,74U}}, -{DIVS_81D0,{3U,0U,74U}}, -{DIVS_81D0,{4U,0U,74U}}, -{DIVS_81D0,{5U,0U,74U}}, -{DIVS_81D0,{6U,0U,74U}}, -{DIVS_81D0,{7U,0U,74U}}, -{DIVS_81D8,{0U,0U,74U}}, -{DIVS_81D8,{1U,0U,74U}}, -{DIVS_81D8,{2U,0U,74U}}, -{DIVS_81D8,{3U,0U,74U}}, -{DIVS_81D8,{4U,0U,74U}}, -{DIVS_81D8,{5U,0U,74U}}, -{DIVS_81D8,{6U,0U,74U}}, -{DIVS_81D8,{7U,0U,74U}}, -{DIVS_81E0,{0U,0U,76U}}, -{DIVS_81E0,{1U,0U,76U}}, -{DIVS_81E0,{2U,0U,76U}}, -{DIVS_81E0,{3U,0U,76U}}, -{DIVS_81E0,{4U,0U,76U}}, -{DIVS_81E0,{5U,0U,76U}}, -{DIVS_81E0,{6U,0U,76U}}, -{DIVS_81E0,{7U,0U,76U}}, -{DIVS_81E8,{0U,0U,78U}}, -{DIVS_81E8,{1U,0U,78U}}, -{DIVS_81E8,{2U,0U,78U}}, -{DIVS_81E8,{3U,0U,78U}}, -{DIVS_81E8,{4U,0U,78U}}, -{DIVS_81E8,{5U,0U,78U}}, -{DIVS_81E8,{6U,0U,78U}}, -{DIVS_81E8,{7U,0U,78U}}, -{DIVS_81F0,{0U,0U,80U}}, -{DIVS_81F0,{1U,0U,80U}}, -{DIVS_81F0,{2U,0U,80U}}, -{DIVS_81F0,{3U,0U,80U}}, -{DIVS_81F0,{4U,0U,80U}}, -{DIVS_81F0,{5U,0U,80U}}, -{DIVS_81F0,{6U,0U,80U}}, -{DIVS_81F0,{7U,0U,80U}}, -{DIVS_81F8,{0U,0U,78U}}, -{DIVS_81F9,{0U,0U,82U}}, -{DIVS_81FA,{0U,0U,78U}}, -{DIVS_81FB,{0U,0U,80U}}, -{DIVS_81FC,{0U,0U,74U}}, +{DIVS_81D0,{0U,0U,154U}}, +{DIVS_81D0,{1U,0U,154U}}, +{DIVS_81D0,{2U,0U,154U}}, +{DIVS_81D0,{3U,0U,154U}}, +{DIVS_81D0,{4U,0U,154U}}, +{DIVS_81D0,{5U,0U,154U}}, +{DIVS_81D0,{6U,0U,154U}}, +{DIVS_81D0,{7U,0U,154U}}, +{DIVS_81D8,{0U,0U,154U}}, +{DIVS_81D8,{1U,0U,154U}}, +{DIVS_81D8,{2U,0U,154U}}, +{DIVS_81D8,{3U,0U,154U}}, +{DIVS_81D8,{4U,0U,154U}}, +{DIVS_81D8,{5U,0U,154U}}, +{DIVS_81D8,{6U,0U,154U}}, +{DIVS_81D8,{7U,0U,154U}}, +{DIVS_81E0,{0U,0U,156U}}, +{DIVS_81E0,{1U,0U,156U}}, +{DIVS_81E0,{2U,0U,156U}}, +{DIVS_81E0,{3U,0U,156U}}, +{DIVS_81E0,{4U,0U,156U}}, +{DIVS_81E0,{5U,0U,156U}}, +{DIVS_81E0,{6U,0U,156U}}, +{DIVS_81E0,{7U,0U,156U}}, +{DIVS_81E8,{0U,0U,158U}}, +{DIVS_81E8,{1U,0U,158U}}, +{DIVS_81E8,{2U,0U,158U}}, +{DIVS_81E8,{3U,0U,158U}}, +{DIVS_81E8,{4U,0U,158U}}, +{DIVS_81E8,{5U,0U,158U}}, +{DIVS_81E8,{6U,0U,158U}}, +{DIVS_81E8,{7U,0U,158U}}, +{DIVS_81F0,{0U,0U,160U}}, +{DIVS_81F0,{1U,0U,160U}}, +{DIVS_81F0,{2U,0U,160U}}, +{DIVS_81F0,{3U,0U,160U}}, +{DIVS_81F0,{4U,0U,160U}}, +{DIVS_81F0,{5U,0U,160U}}, +{DIVS_81F0,{6U,0U,160U}}, +{DIVS_81F0,{7U,0U,160U}}, +{DIVS_81F8,{0U,0U,158U}}, +{DIVS_81F9,{0U,0U,162U}}, +{DIVS_81FA,{0U,0U,158U}}, +{DIVS_81FB,{0U,0U,160U}}, +{DIVS_81FC,{0U,0U,154U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -33481,14 +33480,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80C0,{0U,1U,70U}}, -{DIVU_80C0,{1U,1U,70U}}, -{DIVU_80C0,{2U,1U,70U}}, -{DIVU_80C0,{3U,1U,70U}}, -{DIVU_80C0,{4U,1U,70U}}, -{DIVU_80C0,{5U,1U,70U}}, -{DIVU_80C0,{6U,1U,70U}}, -{DIVU_80C0,{7U,1U,70U}}, +{DIVU_80C0,{0U,1U,132U}}, +{DIVU_80C0,{1U,1U,132U}}, +{DIVU_80C0,{2U,1U,132U}}, +{DIVU_80C0,{3U,1U,132U}}, +{DIVU_80C0,{4U,1U,132U}}, +{DIVU_80C0,{5U,1U,132U}}, +{DIVU_80C0,{6U,1U,132U}}, +{DIVU_80C0,{7U,1U,132U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -33497,51 +33496,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80D0,{0U,1U,74U}}, -{DIVU_80D0,{1U,1U,74U}}, -{DIVU_80D0,{2U,1U,74U}}, -{DIVU_80D0,{3U,1U,74U}}, -{DIVU_80D0,{4U,1U,74U}}, -{DIVU_80D0,{5U,1U,74U}}, -{DIVU_80D0,{6U,1U,74U}}, -{DIVU_80D0,{7U,1U,74U}}, -{DIVU_80D8,{0U,1U,74U}}, -{DIVU_80D8,{1U,1U,74U}}, -{DIVU_80D8,{2U,1U,74U}}, -{DIVU_80D8,{3U,1U,74U}}, -{DIVU_80D8,{4U,1U,74U}}, -{DIVU_80D8,{5U,1U,74U}}, -{DIVU_80D8,{6U,1U,74U}}, -{DIVU_80D8,{7U,1U,74U}}, -{DIVU_80E0,{0U,1U,76U}}, -{DIVU_80E0,{1U,1U,76U}}, -{DIVU_80E0,{2U,1U,76U}}, -{DIVU_80E0,{3U,1U,76U}}, -{DIVU_80E0,{4U,1U,76U}}, -{DIVU_80E0,{5U,1U,76U}}, -{DIVU_80E0,{6U,1U,76U}}, -{DIVU_80E0,{7U,1U,76U}}, -{DIVU_80E8,{0U,1U,78U}}, -{DIVU_80E8,{1U,1U,78U}}, -{DIVU_80E8,{2U,1U,78U}}, -{DIVU_80E8,{3U,1U,78U}}, -{DIVU_80E8,{4U,1U,78U}}, -{DIVU_80E8,{5U,1U,78U}}, -{DIVU_80E8,{6U,1U,78U}}, -{DIVU_80E8,{7U,1U,78U}}, -{DIVU_80F0,{0U,1U,80U}}, -{DIVU_80F0,{1U,1U,80U}}, -{DIVU_80F0,{2U,1U,80U}}, -{DIVU_80F0,{3U,1U,80U}}, -{DIVU_80F0,{4U,1U,80U}}, -{DIVU_80F0,{5U,1U,80U}}, -{DIVU_80F0,{6U,1U,80U}}, -{DIVU_80F0,{7U,1U,80U}}, -{DIVU_80F8,{0U,1U,78U}}, -{DIVU_80F9,{0U,1U,82U}}, -{DIVU_80FA,{0U,1U,78U}}, -{DIVU_80FB,{0U,1U,80U}}, -{DIVU_80FC,{0U,1U,74U}}, +{DIVU_80D0,{0U,1U,136U}}, +{DIVU_80D0,{1U,1U,136U}}, +{DIVU_80D0,{2U,1U,136U}}, +{DIVU_80D0,{3U,1U,136U}}, +{DIVU_80D0,{4U,1U,136U}}, +{DIVU_80D0,{5U,1U,136U}}, +{DIVU_80D0,{6U,1U,136U}}, +{DIVU_80D0,{7U,1U,136U}}, +{DIVU_80D8,{0U,1U,136U}}, +{DIVU_80D8,{1U,1U,136U}}, +{DIVU_80D8,{2U,1U,136U}}, +{DIVU_80D8,{3U,1U,136U}}, +{DIVU_80D8,{4U,1U,136U}}, +{DIVU_80D8,{5U,1U,136U}}, +{DIVU_80D8,{6U,1U,136U}}, +{DIVU_80D8,{7U,1U,136U}}, +{DIVU_80E0,{0U,1U,138U}}, +{DIVU_80E0,{1U,1U,138U}}, +{DIVU_80E0,{2U,1U,138U}}, +{DIVU_80E0,{3U,1U,138U}}, +{DIVU_80E0,{4U,1U,138U}}, +{DIVU_80E0,{5U,1U,138U}}, +{DIVU_80E0,{6U,1U,138U}}, +{DIVU_80E0,{7U,1U,138U}}, +{DIVU_80E8,{0U,1U,140U}}, +{DIVU_80E8,{1U,1U,140U}}, +{DIVU_80E8,{2U,1U,140U}}, +{DIVU_80E8,{3U,1U,140U}}, +{DIVU_80E8,{4U,1U,140U}}, +{DIVU_80E8,{5U,1U,140U}}, +{DIVU_80E8,{6U,1U,140U}}, +{DIVU_80E8,{7U,1U,140U}}, +{DIVU_80F0,{0U,1U,142U}}, +{DIVU_80F0,{1U,1U,142U}}, +{DIVU_80F0,{2U,1U,142U}}, +{DIVU_80F0,{3U,1U,142U}}, +{DIVU_80F0,{4U,1U,142U}}, +{DIVU_80F0,{5U,1U,142U}}, +{DIVU_80F0,{6U,1U,142U}}, +{DIVU_80F0,{7U,1U,142U}}, +{DIVU_80F8,{0U,1U,140U}}, +{DIVU_80F9,{0U,1U,144U}}, +{DIVU_80FA,{0U,1U,140U}}, +{DIVU_80FB,{0U,1U,142U}}, +{DIVU_80FC,{0U,1U,136U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -33737,14 +33736,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81C0,{0U,1U,70U}}, -{DIVS_81C0,{1U,1U,70U}}, -{DIVS_81C0,{2U,1U,70U}}, -{DIVS_81C0,{3U,1U,70U}}, -{DIVS_81C0,{4U,1U,70U}}, -{DIVS_81C0,{5U,1U,70U}}, -{DIVS_81C0,{6U,1U,70U}}, -{DIVS_81C0,{7U,1U,70U}}, +{DIVS_81C0,{0U,1U,150U}}, +{DIVS_81C0,{1U,1U,150U}}, +{DIVS_81C0,{2U,1U,150U}}, +{DIVS_81C0,{3U,1U,150U}}, +{DIVS_81C0,{4U,1U,150U}}, +{DIVS_81C0,{5U,1U,150U}}, +{DIVS_81C0,{6U,1U,150U}}, +{DIVS_81C0,{7U,1U,150U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -33753,51 +33752,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81D0,{0U,1U,74U}}, -{DIVS_81D0,{1U,1U,74U}}, -{DIVS_81D0,{2U,1U,74U}}, -{DIVS_81D0,{3U,1U,74U}}, -{DIVS_81D0,{4U,1U,74U}}, -{DIVS_81D0,{5U,1U,74U}}, -{DIVS_81D0,{6U,1U,74U}}, -{DIVS_81D0,{7U,1U,74U}}, -{DIVS_81D8,{0U,1U,74U}}, -{DIVS_81D8,{1U,1U,74U}}, -{DIVS_81D8,{2U,1U,74U}}, -{DIVS_81D8,{3U,1U,74U}}, -{DIVS_81D8,{4U,1U,74U}}, -{DIVS_81D8,{5U,1U,74U}}, -{DIVS_81D8,{6U,1U,74U}}, -{DIVS_81D8,{7U,1U,74U}}, -{DIVS_81E0,{0U,1U,76U}}, -{DIVS_81E0,{1U,1U,76U}}, -{DIVS_81E0,{2U,1U,76U}}, -{DIVS_81E0,{3U,1U,76U}}, -{DIVS_81E0,{4U,1U,76U}}, -{DIVS_81E0,{5U,1U,76U}}, -{DIVS_81E0,{6U,1U,76U}}, -{DIVS_81E0,{7U,1U,76U}}, -{DIVS_81E8,{0U,1U,78U}}, -{DIVS_81E8,{1U,1U,78U}}, -{DIVS_81E8,{2U,1U,78U}}, -{DIVS_81E8,{3U,1U,78U}}, -{DIVS_81E8,{4U,1U,78U}}, -{DIVS_81E8,{5U,1U,78U}}, -{DIVS_81E8,{6U,1U,78U}}, -{DIVS_81E8,{7U,1U,78U}}, -{DIVS_81F0,{0U,1U,80U}}, -{DIVS_81F0,{1U,1U,80U}}, -{DIVS_81F0,{2U,1U,80U}}, -{DIVS_81F0,{3U,1U,80U}}, -{DIVS_81F0,{4U,1U,80U}}, -{DIVS_81F0,{5U,1U,80U}}, -{DIVS_81F0,{6U,1U,80U}}, -{DIVS_81F0,{7U,1U,80U}}, -{DIVS_81F8,{0U,1U,78U}}, -{DIVS_81F9,{0U,1U,82U}}, -{DIVS_81FA,{0U,1U,78U}}, -{DIVS_81FB,{0U,1U,80U}}, -{DIVS_81FC,{0U,1U,74U}}, +{DIVS_81D0,{0U,1U,154U}}, +{DIVS_81D0,{1U,1U,154U}}, +{DIVS_81D0,{2U,1U,154U}}, +{DIVS_81D0,{3U,1U,154U}}, +{DIVS_81D0,{4U,1U,154U}}, +{DIVS_81D0,{5U,1U,154U}}, +{DIVS_81D0,{6U,1U,154U}}, +{DIVS_81D0,{7U,1U,154U}}, +{DIVS_81D8,{0U,1U,154U}}, +{DIVS_81D8,{1U,1U,154U}}, +{DIVS_81D8,{2U,1U,154U}}, +{DIVS_81D8,{3U,1U,154U}}, +{DIVS_81D8,{4U,1U,154U}}, +{DIVS_81D8,{5U,1U,154U}}, +{DIVS_81D8,{6U,1U,154U}}, +{DIVS_81D8,{7U,1U,154U}}, +{DIVS_81E0,{0U,1U,156U}}, +{DIVS_81E0,{1U,1U,156U}}, +{DIVS_81E0,{2U,1U,156U}}, +{DIVS_81E0,{3U,1U,156U}}, +{DIVS_81E0,{4U,1U,156U}}, +{DIVS_81E0,{5U,1U,156U}}, +{DIVS_81E0,{6U,1U,156U}}, +{DIVS_81E0,{7U,1U,156U}}, +{DIVS_81E8,{0U,1U,158U}}, +{DIVS_81E8,{1U,1U,158U}}, +{DIVS_81E8,{2U,1U,158U}}, +{DIVS_81E8,{3U,1U,158U}}, +{DIVS_81E8,{4U,1U,158U}}, +{DIVS_81E8,{5U,1U,158U}}, +{DIVS_81E8,{6U,1U,158U}}, +{DIVS_81E8,{7U,1U,158U}}, +{DIVS_81F0,{0U,1U,160U}}, +{DIVS_81F0,{1U,1U,160U}}, +{DIVS_81F0,{2U,1U,160U}}, +{DIVS_81F0,{3U,1U,160U}}, +{DIVS_81F0,{4U,1U,160U}}, +{DIVS_81F0,{5U,1U,160U}}, +{DIVS_81F0,{6U,1U,160U}}, +{DIVS_81F0,{7U,1U,160U}}, +{DIVS_81F8,{0U,1U,158U}}, +{DIVS_81F9,{0U,1U,162U}}, +{DIVS_81FA,{0U,1U,158U}}, +{DIVS_81FB,{0U,1U,160U}}, +{DIVS_81FC,{0U,1U,154U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -33993,14 +33992,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80C0,{0U,2U,70U}}, -{DIVU_80C0,{1U,2U,70U}}, -{DIVU_80C0,{2U,2U,70U}}, -{DIVU_80C0,{3U,2U,70U}}, -{DIVU_80C0,{4U,2U,70U}}, -{DIVU_80C0,{5U,2U,70U}}, -{DIVU_80C0,{6U,2U,70U}}, -{DIVU_80C0,{7U,2U,70U}}, +{DIVU_80C0,{0U,2U,132U}}, +{DIVU_80C0,{1U,2U,132U}}, +{DIVU_80C0,{2U,2U,132U}}, +{DIVU_80C0,{3U,2U,132U}}, +{DIVU_80C0,{4U,2U,132U}}, +{DIVU_80C0,{5U,2U,132U}}, +{DIVU_80C0,{6U,2U,132U}}, +{DIVU_80C0,{7U,2U,132U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -34009,51 +34008,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80D0,{0U,2U,74U}}, -{DIVU_80D0,{1U,2U,74U}}, -{DIVU_80D0,{2U,2U,74U}}, -{DIVU_80D0,{3U,2U,74U}}, -{DIVU_80D0,{4U,2U,74U}}, -{DIVU_80D0,{5U,2U,74U}}, -{DIVU_80D0,{6U,2U,74U}}, -{DIVU_80D0,{7U,2U,74U}}, -{DIVU_80D8,{0U,2U,74U}}, -{DIVU_80D8,{1U,2U,74U}}, -{DIVU_80D8,{2U,2U,74U}}, -{DIVU_80D8,{3U,2U,74U}}, -{DIVU_80D8,{4U,2U,74U}}, -{DIVU_80D8,{5U,2U,74U}}, -{DIVU_80D8,{6U,2U,74U}}, -{DIVU_80D8,{7U,2U,74U}}, -{DIVU_80E0,{0U,2U,76U}}, -{DIVU_80E0,{1U,2U,76U}}, -{DIVU_80E0,{2U,2U,76U}}, -{DIVU_80E0,{3U,2U,76U}}, -{DIVU_80E0,{4U,2U,76U}}, -{DIVU_80E0,{5U,2U,76U}}, -{DIVU_80E0,{6U,2U,76U}}, -{DIVU_80E0,{7U,2U,76U}}, -{DIVU_80E8,{0U,2U,78U}}, -{DIVU_80E8,{1U,2U,78U}}, -{DIVU_80E8,{2U,2U,78U}}, -{DIVU_80E8,{3U,2U,78U}}, -{DIVU_80E8,{4U,2U,78U}}, -{DIVU_80E8,{5U,2U,78U}}, -{DIVU_80E8,{6U,2U,78U}}, -{DIVU_80E8,{7U,2U,78U}}, -{DIVU_80F0,{0U,2U,80U}}, -{DIVU_80F0,{1U,2U,80U}}, -{DIVU_80F0,{2U,2U,80U}}, -{DIVU_80F0,{3U,2U,80U}}, -{DIVU_80F0,{4U,2U,80U}}, -{DIVU_80F0,{5U,2U,80U}}, -{DIVU_80F0,{6U,2U,80U}}, -{DIVU_80F0,{7U,2U,80U}}, -{DIVU_80F8,{0U,2U,78U}}, -{DIVU_80F9,{0U,2U,82U}}, -{DIVU_80FA,{0U,2U,78U}}, -{DIVU_80FB,{0U,2U,80U}}, -{DIVU_80FC,{0U,2U,74U}}, +{DIVU_80D0,{0U,2U,136U}}, +{DIVU_80D0,{1U,2U,136U}}, +{DIVU_80D0,{2U,2U,136U}}, +{DIVU_80D0,{3U,2U,136U}}, +{DIVU_80D0,{4U,2U,136U}}, +{DIVU_80D0,{5U,2U,136U}}, +{DIVU_80D0,{6U,2U,136U}}, +{DIVU_80D0,{7U,2U,136U}}, +{DIVU_80D8,{0U,2U,136U}}, +{DIVU_80D8,{1U,2U,136U}}, +{DIVU_80D8,{2U,2U,136U}}, +{DIVU_80D8,{3U,2U,136U}}, +{DIVU_80D8,{4U,2U,136U}}, +{DIVU_80D8,{5U,2U,136U}}, +{DIVU_80D8,{6U,2U,136U}}, +{DIVU_80D8,{7U,2U,136U}}, +{DIVU_80E0,{0U,2U,138U}}, +{DIVU_80E0,{1U,2U,138U}}, +{DIVU_80E0,{2U,2U,138U}}, +{DIVU_80E0,{3U,2U,138U}}, +{DIVU_80E0,{4U,2U,138U}}, +{DIVU_80E0,{5U,2U,138U}}, +{DIVU_80E0,{6U,2U,138U}}, +{DIVU_80E0,{7U,2U,138U}}, +{DIVU_80E8,{0U,2U,140U}}, +{DIVU_80E8,{1U,2U,140U}}, +{DIVU_80E8,{2U,2U,140U}}, +{DIVU_80E8,{3U,2U,140U}}, +{DIVU_80E8,{4U,2U,140U}}, +{DIVU_80E8,{5U,2U,140U}}, +{DIVU_80E8,{6U,2U,140U}}, +{DIVU_80E8,{7U,2U,140U}}, +{DIVU_80F0,{0U,2U,142U}}, +{DIVU_80F0,{1U,2U,142U}}, +{DIVU_80F0,{2U,2U,142U}}, +{DIVU_80F0,{3U,2U,142U}}, +{DIVU_80F0,{4U,2U,142U}}, +{DIVU_80F0,{5U,2U,142U}}, +{DIVU_80F0,{6U,2U,142U}}, +{DIVU_80F0,{7U,2U,142U}}, +{DIVU_80F8,{0U,2U,140U}}, +{DIVU_80F9,{0U,2U,144U}}, +{DIVU_80FA,{0U,2U,140U}}, +{DIVU_80FB,{0U,2U,142U}}, +{DIVU_80FC,{0U,2U,136U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -34249,14 +34248,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81C0,{0U,2U,70U}}, -{DIVS_81C0,{1U,2U,70U}}, -{DIVS_81C0,{2U,2U,70U}}, -{DIVS_81C0,{3U,2U,70U}}, -{DIVS_81C0,{4U,2U,70U}}, -{DIVS_81C0,{5U,2U,70U}}, -{DIVS_81C0,{6U,2U,70U}}, -{DIVS_81C0,{7U,2U,70U}}, +{DIVS_81C0,{0U,2U,150U}}, +{DIVS_81C0,{1U,2U,150U}}, +{DIVS_81C0,{2U,2U,150U}}, +{DIVS_81C0,{3U,2U,150U}}, +{DIVS_81C0,{4U,2U,150U}}, +{DIVS_81C0,{5U,2U,150U}}, +{DIVS_81C0,{6U,2U,150U}}, +{DIVS_81C0,{7U,2U,150U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -34265,51 +34264,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81D0,{0U,2U,74U}}, -{DIVS_81D0,{1U,2U,74U}}, -{DIVS_81D0,{2U,2U,74U}}, -{DIVS_81D0,{3U,2U,74U}}, -{DIVS_81D0,{4U,2U,74U}}, -{DIVS_81D0,{5U,2U,74U}}, -{DIVS_81D0,{6U,2U,74U}}, -{DIVS_81D0,{7U,2U,74U}}, -{DIVS_81D8,{0U,2U,74U}}, -{DIVS_81D8,{1U,2U,74U}}, -{DIVS_81D8,{2U,2U,74U}}, -{DIVS_81D8,{3U,2U,74U}}, -{DIVS_81D8,{4U,2U,74U}}, -{DIVS_81D8,{5U,2U,74U}}, -{DIVS_81D8,{6U,2U,74U}}, -{DIVS_81D8,{7U,2U,74U}}, -{DIVS_81E0,{0U,2U,76U}}, -{DIVS_81E0,{1U,2U,76U}}, -{DIVS_81E0,{2U,2U,76U}}, -{DIVS_81E0,{3U,2U,76U}}, -{DIVS_81E0,{4U,2U,76U}}, -{DIVS_81E0,{5U,2U,76U}}, -{DIVS_81E0,{6U,2U,76U}}, -{DIVS_81E0,{7U,2U,76U}}, -{DIVS_81E8,{0U,2U,78U}}, -{DIVS_81E8,{1U,2U,78U}}, -{DIVS_81E8,{2U,2U,78U}}, -{DIVS_81E8,{3U,2U,78U}}, -{DIVS_81E8,{4U,2U,78U}}, -{DIVS_81E8,{5U,2U,78U}}, -{DIVS_81E8,{6U,2U,78U}}, -{DIVS_81E8,{7U,2U,78U}}, -{DIVS_81F0,{0U,2U,80U}}, -{DIVS_81F0,{1U,2U,80U}}, -{DIVS_81F0,{2U,2U,80U}}, -{DIVS_81F0,{3U,2U,80U}}, -{DIVS_81F0,{4U,2U,80U}}, -{DIVS_81F0,{5U,2U,80U}}, -{DIVS_81F0,{6U,2U,80U}}, -{DIVS_81F0,{7U,2U,80U}}, -{DIVS_81F8,{0U,2U,78U}}, -{DIVS_81F9,{0U,2U,82U}}, -{DIVS_81FA,{0U,2U,78U}}, -{DIVS_81FB,{0U,2U,80U}}, -{DIVS_81FC,{0U,2U,74U}}, +{DIVS_81D0,{0U,2U,154U}}, +{DIVS_81D0,{1U,2U,154U}}, +{DIVS_81D0,{2U,2U,154U}}, +{DIVS_81D0,{3U,2U,154U}}, +{DIVS_81D0,{4U,2U,154U}}, +{DIVS_81D0,{5U,2U,154U}}, +{DIVS_81D0,{6U,2U,154U}}, +{DIVS_81D0,{7U,2U,154U}}, +{DIVS_81D8,{0U,2U,154U}}, +{DIVS_81D8,{1U,2U,154U}}, +{DIVS_81D8,{2U,2U,154U}}, +{DIVS_81D8,{3U,2U,154U}}, +{DIVS_81D8,{4U,2U,154U}}, +{DIVS_81D8,{5U,2U,154U}}, +{DIVS_81D8,{6U,2U,154U}}, +{DIVS_81D8,{7U,2U,154U}}, +{DIVS_81E0,{0U,2U,156U}}, +{DIVS_81E0,{1U,2U,156U}}, +{DIVS_81E0,{2U,2U,156U}}, +{DIVS_81E0,{3U,2U,156U}}, +{DIVS_81E0,{4U,2U,156U}}, +{DIVS_81E0,{5U,2U,156U}}, +{DIVS_81E0,{6U,2U,156U}}, +{DIVS_81E0,{7U,2U,156U}}, +{DIVS_81E8,{0U,2U,158U}}, +{DIVS_81E8,{1U,2U,158U}}, +{DIVS_81E8,{2U,2U,158U}}, +{DIVS_81E8,{3U,2U,158U}}, +{DIVS_81E8,{4U,2U,158U}}, +{DIVS_81E8,{5U,2U,158U}}, +{DIVS_81E8,{6U,2U,158U}}, +{DIVS_81E8,{7U,2U,158U}}, +{DIVS_81F0,{0U,2U,160U}}, +{DIVS_81F0,{1U,2U,160U}}, +{DIVS_81F0,{2U,2U,160U}}, +{DIVS_81F0,{3U,2U,160U}}, +{DIVS_81F0,{4U,2U,160U}}, +{DIVS_81F0,{5U,2U,160U}}, +{DIVS_81F0,{6U,2U,160U}}, +{DIVS_81F0,{7U,2U,160U}}, +{DIVS_81F8,{0U,2U,158U}}, +{DIVS_81F9,{0U,2U,162U}}, +{DIVS_81FA,{0U,2U,158U}}, +{DIVS_81FB,{0U,2U,160U}}, +{DIVS_81FC,{0U,2U,154U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -34505,14 +34504,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80C0,{0U,3U,70U}}, -{DIVU_80C0,{1U,3U,70U}}, -{DIVU_80C0,{2U,3U,70U}}, -{DIVU_80C0,{3U,3U,70U}}, -{DIVU_80C0,{4U,3U,70U}}, -{DIVU_80C0,{5U,3U,70U}}, -{DIVU_80C0,{6U,3U,70U}}, -{DIVU_80C0,{7U,3U,70U}}, +{DIVU_80C0,{0U,3U,132U}}, +{DIVU_80C0,{1U,3U,132U}}, +{DIVU_80C0,{2U,3U,132U}}, +{DIVU_80C0,{3U,3U,132U}}, +{DIVU_80C0,{4U,3U,132U}}, +{DIVU_80C0,{5U,3U,132U}}, +{DIVU_80C0,{6U,3U,132U}}, +{DIVU_80C0,{7U,3U,132U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -34521,51 +34520,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80D0,{0U,3U,74U}}, -{DIVU_80D0,{1U,3U,74U}}, -{DIVU_80D0,{2U,3U,74U}}, -{DIVU_80D0,{3U,3U,74U}}, -{DIVU_80D0,{4U,3U,74U}}, -{DIVU_80D0,{5U,3U,74U}}, -{DIVU_80D0,{6U,3U,74U}}, -{DIVU_80D0,{7U,3U,74U}}, -{DIVU_80D8,{0U,3U,74U}}, -{DIVU_80D8,{1U,3U,74U}}, -{DIVU_80D8,{2U,3U,74U}}, -{DIVU_80D8,{3U,3U,74U}}, -{DIVU_80D8,{4U,3U,74U}}, -{DIVU_80D8,{5U,3U,74U}}, -{DIVU_80D8,{6U,3U,74U}}, -{DIVU_80D8,{7U,3U,74U}}, -{DIVU_80E0,{0U,3U,76U}}, -{DIVU_80E0,{1U,3U,76U}}, -{DIVU_80E0,{2U,3U,76U}}, -{DIVU_80E0,{3U,3U,76U}}, -{DIVU_80E0,{4U,3U,76U}}, -{DIVU_80E0,{5U,3U,76U}}, -{DIVU_80E0,{6U,3U,76U}}, -{DIVU_80E0,{7U,3U,76U}}, -{DIVU_80E8,{0U,3U,78U}}, -{DIVU_80E8,{1U,3U,78U}}, -{DIVU_80E8,{2U,3U,78U}}, -{DIVU_80E8,{3U,3U,78U}}, -{DIVU_80E8,{4U,3U,78U}}, -{DIVU_80E8,{5U,3U,78U}}, -{DIVU_80E8,{6U,3U,78U}}, -{DIVU_80E8,{7U,3U,78U}}, -{DIVU_80F0,{0U,3U,80U}}, -{DIVU_80F0,{1U,3U,80U}}, -{DIVU_80F0,{2U,3U,80U}}, -{DIVU_80F0,{3U,3U,80U}}, -{DIVU_80F0,{4U,3U,80U}}, -{DIVU_80F0,{5U,3U,80U}}, -{DIVU_80F0,{6U,3U,80U}}, -{DIVU_80F0,{7U,3U,80U}}, -{DIVU_80F8,{0U,3U,78U}}, -{DIVU_80F9,{0U,3U,82U}}, -{DIVU_80FA,{0U,3U,78U}}, -{DIVU_80FB,{0U,3U,80U}}, -{DIVU_80FC,{0U,3U,74U}}, +{DIVU_80D0,{0U,3U,136U}}, +{DIVU_80D0,{1U,3U,136U}}, +{DIVU_80D0,{2U,3U,136U}}, +{DIVU_80D0,{3U,3U,136U}}, +{DIVU_80D0,{4U,3U,136U}}, +{DIVU_80D0,{5U,3U,136U}}, +{DIVU_80D0,{6U,3U,136U}}, +{DIVU_80D0,{7U,3U,136U}}, +{DIVU_80D8,{0U,3U,136U}}, +{DIVU_80D8,{1U,3U,136U}}, +{DIVU_80D8,{2U,3U,136U}}, +{DIVU_80D8,{3U,3U,136U}}, +{DIVU_80D8,{4U,3U,136U}}, +{DIVU_80D8,{5U,3U,136U}}, +{DIVU_80D8,{6U,3U,136U}}, +{DIVU_80D8,{7U,3U,136U}}, +{DIVU_80E0,{0U,3U,138U}}, +{DIVU_80E0,{1U,3U,138U}}, +{DIVU_80E0,{2U,3U,138U}}, +{DIVU_80E0,{3U,3U,138U}}, +{DIVU_80E0,{4U,3U,138U}}, +{DIVU_80E0,{5U,3U,138U}}, +{DIVU_80E0,{6U,3U,138U}}, +{DIVU_80E0,{7U,3U,138U}}, +{DIVU_80E8,{0U,3U,140U}}, +{DIVU_80E8,{1U,3U,140U}}, +{DIVU_80E8,{2U,3U,140U}}, +{DIVU_80E8,{3U,3U,140U}}, +{DIVU_80E8,{4U,3U,140U}}, +{DIVU_80E8,{5U,3U,140U}}, +{DIVU_80E8,{6U,3U,140U}}, +{DIVU_80E8,{7U,3U,140U}}, +{DIVU_80F0,{0U,3U,142U}}, +{DIVU_80F0,{1U,3U,142U}}, +{DIVU_80F0,{2U,3U,142U}}, +{DIVU_80F0,{3U,3U,142U}}, +{DIVU_80F0,{4U,3U,142U}}, +{DIVU_80F0,{5U,3U,142U}}, +{DIVU_80F0,{6U,3U,142U}}, +{DIVU_80F0,{7U,3U,142U}}, +{DIVU_80F8,{0U,3U,140U}}, +{DIVU_80F9,{0U,3U,144U}}, +{DIVU_80FA,{0U,3U,140U}}, +{DIVU_80FB,{0U,3U,142U}}, +{DIVU_80FC,{0U,3U,136U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -34761,14 +34760,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81C0,{0U,3U,70U}}, -{DIVS_81C0,{1U,3U,70U}}, -{DIVS_81C0,{2U,3U,70U}}, -{DIVS_81C0,{3U,3U,70U}}, -{DIVS_81C0,{4U,3U,70U}}, -{DIVS_81C0,{5U,3U,70U}}, -{DIVS_81C0,{6U,3U,70U}}, -{DIVS_81C0,{7U,3U,70U}}, +{DIVS_81C0,{0U,3U,150U}}, +{DIVS_81C0,{1U,3U,150U}}, +{DIVS_81C0,{2U,3U,150U}}, +{DIVS_81C0,{3U,3U,150U}}, +{DIVS_81C0,{4U,3U,150U}}, +{DIVS_81C0,{5U,3U,150U}}, +{DIVS_81C0,{6U,3U,150U}}, +{DIVS_81C0,{7U,3U,150U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -34777,51 +34776,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81D0,{0U,3U,74U}}, -{DIVS_81D0,{1U,3U,74U}}, -{DIVS_81D0,{2U,3U,74U}}, -{DIVS_81D0,{3U,3U,74U}}, -{DIVS_81D0,{4U,3U,74U}}, -{DIVS_81D0,{5U,3U,74U}}, -{DIVS_81D0,{6U,3U,74U}}, -{DIVS_81D0,{7U,3U,74U}}, -{DIVS_81D8,{0U,3U,74U}}, -{DIVS_81D8,{1U,3U,74U}}, -{DIVS_81D8,{2U,3U,74U}}, -{DIVS_81D8,{3U,3U,74U}}, -{DIVS_81D8,{4U,3U,74U}}, -{DIVS_81D8,{5U,3U,74U}}, -{DIVS_81D8,{6U,3U,74U}}, -{DIVS_81D8,{7U,3U,74U}}, -{DIVS_81E0,{0U,3U,76U}}, -{DIVS_81E0,{1U,3U,76U}}, -{DIVS_81E0,{2U,3U,76U}}, -{DIVS_81E0,{3U,3U,76U}}, -{DIVS_81E0,{4U,3U,76U}}, -{DIVS_81E0,{5U,3U,76U}}, -{DIVS_81E0,{6U,3U,76U}}, -{DIVS_81E0,{7U,3U,76U}}, -{DIVS_81E8,{0U,3U,78U}}, -{DIVS_81E8,{1U,3U,78U}}, -{DIVS_81E8,{2U,3U,78U}}, -{DIVS_81E8,{3U,3U,78U}}, -{DIVS_81E8,{4U,3U,78U}}, -{DIVS_81E8,{5U,3U,78U}}, -{DIVS_81E8,{6U,3U,78U}}, -{DIVS_81E8,{7U,3U,78U}}, -{DIVS_81F0,{0U,3U,80U}}, -{DIVS_81F0,{1U,3U,80U}}, -{DIVS_81F0,{2U,3U,80U}}, -{DIVS_81F0,{3U,3U,80U}}, -{DIVS_81F0,{4U,3U,80U}}, -{DIVS_81F0,{5U,3U,80U}}, -{DIVS_81F0,{6U,3U,80U}}, -{DIVS_81F0,{7U,3U,80U}}, -{DIVS_81F8,{0U,3U,78U}}, -{DIVS_81F9,{0U,3U,82U}}, -{DIVS_81FA,{0U,3U,78U}}, -{DIVS_81FB,{0U,3U,80U}}, -{DIVS_81FC,{0U,3U,74U}}, +{DIVS_81D0,{0U,3U,154U}}, +{DIVS_81D0,{1U,3U,154U}}, +{DIVS_81D0,{2U,3U,154U}}, +{DIVS_81D0,{3U,3U,154U}}, +{DIVS_81D0,{4U,3U,154U}}, +{DIVS_81D0,{5U,3U,154U}}, +{DIVS_81D0,{6U,3U,154U}}, +{DIVS_81D0,{7U,3U,154U}}, +{DIVS_81D8,{0U,3U,154U}}, +{DIVS_81D8,{1U,3U,154U}}, +{DIVS_81D8,{2U,3U,154U}}, +{DIVS_81D8,{3U,3U,154U}}, +{DIVS_81D8,{4U,3U,154U}}, +{DIVS_81D8,{5U,3U,154U}}, +{DIVS_81D8,{6U,3U,154U}}, +{DIVS_81D8,{7U,3U,154U}}, +{DIVS_81E0,{0U,3U,156U}}, +{DIVS_81E0,{1U,3U,156U}}, +{DIVS_81E0,{2U,3U,156U}}, +{DIVS_81E0,{3U,3U,156U}}, +{DIVS_81E0,{4U,3U,156U}}, +{DIVS_81E0,{5U,3U,156U}}, +{DIVS_81E0,{6U,3U,156U}}, +{DIVS_81E0,{7U,3U,156U}}, +{DIVS_81E8,{0U,3U,158U}}, +{DIVS_81E8,{1U,3U,158U}}, +{DIVS_81E8,{2U,3U,158U}}, +{DIVS_81E8,{3U,3U,158U}}, +{DIVS_81E8,{4U,3U,158U}}, +{DIVS_81E8,{5U,3U,158U}}, +{DIVS_81E8,{6U,3U,158U}}, +{DIVS_81E8,{7U,3U,158U}}, +{DIVS_81F0,{0U,3U,160U}}, +{DIVS_81F0,{1U,3U,160U}}, +{DIVS_81F0,{2U,3U,160U}}, +{DIVS_81F0,{3U,3U,160U}}, +{DIVS_81F0,{4U,3U,160U}}, +{DIVS_81F0,{5U,3U,160U}}, +{DIVS_81F0,{6U,3U,160U}}, +{DIVS_81F0,{7U,3U,160U}}, +{DIVS_81F8,{0U,3U,158U}}, +{DIVS_81F9,{0U,3U,162U}}, +{DIVS_81FA,{0U,3U,158U}}, +{DIVS_81FB,{0U,3U,160U}}, +{DIVS_81FC,{0U,3U,154U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -35017,14 +35016,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80C0,{0U,4U,70U}}, -{DIVU_80C0,{1U,4U,70U}}, -{DIVU_80C0,{2U,4U,70U}}, -{DIVU_80C0,{3U,4U,70U}}, -{DIVU_80C0,{4U,4U,70U}}, -{DIVU_80C0,{5U,4U,70U}}, -{DIVU_80C0,{6U,4U,70U}}, -{DIVU_80C0,{7U,4U,70U}}, +{DIVU_80C0,{0U,4U,132U}}, +{DIVU_80C0,{1U,4U,132U}}, +{DIVU_80C0,{2U,4U,132U}}, +{DIVU_80C0,{3U,4U,132U}}, +{DIVU_80C0,{4U,4U,132U}}, +{DIVU_80C0,{5U,4U,132U}}, +{DIVU_80C0,{6U,4U,132U}}, +{DIVU_80C0,{7U,4U,132U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -35033,51 +35032,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80D0,{0U,4U,74U}}, -{DIVU_80D0,{1U,4U,74U}}, -{DIVU_80D0,{2U,4U,74U}}, -{DIVU_80D0,{3U,4U,74U}}, -{DIVU_80D0,{4U,4U,74U}}, -{DIVU_80D0,{5U,4U,74U}}, -{DIVU_80D0,{6U,4U,74U}}, -{DIVU_80D0,{7U,4U,74U}}, -{DIVU_80D8,{0U,4U,74U}}, -{DIVU_80D8,{1U,4U,74U}}, -{DIVU_80D8,{2U,4U,74U}}, -{DIVU_80D8,{3U,4U,74U}}, -{DIVU_80D8,{4U,4U,74U}}, -{DIVU_80D8,{5U,4U,74U}}, -{DIVU_80D8,{6U,4U,74U}}, -{DIVU_80D8,{7U,4U,74U}}, -{DIVU_80E0,{0U,4U,76U}}, -{DIVU_80E0,{1U,4U,76U}}, -{DIVU_80E0,{2U,4U,76U}}, -{DIVU_80E0,{3U,4U,76U}}, -{DIVU_80E0,{4U,4U,76U}}, -{DIVU_80E0,{5U,4U,76U}}, -{DIVU_80E0,{6U,4U,76U}}, -{DIVU_80E0,{7U,4U,76U}}, -{DIVU_80E8,{0U,4U,78U}}, -{DIVU_80E8,{1U,4U,78U}}, -{DIVU_80E8,{2U,4U,78U}}, -{DIVU_80E8,{3U,4U,78U}}, -{DIVU_80E8,{4U,4U,78U}}, -{DIVU_80E8,{5U,4U,78U}}, -{DIVU_80E8,{6U,4U,78U}}, -{DIVU_80E8,{7U,4U,78U}}, -{DIVU_80F0,{0U,4U,80U}}, -{DIVU_80F0,{1U,4U,80U}}, -{DIVU_80F0,{2U,4U,80U}}, -{DIVU_80F0,{3U,4U,80U}}, -{DIVU_80F0,{4U,4U,80U}}, -{DIVU_80F0,{5U,4U,80U}}, -{DIVU_80F0,{6U,4U,80U}}, -{DIVU_80F0,{7U,4U,80U}}, -{DIVU_80F8,{0U,4U,78U}}, -{DIVU_80F9,{0U,4U,82U}}, -{DIVU_80FA,{0U,4U,78U}}, -{DIVU_80FB,{0U,4U,80U}}, -{DIVU_80FC,{0U,4U,74U}}, +{DIVU_80D0,{0U,4U,136U}}, +{DIVU_80D0,{1U,4U,136U}}, +{DIVU_80D0,{2U,4U,136U}}, +{DIVU_80D0,{3U,4U,136U}}, +{DIVU_80D0,{4U,4U,136U}}, +{DIVU_80D0,{5U,4U,136U}}, +{DIVU_80D0,{6U,4U,136U}}, +{DIVU_80D0,{7U,4U,136U}}, +{DIVU_80D8,{0U,4U,136U}}, +{DIVU_80D8,{1U,4U,136U}}, +{DIVU_80D8,{2U,4U,136U}}, +{DIVU_80D8,{3U,4U,136U}}, +{DIVU_80D8,{4U,4U,136U}}, +{DIVU_80D8,{5U,4U,136U}}, +{DIVU_80D8,{6U,4U,136U}}, +{DIVU_80D8,{7U,4U,136U}}, +{DIVU_80E0,{0U,4U,138U}}, +{DIVU_80E0,{1U,4U,138U}}, +{DIVU_80E0,{2U,4U,138U}}, +{DIVU_80E0,{3U,4U,138U}}, +{DIVU_80E0,{4U,4U,138U}}, +{DIVU_80E0,{5U,4U,138U}}, +{DIVU_80E0,{6U,4U,138U}}, +{DIVU_80E0,{7U,4U,138U}}, +{DIVU_80E8,{0U,4U,140U}}, +{DIVU_80E8,{1U,4U,140U}}, +{DIVU_80E8,{2U,4U,140U}}, +{DIVU_80E8,{3U,4U,140U}}, +{DIVU_80E8,{4U,4U,140U}}, +{DIVU_80E8,{5U,4U,140U}}, +{DIVU_80E8,{6U,4U,140U}}, +{DIVU_80E8,{7U,4U,140U}}, +{DIVU_80F0,{0U,4U,142U}}, +{DIVU_80F0,{1U,4U,142U}}, +{DIVU_80F0,{2U,4U,142U}}, +{DIVU_80F0,{3U,4U,142U}}, +{DIVU_80F0,{4U,4U,142U}}, +{DIVU_80F0,{5U,4U,142U}}, +{DIVU_80F0,{6U,4U,142U}}, +{DIVU_80F0,{7U,4U,142U}}, +{DIVU_80F8,{0U,4U,140U}}, +{DIVU_80F9,{0U,4U,144U}}, +{DIVU_80FA,{0U,4U,140U}}, +{DIVU_80FB,{0U,4U,142U}}, +{DIVU_80FC,{0U,4U,136U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -35273,14 +35272,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81C0,{0U,4U,70U}}, -{DIVS_81C0,{1U,4U,70U}}, -{DIVS_81C0,{2U,4U,70U}}, -{DIVS_81C0,{3U,4U,70U}}, -{DIVS_81C0,{4U,4U,70U}}, -{DIVS_81C0,{5U,4U,70U}}, -{DIVS_81C0,{6U,4U,70U}}, -{DIVS_81C0,{7U,4U,70U}}, +{DIVS_81C0,{0U,4U,150U}}, +{DIVS_81C0,{1U,4U,150U}}, +{DIVS_81C0,{2U,4U,150U}}, +{DIVS_81C0,{3U,4U,150U}}, +{DIVS_81C0,{4U,4U,150U}}, +{DIVS_81C0,{5U,4U,150U}}, +{DIVS_81C0,{6U,4U,150U}}, +{DIVS_81C0,{7U,4U,150U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -35289,51 +35288,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81D0,{0U,4U,74U}}, -{DIVS_81D0,{1U,4U,74U}}, -{DIVS_81D0,{2U,4U,74U}}, -{DIVS_81D0,{3U,4U,74U}}, -{DIVS_81D0,{4U,4U,74U}}, -{DIVS_81D0,{5U,4U,74U}}, -{DIVS_81D0,{6U,4U,74U}}, -{DIVS_81D0,{7U,4U,74U}}, -{DIVS_81D8,{0U,4U,74U}}, -{DIVS_81D8,{1U,4U,74U}}, -{DIVS_81D8,{2U,4U,74U}}, -{DIVS_81D8,{3U,4U,74U}}, -{DIVS_81D8,{4U,4U,74U}}, -{DIVS_81D8,{5U,4U,74U}}, -{DIVS_81D8,{6U,4U,74U}}, -{DIVS_81D8,{7U,4U,74U}}, -{DIVS_81E0,{0U,4U,76U}}, -{DIVS_81E0,{1U,4U,76U}}, -{DIVS_81E0,{2U,4U,76U}}, -{DIVS_81E0,{3U,4U,76U}}, -{DIVS_81E0,{4U,4U,76U}}, -{DIVS_81E0,{5U,4U,76U}}, -{DIVS_81E0,{6U,4U,76U}}, -{DIVS_81E0,{7U,4U,76U}}, -{DIVS_81E8,{0U,4U,78U}}, -{DIVS_81E8,{1U,4U,78U}}, -{DIVS_81E8,{2U,4U,78U}}, -{DIVS_81E8,{3U,4U,78U}}, -{DIVS_81E8,{4U,4U,78U}}, -{DIVS_81E8,{5U,4U,78U}}, -{DIVS_81E8,{6U,4U,78U}}, -{DIVS_81E8,{7U,4U,78U}}, -{DIVS_81F0,{0U,4U,80U}}, -{DIVS_81F0,{1U,4U,80U}}, -{DIVS_81F0,{2U,4U,80U}}, -{DIVS_81F0,{3U,4U,80U}}, -{DIVS_81F0,{4U,4U,80U}}, -{DIVS_81F0,{5U,4U,80U}}, -{DIVS_81F0,{6U,4U,80U}}, -{DIVS_81F0,{7U,4U,80U}}, -{DIVS_81F8,{0U,4U,78U}}, -{DIVS_81F9,{0U,4U,82U}}, -{DIVS_81FA,{0U,4U,78U}}, -{DIVS_81FB,{0U,4U,80U}}, -{DIVS_81FC,{0U,4U,74U}}, +{DIVS_81D0,{0U,4U,154U}}, +{DIVS_81D0,{1U,4U,154U}}, +{DIVS_81D0,{2U,4U,154U}}, +{DIVS_81D0,{3U,4U,154U}}, +{DIVS_81D0,{4U,4U,154U}}, +{DIVS_81D0,{5U,4U,154U}}, +{DIVS_81D0,{6U,4U,154U}}, +{DIVS_81D0,{7U,4U,154U}}, +{DIVS_81D8,{0U,4U,154U}}, +{DIVS_81D8,{1U,4U,154U}}, +{DIVS_81D8,{2U,4U,154U}}, +{DIVS_81D8,{3U,4U,154U}}, +{DIVS_81D8,{4U,4U,154U}}, +{DIVS_81D8,{5U,4U,154U}}, +{DIVS_81D8,{6U,4U,154U}}, +{DIVS_81D8,{7U,4U,154U}}, +{DIVS_81E0,{0U,4U,156U}}, +{DIVS_81E0,{1U,4U,156U}}, +{DIVS_81E0,{2U,4U,156U}}, +{DIVS_81E0,{3U,4U,156U}}, +{DIVS_81E0,{4U,4U,156U}}, +{DIVS_81E0,{5U,4U,156U}}, +{DIVS_81E0,{6U,4U,156U}}, +{DIVS_81E0,{7U,4U,156U}}, +{DIVS_81E8,{0U,4U,158U}}, +{DIVS_81E8,{1U,4U,158U}}, +{DIVS_81E8,{2U,4U,158U}}, +{DIVS_81E8,{3U,4U,158U}}, +{DIVS_81E8,{4U,4U,158U}}, +{DIVS_81E8,{5U,4U,158U}}, +{DIVS_81E8,{6U,4U,158U}}, +{DIVS_81E8,{7U,4U,158U}}, +{DIVS_81F0,{0U,4U,160U}}, +{DIVS_81F0,{1U,4U,160U}}, +{DIVS_81F0,{2U,4U,160U}}, +{DIVS_81F0,{3U,4U,160U}}, +{DIVS_81F0,{4U,4U,160U}}, +{DIVS_81F0,{5U,4U,160U}}, +{DIVS_81F0,{6U,4U,160U}}, +{DIVS_81F0,{7U,4U,160U}}, +{DIVS_81F8,{0U,4U,158U}}, +{DIVS_81F9,{0U,4U,162U}}, +{DIVS_81FA,{0U,4U,158U}}, +{DIVS_81FB,{0U,4U,160U}}, +{DIVS_81FC,{0U,4U,154U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -35529,14 +35528,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80C0,{0U,5U,70U}}, -{DIVU_80C0,{1U,5U,70U}}, -{DIVU_80C0,{2U,5U,70U}}, -{DIVU_80C0,{3U,5U,70U}}, -{DIVU_80C0,{4U,5U,70U}}, -{DIVU_80C0,{5U,5U,70U}}, -{DIVU_80C0,{6U,5U,70U}}, -{DIVU_80C0,{7U,5U,70U}}, +{DIVU_80C0,{0U,5U,132U}}, +{DIVU_80C0,{1U,5U,132U}}, +{DIVU_80C0,{2U,5U,132U}}, +{DIVU_80C0,{3U,5U,132U}}, +{DIVU_80C0,{4U,5U,132U}}, +{DIVU_80C0,{5U,5U,132U}}, +{DIVU_80C0,{6U,5U,132U}}, +{DIVU_80C0,{7U,5U,132U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -35545,51 +35544,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80D0,{0U,5U,74U}}, -{DIVU_80D0,{1U,5U,74U}}, -{DIVU_80D0,{2U,5U,74U}}, -{DIVU_80D0,{3U,5U,74U}}, -{DIVU_80D0,{4U,5U,74U}}, -{DIVU_80D0,{5U,5U,74U}}, -{DIVU_80D0,{6U,5U,74U}}, -{DIVU_80D0,{7U,5U,74U}}, -{DIVU_80D8,{0U,5U,74U}}, -{DIVU_80D8,{1U,5U,74U}}, -{DIVU_80D8,{2U,5U,74U}}, -{DIVU_80D8,{3U,5U,74U}}, -{DIVU_80D8,{4U,5U,74U}}, -{DIVU_80D8,{5U,5U,74U}}, -{DIVU_80D8,{6U,5U,74U}}, -{DIVU_80D8,{7U,5U,74U}}, -{DIVU_80E0,{0U,5U,76U}}, -{DIVU_80E0,{1U,5U,76U}}, -{DIVU_80E0,{2U,5U,76U}}, -{DIVU_80E0,{3U,5U,76U}}, -{DIVU_80E0,{4U,5U,76U}}, -{DIVU_80E0,{5U,5U,76U}}, -{DIVU_80E0,{6U,5U,76U}}, -{DIVU_80E0,{7U,5U,76U}}, -{DIVU_80E8,{0U,5U,78U}}, -{DIVU_80E8,{1U,5U,78U}}, -{DIVU_80E8,{2U,5U,78U}}, -{DIVU_80E8,{3U,5U,78U}}, -{DIVU_80E8,{4U,5U,78U}}, -{DIVU_80E8,{5U,5U,78U}}, -{DIVU_80E8,{6U,5U,78U}}, -{DIVU_80E8,{7U,5U,78U}}, -{DIVU_80F0,{0U,5U,80U}}, -{DIVU_80F0,{1U,5U,80U}}, -{DIVU_80F0,{2U,5U,80U}}, -{DIVU_80F0,{3U,5U,80U}}, -{DIVU_80F0,{4U,5U,80U}}, -{DIVU_80F0,{5U,5U,80U}}, -{DIVU_80F0,{6U,5U,80U}}, -{DIVU_80F0,{7U,5U,80U}}, -{DIVU_80F8,{0U,5U,78U}}, -{DIVU_80F9,{0U,5U,82U}}, -{DIVU_80FA,{0U,5U,78U}}, -{DIVU_80FB,{0U,5U,80U}}, -{DIVU_80FC,{0U,5U,74U}}, +{DIVU_80D0,{0U,5U,136U}}, +{DIVU_80D0,{1U,5U,136U}}, +{DIVU_80D0,{2U,5U,136U}}, +{DIVU_80D0,{3U,5U,136U}}, +{DIVU_80D0,{4U,5U,136U}}, +{DIVU_80D0,{5U,5U,136U}}, +{DIVU_80D0,{6U,5U,136U}}, +{DIVU_80D0,{7U,5U,136U}}, +{DIVU_80D8,{0U,5U,136U}}, +{DIVU_80D8,{1U,5U,136U}}, +{DIVU_80D8,{2U,5U,136U}}, +{DIVU_80D8,{3U,5U,136U}}, +{DIVU_80D8,{4U,5U,136U}}, +{DIVU_80D8,{5U,5U,136U}}, +{DIVU_80D8,{6U,5U,136U}}, +{DIVU_80D8,{7U,5U,136U}}, +{DIVU_80E0,{0U,5U,138U}}, +{DIVU_80E0,{1U,5U,138U}}, +{DIVU_80E0,{2U,5U,138U}}, +{DIVU_80E0,{3U,5U,138U}}, +{DIVU_80E0,{4U,5U,138U}}, +{DIVU_80E0,{5U,5U,138U}}, +{DIVU_80E0,{6U,5U,138U}}, +{DIVU_80E0,{7U,5U,138U}}, +{DIVU_80E8,{0U,5U,140U}}, +{DIVU_80E8,{1U,5U,140U}}, +{DIVU_80E8,{2U,5U,140U}}, +{DIVU_80E8,{3U,5U,140U}}, +{DIVU_80E8,{4U,5U,140U}}, +{DIVU_80E8,{5U,5U,140U}}, +{DIVU_80E8,{6U,5U,140U}}, +{DIVU_80E8,{7U,5U,140U}}, +{DIVU_80F0,{0U,5U,142U}}, +{DIVU_80F0,{1U,5U,142U}}, +{DIVU_80F0,{2U,5U,142U}}, +{DIVU_80F0,{3U,5U,142U}}, +{DIVU_80F0,{4U,5U,142U}}, +{DIVU_80F0,{5U,5U,142U}}, +{DIVU_80F0,{6U,5U,142U}}, +{DIVU_80F0,{7U,5U,142U}}, +{DIVU_80F8,{0U,5U,140U}}, +{DIVU_80F9,{0U,5U,144U}}, +{DIVU_80FA,{0U,5U,140U}}, +{DIVU_80FB,{0U,5U,142U}}, +{DIVU_80FC,{0U,5U,136U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -35785,14 +35784,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81C0,{0U,5U,70U}}, -{DIVS_81C0,{1U,5U,70U}}, -{DIVS_81C0,{2U,5U,70U}}, -{DIVS_81C0,{3U,5U,70U}}, -{DIVS_81C0,{4U,5U,70U}}, -{DIVS_81C0,{5U,5U,70U}}, -{DIVS_81C0,{6U,5U,70U}}, -{DIVS_81C0,{7U,5U,70U}}, +{DIVS_81C0,{0U,5U,150U}}, +{DIVS_81C0,{1U,5U,150U}}, +{DIVS_81C0,{2U,5U,150U}}, +{DIVS_81C0,{3U,5U,150U}}, +{DIVS_81C0,{4U,5U,150U}}, +{DIVS_81C0,{5U,5U,150U}}, +{DIVS_81C0,{6U,5U,150U}}, +{DIVS_81C0,{7U,5U,150U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -35801,51 +35800,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81D0,{0U,5U,74U}}, -{DIVS_81D0,{1U,5U,74U}}, -{DIVS_81D0,{2U,5U,74U}}, -{DIVS_81D0,{3U,5U,74U}}, -{DIVS_81D0,{4U,5U,74U}}, -{DIVS_81D0,{5U,5U,74U}}, -{DIVS_81D0,{6U,5U,74U}}, -{DIVS_81D0,{7U,5U,74U}}, -{DIVS_81D8,{0U,5U,74U}}, -{DIVS_81D8,{1U,5U,74U}}, -{DIVS_81D8,{2U,5U,74U}}, -{DIVS_81D8,{3U,5U,74U}}, -{DIVS_81D8,{4U,5U,74U}}, -{DIVS_81D8,{5U,5U,74U}}, -{DIVS_81D8,{6U,5U,74U}}, -{DIVS_81D8,{7U,5U,74U}}, -{DIVS_81E0,{0U,5U,76U}}, -{DIVS_81E0,{1U,5U,76U}}, -{DIVS_81E0,{2U,5U,76U}}, -{DIVS_81E0,{3U,5U,76U}}, -{DIVS_81E0,{4U,5U,76U}}, -{DIVS_81E0,{5U,5U,76U}}, -{DIVS_81E0,{6U,5U,76U}}, -{DIVS_81E0,{7U,5U,76U}}, -{DIVS_81E8,{0U,5U,78U}}, -{DIVS_81E8,{1U,5U,78U}}, -{DIVS_81E8,{2U,5U,78U}}, -{DIVS_81E8,{3U,5U,78U}}, -{DIVS_81E8,{4U,5U,78U}}, -{DIVS_81E8,{5U,5U,78U}}, -{DIVS_81E8,{6U,5U,78U}}, -{DIVS_81E8,{7U,5U,78U}}, -{DIVS_81F0,{0U,5U,80U}}, -{DIVS_81F0,{1U,5U,80U}}, -{DIVS_81F0,{2U,5U,80U}}, -{DIVS_81F0,{3U,5U,80U}}, -{DIVS_81F0,{4U,5U,80U}}, -{DIVS_81F0,{5U,5U,80U}}, -{DIVS_81F0,{6U,5U,80U}}, -{DIVS_81F0,{7U,5U,80U}}, -{DIVS_81F8,{0U,5U,78U}}, -{DIVS_81F9,{0U,5U,82U}}, -{DIVS_81FA,{0U,5U,78U}}, -{DIVS_81FB,{0U,5U,80U}}, -{DIVS_81FC,{0U,5U,74U}}, +{DIVS_81D0,{0U,5U,154U}}, +{DIVS_81D0,{1U,5U,154U}}, +{DIVS_81D0,{2U,5U,154U}}, +{DIVS_81D0,{3U,5U,154U}}, +{DIVS_81D0,{4U,5U,154U}}, +{DIVS_81D0,{5U,5U,154U}}, +{DIVS_81D0,{6U,5U,154U}}, +{DIVS_81D0,{7U,5U,154U}}, +{DIVS_81D8,{0U,5U,154U}}, +{DIVS_81D8,{1U,5U,154U}}, +{DIVS_81D8,{2U,5U,154U}}, +{DIVS_81D8,{3U,5U,154U}}, +{DIVS_81D8,{4U,5U,154U}}, +{DIVS_81D8,{5U,5U,154U}}, +{DIVS_81D8,{6U,5U,154U}}, +{DIVS_81D8,{7U,5U,154U}}, +{DIVS_81E0,{0U,5U,156U}}, +{DIVS_81E0,{1U,5U,156U}}, +{DIVS_81E0,{2U,5U,156U}}, +{DIVS_81E0,{3U,5U,156U}}, +{DIVS_81E0,{4U,5U,156U}}, +{DIVS_81E0,{5U,5U,156U}}, +{DIVS_81E0,{6U,5U,156U}}, +{DIVS_81E0,{7U,5U,156U}}, +{DIVS_81E8,{0U,5U,158U}}, +{DIVS_81E8,{1U,5U,158U}}, +{DIVS_81E8,{2U,5U,158U}}, +{DIVS_81E8,{3U,5U,158U}}, +{DIVS_81E8,{4U,5U,158U}}, +{DIVS_81E8,{5U,5U,158U}}, +{DIVS_81E8,{6U,5U,158U}}, +{DIVS_81E8,{7U,5U,158U}}, +{DIVS_81F0,{0U,5U,160U}}, +{DIVS_81F0,{1U,5U,160U}}, +{DIVS_81F0,{2U,5U,160U}}, +{DIVS_81F0,{3U,5U,160U}}, +{DIVS_81F0,{4U,5U,160U}}, +{DIVS_81F0,{5U,5U,160U}}, +{DIVS_81F0,{6U,5U,160U}}, +{DIVS_81F0,{7U,5U,160U}}, +{DIVS_81F8,{0U,5U,158U}}, +{DIVS_81F9,{0U,5U,162U}}, +{DIVS_81FA,{0U,5U,158U}}, +{DIVS_81FB,{0U,5U,160U}}, +{DIVS_81FC,{0U,5U,154U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -36041,14 +36040,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80C0,{0U,6U,70U}}, -{DIVU_80C0,{1U,6U,70U}}, -{DIVU_80C0,{2U,6U,70U}}, -{DIVU_80C0,{3U,6U,70U}}, -{DIVU_80C0,{4U,6U,70U}}, -{DIVU_80C0,{5U,6U,70U}}, -{DIVU_80C0,{6U,6U,70U}}, -{DIVU_80C0,{7U,6U,70U}}, +{DIVU_80C0,{0U,6U,132U}}, +{DIVU_80C0,{1U,6U,132U}}, +{DIVU_80C0,{2U,6U,132U}}, +{DIVU_80C0,{3U,6U,132U}}, +{DIVU_80C0,{4U,6U,132U}}, +{DIVU_80C0,{5U,6U,132U}}, +{DIVU_80C0,{6U,6U,132U}}, +{DIVU_80C0,{7U,6U,132U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -36057,51 +36056,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80D0,{0U,6U,74U}}, -{DIVU_80D0,{1U,6U,74U}}, -{DIVU_80D0,{2U,6U,74U}}, -{DIVU_80D0,{3U,6U,74U}}, -{DIVU_80D0,{4U,6U,74U}}, -{DIVU_80D0,{5U,6U,74U}}, -{DIVU_80D0,{6U,6U,74U}}, -{DIVU_80D0,{7U,6U,74U}}, -{DIVU_80D8,{0U,6U,74U}}, -{DIVU_80D8,{1U,6U,74U}}, -{DIVU_80D8,{2U,6U,74U}}, -{DIVU_80D8,{3U,6U,74U}}, -{DIVU_80D8,{4U,6U,74U}}, -{DIVU_80D8,{5U,6U,74U}}, -{DIVU_80D8,{6U,6U,74U}}, -{DIVU_80D8,{7U,6U,74U}}, -{DIVU_80E0,{0U,6U,76U}}, -{DIVU_80E0,{1U,6U,76U}}, -{DIVU_80E0,{2U,6U,76U}}, -{DIVU_80E0,{3U,6U,76U}}, -{DIVU_80E0,{4U,6U,76U}}, -{DIVU_80E0,{5U,6U,76U}}, -{DIVU_80E0,{6U,6U,76U}}, -{DIVU_80E0,{7U,6U,76U}}, -{DIVU_80E8,{0U,6U,78U}}, -{DIVU_80E8,{1U,6U,78U}}, -{DIVU_80E8,{2U,6U,78U}}, -{DIVU_80E8,{3U,6U,78U}}, -{DIVU_80E8,{4U,6U,78U}}, -{DIVU_80E8,{5U,6U,78U}}, -{DIVU_80E8,{6U,6U,78U}}, -{DIVU_80E8,{7U,6U,78U}}, -{DIVU_80F0,{0U,6U,80U}}, -{DIVU_80F0,{1U,6U,80U}}, -{DIVU_80F0,{2U,6U,80U}}, -{DIVU_80F0,{3U,6U,80U}}, -{DIVU_80F0,{4U,6U,80U}}, -{DIVU_80F0,{5U,6U,80U}}, -{DIVU_80F0,{6U,6U,80U}}, -{DIVU_80F0,{7U,6U,80U}}, -{DIVU_80F8,{0U,6U,78U}}, -{DIVU_80F9,{0U,6U,82U}}, -{DIVU_80FA,{0U,6U,78U}}, -{DIVU_80FB,{0U,6U,80U}}, -{DIVU_80FC,{0U,6U,74U}}, +{DIVU_80D0,{0U,6U,136U}}, +{DIVU_80D0,{1U,6U,136U}}, +{DIVU_80D0,{2U,6U,136U}}, +{DIVU_80D0,{3U,6U,136U}}, +{DIVU_80D0,{4U,6U,136U}}, +{DIVU_80D0,{5U,6U,136U}}, +{DIVU_80D0,{6U,6U,136U}}, +{DIVU_80D0,{7U,6U,136U}}, +{DIVU_80D8,{0U,6U,136U}}, +{DIVU_80D8,{1U,6U,136U}}, +{DIVU_80D8,{2U,6U,136U}}, +{DIVU_80D8,{3U,6U,136U}}, +{DIVU_80D8,{4U,6U,136U}}, +{DIVU_80D8,{5U,6U,136U}}, +{DIVU_80D8,{6U,6U,136U}}, +{DIVU_80D8,{7U,6U,136U}}, +{DIVU_80E0,{0U,6U,138U}}, +{DIVU_80E0,{1U,6U,138U}}, +{DIVU_80E0,{2U,6U,138U}}, +{DIVU_80E0,{3U,6U,138U}}, +{DIVU_80E0,{4U,6U,138U}}, +{DIVU_80E0,{5U,6U,138U}}, +{DIVU_80E0,{6U,6U,138U}}, +{DIVU_80E0,{7U,6U,138U}}, +{DIVU_80E8,{0U,6U,140U}}, +{DIVU_80E8,{1U,6U,140U}}, +{DIVU_80E8,{2U,6U,140U}}, +{DIVU_80E8,{3U,6U,140U}}, +{DIVU_80E8,{4U,6U,140U}}, +{DIVU_80E8,{5U,6U,140U}}, +{DIVU_80E8,{6U,6U,140U}}, +{DIVU_80E8,{7U,6U,140U}}, +{DIVU_80F0,{0U,6U,142U}}, +{DIVU_80F0,{1U,6U,142U}}, +{DIVU_80F0,{2U,6U,142U}}, +{DIVU_80F0,{3U,6U,142U}}, +{DIVU_80F0,{4U,6U,142U}}, +{DIVU_80F0,{5U,6U,142U}}, +{DIVU_80F0,{6U,6U,142U}}, +{DIVU_80F0,{7U,6U,142U}}, +{DIVU_80F8,{0U,6U,140U}}, +{DIVU_80F9,{0U,6U,144U}}, +{DIVU_80FA,{0U,6U,140U}}, +{DIVU_80FB,{0U,6U,142U}}, +{DIVU_80FC,{0U,6U,136U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -36297,14 +36296,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81C0,{0U,6U,70U}}, -{DIVS_81C0,{1U,6U,70U}}, -{DIVS_81C0,{2U,6U,70U}}, -{DIVS_81C0,{3U,6U,70U}}, -{DIVS_81C0,{4U,6U,70U}}, -{DIVS_81C0,{5U,6U,70U}}, -{DIVS_81C0,{6U,6U,70U}}, -{DIVS_81C0,{7U,6U,70U}}, +{DIVS_81C0,{0U,6U,150U}}, +{DIVS_81C0,{1U,6U,150U}}, +{DIVS_81C0,{2U,6U,150U}}, +{DIVS_81C0,{3U,6U,150U}}, +{DIVS_81C0,{4U,6U,150U}}, +{DIVS_81C0,{5U,6U,150U}}, +{DIVS_81C0,{6U,6U,150U}}, +{DIVS_81C0,{7U,6U,150U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -36313,51 +36312,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81D0,{0U,6U,74U}}, -{DIVS_81D0,{1U,6U,74U}}, -{DIVS_81D0,{2U,6U,74U}}, -{DIVS_81D0,{3U,6U,74U}}, -{DIVS_81D0,{4U,6U,74U}}, -{DIVS_81D0,{5U,6U,74U}}, -{DIVS_81D0,{6U,6U,74U}}, -{DIVS_81D0,{7U,6U,74U}}, -{DIVS_81D8,{0U,6U,74U}}, -{DIVS_81D8,{1U,6U,74U}}, -{DIVS_81D8,{2U,6U,74U}}, -{DIVS_81D8,{3U,6U,74U}}, -{DIVS_81D8,{4U,6U,74U}}, -{DIVS_81D8,{5U,6U,74U}}, -{DIVS_81D8,{6U,6U,74U}}, -{DIVS_81D8,{7U,6U,74U}}, -{DIVS_81E0,{0U,6U,76U}}, -{DIVS_81E0,{1U,6U,76U}}, -{DIVS_81E0,{2U,6U,76U}}, -{DIVS_81E0,{3U,6U,76U}}, -{DIVS_81E0,{4U,6U,76U}}, -{DIVS_81E0,{5U,6U,76U}}, -{DIVS_81E0,{6U,6U,76U}}, -{DIVS_81E0,{7U,6U,76U}}, -{DIVS_81E8,{0U,6U,78U}}, -{DIVS_81E8,{1U,6U,78U}}, -{DIVS_81E8,{2U,6U,78U}}, -{DIVS_81E8,{3U,6U,78U}}, -{DIVS_81E8,{4U,6U,78U}}, -{DIVS_81E8,{5U,6U,78U}}, -{DIVS_81E8,{6U,6U,78U}}, -{DIVS_81E8,{7U,6U,78U}}, -{DIVS_81F0,{0U,6U,80U}}, -{DIVS_81F0,{1U,6U,80U}}, -{DIVS_81F0,{2U,6U,80U}}, -{DIVS_81F0,{3U,6U,80U}}, -{DIVS_81F0,{4U,6U,80U}}, -{DIVS_81F0,{5U,6U,80U}}, -{DIVS_81F0,{6U,6U,80U}}, -{DIVS_81F0,{7U,6U,80U}}, -{DIVS_81F8,{0U,6U,78U}}, -{DIVS_81F9,{0U,6U,82U}}, -{DIVS_81FA,{0U,6U,78U}}, -{DIVS_81FB,{0U,6U,80U}}, -{DIVS_81FC,{0U,6U,74U}}, +{DIVS_81D0,{0U,6U,154U}}, +{DIVS_81D0,{1U,6U,154U}}, +{DIVS_81D0,{2U,6U,154U}}, +{DIVS_81D0,{3U,6U,154U}}, +{DIVS_81D0,{4U,6U,154U}}, +{DIVS_81D0,{5U,6U,154U}}, +{DIVS_81D0,{6U,6U,154U}}, +{DIVS_81D0,{7U,6U,154U}}, +{DIVS_81D8,{0U,6U,154U}}, +{DIVS_81D8,{1U,6U,154U}}, +{DIVS_81D8,{2U,6U,154U}}, +{DIVS_81D8,{3U,6U,154U}}, +{DIVS_81D8,{4U,6U,154U}}, +{DIVS_81D8,{5U,6U,154U}}, +{DIVS_81D8,{6U,6U,154U}}, +{DIVS_81D8,{7U,6U,154U}}, +{DIVS_81E0,{0U,6U,156U}}, +{DIVS_81E0,{1U,6U,156U}}, +{DIVS_81E0,{2U,6U,156U}}, +{DIVS_81E0,{3U,6U,156U}}, +{DIVS_81E0,{4U,6U,156U}}, +{DIVS_81E0,{5U,6U,156U}}, +{DIVS_81E0,{6U,6U,156U}}, +{DIVS_81E0,{7U,6U,156U}}, +{DIVS_81E8,{0U,6U,158U}}, +{DIVS_81E8,{1U,6U,158U}}, +{DIVS_81E8,{2U,6U,158U}}, +{DIVS_81E8,{3U,6U,158U}}, +{DIVS_81E8,{4U,6U,158U}}, +{DIVS_81E8,{5U,6U,158U}}, +{DIVS_81E8,{6U,6U,158U}}, +{DIVS_81E8,{7U,6U,158U}}, +{DIVS_81F0,{0U,6U,160U}}, +{DIVS_81F0,{1U,6U,160U}}, +{DIVS_81F0,{2U,6U,160U}}, +{DIVS_81F0,{3U,6U,160U}}, +{DIVS_81F0,{4U,6U,160U}}, +{DIVS_81F0,{5U,6U,160U}}, +{DIVS_81F0,{6U,6U,160U}}, +{DIVS_81F0,{7U,6U,160U}}, +{DIVS_81F8,{0U,6U,158U}}, +{DIVS_81F9,{0U,6U,162U}}, +{DIVS_81FA,{0U,6U,158U}}, +{DIVS_81FB,{0U,6U,160U}}, +{DIVS_81FC,{0U,6U,154U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -36553,14 +36552,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80C0,{0U,7U,70U}}, -{DIVU_80C0,{1U,7U,70U}}, -{DIVU_80C0,{2U,7U,70U}}, -{DIVU_80C0,{3U,7U,70U}}, -{DIVU_80C0,{4U,7U,70U}}, -{DIVU_80C0,{5U,7U,70U}}, -{DIVU_80C0,{6U,7U,70U}}, -{DIVU_80C0,{7U,7U,70U}}, +{DIVU_80C0,{0U,7U,132U}}, +{DIVU_80C0,{1U,7U,132U}}, +{DIVU_80C0,{2U,7U,132U}}, +{DIVU_80C0,{3U,7U,132U}}, +{DIVU_80C0,{4U,7U,132U}}, +{DIVU_80C0,{5U,7U,132U}}, +{DIVU_80C0,{6U,7U,132U}}, +{DIVU_80C0,{7U,7U,132U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -36569,51 +36568,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVU_80D0,{0U,7U,74U}}, -{DIVU_80D0,{1U,7U,74U}}, -{DIVU_80D0,{2U,7U,74U}}, -{DIVU_80D0,{3U,7U,74U}}, -{DIVU_80D0,{4U,7U,74U}}, -{DIVU_80D0,{5U,7U,74U}}, -{DIVU_80D0,{6U,7U,74U}}, -{DIVU_80D0,{7U,7U,74U}}, -{DIVU_80D8,{0U,7U,74U}}, -{DIVU_80D8,{1U,7U,74U}}, -{DIVU_80D8,{2U,7U,74U}}, -{DIVU_80D8,{3U,7U,74U}}, -{DIVU_80D8,{4U,7U,74U}}, -{DIVU_80D8,{5U,7U,74U}}, -{DIVU_80D8,{6U,7U,74U}}, -{DIVU_80D8,{7U,7U,74U}}, -{DIVU_80E0,{0U,7U,76U}}, -{DIVU_80E0,{1U,7U,76U}}, -{DIVU_80E0,{2U,7U,76U}}, -{DIVU_80E0,{3U,7U,76U}}, -{DIVU_80E0,{4U,7U,76U}}, -{DIVU_80E0,{5U,7U,76U}}, -{DIVU_80E0,{6U,7U,76U}}, -{DIVU_80E0,{7U,7U,76U}}, -{DIVU_80E8,{0U,7U,78U}}, -{DIVU_80E8,{1U,7U,78U}}, -{DIVU_80E8,{2U,7U,78U}}, -{DIVU_80E8,{3U,7U,78U}}, -{DIVU_80E8,{4U,7U,78U}}, -{DIVU_80E8,{5U,7U,78U}}, -{DIVU_80E8,{6U,7U,78U}}, -{DIVU_80E8,{7U,7U,78U}}, -{DIVU_80F0,{0U,7U,80U}}, -{DIVU_80F0,{1U,7U,80U}}, -{DIVU_80F0,{2U,7U,80U}}, -{DIVU_80F0,{3U,7U,80U}}, -{DIVU_80F0,{4U,7U,80U}}, -{DIVU_80F0,{5U,7U,80U}}, -{DIVU_80F0,{6U,7U,80U}}, -{DIVU_80F0,{7U,7U,80U}}, -{DIVU_80F8,{0U,7U,78U}}, -{DIVU_80F9,{0U,7U,82U}}, -{DIVU_80FA,{0U,7U,78U}}, -{DIVU_80FB,{0U,7U,80U}}, -{DIVU_80FC,{0U,7U,74U}}, +{DIVU_80D0,{0U,7U,136U}}, +{DIVU_80D0,{1U,7U,136U}}, +{DIVU_80D0,{2U,7U,136U}}, +{DIVU_80D0,{3U,7U,136U}}, +{DIVU_80D0,{4U,7U,136U}}, +{DIVU_80D0,{5U,7U,136U}}, +{DIVU_80D0,{6U,7U,136U}}, +{DIVU_80D0,{7U,7U,136U}}, +{DIVU_80D8,{0U,7U,136U}}, +{DIVU_80D8,{1U,7U,136U}}, +{DIVU_80D8,{2U,7U,136U}}, +{DIVU_80D8,{3U,7U,136U}}, +{DIVU_80D8,{4U,7U,136U}}, +{DIVU_80D8,{5U,7U,136U}}, +{DIVU_80D8,{6U,7U,136U}}, +{DIVU_80D8,{7U,7U,136U}}, +{DIVU_80E0,{0U,7U,138U}}, +{DIVU_80E0,{1U,7U,138U}}, +{DIVU_80E0,{2U,7U,138U}}, +{DIVU_80E0,{3U,7U,138U}}, +{DIVU_80E0,{4U,7U,138U}}, +{DIVU_80E0,{5U,7U,138U}}, +{DIVU_80E0,{6U,7U,138U}}, +{DIVU_80E0,{7U,7U,138U}}, +{DIVU_80E8,{0U,7U,140U}}, +{DIVU_80E8,{1U,7U,140U}}, +{DIVU_80E8,{2U,7U,140U}}, +{DIVU_80E8,{3U,7U,140U}}, +{DIVU_80E8,{4U,7U,140U}}, +{DIVU_80E8,{5U,7U,140U}}, +{DIVU_80E8,{6U,7U,140U}}, +{DIVU_80E8,{7U,7U,140U}}, +{DIVU_80F0,{0U,7U,142U}}, +{DIVU_80F0,{1U,7U,142U}}, +{DIVU_80F0,{2U,7U,142U}}, +{DIVU_80F0,{3U,7U,142U}}, +{DIVU_80F0,{4U,7U,142U}}, +{DIVU_80F0,{5U,7U,142U}}, +{DIVU_80F0,{6U,7U,142U}}, +{DIVU_80F0,{7U,7U,142U}}, +{DIVU_80F8,{0U,7U,140U}}, +{DIVU_80F9,{0U,7U,144U}}, +{DIVU_80FA,{0U,7U,140U}}, +{DIVU_80FB,{0U,7U,142U}}, +{DIVU_80FC,{0U,7U,136U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -36809,14 +36808,14 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81C0,{0U,7U,70U}}, -{DIVS_81C0,{1U,7U,70U}}, -{DIVS_81C0,{2U,7U,70U}}, -{DIVS_81C0,{3U,7U,70U}}, -{DIVS_81C0,{4U,7U,70U}}, -{DIVS_81C0,{5U,7U,70U}}, -{DIVS_81C0,{6U,7U,70U}}, -{DIVS_81C0,{7U,7U,70U}}, +{DIVS_81C0,{0U,7U,150U}}, +{DIVS_81C0,{1U,7U,150U}}, +{DIVS_81C0,{2U,7U,150U}}, +{DIVS_81C0,{3U,7U,150U}}, +{DIVS_81C0,{4U,7U,150U}}, +{DIVS_81C0,{5U,7U,150U}}, +{DIVS_81C0,{6U,7U,150U}}, +{DIVS_81C0,{7U,7U,150U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -36825,51 +36824,51 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, -{DIVS_81D0,{0U,7U,74U}}, -{DIVS_81D0,{1U,7U,74U}}, -{DIVS_81D0,{2U,7U,74U}}, -{DIVS_81D0,{3U,7U,74U}}, -{DIVS_81D0,{4U,7U,74U}}, -{DIVS_81D0,{5U,7U,74U}}, -{DIVS_81D0,{6U,7U,74U}}, -{DIVS_81D0,{7U,7U,74U}}, -{DIVS_81D8,{0U,7U,74U}}, -{DIVS_81D8,{1U,7U,74U}}, -{DIVS_81D8,{2U,7U,74U}}, -{DIVS_81D8,{3U,7U,74U}}, -{DIVS_81D8,{4U,7U,74U}}, -{DIVS_81D8,{5U,7U,74U}}, -{DIVS_81D8,{6U,7U,74U}}, -{DIVS_81D8,{7U,7U,74U}}, -{DIVS_81E0,{0U,7U,76U}}, -{DIVS_81E0,{1U,7U,76U}}, -{DIVS_81E0,{2U,7U,76U}}, -{DIVS_81E0,{3U,7U,76U}}, -{DIVS_81E0,{4U,7U,76U}}, -{DIVS_81E0,{5U,7U,76U}}, -{DIVS_81E0,{6U,7U,76U}}, -{DIVS_81E0,{7U,7U,76U}}, -{DIVS_81E8,{0U,7U,78U}}, -{DIVS_81E8,{1U,7U,78U}}, -{DIVS_81E8,{2U,7U,78U}}, -{DIVS_81E8,{3U,7U,78U}}, -{DIVS_81E8,{4U,7U,78U}}, -{DIVS_81E8,{5U,7U,78U}}, -{DIVS_81E8,{6U,7U,78U}}, -{DIVS_81E8,{7U,7U,78U}}, -{DIVS_81F0,{0U,7U,80U}}, -{DIVS_81F0,{1U,7U,80U}}, -{DIVS_81F0,{2U,7U,80U}}, -{DIVS_81F0,{3U,7U,80U}}, -{DIVS_81F0,{4U,7U,80U}}, -{DIVS_81F0,{5U,7U,80U}}, -{DIVS_81F0,{6U,7U,80U}}, -{DIVS_81F0,{7U,7U,80U}}, -{DIVS_81F8,{0U,7U,78U}}, -{DIVS_81F9,{0U,7U,82U}}, -{DIVS_81FA,{0U,7U,78U}}, -{DIVS_81FB,{0U,7U,80U}}, -{DIVS_81FC,{0U,7U,74U}}, +{DIVS_81D0,{0U,7U,154U}}, +{DIVS_81D0,{1U,7U,154U}}, +{DIVS_81D0,{2U,7U,154U}}, +{DIVS_81D0,{3U,7U,154U}}, +{DIVS_81D0,{4U,7U,154U}}, +{DIVS_81D0,{5U,7U,154U}}, +{DIVS_81D0,{6U,7U,154U}}, +{DIVS_81D0,{7U,7U,154U}}, +{DIVS_81D8,{0U,7U,154U}}, +{DIVS_81D8,{1U,7U,154U}}, +{DIVS_81D8,{2U,7U,154U}}, +{DIVS_81D8,{3U,7U,154U}}, +{DIVS_81D8,{4U,7U,154U}}, +{DIVS_81D8,{5U,7U,154U}}, +{DIVS_81D8,{6U,7U,154U}}, +{DIVS_81D8,{7U,7U,154U}}, +{DIVS_81E0,{0U,7U,156U}}, +{DIVS_81E0,{1U,7U,156U}}, +{DIVS_81E0,{2U,7U,156U}}, +{DIVS_81E0,{3U,7U,156U}}, +{DIVS_81E0,{4U,7U,156U}}, +{DIVS_81E0,{5U,7U,156U}}, +{DIVS_81E0,{6U,7U,156U}}, +{DIVS_81E0,{7U,7U,156U}}, +{DIVS_81E8,{0U,7U,158U}}, +{DIVS_81E8,{1U,7U,158U}}, +{DIVS_81E8,{2U,7U,158U}}, +{DIVS_81E8,{3U,7U,158U}}, +{DIVS_81E8,{4U,7U,158U}}, +{DIVS_81E8,{5U,7U,158U}}, +{DIVS_81E8,{6U,7U,158U}}, +{DIVS_81E8,{7U,7U,158U}}, +{DIVS_81F0,{0U,7U,160U}}, +{DIVS_81F0,{1U,7U,160U}}, +{DIVS_81F0,{2U,7U,160U}}, +{DIVS_81F0,{3U,7U,160U}}, +{DIVS_81F0,{4U,7U,160U}}, +{DIVS_81F0,{5U,7U,160U}}, +{DIVS_81F0,{6U,7U,160U}}, +{DIVS_81F0,{7U,7U,160U}}, +{DIVS_81F8,{0U,7U,158U}}, +{DIVS_81F9,{0U,7U,162U}}, +{DIVS_81FA,{0U,7U,158U}}, +{DIVS_81FB,{0U,7U,160U}}, +{DIVS_81FC,{0U,7U,154U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}}, @@ -65546,7 +65545,7 @@ cpuOpcodeData cpu_opcode_data[65536] = { {cpuIllegalInstruction,{0U,0U,0U}}, {cpuIllegalInstruction,{0U,0U,0U}} }; -UBY cpu_opcode_model_mask[65536] = { +uint8_t cpu_opcode_model_mask[65536] = { 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, @@ -65803,7 +65802,7 @@ UBY cpu_opcode_model_mask[65536] = { 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -65811,31 +65810,31 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -65843,31 +65842,31 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -65875,23 +65874,23 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -65899,7 +65898,7 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -65907,23 +65906,23 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -65931,7 +65930,7 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -65939,23 +65938,23 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -65963,7 +65962,7 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -65971,23 +65970,23 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -65995,7 +65994,7 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -66003,23 +66002,23 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -66027,7 +66026,7 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -66035,23 +66034,23 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00, @@ -66703,7 +66702,7 @@ UBY cpu_opcode_model_mask[65536] = { 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00, -0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, +0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E,0x1E, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F, 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00, @@ -69644,5 +69643,3 @@ UBY cpu_opcode_model_mask[65536] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }; - -#endif diff --git a/cpu/CpuModule_Decl.h b/cpu/CpuModule_Decl.h index 6ba127b..5d4fd54 100644 --- a/cpu/CpuModule_Decl.h +++ b/cpu/CpuModule_Decl.h @@ -1,1685 +1,1675 @@ -#ifndef CPUMODULE_DECL_H -#define CPUMODULE_DECL_H +#pragma once -static void ADD_D000(ULO*opc_data); -static void ADD_D010(ULO*opc_data); -static void ADD_D018(ULO*opc_data); -static void ADD_D020(ULO*opc_data); -static void ADD_D028(ULO*opc_data); -static void ADD_D030(ULO*opc_data); -static void ADD_D038(ULO*opc_data); -static void ADD_D039(ULO*opc_data); -static void ADD_D03A(ULO*opc_data); -static void ADD_D03B(ULO*opc_data); -static void ADD_D03C(ULO*opc_data); -static void ADD_D040(ULO*opc_data); -static void ADD_D048(ULO*opc_data); -static void ADD_D050(ULO*opc_data); -static void ADD_D058(ULO*opc_data); -static void ADD_D060(ULO*opc_data); -static void ADD_D068(ULO*opc_data); -static void ADD_D070(ULO*opc_data); -static void ADD_D078(ULO*opc_data); -static void ADD_D079(ULO*opc_data); -static void ADD_D07A(ULO*opc_data); -static void ADD_D07B(ULO*opc_data); -static void ADD_D07C(ULO*opc_data); -static void ADD_D080(ULO*opc_data); -static void ADD_D088(ULO*opc_data); -static void ADD_D090(ULO*opc_data); -static void ADD_D098(ULO*opc_data); -static void ADD_D0A0(ULO*opc_data); -static void ADD_D0A8(ULO*opc_data); -static void ADD_D0B0(ULO*opc_data); -static void ADD_D0B8(ULO*opc_data); -static void ADD_D0B9(ULO*opc_data); -static void ADD_D0BA(ULO*opc_data); -static void ADD_D0BB(ULO*opc_data); -static void ADD_D0BC(ULO*opc_data); -static void ADD_D110(ULO*opc_data); -static void ADD_D118(ULO*opc_data); -static void ADD_D120(ULO*opc_data); -static void ADD_D128(ULO*opc_data); -static void ADD_D130(ULO*opc_data); -static void ADD_D138(ULO*opc_data); -static void ADD_D139(ULO*opc_data); -static void ADD_D150(ULO*opc_data); -static void ADD_D158(ULO*opc_data); -static void ADD_D160(ULO*opc_data); -static void ADD_D168(ULO*opc_data); -static void ADD_D170(ULO*opc_data); -static void ADD_D178(ULO*opc_data); -static void ADD_D179(ULO*opc_data); -static void ADD_D190(ULO*opc_data); -static void ADD_D198(ULO*opc_data); -static void ADD_D1A0(ULO*opc_data); -static void ADD_D1A8(ULO*opc_data); -static void ADD_D1B0(ULO*opc_data); -static void ADD_D1B8(ULO*opc_data); -static void ADD_D1B9(ULO*opc_data); -static void ADDA_D0C0(ULO*opc_data); -static void ADDA_D0C8(ULO*opc_data); -static void ADDA_D0D0(ULO*opc_data); -static void ADDA_D0D8(ULO*opc_data); -static void ADDA_D0E0(ULO*opc_data); -static void ADDA_D0E8(ULO*opc_data); -static void ADDA_D0F0(ULO*opc_data); -static void ADDA_D0F8(ULO*opc_data); -static void ADDA_D0F9(ULO*opc_data); -static void ADDA_D0FA(ULO*opc_data); -static void ADDA_D0FB(ULO*opc_data); -static void ADDA_D0FC(ULO*opc_data); -static void ADDA_D1C0(ULO*opc_data); -static void ADDA_D1C8(ULO*opc_data); -static void ADDA_D1D0(ULO*opc_data); -static void ADDA_D1D8(ULO*opc_data); -static void ADDA_D1E0(ULO*opc_data); -static void ADDA_D1E8(ULO*opc_data); -static void ADDA_D1F0(ULO*opc_data); -static void ADDA_D1F8(ULO*opc_data); -static void ADDA_D1F9(ULO*opc_data); -static void ADDA_D1FA(ULO*opc_data); -static void ADDA_D1FB(ULO*opc_data); -static void ADDA_D1FC(ULO*opc_data); -static void ADDI_0600(ULO*opc_data); -static void ADDI_0610(ULO*opc_data); -static void ADDI_0618(ULO*opc_data); -static void ADDI_0620(ULO*opc_data); -static void ADDI_0628(ULO*opc_data); -static void ADDI_0630(ULO*opc_data); -static void ADDI_0638(ULO*opc_data); -static void ADDI_0639(ULO*opc_data); -static void ADDI_0640(ULO*opc_data); -static void ADDI_0650(ULO*opc_data); -static void ADDI_0658(ULO*opc_data); -static void ADDI_0660(ULO*opc_data); -static void ADDI_0668(ULO*opc_data); -static void ADDI_0670(ULO*opc_data); -static void ADDI_0678(ULO*opc_data); -static void ADDI_0679(ULO*opc_data); -static void ADDI_0680(ULO*opc_data); -static void ADDI_0690(ULO*opc_data); -static void ADDI_0698(ULO*opc_data); -static void ADDI_06A0(ULO*opc_data); -static void ADDI_06A8(ULO*opc_data); -static void ADDI_06B0(ULO*opc_data); -static void ADDI_06B8(ULO*opc_data); -static void ADDI_06B9(ULO*opc_data); -static void ADDQ_5000(ULO*opc_data); -static void ADDQ_5010(ULO*opc_data); -static void ADDQ_5018(ULO*opc_data); -static void ADDQ_5020(ULO*opc_data); -static void ADDQ_5028(ULO*opc_data); -static void ADDQ_5030(ULO*opc_data); -static void ADDQ_5038(ULO*opc_data); -static void ADDQ_5039(ULO*opc_data); -static void ADDQ_5040(ULO*opc_data); -static void ADDQ_5050(ULO*opc_data); -static void ADDQ_5058(ULO*opc_data); -static void ADDQ_5060(ULO*opc_data); -static void ADDQ_5068(ULO*opc_data); -static void ADDQ_5070(ULO*opc_data); -static void ADDQ_5078(ULO*opc_data); -static void ADDQ_5079(ULO*opc_data); -static void ADDQ_5080(ULO*opc_data); -static void ADDQ_5090(ULO*opc_data); -static void ADDQ_5098(ULO*opc_data); -static void ADDQ_50A0(ULO*opc_data); -static void ADDQ_50A8(ULO*opc_data); -static void ADDQ_50B0(ULO*opc_data); -static void ADDQ_50B8(ULO*opc_data); -static void ADDQ_50B9(ULO*opc_data); -static void ADDQ_5048(ULO*opc_data); -static void ADDQ_5088(ULO*opc_data); -static void AND_C000(ULO*opc_data); -static void AND_C010(ULO*opc_data); -static void AND_C018(ULO*opc_data); -static void AND_C020(ULO*opc_data); -static void AND_C028(ULO*opc_data); -static void AND_C030(ULO*opc_data); -static void AND_C038(ULO*opc_data); -static void AND_C039(ULO*opc_data); -static void AND_C03A(ULO*opc_data); -static void AND_C03B(ULO*opc_data); -static void AND_C03C(ULO*opc_data); -static void AND_C040(ULO*opc_data); -static void AND_C050(ULO*opc_data); -static void AND_C058(ULO*opc_data); -static void AND_C060(ULO*opc_data); -static void AND_C068(ULO*opc_data); -static void AND_C070(ULO*opc_data); -static void AND_C078(ULO*opc_data); -static void AND_C079(ULO*opc_data); -static void AND_C07A(ULO*opc_data); -static void AND_C07B(ULO*opc_data); -static void AND_C07C(ULO*opc_data); -static void AND_C080(ULO*opc_data); -static void AND_C090(ULO*opc_data); -static void AND_C098(ULO*opc_data); -static void AND_C0A0(ULO*opc_data); -static void AND_C0A8(ULO*opc_data); -static void AND_C0B0(ULO*opc_data); -static void AND_C0B8(ULO*opc_data); -static void AND_C0B9(ULO*opc_data); -static void AND_C0BA(ULO*opc_data); -static void AND_C0BB(ULO*opc_data); -static void AND_C0BC(ULO*opc_data); -static void AND_C110(ULO*opc_data); -static void AND_C118(ULO*opc_data); -static void AND_C120(ULO*opc_data); -static void AND_C128(ULO*opc_data); -static void AND_C130(ULO*opc_data); -static void AND_C138(ULO*opc_data); -static void AND_C139(ULO*opc_data); -static void AND_C150(ULO*opc_data); -static void AND_C158(ULO*opc_data); -static void AND_C160(ULO*opc_data); -static void AND_C168(ULO*opc_data); -static void AND_C170(ULO*opc_data); -static void AND_C178(ULO*opc_data); -static void AND_C179(ULO*opc_data); -static void AND_C190(ULO*opc_data); -static void AND_C198(ULO*opc_data); -static void AND_C1A0(ULO*opc_data); -static void AND_C1A8(ULO*opc_data); -static void AND_C1B0(ULO*opc_data); -static void AND_C1B8(ULO*opc_data); -static void AND_C1B9(ULO*opc_data); -static void ANDI_0200(ULO*opc_data); -static void ANDI_0210(ULO*opc_data); -static void ANDI_0218(ULO*opc_data); -static void ANDI_0220(ULO*opc_data); -static void ANDI_0228(ULO*opc_data); -static void ANDI_0230(ULO*opc_data); -static void ANDI_0238(ULO*opc_data); -static void ANDI_0239(ULO*opc_data); -static void ANDI_0240(ULO*opc_data); -static void ANDI_0250(ULO*opc_data); -static void ANDI_0258(ULO*opc_data); -static void ANDI_0260(ULO*opc_data); -static void ANDI_0268(ULO*opc_data); -static void ANDI_0270(ULO*opc_data); -static void ANDI_0278(ULO*opc_data); -static void ANDI_0279(ULO*opc_data); -static void ANDI_0280(ULO*opc_data); -static void ANDI_0290(ULO*opc_data); -static void ANDI_0298(ULO*opc_data); -static void ANDI_02A0(ULO*opc_data); -static void ANDI_02A8(ULO*opc_data); -static void ANDI_02B0(ULO*opc_data); -static void ANDI_02B8(ULO*opc_data); -static void ANDI_02B9(ULO*opc_data); -static void ANDI_023C(ULO*opc_data); -static void ANDI_027C(ULO*opc_data); -static void EOR_B100(ULO*opc_data); -static void EOR_B110(ULO*opc_data); -static void EOR_B118(ULO*opc_data); -static void EOR_B120(ULO*opc_data); -static void EOR_B128(ULO*opc_data); -static void EOR_B130(ULO*opc_data); -static void EOR_B138(ULO*opc_data); -static void EOR_B139(ULO*opc_data); -static void EOR_B140(ULO*opc_data); -static void EOR_B150(ULO*opc_data); -static void EOR_B158(ULO*opc_data); -static void EOR_B160(ULO*opc_data); -static void EOR_B168(ULO*opc_data); -static void EOR_B170(ULO*opc_data); -static void EOR_B178(ULO*opc_data); -static void EOR_B179(ULO*opc_data); -static void EOR_B180(ULO*opc_data); -static void EOR_B190(ULO*opc_data); -static void EOR_B198(ULO*opc_data); -static void EOR_B1A0(ULO*opc_data); -static void EOR_B1A8(ULO*opc_data); -static void EOR_B1B0(ULO*opc_data); -static void EOR_B1B8(ULO*opc_data); -static void EOR_B1B9(ULO*opc_data); -static void EORI_0A00(ULO*opc_data); -static void EORI_0A10(ULO*opc_data); -static void EORI_0A18(ULO*opc_data); -static void EORI_0A20(ULO*opc_data); -static void EORI_0A28(ULO*opc_data); -static void EORI_0A30(ULO*opc_data); -static void EORI_0A38(ULO*opc_data); -static void EORI_0A39(ULO*opc_data); -static void EORI_0A40(ULO*opc_data); -static void EORI_0A50(ULO*opc_data); -static void EORI_0A58(ULO*opc_data); -static void EORI_0A60(ULO*opc_data); -static void EORI_0A68(ULO*opc_data); -static void EORI_0A70(ULO*opc_data); -static void EORI_0A78(ULO*opc_data); -static void EORI_0A79(ULO*opc_data); -static void EORI_0A80(ULO*opc_data); -static void EORI_0A90(ULO*opc_data); -static void EORI_0A98(ULO*opc_data); -static void EORI_0AA0(ULO*opc_data); -static void EORI_0AA8(ULO*opc_data); -static void EORI_0AB0(ULO*opc_data); -static void EORI_0AB8(ULO*opc_data); -static void EORI_0AB9(ULO*opc_data); -static void EORI_0A3C(ULO*opc_data); -static void EORI_0A7C(ULO*opc_data); -static void OR_8000(ULO*opc_data); -static void OR_8010(ULO*opc_data); -static void OR_8018(ULO*opc_data); -static void OR_8020(ULO*opc_data); -static void OR_8028(ULO*opc_data); -static void OR_8030(ULO*opc_data); -static void OR_8038(ULO*opc_data); -static void OR_8039(ULO*opc_data); -static void OR_803A(ULO*opc_data); -static void OR_803B(ULO*opc_data); -static void OR_803C(ULO*opc_data); -static void OR_8040(ULO*opc_data); -static void OR_8050(ULO*opc_data); -static void OR_8058(ULO*opc_data); -static void OR_8060(ULO*opc_data); -static void OR_8068(ULO*opc_data); -static void OR_8070(ULO*opc_data); -static void OR_8078(ULO*opc_data); -static void OR_8079(ULO*opc_data); -static void OR_807A(ULO*opc_data); -static void OR_807B(ULO*opc_data); -static void OR_807C(ULO*opc_data); -static void OR_8080(ULO*opc_data); -static void OR_8090(ULO*opc_data); -static void OR_8098(ULO*opc_data); -static void OR_80A0(ULO*opc_data); -static void OR_80A8(ULO*opc_data); -static void OR_80B0(ULO*opc_data); -static void OR_80B8(ULO*opc_data); -static void OR_80B9(ULO*opc_data); -static void OR_80BA(ULO*opc_data); -static void OR_80BB(ULO*opc_data); -static void OR_80BC(ULO*opc_data); -static void OR_8110(ULO*opc_data); -static void OR_8118(ULO*opc_data); -static void OR_8120(ULO*opc_data); -static void OR_8128(ULO*opc_data); -static void OR_8130(ULO*opc_data); -static void OR_8138(ULO*opc_data); -static void OR_8139(ULO*opc_data); -static void OR_8150(ULO*opc_data); -static void OR_8158(ULO*opc_data); -static void OR_8160(ULO*opc_data); -static void OR_8168(ULO*opc_data); -static void OR_8170(ULO*opc_data); -static void OR_8178(ULO*opc_data); -static void OR_8179(ULO*opc_data); -static void OR_8190(ULO*opc_data); -static void OR_8198(ULO*opc_data); -static void OR_81A0(ULO*opc_data); -static void OR_81A8(ULO*opc_data); -static void OR_81B0(ULO*opc_data); -static void OR_81B8(ULO*opc_data); -static void OR_81B9(ULO*opc_data); -static void ORI_0000(ULO*opc_data); -static void ORI_0010(ULO*opc_data); -static void ORI_0018(ULO*opc_data); -static void ORI_0020(ULO*opc_data); -static void ORI_0028(ULO*opc_data); -static void ORI_0030(ULO*opc_data); -static void ORI_0038(ULO*opc_data); -static void ORI_0039(ULO*opc_data); -static void ORI_0040(ULO*opc_data); -static void ORI_0050(ULO*opc_data); -static void ORI_0058(ULO*opc_data); -static void ORI_0060(ULO*opc_data); -static void ORI_0068(ULO*opc_data); -static void ORI_0070(ULO*opc_data); -static void ORI_0078(ULO*opc_data); -static void ORI_0079(ULO*opc_data); -static void ORI_0080(ULO*opc_data); -static void ORI_0090(ULO*opc_data); -static void ORI_0098(ULO*opc_data); -static void ORI_00A0(ULO*opc_data); -static void ORI_00A8(ULO*opc_data); -static void ORI_00B0(ULO*opc_data); -static void ORI_00B8(ULO*opc_data); -static void ORI_00B9(ULO*opc_data); -static void ORI_003C(ULO*opc_data); -static void ORI_007C(ULO*opc_data); -static void SUB_9000(ULO*opc_data); -static void SUB_9010(ULO*opc_data); -static void SUB_9018(ULO*opc_data); -static void SUB_9020(ULO*opc_data); -static void SUB_9028(ULO*opc_data); -static void SUB_9030(ULO*opc_data); -static void SUB_9038(ULO*opc_data); -static void SUB_9039(ULO*opc_data); -static void SUB_903A(ULO*opc_data); -static void SUB_903B(ULO*opc_data); -static void SUB_903C(ULO*opc_data); -static void SUB_9040(ULO*opc_data); -static void SUB_9048(ULO*opc_data); -static void SUB_9050(ULO*opc_data); -static void SUB_9058(ULO*opc_data); -static void SUB_9060(ULO*opc_data); -static void SUB_9068(ULO*opc_data); -static void SUB_9070(ULO*opc_data); -static void SUB_9078(ULO*opc_data); -static void SUB_9079(ULO*opc_data); -static void SUB_907A(ULO*opc_data); -static void SUB_907B(ULO*opc_data); -static void SUB_907C(ULO*opc_data); -static void SUB_9080(ULO*opc_data); -static void SUB_9088(ULO*opc_data); -static void SUB_9090(ULO*opc_data); -static void SUB_9098(ULO*opc_data); -static void SUB_90A0(ULO*opc_data); -static void SUB_90A8(ULO*opc_data); -static void SUB_90B0(ULO*opc_data); -static void SUB_90B8(ULO*opc_data); -static void SUB_90B9(ULO*opc_data); -static void SUB_90BA(ULO*opc_data); -static void SUB_90BB(ULO*opc_data); -static void SUB_90BC(ULO*opc_data); -static void SUB_9110(ULO*opc_data); -static void SUB_9118(ULO*opc_data); -static void SUB_9120(ULO*opc_data); -static void SUB_9128(ULO*opc_data); -static void SUB_9130(ULO*opc_data); -static void SUB_9138(ULO*opc_data); -static void SUB_9139(ULO*opc_data); -static void SUB_9150(ULO*opc_data); -static void SUB_9158(ULO*opc_data); -static void SUB_9160(ULO*opc_data); -static void SUB_9168(ULO*opc_data); -static void SUB_9170(ULO*opc_data); -static void SUB_9178(ULO*opc_data); -static void SUB_9179(ULO*opc_data); -static void SUB_9190(ULO*opc_data); -static void SUB_9198(ULO*opc_data); -static void SUB_91A0(ULO*opc_data); -static void SUB_91A8(ULO*opc_data); -static void SUB_91B0(ULO*opc_data); -static void SUB_91B8(ULO*opc_data); -static void SUB_91B9(ULO*opc_data); -static void SUBA_90C0(ULO*opc_data); -static void SUBA_90C8(ULO*opc_data); -static void SUBA_90D0(ULO*opc_data); -static void SUBA_90D8(ULO*opc_data); -static void SUBA_90E0(ULO*opc_data); -static void SUBA_90E8(ULO*opc_data); -static void SUBA_90F0(ULO*opc_data); -static void SUBA_90F8(ULO*opc_data); -static void SUBA_90F9(ULO*opc_data); -static void SUBA_90FA(ULO*opc_data); -static void SUBA_90FB(ULO*opc_data); -static void SUBA_90FC(ULO*opc_data); -static void SUBA_91C0(ULO*opc_data); -static void SUBA_91C8(ULO*opc_data); -static void SUBA_91D0(ULO*opc_data); -static void SUBA_91D8(ULO*opc_data); -static void SUBA_91E0(ULO*opc_data); -static void SUBA_91E8(ULO*opc_data); -static void SUBA_91F0(ULO*opc_data); -static void SUBA_91F8(ULO*opc_data); -static void SUBA_91F9(ULO*opc_data); -static void SUBA_91FA(ULO*opc_data); -static void SUBA_91FB(ULO*opc_data); -static void SUBA_91FC(ULO*opc_data); -static void SUBI_0400(ULO*opc_data); -static void SUBI_0410(ULO*opc_data); -static void SUBI_0418(ULO*opc_data); -static void SUBI_0420(ULO*opc_data); -static void SUBI_0428(ULO*opc_data); -static void SUBI_0430(ULO*opc_data); -static void SUBI_0438(ULO*opc_data); -static void SUBI_0439(ULO*opc_data); -static void SUBI_0440(ULO*opc_data); -static void SUBI_0450(ULO*opc_data); -static void SUBI_0458(ULO*opc_data); -static void SUBI_0460(ULO*opc_data); -static void SUBI_0468(ULO*opc_data); -static void SUBI_0470(ULO*opc_data); -static void SUBI_0478(ULO*opc_data); -static void SUBI_0479(ULO*opc_data); -static void SUBI_0480(ULO*opc_data); -static void SUBI_0490(ULO*opc_data); -static void SUBI_0498(ULO*opc_data); -static void SUBI_04A0(ULO*opc_data); -static void SUBI_04A8(ULO*opc_data); -static void SUBI_04B0(ULO*opc_data); -static void SUBI_04B8(ULO*opc_data); -static void SUBI_04B9(ULO*opc_data); -static void SUBQ_5100(ULO*opc_data); -static void SUBQ_5110(ULO*opc_data); -static void SUBQ_5118(ULO*opc_data); -static void SUBQ_5120(ULO*opc_data); -static void SUBQ_5128(ULO*opc_data); -static void SUBQ_5130(ULO*opc_data); -static void SUBQ_5138(ULO*opc_data); -static void SUBQ_5139(ULO*opc_data); -static void SUBQ_5140(ULO*opc_data); -static void SUBQ_5150(ULO*opc_data); -static void SUBQ_5158(ULO*opc_data); -static void SUBQ_5160(ULO*opc_data); -static void SUBQ_5168(ULO*opc_data); -static void SUBQ_5170(ULO*opc_data); -static void SUBQ_5178(ULO*opc_data); -static void SUBQ_5179(ULO*opc_data); -static void SUBQ_5180(ULO*opc_data); -static void SUBQ_5190(ULO*opc_data); -static void SUBQ_5198(ULO*opc_data); -static void SUBQ_51A0(ULO*opc_data); -static void SUBQ_51A8(ULO*opc_data); -static void SUBQ_51B0(ULO*opc_data); -static void SUBQ_51B8(ULO*opc_data); -static void SUBQ_51B9(ULO*opc_data); -static void SUBQ_5148(ULO*opc_data); -static void SUBQ_5188(ULO*opc_data); -static void CHK_4180(ULO*opc_data); -static void CHK_4190(ULO*opc_data); -static void CHK_4198(ULO*opc_data); -static void CHK_41A0(ULO*opc_data); -static void CHK_41A8(ULO*opc_data); -static void CHK_41B0(ULO*opc_data); -static void CHK_41B8(ULO*opc_data); -static void CHK_41B9(ULO*opc_data); -static void CHK_41BA(ULO*opc_data); -static void CHK_41BB(ULO*opc_data); -static void CHK_41BC(ULO*opc_data); -static void CHK_4100(ULO*opc_data); -static void CHK_4110(ULO*opc_data); -static void CHK_4118(ULO*opc_data); -static void CHK_4120(ULO*opc_data); -static void CHK_4128(ULO*opc_data); -static void CHK_4130(ULO*opc_data); -static void CHK_4138(ULO*opc_data); -static void CHK_4139(ULO*opc_data); -static void CHK_413A(ULO*opc_data); -static void CHK_413B(ULO*opc_data); -static void CHK_413C(ULO*opc_data); -static void CMP_B000(ULO*opc_data); -static void CMP_B010(ULO*opc_data); -static void CMP_B018(ULO*opc_data); -static void CMP_B020(ULO*opc_data); -static void CMP_B028(ULO*opc_data); -static void CMP_B030(ULO*opc_data); -static void CMP_B038(ULO*opc_data); -static void CMP_B039(ULO*opc_data); -static void CMP_B03A(ULO*opc_data); -static void CMP_B03B(ULO*opc_data); -static void CMP_B03C(ULO*opc_data); -static void CMP_B040(ULO*opc_data); -static void CMP_B048(ULO*opc_data); -static void CMP_B050(ULO*opc_data); -static void CMP_B058(ULO*opc_data); -static void CMP_B060(ULO*opc_data); -static void CMP_B068(ULO*opc_data); -static void CMP_B070(ULO*opc_data); -static void CMP_B078(ULO*opc_data); -static void CMP_B079(ULO*opc_data); -static void CMP_B07A(ULO*opc_data); -static void CMP_B07B(ULO*opc_data); -static void CMP_B07C(ULO*opc_data); -static void CMP_B080(ULO*opc_data); -static void CMP_B088(ULO*opc_data); -static void CMP_B090(ULO*opc_data); -static void CMP_B098(ULO*opc_data); -static void CMP_B0A0(ULO*opc_data); -static void CMP_B0A8(ULO*opc_data); -static void CMP_B0B0(ULO*opc_data); -static void CMP_B0B8(ULO*opc_data); -static void CMP_B0B9(ULO*opc_data); -static void CMP_B0BA(ULO*opc_data); -static void CMP_B0BB(ULO*opc_data); -static void CMP_B0BC(ULO*opc_data); -static void CMPA_B0C0(ULO*opc_data); -static void CMPA_B0C8(ULO*opc_data); -static void CMPA_B0D0(ULO*opc_data); -static void CMPA_B0D8(ULO*opc_data); -static void CMPA_B0E0(ULO*opc_data); -static void CMPA_B0E8(ULO*opc_data); -static void CMPA_B0F0(ULO*opc_data); -static void CMPA_B0F8(ULO*opc_data); -static void CMPA_B0F9(ULO*opc_data); -static void CMPA_B0FA(ULO*opc_data); -static void CMPA_B0FB(ULO*opc_data); -static void CMPA_B0FC(ULO*opc_data); -static void CMPA_B1C0(ULO*opc_data); -static void CMPA_B1C8(ULO*opc_data); -static void CMPA_B1D0(ULO*opc_data); -static void CMPA_B1D8(ULO*opc_data); -static void CMPA_B1E0(ULO*opc_data); -static void CMPA_B1E8(ULO*opc_data); -static void CMPA_B1F0(ULO*opc_data); -static void CMPA_B1F8(ULO*opc_data); -static void CMPA_B1F9(ULO*opc_data); -static void CMPA_B1FA(ULO*opc_data); -static void CMPA_B1FB(ULO*opc_data); -static void CMPA_B1FC(ULO*opc_data); -static void CMPI_0C00(ULO*opc_data); -static void CMPI_0C10(ULO*opc_data); -static void CMPI_0C18(ULO*opc_data); -static void CMPI_0C20(ULO*opc_data); -static void CMPI_0C28(ULO*opc_data); -static void CMPI_0C30(ULO*opc_data); -static void CMPI_0C38(ULO*opc_data); -static void CMPI_0C39(ULO*opc_data); -static void CMPI_0C40(ULO*opc_data); -static void CMPI_0C50(ULO*opc_data); -static void CMPI_0C58(ULO*opc_data); -static void CMPI_0C60(ULO*opc_data); -static void CMPI_0C68(ULO*opc_data); -static void CMPI_0C70(ULO*opc_data); -static void CMPI_0C78(ULO*opc_data); -static void CMPI_0C79(ULO*opc_data); -static void CMPI_0C80(ULO*opc_data); -static void CMPI_0C90(ULO*opc_data); -static void CMPI_0C98(ULO*opc_data); -static void CMPI_0CA0(ULO*opc_data); -static void CMPI_0CA8(ULO*opc_data); -static void CMPI_0CB0(ULO*opc_data); -static void CMPI_0CB8(ULO*opc_data); -static void CMPI_0CB9(ULO*opc_data); -static void CMPI_0C3A(ULO*opc_data); -static void CMPI_0C3B(ULO*opc_data); -static void CMPI_0C7A(ULO*opc_data); -static void CMPI_0C7B(ULO*opc_data); -static void CMPI_0CBA(ULO*opc_data); -static void CMPI_0CBB(ULO*opc_data); -static void BCHG_0150(ULO*opc_data); -static void BCHG_0158(ULO*opc_data); -static void BCHG_0160(ULO*opc_data); -static void BCHG_0168(ULO*opc_data); -static void BCHG_0170(ULO*opc_data); -static void BCHG_0178(ULO*opc_data); -static void BCHG_0179(ULO*opc_data); -static void BCHG_0140(ULO*opc_data); -static void BCHG_0850(ULO*opc_data); -static void BCHG_0858(ULO*opc_data); -static void BCHG_0860(ULO*opc_data); -static void BCHG_0868(ULO*opc_data); -static void BCHG_0870(ULO*opc_data); -static void BCHG_0878(ULO*opc_data); -static void BCHG_0879(ULO*opc_data); -static void BCHG_0840(ULO*opc_data); -static void BCLR_0190(ULO*opc_data); -static void BCLR_0198(ULO*opc_data); -static void BCLR_01A0(ULO*opc_data); -static void BCLR_01A8(ULO*opc_data); -static void BCLR_01B0(ULO*opc_data); -static void BCLR_01B8(ULO*opc_data); -static void BCLR_01B9(ULO*opc_data); -static void BCLR_0180(ULO*opc_data); -static void BCLR_0890(ULO*opc_data); -static void BCLR_0898(ULO*opc_data); -static void BCLR_08A0(ULO*opc_data); -static void BCLR_08A8(ULO*opc_data); -static void BCLR_08B0(ULO*opc_data); -static void BCLR_08B8(ULO*opc_data); -static void BCLR_08B9(ULO*opc_data); -static void BCLR_0880(ULO*opc_data); -static void BSET_01D0(ULO*opc_data); -static void BSET_01D8(ULO*opc_data); -static void BSET_01E0(ULO*opc_data); -static void BSET_01E8(ULO*opc_data); -static void BSET_01F0(ULO*opc_data); -static void BSET_01F8(ULO*opc_data); -static void BSET_01F9(ULO*opc_data); -static void BSET_01C0(ULO*opc_data); -static void BSET_08D0(ULO*opc_data); -static void BSET_08D8(ULO*opc_data); -static void BSET_08E0(ULO*opc_data); -static void BSET_08E8(ULO*opc_data); -static void BSET_08F0(ULO*opc_data); -static void BSET_08F8(ULO*opc_data); -static void BSET_08F9(ULO*opc_data); -static void BSET_08C0(ULO*opc_data); -static void BTST_0110(ULO*opc_data); -static void BTST_0118(ULO*opc_data); -static void BTST_0120(ULO*opc_data); -static void BTST_0128(ULO*opc_data); -static void BTST_0130(ULO*opc_data); -static void BTST_0138(ULO*opc_data); -static void BTST_0139(ULO*opc_data); -static void BTST_013A(ULO*opc_data); -static void BTST_013B(ULO*opc_data); -static void BTST_013C(ULO*opc_data); -static void BTST_0100(ULO*opc_data); -static void BTST_0810(ULO*opc_data); -static void BTST_0818(ULO*opc_data); -static void BTST_0820(ULO*opc_data); -static void BTST_0828(ULO*opc_data); -static void BTST_0830(ULO*opc_data); -static void BTST_0838(ULO*opc_data); -static void BTST_0839(ULO*opc_data); -static void BTST_083A(ULO*opc_data); -static void BTST_083B(ULO*opc_data); -static void BTST_0800(ULO*opc_data); -static void LEA_41D0(ULO*opc_data); -static void LEA_41E8(ULO*opc_data); -static void LEA_41F0(ULO*opc_data); -static void LEA_41F8(ULO*opc_data); -static void LEA_41F9(ULO*opc_data); -static void LEA_41FA(ULO*opc_data); -static void LEA_41FB(ULO*opc_data); -static void MULS_C1C0(ULO*opc_data); -static void MULS_C1D0(ULO*opc_data); -static void MULS_C1D8(ULO*opc_data); -static void MULS_C1E0(ULO*opc_data); -static void MULS_C1E8(ULO*opc_data); -static void MULS_C1F0(ULO*opc_data); -static void MULS_C1F8(ULO*opc_data); -static void MULS_C1F9(ULO*opc_data); -static void MULS_C1FA(ULO*opc_data); -static void MULS_C1FB(ULO*opc_data); -static void MULS_C1FC(ULO*opc_data); -static void MULU_C0C0(ULO*opc_data); -static void MULU_C0D0(ULO*opc_data); -static void MULU_C0D8(ULO*opc_data); -static void MULU_C0E0(ULO*opc_data); -static void MULU_C0E8(ULO*opc_data); -static void MULU_C0F0(ULO*opc_data); -static void MULU_C0F8(ULO*opc_data); -static void MULU_C0F9(ULO*opc_data); -static void MULU_C0FA(ULO*opc_data); -static void MULU_C0FB(ULO*opc_data); -static void MULU_C0FC(ULO*opc_data); -static void DIVS_81C0(ULO*opc_data); -static void DIVS_81D0(ULO*opc_data); -static void DIVS_81D8(ULO*opc_data); -static void DIVS_81E0(ULO*opc_data); -static void DIVS_81E8(ULO*opc_data); -static void DIVS_81F0(ULO*opc_data); -static void DIVS_81F8(ULO*opc_data); -static void DIVS_81F9(ULO*opc_data); -static void DIVS_81FA(ULO*opc_data); -static void DIVS_81FB(ULO*opc_data); -static void DIVS_81FC(ULO*opc_data); -static void DIVL_4C40(ULO*opc_data); -static void DIVL_4C50(ULO*opc_data); -static void DIVL_4C58(ULO*opc_data); -static void DIVL_4C60(ULO*opc_data); -static void DIVL_4C68(ULO*opc_data); -static void DIVL_4C70(ULO*opc_data); -static void DIVL_4C78(ULO*opc_data); -static void DIVL_4C79(ULO*opc_data); -static void DIVL_4C7A(ULO*opc_data); -static void DIVL_4C7B(ULO*opc_data); -static void DIVL_4C7C(ULO*opc_data); -static void DIVU_80C0(ULO*opc_data); -static void DIVU_80D0(ULO*opc_data); -static void DIVU_80D8(ULO*opc_data); -static void DIVU_80E0(ULO*opc_data); -static void DIVU_80E8(ULO*opc_data); -static void DIVU_80F0(ULO*opc_data); -static void DIVU_80F8(ULO*opc_data); -static void DIVU_80F9(ULO*opc_data); -static void DIVU_80FA(ULO*opc_data); -static void DIVU_80FB(ULO*opc_data); -static void DIVU_80FC(ULO*opc_data); -static void MOVEM_48A0(ULO*opc_data); -static void MOVEM_48E0(ULO*opc_data); -static void MOVEM_4C98(ULO*opc_data); -static void MOVEM_4CD8(ULO*opc_data); -static void MOVEM_4890(ULO*opc_data); -static void MOVEM_48A8(ULO*opc_data); -static void MOVEM_48B0(ULO*opc_data); -static void MOVEM_48B8(ULO*opc_data); -static void MOVEM_48B9(ULO*opc_data); -static void MOVEM_48D0(ULO*opc_data); -static void MOVEM_48E8(ULO*opc_data); -static void MOVEM_48F0(ULO*opc_data); -static void MOVEM_48F8(ULO*opc_data); -static void MOVEM_48F9(ULO*opc_data); -static void MOVEM_4C90(ULO*opc_data); -static void MOVEM_4CA8(ULO*opc_data); -static void MOVEM_4CB0(ULO*opc_data); -static void MOVEM_4CB8(ULO*opc_data); -static void MOVEM_4CB9(ULO*opc_data); -static void MOVEM_4CBA(ULO*opc_data); -static void MOVEM_4CBB(ULO*opc_data); -static void MOVEM_4CD0(ULO*opc_data); -static void MOVEM_4CE8(ULO*opc_data); -static void MOVEM_4CF0(ULO*opc_data); -static void MOVEM_4CF8(ULO*opc_data); -static void MOVEM_4CF9(ULO*opc_data); -static void MOVEM_4CFA(ULO*opc_data); -static void MOVEM_4CFB(ULO*opc_data); -static void CLR_4200(ULO*opc_data); -static void CLR_4210(ULO*opc_data); -static void CLR_4218(ULO*opc_data); -static void CLR_4220(ULO*opc_data); -static void CLR_4228(ULO*opc_data); -static void CLR_4230(ULO*opc_data); -static void CLR_4238(ULO*opc_data); -static void CLR_4239(ULO*opc_data); -static void CLR_4240(ULO*opc_data); -static void CLR_4250(ULO*opc_data); -static void CLR_4258(ULO*opc_data); -static void CLR_4260(ULO*opc_data); -static void CLR_4268(ULO*opc_data); -static void CLR_4270(ULO*opc_data); -static void CLR_4278(ULO*opc_data); -static void CLR_4279(ULO*opc_data); -static void CLR_4280(ULO*opc_data); -static void CLR_4290(ULO*opc_data); -static void CLR_4298(ULO*opc_data); -static void CLR_42A0(ULO*opc_data); -static void CLR_42A8(ULO*opc_data); -static void CLR_42B0(ULO*opc_data); -static void CLR_42B8(ULO*opc_data); -static void CLR_42B9(ULO*opc_data); -static void BFCHG_EAD0(ULO*opc_data); -static void BFCHG_EAE8(ULO*opc_data); -static void BFCHG_EAF0(ULO*opc_data); -static void BFCHG_EAF8(ULO*opc_data); -static void BFCHG_EAF9(ULO*opc_data); -static void BFCLR_ECD0(ULO*opc_data); -static void BFCLR_ECE8(ULO*opc_data); -static void BFCLR_ECF0(ULO*opc_data); -static void BFCLR_ECF8(ULO*opc_data); -static void BFCLR_ECF9(ULO*opc_data); -static void BFEXTS_EBD0(ULO*opc_data); -static void BFEXTS_EBE8(ULO*opc_data); -static void BFEXTS_EBF0(ULO*opc_data); -static void BFEXTS_EBF8(ULO*opc_data); -static void BFEXTS_EBF9(ULO*opc_data); -static void BFEXTS_EBFA(ULO*opc_data); -static void BFEXTS_EBFB(ULO*opc_data); -static void BFEXTU_E9D0(ULO*opc_data); -static void BFEXTU_E9E8(ULO*opc_data); -static void BFEXTU_E9F0(ULO*opc_data); -static void BFEXTU_E9F8(ULO*opc_data); -static void BFEXTU_E9F9(ULO*opc_data); -static void BFEXTU_E9FA(ULO*opc_data); -static void BFEXTU_E9FB(ULO*opc_data); -static void BFFFO_EDD0(ULO*opc_data); -static void BFFFO_EDE8(ULO*opc_data); -static void BFFFO_EDF0(ULO*opc_data); -static void BFFFO_EDF8(ULO*opc_data); -static void BFFFO_EDF9(ULO*opc_data); -static void BFFFO_EDFA(ULO*opc_data); -static void BFFFO_EDFB(ULO*opc_data); -static void BFINS_EFD0(ULO*opc_data); -static void BFINS_EFE8(ULO*opc_data); -static void BFINS_EFF0(ULO*opc_data); -static void BFINS_EFF8(ULO*opc_data); -static void BFINS_EFF9(ULO*opc_data); -static void BFSET_EED0(ULO*opc_data); -static void BFSET_EEE8(ULO*opc_data); -static void BFSET_EEF0(ULO*opc_data); -static void BFSET_EEF8(ULO*opc_data); -static void BFSET_EEF9(ULO*opc_data); -static void BFTST_E8D0(ULO*opc_data); -static void BFTST_E8E8(ULO*opc_data); -static void BFTST_E8F0(ULO*opc_data); -static void BFTST_E8F8(ULO*opc_data); -static void BFTST_E8F9(ULO*opc_data); -static void BFTST_E8FA(ULO*opc_data); -static void BFTST_E8FB(ULO*opc_data); -static void BFCHG_EAC0(ULO*opc_data); -static void BFCLR_ECC0(ULO*opc_data); -static void BFEXTS_EBC0(ULO*opc_data); -static void BFEXTU_E9C0(ULO*opc_data); -static void BFFFO_EDC0(ULO*opc_data); -static void BFINS_EFC0(ULO*opc_data); -static void BFSET_EEC0(ULO*opc_data); -static void BFTST_E8C0(ULO*opc_data); -static void MULL_4C00(ULO*opc_data); -static void MULL_4C10(ULO*opc_data); -static void MULL_4C18(ULO*opc_data); -static void MULL_4C20(ULO*opc_data); -static void MULL_4C28(ULO*opc_data); -static void MULL_4C30(ULO*opc_data); -static void MULL_4C38(ULO*opc_data); -static void MULL_4C39(ULO*opc_data); -static void MULL_4C3A(ULO*opc_data); -static void MULL_4C3B(ULO*opc_data); -static void MULL_4C3C(ULO*opc_data); -static void MOVES_0E10(ULO*opc_data); -static void MOVES_0E18(ULO*opc_data); -static void MOVES_0E20(ULO*opc_data); -static void MOVES_0E28(ULO*opc_data); -static void MOVES_0E30(ULO*opc_data); -static void MOVES_0E38(ULO*opc_data); -static void MOVES_0E39(ULO*opc_data); -static void MOVES_0E50(ULO*opc_data); -static void MOVES_0E58(ULO*opc_data); -static void MOVES_0E60(ULO*opc_data); -static void MOVES_0E68(ULO*opc_data); -static void MOVES_0E70(ULO*opc_data); -static void MOVES_0E78(ULO*opc_data); -static void MOVES_0E79(ULO*opc_data); -static void MOVES_0E90(ULO*opc_data); -static void MOVES_0E98(ULO*opc_data); -static void MOVES_0EA0(ULO*opc_data); -static void MOVES_0EA8(ULO*opc_data); -static void MOVES_0EB0(ULO*opc_data); -static void MOVES_0EB8(ULO*opc_data); -static void MOVES_0EB9(ULO*opc_data); -static void NBCD_4800(ULO*opc_data); -static void NBCD_4810(ULO*opc_data); -static void NBCD_4818(ULO*opc_data); -static void NBCD_4820(ULO*opc_data); -static void NBCD_4828(ULO*opc_data); -static void NBCD_4830(ULO*opc_data); -static void NBCD_4838(ULO*opc_data); -static void NBCD_4839(ULO*opc_data); -static void NEG_4400(ULO*opc_data); -static void NEG_4410(ULO*opc_data); -static void NEG_4418(ULO*opc_data); -static void NEG_4420(ULO*opc_data); -static void NEG_4428(ULO*opc_data); -static void NEG_4430(ULO*opc_data); -static void NEG_4438(ULO*opc_data); -static void NEG_4439(ULO*opc_data); -static void NEG_4440(ULO*opc_data); -static void NEG_4450(ULO*opc_data); -static void NEG_4458(ULO*opc_data); -static void NEG_4460(ULO*opc_data); -static void NEG_4468(ULO*opc_data); -static void NEG_4470(ULO*opc_data); -static void NEG_4478(ULO*opc_data); -static void NEG_4479(ULO*opc_data); -static void NEG_4480(ULO*opc_data); -static void NEG_4490(ULO*opc_data); -static void NEG_4498(ULO*opc_data); -static void NEG_44A0(ULO*opc_data); -static void NEG_44A8(ULO*opc_data); -static void NEG_44B0(ULO*opc_data); -static void NEG_44B8(ULO*opc_data); -static void NEG_44B9(ULO*opc_data); -static void NEGX_4000(ULO*opc_data); -static void NEGX_4010(ULO*opc_data); -static void NEGX_4018(ULO*opc_data); -static void NEGX_4020(ULO*opc_data); -static void NEGX_4028(ULO*opc_data); -static void NEGX_4030(ULO*opc_data); -static void NEGX_4038(ULO*opc_data); -static void NEGX_4039(ULO*opc_data); -static void NEGX_4040(ULO*opc_data); -static void NEGX_4050(ULO*opc_data); -static void NEGX_4058(ULO*opc_data); -static void NEGX_4060(ULO*opc_data); -static void NEGX_4068(ULO*opc_data); -static void NEGX_4070(ULO*opc_data); -static void NEGX_4078(ULO*opc_data); -static void NEGX_4079(ULO*opc_data); -static void NEGX_4080(ULO*opc_data); -static void NEGX_4090(ULO*opc_data); -static void NEGX_4098(ULO*opc_data); -static void NEGX_40A0(ULO*opc_data); -static void NEGX_40A8(ULO*opc_data); -static void NEGX_40B0(ULO*opc_data); -static void NEGX_40B8(ULO*opc_data); -static void NEGX_40B9(ULO*opc_data); -static void NOT_4600(ULO*opc_data); -static void NOT_4610(ULO*opc_data); -static void NOT_4618(ULO*opc_data); -static void NOT_4620(ULO*opc_data); -static void NOT_4628(ULO*opc_data); -static void NOT_4630(ULO*opc_data); -static void NOT_4638(ULO*opc_data); -static void NOT_4639(ULO*opc_data); -static void NOT_4640(ULO*opc_data); -static void NOT_4650(ULO*opc_data); -static void NOT_4658(ULO*opc_data); -static void NOT_4660(ULO*opc_data); -static void NOT_4668(ULO*opc_data); -static void NOT_4670(ULO*opc_data); -static void NOT_4678(ULO*opc_data); -static void NOT_4679(ULO*opc_data); -static void NOT_4680(ULO*opc_data); -static void NOT_4690(ULO*opc_data); -static void NOT_4698(ULO*opc_data); -static void NOT_46A0(ULO*opc_data); -static void NOT_46A8(ULO*opc_data); -static void NOT_46B0(ULO*opc_data); -static void NOT_46B8(ULO*opc_data); -static void NOT_46B9(ULO*opc_data); -static void TAS_4AC0(ULO*opc_data); -static void TAS_4AD0(ULO*opc_data); -static void TAS_4AD8(ULO*opc_data); -static void TAS_4AE0(ULO*opc_data); -static void TAS_4AE8(ULO*opc_data); -static void TAS_4AF0(ULO*opc_data); -static void TAS_4AF8(ULO*opc_data); -static void TAS_4AF9(ULO*opc_data); -static void TST_4A00(ULO*opc_data); -static void TST_4A10(ULO*opc_data); -static void TST_4A18(ULO*opc_data); -static void TST_4A20(ULO*opc_data); -static void TST_4A28(ULO*opc_data); -static void TST_4A30(ULO*opc_data); -static void TST_4A38(ULO*opc_data); -static void TST_4A39(ULO*opc_data); -static void TST_4A40(ULO*opc_data); -static void TST_4A50(ULO*opc_data); -static void TST_4A58(ULO*opc_data); -static void TST_4A60(ULO*opc_data); -static void TST_4A68(ULO*opc_data); -static void TST_4A70(ULO*opc_data); -static void TST_4A78(ULO*opc_data); -static void TST_4A79(ULO*opc_data); -static void TST_4A80(ULO*opc_data); -static void TST_4A90(ULO*opc_data); -static void TST_4A98(ULO*opc_data); -static void TST_4AA0(ULO*opc_data); -static void TST_4AA8(ULO*opc_data); -static void TST_4AB0(ULO*opc_data); -static void TST_4AB8(ULO*opc_data); -static void TST_4AB9(ULO*opc_data); -static void TST_4A3A(ULO*opc_data); -static void TST_4A3B(ULO*opc_data); -static void TST_4A3C(ULO*opc_data); -static void TST_4A48(ULO*opc_data); -static void TST_4A7A(ULO*opc_data); -static void TST_4A7B(ULO*opc_data); -static void TST_4A7C(ULO*opc_data); -static void TST_4A88(ULO*opc_data); -static void TST_4ABA(ULO*opc_data); -static void TST_4ABB(ULO*opc_data); -static void TST_4ABC(ULO*opc_data); -static void PEA_4850(ULO*opc_data); -static void PEA_4868(ULO*opc_data); -static void PEA_4870(ULO*opc_data); -static void PEA_4878(ULO*opc_data); -static void PEA_4879(ULO*opc_data); -static void PEA_487A(ULO*opc_data); -static void PEA_487B(ULO*opc_data); -static void JMP_4ED0(ULO*opc_data); -static void JMP_4EE8(ULO*opc_data); -static void JMP_4EF0(ULO*opc_data); -static void JMP_4EF8(ULO*opc_data); -static void JMP_4EF9(ULO*opc_data); -static void JMP_4EFA(ULO*opc_data); -static void JMP_4EFB(ULO*opc_data); -static void JSR_4E90(ULO*opc_data); -static void JSR_4EA8(ULO*opc_data); -static void JSR_4EB0(ULO*opc_data); -static void JSR_4EB8(ULO*opc_data); -static void JSR_4EB9(ULO*opc_data); -static void JSR_4EBA(ULO*opc_data); -static void JSR_4EBB(ULO*opc_data); -static void MOVETOSR_46C0(ULO*opc_data); -static void MOVETOSR_46D0(ULO*opc_data); -static void MOVETOSR_46D8(ULO*opc_data); -static void MOVETOSR_46E0(ULO*opc_data); -static void MOVETOSR_46E8(ULO*opc_data); -static void MOVETOSR_46F0(ULO*opc_data); -static void MOVETOSR_46F8(ULO*opc_data); -static void MOVETOSR_46F9(ULO*opc_data); -static void MOVETOSR_46FA(ULO*opc_data); -static void MOVETOSR_46FB(ULO*opc_data); -static void MOVETOSR_46FC(ULO*opc_data); -static void MOVETOCCR_44C0(ULO*opc_data); -static void MOVETOCCR_44D0(ULO*opc_data); -static void MOVETOCCR_44D8(ULO*opc_data); -static void MOVETOCCR_44E0(ULO*opc_data); -static void MOVETOCCR_44E8(ULO*opc_data); -static void MOVETOCCR_44F0(ULO*opc_data); -static void MOVETOCCR_44F8(ULO*opc_data); -static void MOVETOCCR_44F9(ULO*opc_data); -static void MOVETOCCR_44FA(ULO*opc_data); -static void MOVETOCCR_44FB(ULO*opc_data); -static void MOVETOCCR_44FC(ULO*opc_data); -static void SCC_50C0(ULO*opc_data); -static void SCC_50D0(ULO*opc_data); -static void SCC_50D8(ULO*opc_data); -static void SCC_50E0(ULO*opc_data); -static void SCC_50E8(ULO*opc_data); -static void SCC_50F0(ULO*opc_data); -static void SCC_50F8(ULO*opc_data); -static void SCC_50F9(ULO*opc_data); -static void MOVEFROMCCR_42C0(ULO*opc_data); -static void MOVEFROMCCR_42D0(ULO*opc_data); -static void MOVEFROMCCR_42D8(ULO*opc_data); -static void MOVEFROMCCR_42E0(ULO*opc_data); -static void MOVEFROMCCR_42E8(ULO*opc_data); -static void MOVEFROMCCR_42F0(ULO*opc_data); -static void MOVEFROMCCR_42F8(ULO*opc_data); -static void MOVEFROMCCR_42F9(ULO*opc_data); -static void MOVEFROMSR_40C0(ULO*opc_data); -static void MOVEFROMSR_40D0(ULO*opc_data); -static void MOVEFROMSR_40D8(ULO*opc_data); -static void MOVEFROMSR_40E0(ULO*opc_data); -static void MOVEFROMSR_40E8(ULO*opc_data); -static void MOVEFROMSR_40F0(ULO*opc_data); -static void MOVEFROMSR_40F8(ULO*opc_data); -static void MOVEFROMSR_40F9(ULO*opc_data); -static void CAS_0AD0(ULO*opc_data); -static void CAS_0AD8(ULO*opc_data); -static void CAS_0AE0(ULO*opc_data); -static void CAS_0AE8(ULO*opc_data); -static void CAS_0AF0(ULO*opc_data); -static void CAS_0AF8(ULO*opc_data); -static void CAS_0AF9(ULO*opc_data); -static void CAS_0CD0(ULO*opc_data); -static void CAS_0CD8(ULO*opc_data); -static void CAS_0CE0(ULO*opc_data); -static void CAS_0CE8(ULO*opc_data); -static void CAS_0CF0(ULO*opc_data); -static void CAS_0CF8(ULO*opc_data); -static void CAS_0CF9(ULO*opc_data); -static void CAS_0ED0(ULO*opc_data); -static void CAS_0ED8(ULO*opc_data); -static void CAS_0EE0(ULO*opc_data); -static void CAS_0EE8(ULO*opc_data); -static void CAS_0EF0(ULO*opc_data); -static void CAS_0EF8(ULO*opc_data); -static void CAS_0EF9(ULO*opc_data); -static void CHKCMP2_00D0(ULO*opc_data); -static void CHKCMP2_00E8(ULO*opc_data); -static void CHKCMP2_00F0(ULO*opc_data); -static void CHKCMP2_00F8(ULO*opc_data); -static void CHKCMP2_00F9(ULO*opc_data); -static void CHKCMP2_00FA(ULO*opc_data); -static void CHKCMP2_00FB(ULO*opc_data); -static void CHKCMP2_02D0(ULO*opc_data); -static void CHKCMP2_02E8(ULO*opc_data); -static void CHKCMP2_02F0(ULO*opc_data); -static void CHKCMP2_02F8(ULO*opc_data); -static void CHKCMP2_02F9(ULO*opc_data); -static void CHKCMP2_02FA(ULO*opc_data); -static void CHKCMP2_02FB(ULO*opc_data); -static void CHKCMP2_04D0(ULO*opc_data); -static void CHKCMP2_04E8(ULO*opc_data); -static void CHKCMP2_04F0(ULO*opc_data); -static void CHKCMP2_04F8(ULO*opc_data); -static void CHKCMP2_04F9(ULO*opc_data); -static void CHKCMP2_04FA(ULO*opc_data); -static void CHKCMP2_04FB(ULO*opc_data); -static void CALLM_06D0(ULO*opc_data); -static void CALLM_06E8(ULO*opc_data); -static void CALLM_06F0(ULO*opc_data); -static void CALLM_06F8(ULO*opc_data); -static void CALLM_06F9(ULO*opc_data); -static void CALLM_06FA(ULO*opc_data); -static void CALLM_06FB(ULO*opc_data); -static void PFLUSH030_F010(ULO*opc_data); -static void PFLUSH030_F028(ULO*opc_data); -static void PFLUSH030_F030(ULO*opc_data); -static void PFLUSH030_F038(ULO*opc_data); -static void PFLUSH030_F039(ULO*opc_data); -static void MOVEQ_7000(ULO*opc_data); -static void MOVE_1000(ULO*opc_data); -static void MOVE_1008(ULO*opc_data); -static void MOVE_1010(ULO*opc_data); -static void MOVE_1018(ULO*opc_data); -static void MOVE_1020(ULO*opc_data); -static void MOVE_1028(ULO*opc_data); -static void MOVE_1030(ULO*opc_data); -static void MOVE_1038(ULO*opc_data); -static void MOVE_1039(ULO*opc_data); -static void MOVE_103A(ULO*opc_data); -static void MOVE_103B(ULO*opc_data); -static void MOVE_103C(ULO*opc_data); -static void MOVE_1080(ULO*opc_data); -static void MOVE_1088(ULO*opc_data); -static void MOVE_1090(ULO*opc_data); -static void MOVE_1098(ULO*opc_data); -static void MOVE_10A0(ULO*opc_data); -static void MOVE_10A8(ULO*opc_data); -static void MOVE_10B0(ULO*opc_data); -static void MOVE_10B8(ULO*opc_data); -static void MOVE_10B9(ULO*opc_data); -static void MOVE_10BA(ULO*opc_data); -static void MOVE_10BB(ULO*opc_data); -static void MOVE_10BC(ULO*opc_data); -static void MOVE_10C0(ULO*opc_data); -static void MOVE_10C8(ULO*opc_data); -static void MOVE_10D0(ULO*opc_data); -static void MOVE_10D8(ULO*opc_data); -static void MOVE_10E0(ULO*opc_data); -static void MOVE_10E8(ULO*opc_data); -static void MOVE_10F0(ULO*opc_data); -static void MOVE_10F8(ULO*opc_data); -static void MOVE_10F9(ULO*opc_data); -static void MOVE_10FA(ULO*opc_data); -static void MOVE_10FB(ULO*opc_data); -static void MOVE_10FC(ULO*opc_data); -static void MOVE_1100(ULO*opc_data); -static void MOVE_1108(ULO*opc_data); -static void MOVE_1110(ULO*opc_data); -static void MOVE_1118(ULO*opc_data); -static void MOVE_1120(ULO*opc_data); -static void MOVE_1128(ULO*opc_data); -static void MOVE_1130(ULO*opc_data); -static void MOVE_1138(ULO*opc_data); -static void MOVE_1139(ULO*opc_data); -static void MOVE_113A(ULO*opc_data); -static void MOVE_113B(ULO*opc_data); -static void MOVE_113C(ULO*opc_data); -static void MOVE_1140(ULO*opc_data); -static void MOVE_1148(ULO*opc_data); -static void MOVE_1150(ULO*opc_data); -static void MOVE_1158(ULO*opc_data); -static void MOVE_1160(ULO*opc_data); -static void MOVE_1168(ULO*opc_data); -static void MOVE_1170(ULO*opc_data); -static void MOVE_1178(ULO*opc_data); -static void MOVE_1179(ULO*opc_data); -static void MOVE_117A(ULO*opc_data); -static void MOVE_117B(ULO*opc_data); -static void MOVE_117C(ULO*opc_data); -static void MOVE_1180(ULO*opc_data); -static void MOVE_1188(ULO*opc_data); -static void MOVE_1190(ULO*opc_data); -static void MOVE_1198(ULO*opc_data); -static void MOVE_11A0(ULO*opc_data); -static void MOVE_11A8(ULO*opc_data); -static void MOVE_11B0(ULO*opc_data); -static void MOVE_11B8(ULO*opc_data); -static void MOVE_11B9(ULO*opc_data); -static void MOVE_11BA(ULO*opc_data); -static void MOVE_11BB(ULO*opc_data); -static void MOVE_11BC(ULO*opc_data); -static void MOVE_11C0(ULO*opc_data); -static void MOVE_11C8(ULO*opc_data); -static void MOVE_11D0(ULO*opc_data); -static void MOVE_11D8(ULO*opc_data); -static void MOVE_11E0(ULO*opc_data); -static void MOVE_11E8(ULO*opc_data); -static void MOVE_11F0(ULO*opc_data); -static void MOVE_11F8(ULO*opc_data); -static void MOVE_11F9(ULO*opc_data); -static void MOVE_11FA(ULO*opc_data); -static void MOVE_11FB(ULO*opc_data); -static void MOVE_11FC(ULO*opc_data); -static void MOVE_13C0(ULO*opc_data); -static void MOVE_13C8(ULO*opc_data); -static void MOVE_13D0(ULO*opc_data); -static void MOVE_13D8(ULO*opc_data); -static void MOVE_13E0(ULO*opc_data); -static void MOVE_13E8(ULO*opc_data); -static void MOVE_13F0(ULO*opc_data); -static void MOVE_13F8(ULO*opc_data); -static void MOVE_13F9(ULO*opc_data); -static void MOVE_13FA(ULO*opc_data); -static void MOVE_13FB(ULO*opc_data); -static void MOVE_13FC(ULO*opc_data); -static void MOVE_3000(ULO*opc_data); -static void MOVE_3008(ULO*opc_data); -static void MOVE_3010(ULO*opc_data); -static void MOVE_3018(ULO*opc_data); -static void MOVE_3020(ULO*opc_data); -static void MOVE_3028(ULO*opc_data); -static void MOVE_3030(ULO*opc_data); -static void MOVE_3038(ULO*opc_data); -static void MOVE_3039(ULO*opc_data); -static void MOVE_303A(ULO*opc_data); -static void MOVE_303B(ULO*opc_data); -static void MOVE_303C(ULO*opc_data); -static void MOVE_3080(ULO*opc_data); -static void MOVE_3088(ULO*opc_data); -static void MOVE_3090(ULO*opc_data); -static void MOVE_3098(ULO*opc_data); -static void MOVE_30A0(ULO*opc_data); -static void MOVE_30A8(ULO*opc_data); -static void MOVE_30B0(ULO*opc_data); -static void MOVE_30B8(ULO*opc_data); -static void MOVE_30B9(ULO*opc_data); -static void MOVE_30BA(ULO*opc_data); -static void MOVE_30BB(ULO*opc_data); -static void MOVE_30BC(ULO*opc_data); -static void MOVE_30C0(ULO*opc_data); -static void MOVE_30C8(ULO*opc_data); -static void MOVE_30D0(ULO*opc_data); -static void MOVE_30D8(ULO*opc_data); -static void MOVE_30E0(ULO*opc_data); -static void MOVE_30E8(ULO*opc_data); -static void MOVE_30F0(ULO*opc_data); -static void MOVE_30F8(ULO*opc_data); -static void MOVE_30F9(ULO*opc_data); -static void MOVE_30FA(ULO*opc_data); -static void MOVE_30FB(ULO*opc_data); -static void MOVE_30FC(ULO*opc_data); -static void MOVE_3100(ULO*opc_data); -static void MOVE_3108(ULO*opc_data); -static void MOVE_3110(ULO*opc_data); -static void MOVE_3118(ULO*opc_data); -static void MOVE_3120(ULO*opc_data); -static void MOVE_3128(ULO*opc_data); -static void MOVE_3130(ULO*opc_data); -static void MOVE_3138(ULO*opc_data); -static void MOVE_3139(ULO*opc_data); -static void MOVE_313A(ULO*opc_data); -static void MOVE_313B(ULO*opc_data); -static void MOVE_313C(ULO*opc_data); -static void MOVE_3140(ULO*opc_data); -static void MOVE_3148(ULO*opc_data); -static void MOVE_3150(ULO*opc_data); -static void MOVE_3158(ULO*opc_data); -static void MOVE_3160(ULO*opc_data); -static void MOVE_3168(ULO*opc_data); -static void MOVE_3170(ULO*opc_data); -static void MOVE_3178(ULO*opc_data); -static void MOVE_3179(ULO*opc_data); -static void MOVE_317A(ULO*opc_data); -static void MOVE_317B(ULO*opc_data); -static void MOVE_317C(ULO*opc_data); -static void MOVE_3180(ULO*opc_data); -static void MOVE_3188(ULO*opc_data); -static void MOVE_3190(ULO*opc_data); -static void MOVE_3198(ULO*opc_data); -static void MOVE_31A0(ULO*opc_data); -static void MOVE_31A8(ULO*opc_data); -static void MOVE_31B0(ULO*opc_data); -static void MOVE_31B8(ULO*opc_data); -static void MOVE_31B9(ULO*opc_data); -static void MOVE_31BA(ULO*opc_data); -static void MOVE_31BB(ULO*opc_data); -static void MOVE_31BC(ULO*opc_data); -static void MOVE_31C0(ULO*opc_data); -static void MOVE_31C8(ULO*opc_data); -static void MOVE_31D0(ULO*opc_data); -static void MOVE_31D8(ULO*opc_data); -static void MOVE_31E0(ULO*opc_data); -static void MOVE_31E8(ULO*opc_data); -static void MOVE_31F0(ULO*opc_data); -static void MOVE_31F8(ULO*opc_data); -static void MOVE_31F9(ULO*opc_data); -static void MOVE_31FA(ULO*opc_data); -static void MOVE_31FB(ULO*opc_data); -static void MOVE_31FC(ULO*opc_data); -static void MOVE_33C0(ULO*opc_data); -static void MOVE_33C8(ULO*opc_data); -static void MOVE_33D0(ULO*opc_data); -static void MOVE_33D8(ULO*opc_data); -static void MOVE_33E0(ULO*opc_data); -static void MOVE_33E8(ULO*opc_data); -static void MOVE_33F0(ULO*opc_data); -static void MOVE_33F8(ULO*opc_data); -static void MOVE_33F9(ULO*opc_data); -static void MOVE_33FA(ULO*opc_data); -static void MOVE_33FB(ULO*opc_data); -static void MOVE_33FC(ULO*opc_data); -static void MOVE_2000(ULO*opc_data); -static void MOVE_2008(ULO*opc_data); -static void MOVE_2010(ULO*opc_data); -static void MOVE_2018(ULO*opc_data); -static void MOVE_2020(ULO*opc_data); -static void MOVE_2028(ULO*opc_data); -static void MOVE_2030(ULO*opc_data); -static void MOVE_2038(ULO*opc_data); -static void MOVE_2039(ULO*opc_data); -static void MOVE_203A(ULO*opc_data); -static void MOVE_203B(ULO*opc_data); -static void MOVE_203C(ULO*opc_data); -static void MOVE_2080(ULO*opc_data); -static void MOVE_2088(ULO*opc_data); -static void MOVE_2090(ULO*opc_data); -static void MOVE_2098(ULO*opc_data); -static void MOVE_20A0(ULO*opc_data); -static void MOVE_20A8(ULO*opc_data); -static void MOVE_20B0(ULO*opc_data); -static void MOVE_20B8(ULO*opc_data); -static void MOVE_20B9(ULO*opc_data); -static void MOVE_20BA(ULO*opc_data); -static void MOVE_20BB(ULO*opc_data); -static void MOVE_20BC(ULO*opc_data); -static void MOVE_20C0(ULO*opc_data); -static void MOVE_20C8(ULO*opc_data); -static void MOVE_20D0(ULO*opc_data); -static void MOVE_20D8(ULO*opc_data); -static void MOVE_20E0(ULO*opc_data); -static void MOVE_20E8(ULO*opc_data); -static void MOVE_20F0(ULO*opc_data); -static void MOVE_20F8(ULO*opc_data); -static void MOVE_20F9(ULO*opc_data); -static void MOVE_20FA(ULO*opc_data); -static void MOVE_20FB(ULO*opc_data); -static void MOVE_20FC(ULO*opc_data); -static void MOVE_2100(ULO*opc_data); -static void MOVE_2108(ULO*opc_data); -static void MOVE_2110(ULO*opc_data); -static void MOVE_2118(ULO*opc_data); -static void MOVE_2120(ULO*opc_data); -static void MOVE_2128(ULO*opc_data); -static void MOVE_2130(ULO*opc_data); -static void MOVE_2138(ULO*opc_data); -static void MOVE_2139(ULO*opc_data); -static void MOVE_213A(ULO*opc_data); -static void MOVE_213B(ULO*opc_data); -static void MOVE_213C(ULO*opc_data); -static void MOVE_2140(ULO*opc_data); -static void MOVE_2148(ULO*opc_data); -static void MOVE_2150(ULO*opc_data); -static void MOVE_2158(ULO*opc_data); -static void MOVE_2160(ULO*opc_data); -static void MOVE_2168(ULO*opc_data); -static void MOVE_2170(ULO*opc_data); -static void MOVE_2178(ULO*opc_data); -static void MOVE_2179(ULO*opc_data); -static void MOVE_217A(ULO*opc_data); -static void MOVE_217B(ULO*opc_data); -static void MOVE_217C(ULO*opc_data); -static void MOVE_2180(ULO*opc_data); -static void MOVE_2188(ULO*opc_data); -static void MOVE_2190(ULO*opc_data); -static void MOVE_2198(ULO*opc_data); -static void MOVE_21A0(ULO*opc_data); -static void MOVE_21A8(ULO*opc_data); -static void MOVE_21B0(ULO*opc_data); -static void MOVE_21B8(ULO*opc_data); -static void MOVE_21B9(ULO*opc_data); -static void MOVE_21BA(ULO*opc_data); -static void MOVE_21BB(ULO*opc_data); -static void MOVE_21BC(ULO*opc_data); -static void MOVE_21C0(ULO*opc_data); -static void MOVE_21C8(ULO*opc_data); -static void MOVE_21D0(ULO*opc_data); -static void MOVE_21D8(ULO*opc_data); -static void MOVE_21E0(ULO*opc_data); -static void MOVE_21E8(ULO*opc_data); -static void MOVE_21F0(ULO*opc_data); -static void MOVE_21F8(ULO*opc_data); -static void MOVE_21F9(ULO*opc_data); -static void MOVE_21FA(ULO*opc_data); -static void MOVE_21FB(ULO*opc_data); -static void MOVE_21FC(ULO*opc_data); -static void MOVE_23C0(ULO*opc_data); -static void MOVE_23C8(ULO*opc_data); -static void MOVE_23D0(ULO*opc_data); -static void MOVE_23D8(ULO*opc_data); -static void MOVE_23E0(ULO*opc_data); -static void MOVE_23E8(ULO*opc_data); -static void MOVE_23F0(ULO*opc_data); -static void MOVE_23F8(ULO*opc_data); -static void MOVE_23F9(ULO*opc_data); -static void MOVE_23FA(ULO*opc_data); -static void MOVE_23FB(ULO*opc_data); -static void MOVE_23FC(ULO*opc_data); -static void MOVEA_3040(ULO*opc_data); -static void MOVEA_3048(ULO*opc_data); -static void MOVEA_3050(ULO*opc_data); -static void MOVEA_3058(ULO*opc_data); -static void MOVEA_3060(ULO*opc_data); -static void MOVEA_3068(ULO*opc_data); -static void MOVEA_3070(ULO*opc_data); -static void MOVEA_3078(ULO*opc_data); -static void MOVEA_3079(ULO*opc_data); -static void MOVEA_307A(ULO*opc_data); -static void MOVEA_307B(ULO*opc_data); -static void MOVEA_307C(ULO*opc_data); -static void MOVEA_2040(ULO*opc_data); -static void MOVEA_2048(ULO*opc_data); -static void MOVEA_2050(ULO*opc_data); -static void MOVEA_2058(ULO*opc_data); -static void MOVEA_2060(ULO*opc_data); -static void MOVEA_2068(ULO*opc_data); -static void MOVEA_2070(ULO*opc_data); -static void MOVEA_2078(ULO*opc_data); -static void MOVEA_2079(ULO*opc_data); -static void MOVEA_207A(ULO*opc_data); -static void MOVEA_207B(ULO*opc_data); -static void MOVEA_207C(ULO*opc_data); -static void BCCB_6200(ULO*opc_data); -static void BCCB_6300(ULO*opc_data); -static void BCCB_6400(ULO*opc_data); -static void BCCB_6500(ULO*opc_data); -static void BCCB_6600(ULO*opc_data); -static void BCCB_6700(ULO*opc_data); -static void BCCB_6800(ULO*opc_data); -static void BCCB_6900(ULO*opc_data); -static void BCCB_6A00(ULO*opc_data); -static void BCCB_6B00(ULO*opc_data); -static void BCCB_6C00(ULO*opc_data); -static void BCCB_6D00(ULO*opc_data); -static void BCCB_6E00(ULO*opc_data); -static void BCCB_6F00(ULO*opc_data); -static void BCCW_6200(ULO*opc_data); -static void BCCW_6300(ULO*opc_data); -static void BCCW_6400(ULO*opc_data); -static void BCCW_6500(ULO*opc_data); -static void BCCW_6600(ULO*opc_data); -static void BCCW_6700(ULO*opc_data); -static void BCCW_6800(ULO*opc_data); -static void BCCW_6900(ULO*opc_data); -static void BCCW_6A00(ULO*opc_data); -static void BCCW_6B00(ULO*opc_data); -static void BCCW_6C00(ULO*opc_data); -static void BCCW_6D00(ULO*opc_data); -static void BCCW_6E00(ULO*opc_data); -static void BCCW_6F00(ULO*opc_data); -static void BCCL_62FF(ULO*opc_data); -static void BCCL_63FF(ULO*opc_data); -static void BCCL_64FF(ULO*opc_data); -static void BCCL_65FF(ULO*opc_data); -static void BCCL_66FF(ULO*opc_data); -static void BCCL_67FF(ULO*opc_data); -static void BCCL_68FF(ULO*opc_data); -static void BCCL_69FF(ULO*opc_data); -static void BCCL_6AFF(ULO*opc_data); -static void BCCL_6BFF(ULO*opc_data); -static void BCCL_6CFF(ULO*opc_data); -static void BCCL_6DFF(ULO*opc_data); -static void BCCL_6EFF(ULO*opc_data); -static void BCCL_6FFF(ULO*opc_data); -static void BKPT_4848(ULO*opc_data); -static void EXG_C140(ULO*opc_data); -static void EXG_C148(ULO*opc_data); -static void EXG_C188(ULO*opc_data); -static void EXT_4880(ULO*opc_data); -static void EXT_48C0(ULO*opc_data); -static void EXT_49C0(ULO*opc_data); -static void SWAP_4840(ULO*opc_data); -static void LINK_4E50(ULO*opc_data); -static void LINK_4808(ULO*opc_data); -static void UNLK_4E58(ULO*opc_data); -static void BRAB_6000(ULO*opc_data); -static void BRAW_6000(ULO*opc_data); -static void BRAL_60FF(ULO*opc_data); -static void BSRB_6100(ULO*opc_data); -static void BSRW_6100(ULO*opc_data); -static void BSRL_61FF(ULO*opc_data); -static void DBCC_50C8(ULO*opc_data); -static void DBCC_51C8(ULO*opc_data); -static void DBCC_52C8(ULO*opc_data); -static void DBCC_53C8(ULO*opc_data); -static void DBCC_54C8(ULO*opc_data); -static void DBCC_55C8(ULO*opc_data); -static void DBCC_56C8(ULO*opc_data); -static void DBCC_57C8(ULO*opc_data); -static void DBCC_58C8(ULO*opc_data); -static void DBCC_59C8(ULO*opc_data); -static void DBCC_5AC8(ULO*opc_data); -static void DBCC_5BC8(ULO*opc_data); -static void DBCC_5CC8(ULO*opc_data); -static void DBCC_5DC8(ULO*opc_data); -static void DBCC_5EC8(ULO*opc_data); -static void DBCC_5FC8(ULO*opc_data); -static void TRAPCC_50FC(ULO*opc_data); -static void TRAPCC_51FC(ULO*opc_data); -static void TRAPCC_52FC(ULO*opc_data); -static void TRAPCC_53FC(ULO*opc_data); -static void TRAPCC_54FC(ULO*opc_data); -static void TRAPCC_55FC(ULO*opc_data); -static void TRAPCC_56FC(ULO*opc_data); -static void TRAPCC_57FC(ULO*opc_data); -static void TRAPCC_58FC(ULO*opc_data); -static void TRAPCC_59FC(ULO*opc_data); -static void TRAPCC_5AFC(ULO*opc_data); -static void TRAPCC_5BFC(ULO*opc_data); -static void TRAPCC_5CFC(ULO*opc_data); -static void TRAPCC_5DFC(ULO*opc_data); -static void TRAPCC_5EFC(ULO*opc_data); -static void TRAPCC_5FFC(ULO*opc_data); -static void TRAPCC_50FA(ULO*opc_data); -static void TRAPCC_51FA(ULO*opc_data); -static void TRAPCC_52FA(ULO*opc_data); -static void TRAPCC_53FA(ULO*opc_data); -static void TRAPCC_54FA(ULO*opc_data); -static void TRAPCC_55FA(ULO*opc_data); -static void TRAPCC_56FA(ULO*opc_data); -static void TRAPCC_57FA(ULO*opc_data); -static void TRAPCC_58FA(ULO*opc_data); -static void TRAPCC_59FA(ULO*opc_data); -static void TRAPCC_5AFA(ULO*opc_data); -static void TRAPCC_5BFA(ULO*opc_data); -static void TRAPCC_5CFA(ULO*opc_data); -static void TRAPCC_5DFA(ULO*opc_data); -static void TRAPCC_5EFA(ULO*opc_data); -static void TRAPCC_5FFA(ULO*opc_data); -static void TRAPCC_50FB(ULO*opc_data); -static void TRAPCC_51FB(ULO*opc_data); -static void TRAPCC_52FB(ULO*opc_data); -static void TRAPCC_53FB(ULO*opc_data); -static void TRAPCC_54FB(ULO*opc_data); -static void TRAPCC_55FB(ULO*opc_data); -static void TRAPCC_56FB(ULO*opc_data); -static void TRAPCC_57FB(ULO*opc_data); -static void TRAPCC_58FB(ULO*opc_data); -static void TRAPCC_59FB(ULO*opc_data); -static void TRAPCC_5AFB(ULO*opc_data); -static void TRAPCC_5BFB(ULO*opc_data); -static void TRAPCC_5CFB(ULO*opc_data); -static void TRAPCC_5DFB(ULO*opc_data); -static void TRAPCC_5EFB(ULO*opc_data); -static void TRAPCC_5FFB(ULO*opc_data); -static void RTD_4E74(ULO*opc_data); -static void RTE_4E73(ULO*opc_data); -static void RTS_4E75(ULO*opc_data); -static void RTR_4E77(ULO*opc_data); -static void NOP_4E71(ULO*opc_data); -static void MOVEC_4E7A(ULO*opc_data); -static void MOVEC_4E7B(ULO*opc_data); -static void CAS2_0CFC(ULO*opc_data); -static void CAS2_0EFC(ULO*opc_data); -static void TRAP_4E40(ULO*opc_data); -static void TRAPV_4E76(ULO*opc_data); -static void STOP_4E72(ULO*opc_data); -static void RESET_4E70(ULO*opc_data); -static void MOVEUSP_4E60(ULO*opc_data); -static void MOVEUSP_4E68(ULO*opc_data); -static void CMPM_B108(ULO*opc_data); -static void CMPM_B148(ULO*opc_data); -static void CMPM_B188(ULO*opc_data); -static void RTM_06C0(ULO*opc_data); -static void PFLUSH040_F500(ULO*opc_data); -static void PTEST040_F548(ULO*opc_data); -static void ADDX_D100(ULO*opc_data); -static void ADDX_D140(ULO*opc_data); -static void ADDX_D180(ULO*opc_data); -static void ADDX_D108(ULO*opc_data); -static void ADDX_D148(ULO*opc_data); -static void ADDX_D188(ULO*opc_data); -static void SUBX_9100(ULO*opc_data); -static void SUBX_9140(ULO*opc_data); -static void SUBX_9180(ULO*opc_data); -static void SUBX_9108(ULO*opc_data); -static void SUBX_9148(ULO*opc_data); -static void SUBX_9188(ULO*opc_data); -static void ABCD_C100(ULO*opc_data); -static void ABCD_C108(ULO*opc_data); -static void SBCD_8100(ULO*opc_data); -static void SBCD_8108(ULO*opc_data); -static void LSL_E108(ULO*opc_data); -static void LSL_E148(ULO*opc_data); -static void LSL_E188(ULO*opc_data); -static void LSL_E128(ULO*opc_data); -static void LSL_E168(ULO*opc_data); -static void LSL_E1A8(ULO*opc_data); -static void LSL_E3D0(ULO*opc_data); -static void LSL_E3D8(ULO*opc_data); -static void LSL_E3E0(ULO*opc_data); -static void LSL_E3E8(ULO*opc_data); -static void LSL_E3F0(ULO*opc_data); -static void LSL_E3F8(ULO*opc_data); -static void LSL_E3F9(ULO*opc_data); -static void LSR_E008(ULO*opc_data); -static void LSR_E048(ULO*opc_data); -static void LSR_E088(ULO*opc_data); -static void LSR_E028(ULO*opc_data); -static void LSR_E068(ULO*opc_data); -static void LSR_E0A8(ULO*opc_data); -static void LSR_E2D0(ULO*opc_data); -static void LSR_E2D8(ULO*opc_data); -static void LSR_E2E0(ULO*opc_data); -static void LSR_E2E8(ULO*opc_data); -static void LSR_E2F0(ULO*opc_data); -static void LSR_E2F8(ULO*opc_data); -static void LSR_E2F9(ULO*opc_data); -static void ASL_E100(ULO*opc_data); -static void ASL_E140(ULO*opc_data); -static void ASL_E180(ULO*opc_data); -static void ASL_E120(ULO*opc_data); -static void ASL_E160(ULO*opc_data); -static void ASL_E1A0(ULO*opc_data); -static void ASL_E1D0(ULO*opc_data); -static void ASL_E1D8(ULO*opc_data); -static void ASL_E1E0(ULO*opc_data); -static void ASL_E1E8(ULO*opc_data); -static void ASL_E1F0(ULO*opc_data); -static void ASL_E1F8(ULO*opc_data); -static void ASL_E1F9(ULO*opc_data); -static void ASR_E000(ULO*opc_data); -static void ASR_E040(ULO*opc_data); -static void ASR_E080(ULO*opc_data); -static void ASR_E020(ULO*opc_data); -static void ASR_E060(ULO*opc_data); -static void ASR_E0A0(ULO*opc_data); -static void ASR_E0D0(ULO*opc_data); -static void ASR_E0D8(ULO*opc_data); -static void ASR_E0E0(ULO*opc_data); -static void ASR_E0E8(ULO*opc_data); -static void ASR_E0F0(ULO*opc_data); -static void ASR_E0F8(ULO*opc_data); -static void ASR_E0F9(ULO*opc_data); -static void ROL_E118(ULO*opc_data); -static void ROL_E158(ULO*opc_data); -static void ROL_E198(ULO*opc_data); -static void ROL_E138(ULO*opc_data); -static void ROL_E178(ULO*opc_data); -static void ROL_E1B8(ULO*opc_data); -static void ROL_E7D0(ULO*opc_data); -static void ROL_E7D8(ULO*opc_data); -static void ROL_E7E0(ULO*opc_data); -static void ROL_E7E8(ULO*opc_data); -static void ROL_E7F0(ULO*opc_data); -static void ROL_E7F8(ULO*opc_data); -static void ROL_E7F9(ULO*opc_data); -static void ROR_E018(ULO*opc_data); -static void ROR_E058(ULO*opc_data); -static void ROR_E098(ULO*opc_data); -static void ROR_E038(ULO*opc_data); -static void ROR_E078(ULO*opc_data); -static void ROR_E0B8(ULO*opc_data); -static void ROR_E6D0(ULO*opc_data); -static void ROR_E6D8(ULO*opc_data); -static void ROR_E6E0(ULO*opc_data); -static void ROR_E6E8(ULO*opc_data); -static void ROR_E6F0(ULO*opc_data); -static void ROR_E6F8(ULO*opc_data); -static void ROR_E6F9(ULO*opc_data); -static void ROXL_E110(ULO*opc_data); -static void ROXL_E150(ULO*opc_data); -static void ROXL_E190(ULO*opc_data); -static void ROXL_E130(ULO*opc_data); -static void ROXL_E170(ULO*opc_data); -static void ROXL_E1B0(ULO*opc_data); -static void ROXL_E5D0(ULO*opc_data); -static void ROXL_E5D8(ULO*opc_data); -static void ROXL_E5E0(ULO*opc_data); -static void ROXL_E5E8(ULO*opc_data); -static void ROXL_E5F0(ULO*opc_data); -static void ROXL_E5F8(ULO*opc_data); -static void ROXL_E5F9(ULO*opc_data); -static void ROXR_E010(ULO*opc_data); -static void ROXR_E050(ULO*opc_data); -static void ROXR_E090(ULO*opc_data); -static void ROXR_E030(ULO*opc_data); -static void ROXR_E070(ULO*opc_data); -static void ROXR_E0B0(ULO*opc_data); -static void ROXR_E4D0(ULO*opc_data); -static void ROXR_E4D8(ULO*opc_data); -static void ROXR_E4E0(ULO*opc_data); -static void ROXR_E4E8(ULO*opc_data); -static void ROXR_E4F0(ULO*opc_data); -static void ROXR_E4F8(ULO*opc_data); -static void ROXR_E4F9(ULO*opc_data); -static void MOVEP_0188(ULO*opc_data); -static void MOVEP_01C8(ULO*opc_data); -static void MOVEP_0108(ULO*opc_data); -static void MOVEP_0148(ULO*opc_data); -static void PACK_8140(ULO*opc_data); -static void PACK_8148(ULO*opc_data); -static void UNPK_8180(ULO*opc_data); -static void UNPK_8188(ULO*opc_data); -#endif +static void ADD_D000(uint32_t*opc_data); +static void ADD_D010(uint32_t*opc_data); +static void ADD_D018(uint32_t*opc_data); +static void ADD_D020(uint32_t*opc_data); +static void ADD_D028(uint32_t*opc_data); +static void ADD_D030(uint32_t*opc_data); +static void ADD_D038(uint32_t*opc_data); +static void ADD_D039(uint32_t*opc_data); +static void ADD_D03A(uint32_t*opc_data); +static void ADD_D03B(uint32_t*opc_data); +static void ADD_D03C(uint32_t*opc_data); +static void ADD_D040(uint32_t*opc_data); +static void ADD_D048(uint32_t*opc_data); +static void ADD_D050(uint32_t*opc_data); +static void ADD_D058(uint32_t*opc_data); +static void ADD_D060(uint32_t*opc_data); +static void ADD_D068(uint32_t*opc_data); +static void ADD_D070(uint32_t*opc_data); +static void ADD_D078(uint32_t*opc_data); +static void ADD_D079(uint32_t*opc_data); +static void ADD_D07A(uint32_t*opc_data); +static void ADD_D07B(uint32_t*opc_data); +static void ADD_D07C(uint32_t*opc_data); +static void ADD_D080(uint32_t*opc_data); +static void ADD_D088(uint32_t*opc_data); +static void ADD_D090(uint32_t*opc_data); +static void ADD_D098(uint32_t*opc_data); +static void ADD_D0A0(uint32_t*opc_data); +static void ADD_D0A8(uint32_t*opc_data); +static void ADD_D0B0(uint32_t*opc_data); +static void ADD_D0B8(uint32_t*opc_data); +static void ADD_D0B9(uint32_t*opc_data); +static void ADD_D0BA(uint32_t*opc_data); +static void ADD_D0BB(uint32_t*opc_data); +static void ADD_D0BC(uint32_t*opc_data); +static void ADD_D110(uint32_t*opc_data); +static void ADD_D118(uint32_t*opc_data); +static void ADD_D120(uint32_t*opc_data); +static void ADD_D128(uint32_t*opc_data); +static void ADD_D130(uint32_t*opc_data); +static void ADD_D138(uint32_t*opc_data); +static void ADD_D139(uint32_t*opc_data); +static void ADD_D150(uint32_t*opc_data); +static void ADD_D158(uint32_t*opc_data); +static void ADD_D160(uint32_t*opc_data); +static void ADD_D168(uint32_t*opc_data); +static void ADD_D170(uint32_t*opc_data); +static void ADD_D178(uint32_t*opc_data); +static void ADD_D179(uint32_t*opc_data); +static void ADD_D190(uint32_t*opc_data); +static void ADD_D198(uint32_t*opc_data); +static void ADD_D1A0(uint32_t*opc_data); +static void ADD_D1A8(uint32_t*opc_data); +static void ADD_D1B0(uint32_t*opc_data); +static void ADD_D1B8(uint32_t*opc_data); +static void ADD_D1B9(uint32_t*opc_data); +static void ADDA_D0C0(uint32_t*opc_data); +static void ADDA_D0C8(uint32_t*opc_data); +static void ADDA_D0D0(uint32_t*opc_data); +static void ADDA_D0D8(uint32_t*opc_data); +static void ADDA_D0E0(uint32_t*opc_data); +static void ADDA_D0E8(uint32_t*opc_data); +static void ADDA_D0F0(uint32_t*opc_data); +static void ADDA_D0F8(uint32_t*opc_data); +static void ADDA_D0F9(uint32_t*opc_data); +static void ADDA_D0FA(uint32_t*opc_data); +static void ADDA_D0FB(uint32_t*opc_data); +static void ADDA_D0FC(uint32_t*opc_data); +static void ADDA_D1C0(uint32_t*opc_data); +static void ADDA_D1C8(uint32_t*opc_data); +static void ADDA_D1D0(uint32_t*opc_data); +static void ADDA_D1D8(uint32_t*opc_data); +static void ADDA_D1E0(uint32_t*opc_data); +static void ADDA_D1E8(uint32_t*opc_data); +static void ADDA_D1F0(uint32_t*opc_data); +static void ADDA_D1F8(uint32_t*opc_data); +static void ADDA_D1F9(uint32_t*opc_data); +static void ADDA_D1FA(uint32_t*opc_data); +static void ADDA_D1FB(uint32_t*opc_data); +static void ADDA_D1FC(uint32_t*opc_data); +static void ADDI_0600(uint32_t*opc_data); +static void ADDI_0610(uint32_t*opc_data); +static void ADDI_0618(uint32_t*opc_data); +static void ADDI_0620(uint32_t*opc_data); +static void ADDI_0628(uint32_t*opc_data); +static void ADDI_0630(uint32_t*opc_data); +static void ADDI_0638(uint32_t*opc_data); +static void ADDI_0639(uint32_t*opc_data); +static void ADDI_0640(uint32_t*opc_data); +static void ADDI_0650(uint32_t*opc_data); +static void ADDI_0658(uint32_t*opc_data); +static void ADDI_0660(uint32_t*opc_data); +static void ADDI_0668(uint32_t*opc_data); +static void ADDI_0670(uint32_t*opc_data); +static void ADDI_0678(uint32_t*opc_data); +static void ADDI_0679(uint32_t*opc_data); +static void ADDI_0680(uint32_t*opc_data); +static void ADDI_0690(uint32_t*opc_data); +static void ADDI_0698(uint32_t*opc_data); +static void ADDI_06A0(uint32_t*opc_data); +static void ADDI_06A8(uint32_t*opc_data); +static void ADDI_06B0(uint32_t*opc_data); +static void ADDI_06B8(uint32_t*opc_data); +static void ADDI_06B9(uint32_t*opc_data); +static void ADDQ_5000(uint32_t*opc_data); +static void ADDQ_5010(uint32_t*opc_data); +static void ADDQ_5018(uint32_t*opc_data); +static void ADDQ_5020(uint32_t*opc_data); +static void ADDQ_5028(uint32_t*opc_data); +static void ADDQ_5030(uint32_t*opc_data); +static void ADDQ_5038(uint32_t*opc_data); +static void ADDQ_5039(uint32_t*opc_data); +static void ADDQ_5040(uint32_t*opc_data); +static void ADDQ_5050(uint32_t*opc_data); +static void ADDQ_5058(uint32_t*opc_data); +static void ADDQ_5060(uint32_t*opc_data); +static void ADDQ_5068(uint32_t*opc_data); +static void ADDQ_5070(uint32_t*opc_data); +static void ADDQ_5078(uint32_t*opc_data); +static void ADDQ_5079(uint32_t*opc_data); +static void ADDQ_5080(uint32_t*opc_data); +static void ADDQ_5090(uint32_t*opc_data); +static void ADDQ_5098(uint32_t*opc_data); +static void ADDQ_50A0(uint32_t*opc_data); +static void ADDQ_50A8(uint32_t*opc_data); +static void ADDQ_50B0(uint32_t*opc_data); +static void ADDQ_50B8(uint32_t*opc_data); +static void ADDQ_50B9(uint32_t*opc_data); +static void ADDQ_5048(uint32_t*opc_data); +static void ADDQ_5088(uint32_t*opc_data); +static void AND_C000(uint32_t*opc_data); +static void AND_C010(uint32_t*opc_data); +static void AND_C018(uint32_t*opc_data); +static void AND_C020(uint32_t*opc_data); +static void AND_C028(uint32_t*opc_data); +static void AND_C030(uint32_t*opc_data); +static void AND_C038(uint32_t*opc_data); +static void AND_C039(uint32_t*opc_data); +static void AND_C03A(uint32_t*opc_data); +static void AND_C03B(uint32_t*opc_data); +static void AND_C03C(uint32_t*opc_data); +static void AND_C040(uint32_t*opc_data); +static void AND_C050(uint32_t*opc_data); +static void AND_C058(uint32_t*opc_data); +static void AND_C060(uint32_t*opc_data); +static void AND_C068(uint32_t*opc_data); +static void AND_C070(uint32_t*opc_data); +static void AND_C078(uint32_t*opc_data); +static void AND_C079(uint32_t*opc_data); +static void AND_C07A(uint32_t*opc_data); +static void AND_C07B(uint32_t*opc_data); +static void AND_C07C(uint32_t*opc_data); +static void AND_C080(uint32_t*opc_data); +static void AND_C090(uint32_t*opc_data); +static void AND_C098(uint32_t*opc_data); +static void AND_C0A0(uint32_t*opc_data); +static void AND_C0A8(uint32_t*opc_data); +static void AND_C0B0(uint32_t*opc_data); +static void AND_C0B8(uint32_t*opc_data); +static void AND_C0B9(uint32_t*opc_data); +static void AND_C0BA(uint32_t*opc_data); +static void AND_C0BB(uint32_t*opc_data); +static void AND_C0BC(uint32_t*opc_data); +static void AND_C110(uint32_t*opc_data); +static void AND_C118(uint32_t*opc_data); +static void AND_C120(uint32_t*opc_data); +static void AND_C128(uint32_t*opc_data); +static void AND_C130(uint32_t*opc_data); +static void AND_C138(uint32_t*opc_data); +static void AND_C139(uint32_t*opc_data); +static void AND_C150(uint32_t*opc_data); +static void AND_C158(uint32_t*opc_data); +static void AND_C160(uint32_t*opc_data); +static void AND_C168(uint32_t*opc_data); +static void AND_C170(uint32_t*opc_data); +static void AND_C178(uint32_t*opc_data); +static void AND_C179(uint32_t*opc_data); +static void AND_C190(uint32_t*opc_data); +static void AND_C198(uint32_t*opc_data); +static void AND_C1A0(uint32_t*opc_data); +static void AND_C1A8(uint32_t*opc_data); +static void AND_C1B0(uint32_t*opc_data); +static void AND_C1B8(uint32_t*opc_data); +static void AND_C1B9(uint32_t*opc_data); +static void ANDI_0200(uint32_t*opc_data); +static void ANDI_0210(uint32_t*opc_data); +static void ANDI_0218(uint32_t*opc_data); +static void ANDI_0220(uint32_t*opc_data); +static void ANDI_0228(uint32_t*opc_data); +static void ANDI_0230(uint32_t*opc_data); +static void ANDI_0238(uint32_t*opc_data); +static void ANDI_0239(uint32_t*opc_data); +static void ANDI_0240(uint32_t*opc_data); +static void ANDI_0250(uint32_t*opc_data); +static void ANDI_0258(uint32_t*opc_data); +static void ANDI_0260(uint32_t*opc_data); +static void ANDI_0268(uint32_t*opc_data); +static void ANDI_0270(uint32_t*opc_data); +static void ANDI_0278(uint32_t*opc_data); +static void ANDI_0279(uint32_t*opc_data); +static void ANDI_0280(uint32_t*opc_data); +static void ANDI_0290(uint32_t*opc_data); +static void ANDI_0298(uint32_t*opc_data); +static void ANDI_02A0(uint32_t*opc_data); +static void ANDI_02A8(uint32_t*opc_data); +static void ANDI_02B0(uint32_t*opc_data); +static void ANDI_02B8(uint32_t*opc_data); +static void ANDI_02B9(uint32_t*opc_data); +static void ANDI_023C(uint32_t*opc_data); +static void ANDI_027C(uint32_t*opc_data); +static void EOR_B100(uint32_t*opc_data); +static void EOR_B110(uint32_t*opc_data); +static void EOR_B118(uint32_t*opc_data); +static void EOR_B120(uint32_t*opc_data); +static void EOR_B128(uint32_t*opc_data); +static void EOR_B130(uint32_t*opc_data); +static void EOR_B138(uint32_t*opc_data); +static void EOR_B139(uint32_t*opc_data); +static void EOR_B140(uint32_t*opc_data); +static void EOR_B150(uint32_t*opc_data); +static void EOR_B158(uint32_t*opc_data); +static void EOR_B160(uint32_t*opc_data); +static void EOR_B168(uint32_t*opc_data); +static void EOR_B170(uint32_t*opc_data); +static void EOR_B178(uint32_t*opc_data); +static void EOR_B179(uint32_t*opc_data); +static void EOR_B180(uint32_t*opc_data); +static void EOR_B190(uint32_t*opc_data); +static void EOR_B198(uint32_t*opc_data); +static void EOR_B1A0(uint32_t*opc_data); +static void EOR_B1A8(uint32_t*opc_data); +static void EOR_B1B0(uint32_t*opc_data); +static void EOR_B1B8(uint32_t*opc_data); +static void EOR_B1B9(uint32_t*opc_data); +static void EORI_0A00(uint32_t*opc_data); +static void EORI_0A10(uint32_t*opc_data); +static void EORI_0A18(uint32_t*opc_data); +static void EORI_0A20(uint32_t*opc_data); +static void EORI_0A28(uint32_t*opc_data); +static void EORI_0A30(uint32_t*opc_data); +static void EORI_0A38(uint32_t*opc_data); +static void EORI_0A39(uint32_t*opc_data); +static void EORI_0A40(uint32_t*opc_data); +static void EORI_0A50(uint32_t*opc_data); +static void EORI_0A58(uint32_t*opc_data); +static void EORI_0A60(uint32_t*opc_data); +static void EORI_0A68(uint32_t*opc_data); +static void EORI_0A70(uint32_t*opc_data); +static void EORI_0A78(uint32_t*opc_data); +static void EORI_0A79(uint32_t*opc_data); +static void EORI_0A80(uint32_t*opc_data); +static void EORI_0A90(uint32_t*opc_data); +static void EORI_0A98(uint32_t*opc_data); +static void EORI_0AA0(uint32_t*opc_data); +static void EORI_0AA8(uint32_t*opc_data); +static void EORI_0AB0(uint32_t*opc_data); +static void EORI_0AB8(uint32_t*opc_data); +static void EORI_0AB9(uint32_t*opc_data); +static void EORI_0A3C(uint32_t*opc_data); +static void EORI_0A7C(uint32_t*opc_data); +static void OR_8000(uint32_t*opc_data); +static void OR_8010(uint32_t*opc_data); +static void OR_8018(uint32_t*opc_data); +static void OR_8020(uint32_t*opc_data); +static void OR_8028(uint32_t*opc_data); +static void OR_8030(uint32_t*opc_data); +static void OR_8038(uint32_t*opc_data); +static void OR_8039(uint32_t*opc_data); +static void OR_803A(uint32_t*opc_data); +static void OR_803B(uint32_t*opc_data); +static void OR_803C(uint32_t*opc_data); +static void OR_8040(uint32_t*opc_data); +static void OR_8050(uint32_t*opc_data); +static void OR_8058(uint32_t*opc_data); +static void OR_8060(uint32_t*opc_data); +static void OR_8068(uint32_t*opc_data); +static void OR_8070(uint32_t*opc_data); +static void OR_8078(uint32_t*opc_data); +static void OR_8079(uint32_t*opc_data); +static void OR_807A(uint32_t*opc_data); +static void OR_807B(uint32_t*opc_data); +static void OR_807C(uint32_t*opc_data); +static void OR_8080(uint32_t*opc_data); +static void OR_8090(uint32_t*opc_data); +static void OR_8098(uint32_t*opc_data); +static void OR_80A0(uint32_t*opc_data); +static void OR_80A8(uint32_t*opc_data); +static void OR_80B0(uint32_t*opc_data); +static void OR_80B8(uint32_t*opc_data); +static void OR_80B9(uint32_t*opc_data); +static void OR_80BA(uint32_t*opc_data); +static void OR_80BB(uint32_t*opc_data); +static void OR_80BC(uint32_t*opc_data); +static void OR_8110(uint32_t*opc_data); +static void OR_8118(uint32_t*opc_data); +static void OR_8120(uint32_t*opc_data); +static void OR_8128(uint32_t*opc_data); +static void OR_8130(uint32_t*opc_data); +static void OR_8138(uint32_t*opc_data); +static void OR_8139(uint32_t*opc_data); +static void OR_8150(uint32_t*opc_data); +static void OR_8158(uint32_t*opc_data); +static void OR_8160(uint32_t*opc_data); +static void OR_8168(uint32_t*opc_data); +static void OR_8170(uint32_t*opc_data); +static void OR_8178(uint32_t*opc_data); +static void OR_8179(uint32_t*opc_data); +static void OR_8190(uint32_t*opc_data); +static void OR_8198(uint32_t*opc_data); +static void OR_81A0(uint32_t*opc_data); +static void OR_81A8(uint32_t*opc_data); +static void OR_81B0(uint32_t*opc_data); +static void OR_81B8(uint32_t*opc_data); +static void OR_81B9(uint32_t*opc_data); +static void ORI_0000(uint32_t*opc_data); +static void ORI_0010(uint32_t*opc_data); +static void ORI_0018(uint32_t*opc_data); +static void ORI_0020(uint32_t*opc_data); +static void ORI_0028(uint32_t*opc_data); +static void ORI_0030(uint32_t*opc_data); +static void ORI_0038(uint32_t*opc_data); +static void ORI_0039(uint32_t*opc_data); +static void ORI_0040(uint32_t*opc_data); +static void ORI_0050(uint32_t*opc_data); +static void ORI_0058(uint32_t*opc_data); +static void ORI_0060(uint32_t*opc_data); +static void ORI_0068(uint32_t*opc_data); +static void ORI_0070(uint32_t*opc_data); +static void ORI_0078(uint32_t*opc_data); +static void ORI_0079(uint32_t*opc_data); +static void ORI_0080(uint32_t*opc_data); +static void ORI_0090(uint32_t*opc_data); +static void ORI_0098(uint32_t*opc_data); +static void ORI_00A0(uint32_t*opc_data); +static void ORI_00A8(uint32_t*opc_data); +static void ORI_00B0(uint32_t*opc_data); +static void ORI_00B8(uint32_t*opc_data); +static void ORI_00B9(uint32_t*opc_data); +static void ORI_003C(uint32_t*opc_data); +static void ORI_007C(uint32_t*opc_data); +static void SUB_9000(uint32_t*opc_data); +static void SUB_9010(uint32_t*opc_data); +static void SUB_9018(uint32_t*opc_data); +static void SUB_9020(uint32_t*opc_data); +static void SUB_9028(uint32_t*opc_data); +static void SUB_9030(uint32_t*opc_data); +static void SUB_9038(uint32_t*opc_data); +static void SUB_9039(uint32_t*opc_data); +static void SUB_903A(uint32_t*opc_data); +static void SUB_903B(uint32_t*opc_data); +static void SUB_903C(uint32_t*opc_data); +static void SUB_9040(uint32_t*opc_data); +static void SUB_9048(uint32_t*opc_data); +static void SUB_9050(uint32_t*opc_data); +static void SUB_9058(uint32_t*opc_data); +static void SUB_9060(uint32_t*opc_data); +static void SUB_9068(uint32_t*opc_data); +static void SUB_9070(uint32_t*opc_data); +static void SUB_9078(uint32_t*opc_data); +static void SUB_9079(uint32_t*opc_data); +static void SUB_907A(uint32_t*opc_data); +static void SUB_907B(uint32_t*opc_data); +static void SUB_907C(uint32_t*opc_data); +static void SUB_9080(uint32_t*opc_data); +static void SUB_9088(uint32_t*opc_data); +static void SUB_9090(uint32_t*opc_data); +static void SUB_9098(uint32_t*opc_data); +static void SUB_90A0(uint32_t*opc_data); +static void SUB_90A8(uint32_t*opc_data); +static void SUB_90B0(uint32_t*opc_data); +static void SUB_90B8(uint32_t*opc_data); +static void SUB_90B9(uint32_t*opc_data); +static void SUB_90BA(uint32_t*opc_data); +static void SUB_90BB(uint32_t*opc_data); +static void SUB_90BC(uint32_t*opc_data); +static void SUB_9110(uint32_t*opc_data); +static void SUB_9118(uint32_t*opc_data); +static void SUB_9120(uint32_t*opc_data); +static void SUB_9128(uint32_t*opc_data); +static void SUB_9130(uint32_t*opc_data); +static void SUB_9138(uint32_t*opc_data); +static void SUB_9139(uint32_t*opc_data); +static void SUB_9150(uint32_t*opc_data); +static void SUB_9158(uint32_t*opc_data); +static void SUB_9160(uint32_t*opc_data); +static void SUB_9168(uint32_t*opc_data); +static void SUB_9170(uint32_t*opc_data); +static void SUB_9178(uint32_t*opc_data); +static void SUB_9179(uint32_t*opc_data); +static void SUB_9190(uint32_t*opc_data); +static void SUB_9198(uint32_t*opc_data); +static void SUB_91A0(uint32_t*opc_data); +static void SUB_91A8(uint32_t*opc_data); +static void SUB_91B0(uint32_t*opc_data); +static void SUB_91B8(uint32_t*opc_data); +static void SUB_91B9(uint32_t*opc_data); +static void SUBA_90C0(uint32_t*opc_data); +static void SUBA_90C8(uint32_t*opc_data); +static void SUBA_90D0(uint32_t*opc_data); +static void SUBA_90D8(uint32_t*opc_data); +static void SUBA_90E0(uint32_t*opc_data); +static void SUBA_90E8(uint32_t*opc_data); +static void SUBA_90F0(uint32_t*opc_data); +static void SUBA_90F8(uint32_t*opc_data); +static void SUBA_90F9(uint32_t*opc_data); +static void SUBA_90FA(uint32_t*opc_data); +static void SUBA_90FB(uint32_t*opc_data); +static void SUBA_90FC(uint32_t*opc_data); +static void SUBA_91C0(uint32_t*opc_data); +static void SUBA_91C8(uint32_t*opc_data); +static void SUBA_91D0(uint32_t*opc_data); +static void SUBA_91D8(uint32_t*opc_data); +static void SUBA_91E0(uint32_t*opc_data); +static void SUBA_91E8(uint32_t*opc_data); +static void SUBA_91F0(uint32_t*opc_data); +static void SUBA_91F8(uint32_t*opc_data); +static void SUBA_91F9(uint32_t*opc_data); +static void SUBA_91FA(uint32_t*opc_data); +static void SUBA_91FB(uint32_t*opc_data); +static void SUBA_91FC(uint32_t*opc_data); +static void SUBI_0400(uint32_t*opc_data); +static void SUBI_0410(uint32_t*opc_data); +static void SUBI_0418(uint32_t*opc_data); +static void SUBI_0420(uint32_t*opc_data); +static void SUBI_0428(uint32_t*opc_data); +static void SUBI_0430(uint32_t*opc_data); +static void SUBI_0438(uint32_t*opc_data); +static void SUBI_0439(uint32_t*opc_data); +static void SUBI_0440(uint32_t*opc_data); +static void SUBI_0450(uint32_t*opc_data); +static void SUBI_0458(uint32_t*opc_data); +static void SUBI_0460(uint32_t*opc_data); +static void SUBI_0468(uint32_t*opc_data); +static void SUBI_0470(uint32_t*opc_data); +static void SUBI_0478(uint32_t*opc_data); +static void SUBI_0479(uint32_t*opc_data); +static void SUBI_0480(uint32_t*opc_data); +static void SUBI_0490(uint32_t*opc_data); +static void SUBI_0498(uint32_t*opc_data); +static void SUBI_04A0(uint32_t*opc_data); +static void SUBI_04A8(uint32_t*opc_data); +static void SUBI_04B0(uint32_t*opc_data); +static void SUBI_04B8(uint32_t*opc_data); +static void SUBI_04B9(uint32_t*opc_data); +static void SUBQ_5100(uint32_t*opc_data); +static void SUBQ_5110(uint32_t*opc_data); +static void SUBQ_5118(uint32_t*opc_data); +static void SUBQ_5120(uint32_t*opc_data); +static void SUBQ_5128(uint32_t*opc_data); +static void SUBQ_5130(uint32_t*opc_data); +static void SUBQ_5138(uint32_t*opc_data); +static void SUBQ_5139(uint32_t*opc_data); +static void SUBQ_5140(uint32_t*opc_data); +static void SUBQ_5150(uint32_t*opc_data); +static void SUBQ_5158(uint32_t*opc_data); +static void SUBQ_5160(uint32_t*opc_data); +static void SUBQ_5168(uint32_t*opc_data); +static void SUBQ_5170(uint32_t*opc_data); +static void SUBQ_5178(uint32_t*opc_data); +static void SUBQ_5179(uint32_t*opc_data); +static void SUBQ_5180(uint32_t*opc_data); +static void SUBQ_5190(uint32_t*opc_data); +static void SUBQ_5198(uint32_t*opc_data); +static void SUBQ_51A0(uint32_t*opc_data); +static void SUBQ_51A8(uint32_t*opc_data); +static void SUBQ_51B0(uint32_t*opc_data); +static void SUBQ_51B8(uint32_t*opc_data); +static void SUBQ_51B9(uint32_t*opc_data); +static void SUBQ_5148(uint32_t*opc_data); +static void SUBQ_5188(uint32_t*opc_data); +static void CHK_4180(uint32_t*opc_data); +static void CHK_4190(uint32_t*opc_data); +static void CHK_4198(uint32_t*opc_data); +static void CHK_41A0(uint32_t*opc_data); +static void CHK_41A8(uint32_t*opc_data); +static void CHK_41B0(uint32_t*opc_data); +static void CHK_41B8(uint32_t*opc_data); +static void CHK_41B9(uint32_t*opc_data); +static void CHK_41BA(uint32_t*opc_data); +static void CHK_41BB(uint32_t*opc_data); +static void CHK_41BC(uint32_t*opc_data); +static void CHK_4100(uint32_t*opc_data); +static void CHK_4110(uint32_t*opc_data); +static void CHK_4118(uint32_t*opc_data); +static void CHK_4120(uint32_t*opc_data); +static void CHK_4128(uint32_t*opc_data); +static void CHK_4130(uint32_t*opc_data); +static void CHK_4138(uint32_t*opc_data); +static void CHK_4139(uint32_t*opc_data); +static void CHK_413A(uint32_t*opc_data); +static void CHK_413B(uint32_t*opc_data); +static void CHK_413C(uint32_t*opc_data); +static void CMP_B000(uint32_t*opc_data); +static void CMP_B010(uint32_t*opc_data); +static void CMP_B018(uint32_t*opc_data); +static void CMP_B020(uint32_t*opc_data); +static void CMP_B028(uint32_t*opc_data); +static void CMP_B030(uint32_t*opc_data); +static void CMP_B038(uint32_t*opc_data); +static void CMP_B039(uint32_t*opc_data); +static void CMP_B03A(uint32_t*opc_data); +static void CMP_B03B(uint32_t*opc_data); +static void CMP_B03C(uint32_t*opc_data); +static void CMP_B040(uint32_t*opc_data); +static void CMP_B048(uint32_t*opc_data); +static void CMP_B050(uint32_t*opc_data); +static void CMP_B058(uint32_t*opc_data); +static void CMP_B060(uint32_t*opc_data); +static void CMP_B068(uint32_t*opc_data); +static void CMP_B070(uint32_t*opc_data); +static void CMP_B078(uint32_t*opc_data); +static void CMP_B079(uint32_t*opc_data); +static void CMP_B07A(uint32_t*opc_data); +static void CMP_B07B(uint32_t*opc_data); +static void CMP_B07C(uint32_t*opc_data); +static void CMP_B080(uint32_t*opc_data); +static void CMP_B088(uint32_t*opc_data); +static void CMP_B090(uint32_t*opc_data); +static void CMP_B098(uint32_t*opc_data); +static void CMP_B0A0(uint32_t*opc_data); +static void CMP_B0A8(uint32_t*opc_data); +static void CMP_B0B0(uint32_t*opc_data); +static void CMP_B0B8(uint32_t*opc_data); +static void CMP_B0B9(uint32_t*opc_data); +static void CMP_B0BA(uint32_t*opc_data); +static void CMP_B0BB(uint32_t*opc_data); +static void CMP_B0BC(uint32_t*opc_data); +static void CMPA_B0C0(uint32_t*opc_data); +static void CMPA_B0C8(uint32_t*opc_data); +static void CMPA_B0D0(uint32_t*opc_data); +static void CMPA_B0D8(uint32_t*opc_data); +static void CMPA_B0E0(uint32_t*opc_data); +static void CMPA_B0E8(uint32_t*opc_data); +static void CMPA_B0F0(uint32_t*opc_data); +static void CMPA_B0F8(uint32_t*opc_data); +static void CMPA_B0F9(uint32_t*opc_data); +static void CMPA_B0FA(uint32_t*opc_data); +static void CMPA_B0FB(uint32_t*opc_data); +static void CMPA_B0FC(uint32_t*opc_data); +static void CMPA_B1C0(uint32_t*opc_data); +static void CMPA_B1C8(uint32_t*opc_data); +static void CMPA_B1D0(uint32_t*opc_data); +static void CMPA_B1D8(uint32_t*opc_data); +static void CMPA_B1E0(uint32_t*opc_data); +static void CMPA_B1E8(uint32_t*opc_data); +static void CMPA_B1F0(uint32_t*opc_data); +static void CMPA_B1F8(uint32_t*opc_data); +static void CMPA_B1F9(uint32_t*opc_data); +static void CMPA_B1FA(uint32_t*opc_data); +static void CMPA_B1FB(uint32_t*opc_data); +static void CMPA_B1FC(uint32_t*opc_data); +static void CMPI_0C00(uint32_t*opc_data); +static void CMPI_0C10(uint32_t*opc_data); +static void CMPI_0C18(uint32_t*opc_data); +static void CMPI_0C20(uint32_t*opc_data); +static void CMPI_0C28(uint32_t*opc_data); +static void CMPI_0C30(uint32_t*opc_data); +static void CMPI_0C38(uint32_t*opc_data); +static void CMPI_0C39(uint32_t*opc_data); +static void CMPI_0C40(uint32_t*opc_data); +static void CMPI_0C50(uint32_t*opc_data); +static void CMPI_0C58(uint32_t*opc_data); +static void CMPI_0C60(uint32_t*opc_data); +static void CMPI_0C68(uint32_t*opc_data); +static void CMPI_0C70(uint32_t*opc_data); +static void CMPI_0C78(uint32_t*opc_data); +static void CMPI_0C79(uint32_t*opc_data); +static void CMPI_0C80(uint32_t*opc_data); +static void CMPI_0C90(uint32_t*opc_data); +static void CMPI_0C98(uint32_t*opc_data); +static void CMPI_0CA0(uint32_t*opc_data); +static void CMPI_0CA8(uint32_t*opc_data); +static void CMPI_0CB0(uint32_t*opc_data); +static void CMPI_0CB8(uint32_t*opc_data); +static void CMPI_0CB9(uint32_t*opc_data); +static void CMPI_0C3A(uint32_t*opc_data); +static void CMPI_0C3B(uint32_t*opc_data); +static void CMPI_0C7A(uint32_t*opc_data); +static void CMPI_0C7B(uint32_t*opc_data); +static void CMPI_0CBA(uint32_t*opc_data); +static void CMPI_0CBB(uint32_t*opc_data); +static void BCHG_0150(uint32_t*opc_data); +static void BCHG_0158(uint32_t*opc_data); +static void BCHG_0160(uint32_t*opc_data); +static void BCHG_0168(uint32_t*opc_data); +static void BCHG_0170(uint32_t*opc_data); +static void BCHG_0178(uint32_t*opc_data); +static void BCHG_0179(uint32_t*opc_data); +static void BCHG_0140(uint32_t*opc_data); +static void BCHG_0850(uint32_t*opc_data); +static void BCHG_0858(uint32_t*opc_data); +static void BCHG_0860(uint32_t*opc_data); +static void BCHG_0868(uint32_t*opc_data); +static void BCHG_0870(uint32_t*opc_data); +static void BCHG_0878(uint32_t*opc_data); +static void BCHG_0879(uint32_t*opc_data); +static void BCHG_0840(uint32_t*opc_data); +static void BCLR_0190(uint32_t*opc_data); +static void BCLR_0198(uint32_t*opc_data); +static void BCLR_01A0(uint32_t*opc_data); +static void BCLR_01A8(uint32_t*opc_data); +static void BCLR_01B0(uint32_t*opc_data); +static void BCLR_01B8(uint32_t*opc_data); +static void BCLR_01B9(uint32_t*opc_data); +static void BCLR_0180(uint32_t*opc_data); +static void BCLR_0890(uint32_t*opc_data); +static void BCLR_0898(uint32_t*opc_data); +static void BCLR_08A0(uint32_t*opc_data); +static void BCLR_08A8(uint32_t*opc_data); +static void BCLR_08B0(uint32_t*opc_data); +static void BCLR_08B8(uint32_t*opc_data); +static void BCLR_08B9(uint32_t*opc_data); +static void BCLR_0880(uint32_t*opc_data); +static void BSET_01D0(uint32_t*opc_data); +static void BSET_01D8(uint32_t*opc_data); +static void BSET_01E0(uint32_t*opc_data); +static void BSET_01E8(uint32_t*opc_data); +static void BSET_01F0(uint32_t*opc_data); +static void BSET_01F8(uint32_t*opc_data); +static void BSET_01F9(uint32_t*opc_data); +static void BSET_01C0(uint32_t*opc_data); +static void BSET_08D0(uint32_t*opc_data); +static void BSET_08D8(uint32_t*opc_data); +static void BSET_08E0(uint32_t*opc_data); +static void BSET_08E8(uint32_t*opc_data); +static void BSET_08F0(uint32_t*opc_data); +static void BSET_08F8(uint32_t*opc_data); +static void BSET_08F9(uint32_t*opc_data); +static void BSET_08C0(uint32_t*opc_data); +static void BTST_0110(uint32_t*opc_data); +static void BTST_0118(uint32_t*opc_data); +static void BTST_0120(uint32_t*opc_data); +static void BTST_0128(uint32_t*opc_data); +static void BTST_0130(uint32_t*opc_data); +static void BTST_0138(uint32_t*opc_data); +static void BTST_0139(uint32_t*opc_data); +static void BTST_013A(uint32_t*opc_data); +static void BTST_013B(uint32_t*opc_data); +static void BTST_013C(uint32_t*opc_data); +static void BTST_0100(uint32_t*opc_data); +static void BTST_0810(uint32_t*opc_data); +static void BTST_0818(uint32_t*opc_data); +static void BTST_0820(uint32_t*opc_data); +static void BTST_0828(uint32_t*opc_data); +static void BTST_0830(uint32_t*opc_data); +static void BTST_0838(uint32_t*opc_data); +static void BTST_0839(uint32_t*opc_data); +static void BTST_083A(uint32_t*opc_data); +static void BTST_083B(uint32_t*opc_data); +static void BTST_0800(uint32_t*opc_data); +static void LEA_41D0(uint32_t*opc_data); +static void LEA_41E8(uint32_t*opc_data); +static void LEA_41F0(uint32_t*opc_data); +static void LEA_41F8(uint32_t*opc_data); +static void LEA_41F9(uint32_t*opc_data); +static void LEA_41FA(uint32_t*opc_data); +static void LEA_41FB(uint32_t*opc_data); +static void MULS_C1C0(uint32_t*opc_data); +static void MULS_C1D0(uint32_t*opc_data); +static void MULS_C1D8(uint32_t*opc_data); +static void MULS_C1E0(uint32_t*opc_data); +static void MULS_C1E8(uint32_t*opc_data); +static void MULS_C1F0(uint32_t*opc_data); +static void MULS_C1F8(uint32_t*opc_data); +static void MULS_C1F9(uint32_t*opc_data); +static void MULS_C1FA(uint32_t*opc_data); +static void MULS_C1FB(uint32_t*opc_data); +static void MULS_C1FC(uint32_t*opc_data); +static void MULU_C0C0(uint32_t*opc_data); +static void MULU_C0D0(uint32_t*opc_data); +static void MULU_C0D8(uint32_t*opc_data); +static void MULU_C0E0(uint32_t*opc_data); +static void MULU_C0E8(uint32_t*opc_data); +static void MULU_C0F0(uint32_t*opc_data); +static void MULU_C0F8(uint32_t*opc_data); +static void MULU_C0F9(uint32_t*opc_data); +static void MULU_C0FA(uint32_t*opc_data); +static void MULU_C0FB(uint32_t*opc_data); +static void MULU_C0FC(uint32_t*opc_data); +static void DIVS_81C0(uint32_t*opc_data); +static void DIVS_81D0(uint32_t*opc_data); +static void DIVS_81D8(uint32_t*opc_data); +static void DIVS_81E0(uint32_t*opc_data); +static void DIVS_81E8(uint32_t*opc_data); +static void DIVS_81F0(uint32_t*opc_data); +static void DIVS_81F8(uint32_t*opc_data); +static void DIVS_81F9(uint32_t*opc_data); +static void DIVS_81FA(uint32_t*opc_data); +static void DIVS_81FB(uint32_t*opc_data); +static void DIVS_81FC(uint32_t*opc_data); +static void DIVL_4C40(uint32_t*opc_data); +static void DIVL_4C50(uint32_t*opc_data); +static void DIVL_4C58(uint32_t*opc_data); +static void DIVL_4C60(uint32_t*opc_data); +static void DIVL_4C68(uint32_t*opc_data); +static void DIVL_4C70(uint32_t*opc_data); +static void DIVL_4C78(uint32_t*opc_data); +static void DIVL_4C79(uint32_t*opc_data); +static void DIVL_4C7A(uint32_t*opc_data); +static void DIVL_4C7B(uint32_t*opc_data); +static void DIVL_4C7C(uint32_t*opc_data); +static void DIVU_80C0(uint32_t*opc_data); +static void DIVU_80D0(uint32_t*opc_data); +static void DIVU_80D8(uint32_t*opc_data); +static void DIVU_80E0(uint32_t*opc_data); +static void DIVU_80E8(uint32_t*opc_data); +static void DIVU_80F0(uint32_t*opc_data); +static void DIVU_80F8(uint32_t*opc_data); +static void DIVU_80F9(uint32_t*opc_data); +static void DIVU_80FA(uint32_t*opc_data); +static void DIVU_80FB(uint32_t*opc_data); +static void DIVU_80FC(uint32_t*opc_data); +static void MOVEM_48A0(uint32_t*opc_data); +static void MOVEM_48E0(uint32_t*opc_data); +static void MOVEM_4C98(uint32_t*opc_data); +static void MOVEM_4CD8(uint32_t*opc_data); +static void MOVEM_4890(uint32_t*opc_data); +static void MOVEM_48A8(uint32_t*opc_data); +static void MOVEM_48B0(uint32_t*opc_data); +static void MOVEM_48B8(uint32_t*opc_data); +static void MOVEM_48B9(uint32_t*opc_data); +static void MOVEM_48D0(uint32_t*opc_data); +static void MOVEM_48E8(uint32_t*opc_data); +static void MOVEM_48F0(uint32_t*opc_data); +static void MOVEM_48F8(uint32_t*opc_data); +static void MOVEM_48F9(uint32_t*opc_data); +static void MOVEM_4C90(uint32_t*opc_data); +static void MOVEM_4CA8(uint32_t*opc_data); +static void MOVEM_4CB0(uint32_t*opc_data); +static void MOVEM_4CB8(uint32_t*opc_data); +static void MOVEM_4CB9(uint32_t*opc_data); +static void MOVEM_4CBA(uint32_t*opc_data); +static void MOVEM_4CBB(uint32_t*opc_data); +static void MOVEM_4CD0(uint32_t*opc_data); +static void MOVEM_4CE8(uint32_t*opc_data); +static void MOVEM_4CF0(uint32_t*opc_data); +static void MOVEM_4CF8(uint32_t*opc_data); +static void MOVEM_4CF9(uint32_t*opc_data); +static void MOVEM_4CFA(uint32_t*opc_data); +static void MOVEM_4CFB(uint32_t*opc_data); +static void CLR_4200(uint32_t*opc_data); +static void CLR_4210(uint32_t*opc_data); +static void CLR_4218(uint32_t*opc_data); +static void CLR_4220(uint32_t*opc_data); +static void CLR_4228(uint32_t*opc_data); +static void CLR_4230(uint32_t*opc_data); +static void CLR_4238(uint32_t*opc_data); +static void CLR_4239(uint32_t*opc_data); +static void CLR_4240(uint32_t*opc_data); +static void CLR_4250(uint32_t*opc_data); +static void CLR_4258(uint32_t*opc_data); +static void CLR_4260(uint32_t*opc_data); +static void CLR_4268(uint32_t*opc_data); +static void CLR_4270(uint32_t*opc_data); +static void CLR_4278(uint32_t*opc_data); +static void CLR_4279(uint32_t*opc_data); +static void CLR_4280(uint32_t*opc_data); +static void CLR_4290(uint32_t*opc_data); +static void CLR_4298(uint32_t*opc_data); +static void CLR_42A0(uint32_t*opc_data); +static void CLR_42A8(uint32_t*opc_data); +static void CLR_42B0(uint32_t*opc_data); +static void CLR_42B8(uint32_t*opc_data); +static void CLR_42B9(uint32_t*opc_data); +static void BFCHG_EAD0(uint32_t*opc_data); +static void BFCHG_EAE8(uint32_t*opc_data); +static void BFCHG_EAF0(uint32_t*opc_data); +static void BFCHG_EAF8(uint32_t*opc_data); +static void BFCHG_EAF9(uint32_t*opc_data); +static void BFCLR_ECD0(uint32_t*opc_data); +static void BFCLR_ECE8(uint32_t*opc_data); +static void BFCLR_ECF0(uint32_t*opc_data); +static void BFCLR_ECF8(uint32_t*opc_data); +static void BFCLR_ECF9(uint32_t*opc_data); +static void BFEXTS_EBD0(uint32_t*opc_data); +static void BFEXTS_EBE8(uint32_t*opc_data); +static void BFEXTS_EBF0(uint32_t*opc_data); +static void BFEXTS_EBF8(uint32_t*opc_data); +static void BFEXTS_EBF9(uint32_t*opc_data); +static void BFEXTS_EBFA(uint32_t*opc_data); +static void BFEXTS_EBFB(uint32_t*opc_data); +static void BFEXTU_E9D0(uint32_t*opc_data); +static void BFEXTU_E9E8(uint32_t*opc_data); +static void BFEXTU_E9F0(uint32_t*opc_data); +static void BFEXTU_E9F8(uint32_t*opc_data); +static void BFEXTU_E9F9(uint32_t*opc_data); +static void BFEXTU_E9FA(uint32_t*opc_data); +static void BFEXTU_E9FB(uint32_t*opc_data); +static void BFFFO_EDD0(uint32_t*opc_data); +static void BFFFO_EDE8(uint32_t*opc_data); +static void BFFFO_EDF0(uint32_t*opc_data); +static void BFFFO_EDF8(uint32_t*opc_data); +static void BFFFO_EDF9(uint32_t*opc_data); +static void BFFFO_EDFA(uint32_t*opc_data); +static void BFFFO_EDFB(uint32_t*opc_data); +static void BFINS_EFD0(uint32_t*opc_data); +static void BFINS_EFE8(uint32_t*opc_data); +static void BFINS_EFF0(uint32_t*opc_data); +static void BFINS_EFF8(uint32_t*opc_data); +static void BFINS_EFF9(uint32_t*opc_data); +static void BFSET_EED0(uint32_t*opc_data); +static void BFSET_EEE8(uint32_t*opc_data); +static void BFSET_EEF0(uint32_t*opc_data); +static void BFSET_EEF8(uint32_t*opc_data); +static void BFSET_EEF9(uint32_t*opc_data); +static void BFTST_E8D0(uint32_t*opc_data); +static void BFTST_E8E8(uint32_t*opc_data); +static void BFTST_E8F0(uint32_t*opc_data); +static void BFTST_E8F8(uint32_t*opc_data); +static void BFTST_E8F9(uint32_t*opc_data); +static void BFTST_E8FA(uint32_t*opc_data); +static void BFTST_E8FB(uint32_t*opc_data); +static void BFCHG_EAC0(uint32_t*opc_data); +static void BFCLR_ECC0(uint32_t*opc_data); +static void BFEXTS_EBC0(uint32_t*opc_data); +static void BFEXTU_E9C0(uint32_t*opc_data); +static void BFFFO_EDC0(uint32_t*opc_data); +static void BFINS_EFC0(uint32_t*opc_data); +static void BFSET_EEC0(uint32_t*opc_data); +static void BFTST_E8C0(uint32_t*opc_data); +static void MULL_4C00(uint32_t*opc_data); +static void MULL_4C10(uint32_t*opc_data); +static void MULL_4C18(uint32_t*opc_data); +static void MULL_4C20(uint32_t*opc_data); +static void MULL_4C28(uint32_t*opc_data); +static void MULL_4C30(uint32_t*opc_data); +static void MULL_4C38(uint32_t*opc_data); +static void MULL_4C39(uint32_t*opc_data); +static void MULL_4C3A(uint32_t*opc_data); +static void MULL_4C3B(uint32_t*opc_data); +static void MULL_4C3C(uint32_t*opc_data); +static void MOVES_0E10(uint32_t*opc_data); +static void MOVES_0E18(uint32_t*opc_data); +static void MOVES_0E20(uint32_t*opc_data); +static void MOVES_0E28(uint32_t*opc_data); +static void MOVES_0E30(uint32_t*opc_data); +static void MOVES_0E38(uint32_t*opc_data); +static void MOVES_0E39(uint32_t*opc_data); +static void MOVES_0E50(uint32_t*opc_data); +static void MOVES_0E58(uint32_t*opc_data); +static void MOVES_0E60(uint32_t*opc_data); +static void MOVES_0E68(uint32_t*opc_data); +static void MOVES_0E70(uint32_t*opc_data); +static void MOVES_0E78(uint32_t*opc_data); +static void MOVES_0E79(uint32_t*opc_data); +static void MOVES_0E90(uint32_t*opc_data); +static void MOVES_0E98(uint32_t*opc_data); +static void MOVES_0EA0(uint32_t*opc_data); +static void MOVES_0EA8(uint32_t*opc_data); +static void MOVES_0EB0(uint32_t*opc_data); +static void MOVES_0EB8(uint32_t*opc_data); +static void MOVES_0EB9(uint32_t*opc_data); +static void NBCD_4800(uint32_t*opc_data); +static void NBCD_4810(uint32_t*opc_data); +static void NBCD_4818(uint32_t*opc_data); +static void NBCD_4820(uint32_t*opc_data); +static void NBCD_4828(uint32_t*opc_data); +static void NBCD_4830(uint32_t*opc_data); +static void NBCD_4838(uint32_t*opc_data); +static void NBCD_4839(uint32_t*opc_data); +static void NEG_4400(uint32_t*opc_data); +static void NEG_4410(uint32_t*opc_data); +static void NEG_4418(uint32_t*opc_data); +static void NEG_4420(uint32_t*opc_data); +static void NEG_4428(uint32_t*opc_data); +static void NEG_4430(uint32_t*opc_data); +static void NEG_4438(uint32_t*opc_data); +static void NEG_4439(uint32_t*opc_data); +static void NEG_4440(uint32_t*opc_data); +static void NEG_4450(uint32_t*opc_data); +static void NEG_4458(uint32_t*opc_data); +static void NEG_4460(uint32_t*opc_data); +static void NEG_4468(uint32_t*opc_data); +static void NEG_4470(uint32_t*opc_data); +static void NEG_4478(uint32_t*opc_data); +static void NEG_4479(uint32_t*opc_data); +static void NEG_4480(uint32_t*opc_data); +static void NEG_4490(uint32_t*opc_data); +static void NEG_4498(uint32_t*opc_data); +static void NEG_44A0(uint32_t*opc_data); +static void NEG_44A8(uint32_t*opc_data); +static void NEG_44B0(uint32_t*opc_data); +static void NEG_44B8(uint32_t*opc_data); +static void NEG_44B9(uint32_t*opc_data); +static void NEGX_4000(uint32_t*opc_data); +static void NEGX_4010(uint32_t*opc_data); +static void NEGX_4018(uint32_t*opc_data); +static void NEGX_4020(uint32_t*opc_data); +static void NEGX_4028(uint32_t*opc_data); +static void NEGX_4030(uint32_t*opc_data); +static void NEGX_4038(uint32_t*opc_data); +static void NEGX_4039(uint32_t*opc_data); +static void NEGX_4040(uint32_t*opc_data); +static void NEGX_4050(uint32_t*opc_data); +static void NEGX_4058(uint32_t*opc_data); +static void NEGX_4060(uint32_t*opc_data); +static void NEGX_4068(uint32_t*opc_data); +static void NEGX_4070(uint32_t*opc_data); +static void NEGX_4078(uint32_t*opc_data); +static void NEGX_4079(uint32_t*opc_data); +static void NEGX_4080(uint32_t*opc_data); +static void NEGX_4090(uint32_t*opc_data); +static void NEGX_4098(uint32_t*opc_data); +static void NEGX_40A0(uint32_t*opc_data); +static void NEGX_40A8(uint32_t*opc_data); +static void NEGX_40B0(uint32_t*opc_data); +static void NEGX_40B8(uint32_t*opc_data); +static void NEGX_40B9(uint32_t*opc_data); +static void NOT_4600(uint32_t*opc_data); +static void NOT_4610(uint32_t*opc_data); +static void NOT_4618(uint32_t*opc_data); +static void NOT_4620(uint32_t*opc_data); +static void NOT_4628(uint32_t*opc_data); +static void NOT_4630(uint32_t*opc_data); +static void NOT_4638(uint32_t*opc_data); +static void NOT_4639(uint32_t*opc_data); +static void NOT_4640(uint32_t*opc_data); +static void NOT_4650(uint32_t*opc_data); +static void NOT_4658(uint32_t*opc_data); +static void NOT_4660(uint32_t*opc_data); +static void NOT_4668(uint32_t*opc_data); +static void NOT_4670(uint32_t*opc_data); +static void NOT_4678(uint32_t*opc_data); +static void NOT_4679(uint32_t*opc_data); +static void NOT_4680(uint32_t*opc_data); +static void NOT_4690(uint32_t*opc_data); +static void NOT_4698(uint32_t*opc_data); +static void NOT_46A0(uint32_t*opc_data); +static void NOT_46A8(uint32_t*opc_data); +static void NOT_46B0(uint32_t*opc_data); +static void NOT_46B8(uint32_t*opc_data); +static void NOT_46B9(uint32_t*opc_data); +static void TAS_4AC0(uint32_t*opc_data); +static void TAS_4AD0(uint32_t*opc_data); +static void TAS_4AD8(uint32_t*opc_data); +static void TAS_4AE0(uint32_t*opc_data); +static void TAS_4AE8(uint32_t*opc_data); +static void TAS_4AF0(uint32_t*opc_data); +static void TAS_4AF8(uint32_t*opc_data); +static void TAS_4AF9(uint32_t*opc_data); +static void TST_4A00(uint32_t*opc_data); +static void TST_4A10(uint32_t*opc_data); +static void TST_4A18(uint32_t*opc_data); +static void TST_4A20(uint32_t*opc_data); +static void TST_4A28(uint32_t*opc_data); +static void TST_4A30(uint32_t*opc_data); +static void TST_4A38(uint32_t*opc_data); +static void TST_4A39(uint32_t*opc_data); +static void TST_4A40(uint32_t*opc_data); +static void TST_4A50(uint32_t*opc_data); +static void TST_4A58(uint32_t*opc_data); +static void TST_4A60(uint32_t*opc_data); +static void TST_4A68(uint32_t*opc_data); +static void TST_4A70(uint32_t*opc_data); +static void TST_4A78(uint32_t*opc_data); +static void TST_4A79(uint32_t*opc_data); +static void TST_4A80(uint32_t*opc_data); +static void TST_4A90(uint32_t*opc_data); +static void TST_4A98(uint32_t*opc_data); +static void TST_4AA0(uint32_t*opc_data); +static void TST_4AA8(uint32_t*opc_data); +static void TST_4AB0(uint32_t*opc_data); +static void TST_4AB8(uint32_t*opc_data); +static void TST_4AB9(uint32_t*opc_data); +static void TST_4A3A(uint32_t*opc_data); +static void TST_4A3B(uint32_t*opc_data); +static void TST_4A3C(uint32_t*opc_data); +static void TST_4A48(uint32_t*opc_data); +static void TST_4A7A(uint32_t*opc_data); +static void TST_4A7B(uint32_t*opc_data); +static void TST_4A7C(uint32_t*opc_data); +static void TST_4A88(uint32_t*opc_data); +static void TST_4ABA(uint32_t*opc_data); +static void TST_4ABB(uint32_t*opc_data); +static void TST_4ABC(uint32_t*opc_data); +static void PEA_4850(uint32_t*opc_data); +static void PEA_4868(uint32_t*opc_data); +static void PEA_4870(uint32_t*opc_data); +static void PEA_4878(uint32_t*opc_data); +static void PEA_4879(uint32_t*opc_data); +static void PEA_487A(uint32_t*opc_data); +static void PEA_487B(uint32_t*opc_data); +static void JMP_4ED0(uint32_t*opc_data); +static void JMP_4EE8(uint32_t*opc_data); +static void JMP_4EF0(uint32_t*opc_data); +static void JMP_4EF8(uint32_t*opc_data); +static void JMP_4EF9(uint32_t*opc_data); +static void JMP_4EFA(uint32_t*opc_data); +static void JMP_4EFB(uint32_t*opc_data); +static void JSR_4E90(uint32_t*opc_data); +static void JSR_4EA8(uint32_t*opc_data); +static void JSR_4EB0(uint32_t*opc_data); +static void JSR_4EB8(uint32_t*opc_data); +static void JSR_4EB9(uint32_t*opc_data); +static void JSR_4EBA(uint32_t*opc_data); +static void JSR_4EBB(uint32_t*opc_data); +static void MOVETOSR_46C0(uint32_t*opc_data); +static void MOVETOSR_46D0(uint32_t*opc_data); +static void MOVETOSR_46D8(uint32_t*opc_data); +static void MOVETOSR_46E0(uint32_t*opc_data); +static void MOVETOSR_46E8(uint32_t*opc_data); +static void MOVETOSR_46F0(uint32_t*opc_data); +static void MOVETOSR_46F8(uint32_t*opc_data); +static void MOVETOSR_46F9(uint32_t*opc_data); +static void MOVETOSR_46FA(uint32_t*opc_data); +static void MOVETOSR_46FB(uint32_t*opc_data); +static void MOVETOSR_46FC(uint32_t*opc_data); +static void MOVETOCCR_44C0(uint32_t*opc_data); +static void MOVETOCCR_44D0(uint32_t*opc_data); +static void MOVETOCCR_44D8(uint32_t*opc_data); +static void MOVETOCCR_44E0(uint32_t*opc_data); +static void MOVETOCCR_44E8(uint32_t*opc_data); +static void MOVETOCCR_44F0(uint32_t*opc_data); +static void MOVETOCCR_44F8(uint32_t*opc_data); +static void MOVETOCCR_44F9(uint32_t*opc_data); +static void MOVETOCCR_44FA(uint32_t*opc_data); +static void MOVETOCCR_44FB(uint32_t*opc_data); +static void MOVETOCCR_44FC(uint32_t*opc_data); +static void SCC_50C0(uint32_t*opc_data); +static void SCC_50D0(uint32_t*opc_data); +static void SCC_50D8(uint32_t*opc_data); +static void SCC_50E0(uint32_t*opc_data); +static void SCC_50E8(uint32_t*opc_data); +static void SCC_50F0(uint32_t*opc_data); +static void SCC_50F8(uint32_t*opc_data); +static void SCC_50F9(uint32_t*opc_data); +static void MOVEFROMCCR_42C0(uint32_t*opc_data); +static void MOVEFROMCCR_42D0(uint32_t*opc_data); +static void MOVEFROMCCR_42D8(uint32_t*opc_data); +static void MOVEFROMCCR_42E0(uint32_t*opc_data); +static void MOVEFROMCCR_42E8(uint32_t*opc_data); +static void MOVEFROMCCR_42F0(uint32_t*opc_data); +static void MOVEFROMCCR_42F8(uint32_t*opc_data); +static void MOVEFROMCCR_42F9(uint32_t*opc_data); +static void MOVEFROMSR_40C0(uint32_t*opc_data); +static void MOVEFROMSR_40D0(uint32_t*opc_data); +static void MOVEFROMSR_40D8(uint32_t*opc_data); +static void MOVEFROMSR_40E0(uint32_t*opc_data); +static void MOVEFROMSR_40E8(uint32_t*opc_data); +static void MOVEFROMSR_40F0(uint32_t*opc_data); +static void MOVEFROMSR_40F8(uint32_t*opc_data); +static void MOVEFROMSR_40F9(uint32_t*opc_data); +static void CAS_0AD0(uint32_t*opc_data); +static void CAS_0AD8(uint32_t*opc_data); +static void CAS_0AE0(uint32_t*opc_data); +static void CAS_0AE8(uint32_t*opc_data); +static void CAS_0AF0(uint32_t*opc_data); +static void CAS_0AF8(uint32_t*opc_data); +static void CAS_0AF9(uint32_t*opc_data); +static void CAS_0CD0(uint32_t*opc_data); +static void CAS_0CD8(uint32_t*opc_data); +static void CAS_0CE0(uint32_t*opc_data); +static void CAS_0CE8(uint32_t*opc_data); +static void CAS_0CF0(uint32_t*opc_data); +static void CAS_0CF8(uint32_t*opc_data); +static void CAS_0CF9(uint32_t*opc_data); +static void CAS_0ED0(uint32_t*opc_data); +static void CAS_0ED8(uint32_t*opc_data); +static void CAS_0EE0(uint32_t*opc_data); +static void CAS_0EE8(uint32_t*opc_data); +static void CAS_0EF0(uint32_t*opc_data); +static void CAS_0EF8(uint32_t*opc_data); +static void CAS_0EF9(uint32_t*opc_data); +static void CHKCMP2_00D0(uint32_t*opc_data); +static void CHKCMP2_00E8(uint32_t*opc_data); +static void CHKCMP2_00F0(uint32_t*opc_data); +static void CHKCMP2_00F8(uint32_t*opc_data); +static void CHKCMP2_00F9(uint32_t*opc_data); +static void CHKCMP2_00FA(uint32_t*opc_data); +static void CHKCMP2_00FB(uint32_t*opc_data); +static void CHKCMP2_02D0(uint32_t*opc_data); +static void CHKCMP2_02E8(uint32_t*opc_data); +static void CHKCMP2_02F0(uint32_t*opc_data); +static void CHKCMP2_02F8(uint32_t*opc_data); +static void CHKCMP2_02F9(uint32_t*opc_data); +static void CHKCMP2_02FA(uint32_t*opc_data); +static void CHKCMP2_02FB(uint32_t*opc_data); +static void CHKCMP2_04D0(uint32_t*opc_data); +static void CHKCMP2_04E8(uint32_t*opc_data); +static void CHKCMP2_04F0(uint32_t*opc_data); +static void CHKCMP2_04F8(uint32_t*opc_data); +static void CHKCMP2_04F9(uint32_t*opc_data); +static void CHKCMP2_04FA(uint32_t*opc_data); +static void CHKCMP2_04FB(uint32_t*opc_data); +static void CALLM_06D0(uint32_t*opc_data); +static void CALLM_06E8(uint32_t*opc_data); +static void CALLM_06F0(uint32_t*opc_data); +static void CALLM_06F8(uint32_t*opc_data); +static void CALLM_06F9(uint32_t*opc_data); +static void CALLM_06FA(uint32_t*opc_data); +static void CALLM_06FB(uint32_t*opc_data); +static void PFLUSH030_F010(uint32_t*opc_data); +static void PFLUSH030_F028(uint32_t*opc_data); +static void PFLUSH030_F030(uint32_t*opc_data); +static void PFLUSH030_F038(uint32_t*opc_data); +static void PFLUSH030_F039(uint32_t*opc_data); +static void MOVEQ_7000(uint32_t*opc_data); +static void MOVE_1000(uint32_t*opc_data); +static void MOVE_1010(uint32_t*opc_data); +static void MOVE_1018(uint32_t*opc_data); +static void MOVE_1020(uint32_t*opc_data); +static void MOVE_1028(uint32_t*opc_data); +static void MOVE_1030(uint32_t*opc_data); +static void MOVE_1038(uint32_t*opc_data); +static void MOVE_1039(uint32_t*opc_data); +static void MOVE_103A(uint32_t*opc_data); +static void MOVE_103B(uint32_t*opc_data); +static void MOVE_103C(uint32_t*opc_data); +static void MOVE_1080(uint32_t*opc_data); +static void MOVE_1090(uint32_t*opc_data); +static void MOVE_1098(uint32_t*opc_data); +static void MOVE_10A0(uint32_t*opc_data); +static void MOVE_10A8(uint32_t*opc_data); +static void MOVE_10B0(uint32_t*opc_data); +static void MOVE_10B8(uint32_t*opc_data); +static void MOVE_10B9(uint32_t*opc_data); +static void MOVE_10BA(uint32_t*opc_data); +static void MOVE_10BB(uint32_t*opc_data); +static void MOVE_10BC(uint32_t*opc_data); +static void MOVE_10C0(uint32_t*opc_data); +static void MOVE_10D0(uint32_t*opc_data); +static void MOVE_10D8(uint32_t*opc_data); +static void MOVE_10E0(uint32_t*opc_data); +static void MOVE_10E8(uint32_t*opc_data); +static void MOVE_10F0(uint32_t*opc_data); +static void MOVE_10F8(uint32_t*opc_data); +static void MOVE_10F9(uint32_t*opc_data); +static void MOVE_10FA(uint32_t*opc_data); +static void MOVE_10FB(uint32_t*opc_data); +static void MOVE_10FC(uint32_t*opc_data); +static void MOVE_1100(uint32_t*opc_data); +static void MOVE_1110(uint32_t*opc_data); +static void MOVE_1118(uint32_t*opc_data); +static void MOVE_1120(uint32_t*opc_data); +static void MOVE_1128(uint32_t*opc_data); +static void MOVE_1130(uint32_t*opc_data); +static void MOVE_1138(uint32_t*opc_data); +static void MOVE_1139(uint32_t*opc_data); +static void MOVE_113A(uint32_t*opc_data); +static void MOVE_113B(uint32_t*opc_data); +static void MOVE_113C(uint32_t*opc_data); +static void MOVE_1140(uint32_t*opc_data); +static void MOVE_1150(uint32_t*opc_data); +static void MOVE_1158(uint32_t*opc_data); +static void MOVE_1160(uint32_t*opc_data); +static void MOVE_1168(uint32_t*opc_data); +static void MOVE_1170(uint32_t*opc_data); +static void MOVE_1178(uint32_t*opc_data); +static void MOVE_1179(uint32_t*opc_data); +static void MOVE_117A(uint32_t*opc_data); +static void MOVE_117B(uint32_t*opc_data); +static void MOVE_117C(uint32_t*opc_data); +static void MOVE_1180(uint32_t*opc_data); +static void MOVE_1190(uint32_t*opc_data); +static void MOVE_1198(uint32_t*opc_data); +static void MOVE_11A0(uint32_t*opc_data); +static void MOVE_11A8(uint32_t*opc_data); +static void MOVE_11B0(uint32_t*opc_data); +static void MOVE_11B8(uint32_t*opc_data); +static void MOVE_11B9(uint32_t*opc_data); +static void MOVE_11BA(uint32_t*opc_data); +static void MOVE_11BB(uint32_t*opc_data); +static void MOVE_11BC(uint32_t*opc_data); +static void MOVE_11C0(uint32_t*opc_data); +static void MOVE_11D0(uint32_t*opc_data); +static void MOVE_11D8(uint32_t*opc_data); +static void MOVE_11E0(uint32_t*opc_data); +static void MOVE_11E8(uint32_t*opc_data); +static void MOVE_11F0(uint32_t*opc_data); +static void MOVE_11F8(uint32_t*opc_data); +static void MOVE_11F9(uint32_t*opc_data); +static void MOVE_11FA(uint32_t*opc_data); +static void MOVE_11FB(uint32_t*opc_data); +static void MOVE_11FC(uint32_t*opc_data); +static void MOVE_13C0(uint32_t*opc_data); +static void MOVE_13D0(uint32_t*opc_data); +static void MOVE_13D8(uint32_t*opc_data); +static void MOVE_13E0(uint32_t*opc_data); +static void MOVE_13E8(uint32_t*opc_data); +static void MOVE_13F0(uint32_t*opc_data); +static void MOVE_13F8(uint32_t*opc_data); +static void MOVE_13F9(uint32_t*opc_data); +static void MOVE_13FA(uint32_t*opc_data); +static void MOVE_13FB(uint32_t*opc_data); +static void MOVE_13FC(uint32_t*opc_data); +static void MOVE_3000(uint32_t*opc_data); +static void MOVE_3008(uint32_t*opc_data); +static void MOVE_3010(uint32_t*opc_data); +static void MOVE_3018(uint32_t*opc_data); +static void MOVE_3020(uint32_t*opc_data); +static void MOVE_3028(uint32_t*opc_data); +static void MOVE_3030(uint32_t*opc_data); +static void MOVE_3038(uint32_t*opc_data); +static void MOVE_3039(uint32_t*opc_data); +static void MOVE_303A(uint32_t*opc_data); +static void MOVE_303B(uint32_t*opc_data); +static void MOVE_303C(uint32_t*opc_data); +static void MOVE_3080(uint32_t*opc_data); +static void MOVE_3088(uint32_t*opc_data); +static void MOVE_3090(uint32_t*opc_data); +static void MOVE_3098(uint32_t*opc_data); +static void MOVE_30A0(uint32_t*opc_data); +static void MOVE_30A8(uint32_t*opc_data); +static void MOVE_30B0(uint32_t*opc_data); +static void MOVE_30B8(uint32_t*opc_data); +static void MOVE_30B9(uint32_t*opc_data); +static void MOVE_30BA(uint32_t*opc_data); +static void MOVE_30BB(uint32_t*opc_data); +static void MOVE_30BC(uint32_t*opc_data); +static void MOVE_30C0(uint32_t*opc_data); +static void MOVE_30C8(uint32_t*opc_data); +static void MOVE_30D0(uint32_t*opc_data); +static void MOVE_30D8(uint32_t*opc_data); +static void MOVE_30E0(uint32_t*opc_data); +static void MOVE_30E8(uint32_t*opc_data); +static void MOVE_30F0(uint32_t*opc_data); +static void MOVE_30F8(uint32_t*opc_data); +static void MOVE_30F9(uint32_t*opc_data); +static void MOVE_30FA(uint32_t*opc_data); +static void MOVE_30FB(uint32_t*opc_data); +static void MOVE_30FC(uint32_t*opc_data); +static void MOVE_3100(uint32_t*opc_data); +static void MOVE_3108(uint32_t*opc_data); +static void MOVE_3110(uint32_t*opc_data); +static void MOVE_3118(uint32_t*opc_data); +static void MOVE_3120(uint32_t*opc_data); +static void MOVE_3128(uint32_t*opc_data); +static void MOVE_3130(uint32_t*opc_data); +static void MOVE_3138(uint32_t*opc_data); +static void MOVE_3139(uint32_t*opc_data); +static void MOVE_313A(uint32_t*opc_data); +static void MOVE_313B(uint32_t*opc_data); +static void MOVE_313C(uint32_t*opc_data); +static void MOVE_3140(uint32_t*opc_data); +static void MOVE_3148(uint32_t*opc_data); +static void MOVE_3150(uint32_t*opc_data); +static void MOVE_3158(uint32_t*opc_data); +static void MOVE_3160(uint32_t*opc_data); +static void MOVE_3168(uint32_t*opc_data); +static void MOVE_3170(uint32_t*opc_data); +static void MOVE_3178(uint32_t*opc_data); +static void MOVE_3179(uint32_t*opc_data); +static void MOVE_317A(uint32_t*opc_data); +static void MOVE_317B(uint32_t*opc_data); +static void MOVE_317C(uint32_t*opc_data); +static void MOVE_3180(uint32_t*opc_data); +static void MOVE_3188(uint32_t*opc_data); +static void MOVE_3190(uint32_t*opc_data); +static void MOVE_3198(uint32_t*opc_data); +static void MOVE_31A0(uint32_t*opc_data); +static void MOVE_31A8(uint32_t*opc_data); +static void MOVE_31B0(uint32_t*opc_data); +static void MOVE_31B8(uint32_t*opc_data); +static void MOVE_31B9(uint32_t*opc_data); +static void MOVE_31BA(uint32_t*opc_data); +static void MOVE_31BB(uint32_t*opc_data); +static void MOVE_31BC(uint32_t*opc_data); +static void MOVE_31C0(uint32_t*opc_data); +static void MOVE_31C8(uint32_t*opc_data); +static void MOVE_31D0(uint32_t*opc_data); +static void MOVE_31D8(uint32_t*opc_data); +static void MOVE_31E0(uint32_t*opc_data); +static void MOVE_31E8(uint32_t*opc_data); +static void MOVE_31F0(uint32_t*opc_data); +static void MOVE_31F8(uint32_t*opc_data); +static void MOVE_31F9(uint32_t*opc_data); +static void MOVE_31FA(uint32_t*opc_data); +static void MOVE_31FB(uint32_t*opc_data); +static void MOVE_31FC(uint32_t*opc_data); +static void MOVE_33C0(uint32_t*opc_data); +static void MOVE_33C8(uint32_t*opc_data); +static void MOVE_33D0(uint32_t*opc_data); +static void MOVE_33D8(uint32_t*opc_data); +static void MOVE_33E0(uint32_t*opc_data); +static void MOVE_33E8(uint32_t*opc_data); +static void MOVE_33F0(uint32_t*opc_data); +static void MOVE_33F8(uint32_t*opc_data); +static void MOVE_33F9(uint32_t*opc_data); +static void MOVE_33FA(uint32_t*opc_data); +static void MOVE_33FB(uint32_t*opc_data); +static void MOVE_33FC(uint32_t*opc_data); +static void MOVE_2000(uint32_t*opc_data); +static void MOVE_2008(uint32_t*opc_data); +static void MOVE_2010(uint32_t*opc_data); +static void MOVE_2018(uint32_t*opc_data); +static void MOVE_2020(uint32_t*opc_data); +static void MOVE_2028(uint32_t*opc_data); +static void MOVE_2030(uint32_t*opc_data); +static void MOVE_2038(uint32_t*opc_data); +static void MOVE_2039(uint32_t*opc_data); +static void MOVE_203A(uint32_t*opc_data); +static void MOVE_203B(uint32_t*opc_data); +static void MOVE_203C(uint32_t*opc_data); +static void MOVE_2080(uint32_t*opc_data); +static void MOVE_2088(uint32_t*opc_data); +static void MOVE_2090(uint32_t*opc_data); +static void MOVE_2098(uint32_t*opc_data); +static void MOVE_20A0(uint32_t*opc_data); +static void MOVE_20A8(uint32_t*opc_data); +static void MOVE_20B0(uint32_t*opc_data); +static void MOVE_20B8(uint32_t*opc_data); +static void MOVE_20B9(uint32_t*opc_data); +static void MOVE_20BA(uint32_t*opc_data); +static void MOVE_20BB(uint32_t*opc_data); +static void MOVE_20BC(uint32_t*opc_data); +static void MOVE_20C0(uint32_t*opc_data); +static void MOVE_20C8(uint32_t*opc_data); +static void MOVE_20D0(uint32_t*opc_data); +static void MOVE_20D8(uint32_t*opc_data); +static void MOVE_20E0(uint32_t*opc_data); +static void MOVE_20E8(uint32_t*opc_data); +static void MOVE_20F0(uint32_t*opc_data); +static void MOVE_20F8(uint32_t*opc_data); +static void MOVE_20F9(uint32_t*opc_data); +static void MOVE_20FA(uint32_t*opc_data); +static void MOVE_20FB(uint32_t*opc_data); +static void MOVE_20FC(uint32_t*opc_data); +static void MOVE_2100(uint32_t*opc_data); +static void MOVE_2108(uint32_t*opc_data); +static void MOVE_2110(uint32_t*opc_data); +static void MOVE_2118(uint32_t*opc_data); +static void MOVE_2120(uint32_t*opc_data); +static void MOVE_2128(uint32_t*opc_data); +static void MOVE_2130(uint32_t*opc_data); +static void MOVE_2138(uint32_t*opc_data); +static void MOVE_2139(uint32_t*opc_data); +static void MOVE_213A(uint32_t*opc_data); +static void MOVE_213B(uint32_t*opc_data); +static void MOVE_213C(uint32_t*opc_data); +static void MOVE_2140(uint32_t*opc_data); +static void MOVE_2148(uint32_t*opc_data); +static void MOVE_2150(uint32_t*opc_data); +static void MOVE_2158(uint32_t*opc_data); +static void MOVE_2160(uint32_t*opc_data); +static void MOVE_2168(uint32_t*opc_data); +static void MOVE_2170(uint32_t*opc_data); +static void MOVE_2178(uint32_t*opc_data); +static void MOVE_2179(uint32_t*opc_data); +static void MOVE_217A(uint32_t*opc_data); +static void MOVE_217B(uint32_t*opc_data); +static void MOVE_217C(uint32_t*opc_data); +static void MOVE_2180(uint32_t*opc_data); +static void MOVE_2188(uint32_t*opc_data); +static void MOVE_2190(uint32_t*opc_data); +static void MOVE_2198(uint32_t*opc_data); +static void MOVE_21A0(uint32_t*opc_data); +static void MOVE_21A8(uint32_t*opc_data); +static void MOVE_21B0(uint32_t*opc_data); +static void MOVE_21B8(uint32_t*opc_data); +static void MOVE_21B9(uint32_t*opc_data); +static void MOVE_21BA(uint32_t*opc_data); +static void MOVE_21BB(uint32_t*opc_data); +static void MOVE_21BC(uint32_t*opc_data); +static void MOVE_21C0(uint32_t*opc_data); +static void MOVE_21C8(uint32_t*opc_data); +static void MOVE_21D0(uint32_t*opc_data); +static void MOVE_21D8(uint32_t*opc_data); +static void MOVE_21E0(uint32_t*opc_data); +static void MOVE_21E8(uint32_t*opc_data); +static void MOVE_21F0(uint32_t*opc_data); +static void MOVE_21F8(uint32_t*opc_data); +static void MOVE_21F9(uint32_t*opc_data); +static void MOVE_21FA(uint32_t*opc_data); +static void MOVE_21FB(uint32_t*opc_data); +static void MOVE_21FC(uint32_t*opc_data); +static void MOVE_23C0(uint32_t*opc_data); +static void MOVE_23C8(uint32_t*opc_data); +static void MOVE_23D0(uint32_t*opc_data); +static void MOVE_23D8(uint32_t*opc_data); +static void MOVE_23E0(uint32_t*opc_data); +static void MOVE_23E8(uint32_t*opc_data); +static void MOVE_23F0(uint32_t*opc_data); +static void MOVE_23F8(uint32_t*opc_data); +static void MOVE_23F9(uint32_t*opc_data); +static void MOVE_23FA(uint32_t*opc_data); +static void MOVE_23FB(uint32_t*opc_data); +static void MOVE_23FC(uint32_t*opc_data); +static void MOVEA_3040(uint32_t*opc_data); +static void MOVEA_3048(uint32_t*opc_data); +static void MOVEA_3050(uint32_t*opc_data); +static void MOVEA_3058(uint32_t*opc_data); +static void MOVEA_3060(uint32_t*opc_data); +static void MOVEA_3068(uint32_t*opc_data); +static void MOVEA_3070(uint32_t*opc_data); +static void MOVEA_3078(uint32_t*opc_data); +static void MOVEA_3079(uint32_t*opc_data); +static void MOVEA_307A(uint32_t*opc_data); +static void MOVEA_307B(uint32_t*opc_data); +static void MOVEA_307C(uint32_t*opc_data); +static void MOVEA_2040(uint32_t*opc_data); +static void MOVEA_2048(uint32_t*opc_data); +static void MOVEA_2050(uint32_t*opc_data); +static void MOVEA_2058(uint32_t*opc_data); +static void MOVEA_2060(uint32_t*opc_data); +static void MOVEA_2068(uint32_t*opc_data); +static void MOVEA_2070(uint32_t*opc_data); +static void MOVEA_2078(uint32_t*opc_data); +static void MOVEA_2079(uint32_t*opc_data); +static void MOVEA_207A(uint32_t*opc_data); +static void MOVEA_207B(uint32_t*opc_data); +static void MOVEA_207C(uint32_t*opc_data); +static void BCCB_6200(uint32_t*opc_data); +static void BCCB_6300(uint32_t*opc_data); +static void BCCB_6400(uint32_t*opc_data); +static void BCCB_6500(uint32_t*opc_data); +static void BCCB_6600(uint32_t*opc_data); +static void BCCB_6700(uint32_t*opc_data); +static void BCCB_6800(uint32_t*opc_data); +static void BCCB_6900(uint32_t*opc_data); +static void BCCB_6A00(uint32_t*opc_data); +static void BCCB_6B00(uint32_t*opc_data); +static void BCCB_6C00(uint32_t*opc_data); +static void BCCB_6D00(uint32_t*opc_data); +static void BCCB_6E00(uint32_t*opc_data); +static void BCCB_6F00(uint32_t*opc_data); +static void BCCW_6200(uint32_t*opc_data); +static void BCCW_6300(uint32_t*opc_data); +static void BCCW_6400(uint32_t*opc_data); +static void BCCW_6500(uint32_t*opc_data); +static void BCCW_6600(uint32_t*opc_data); +static void BCCW_6700(uint32_t*opc_data); +static void BCCW_6800(uint32_t*opc_data); +static void BCCW_6900(uint32_t*opc_data); +static void BCCW_6A00(uint32_t*opc_data); +static void BCCW_6B00(uint32_t*opc_data); +static void BCCW_6C00(uint32_t*opc_data); +static void BCCW_6D00(uint32_t*opc_data); +static void BCCW_6E00(uint32_t*opc_data); +static void BCCW_6F00(uint32_t*opc_data); +static void BCCL_62FF(uint32_t*opc_data); +static void BCCL_63FF(uint32_t*opc_data); +static void BCCL_64FF(uint32_t*opc_data); +static void BCCL_65FF(uint32_t*opc_data); +static void BCCL_66FF(uint32_t*opc_data); +static void BCCL_67FF(uint32_t*opc_data); +static void BCCL_68FF(uint32_t*opc_data); +static void BCCL_69FF(uint32_t*opc_data); +static void BCCL_6AFF(uint32_t*opc_data); +static void BCCL_6BFF(uint32_t*opc_data); +static void BCCL_6CFF(uint32_t*opc_data); +static void BCCL_6DFF(uint32_t*opc_data); +static void BCCL_6EFF(uint32_t*opc_data); +static void BCCL_6FFF(uint32_t*opc_data); +static void BKPT_4848(uint32_t*opc_data); +static void EXG_C140(uint32_t*opc_data); +static void EXG_C148(uint32_t*opc_data); +static void EXG_C188(uint32_t*opc_data); +static void EXT_4880(uint32_t*opc_data); +static void EXT_48C0(uint32_t*opc_data); +static void EXT_49C0(uint32_t*opc_data); +static void SWAP_4840(uint32_t*opc_data); +static void LINK_4E50(uint32_t*opc_data); +static void LINK_4808(uint32_t*opc_data); +static void UNLK_4E58(uint32_t*opc_data); +static void BRAB_6000(uint32_t*opc_data); +static void BRAW_6000(uint32_t*opc_data); +static void BRAL_60FF(uint32_t*opc_data); +static void BSRB_6100(uint32_t*opc_data); +static void BSRW_6100(uint32_t*opc_data); +static void BSRL_61FF(uint32_t*opc_data); +static void DBCC_50C8(uint32_t*opc_data); +static void DBCC_51C8(uint32_t*opc_data); +static void DBCC_52C8(uint32_t*opc_data); +static void DBCC_53C8(uint32_t*opc_data); +static void DBCC_54C8(uint32_t*opc_data); +static void DBCC_55C8(uint32_t*opc_data); +static void DBCC_56C8(uint32_t*opc_data); +static void DBCC_57C8(uint32_t*opc_data); +static void DBCC_58C8(uint32_t*opc_data); +static void DBCC_59C8(uint32_t*opc_data); +static void DBCC_5AC8(uint32_t*opc_data); +static void DBCC_5BC8(uint32_t*opc_data); +static void DBCC_5CC8(uint32_t*opc_data); +static void DBCC_5DC8(uint32_t*opc_data); +static void DBCC_5EC8(uint32_t*opc_data); +static void DBCC_5FC8(uint32_t*opc_data); +static void TRAPCC_50FC(uint32_t*opc_data); +static void TRAPCC_51FC(uint32_t*opc_data); +static void TRAPCC_52FC(uint32_t*opc_data); +static void TRAPCC_53FC(uint32_t*opc_data); +static void TRAPCC_54FC(uint32_t*opc_data); +static void TRAPCC_55FC(uint32_t*opc_data); +static void TRAPCC_56FC(uint32_t*opc_data); +static void TRAPCC_57FC(uint32_t*opc_data); +static void TRAPCC_58FC(uint32_t*opc_data); +static void TRAPCC_59FC(uint32_t*opc_data); +static void TRAPCC_5AFC(uint32_t*opc_data); +static void TRAPCC_5BFC(uint32_t*opc_data); +static void TRAPCC_5CFC(uint32_t*opc_data); +static void TRAPCC_5DFC(uint32_t*opc_data); +static void TRAPCC_5EFC(uint32_t*opc_data); +static void TRAPCC_5FFC(uint32_t*opc_data); +static void TRAPCC_50FA(uint32_t*opc_data); +static void TRAPCC_51FA(uint32_t*opc_data); +static void TRAPCC_52FA(uint32_t*opc_data); +static void TRAPCC_53FA(uint32_t*opc_data); +static void TRAPCC_54FA(uint32_t*opc_data); +static void TRAPCC_55FA(uint32_t*opc_data); +static void TRAPCC_56FA(uint32_t*opc_data); +static void TRAPCC_57FA(uint32_t*opc_data); +static void TRAPCC_58FA(uint32_t*opc_data); +static void TRAPCC_59FA(uint32_t*opc_data); +static void TRAPCC_5AFA(uint32_t*opc_data); +static void TRAPCC_5BFA(uint32_t*opc_data); +static void TRAPCC_5CFA(uint32_t*opc_data); +static void TRAPCC_5DFA(uint32_t*opc_data); +static void TRAPCC_5EFA(uint32_t*opc_data); +static void TRAPCC_5FFA(uint32_t*opc_data); +static void TRAPCC_50FB(uint32_t*opc_data); +static void TRAPCC_51FB(uint32_t*opc_data); +static void TRAPCC_52FB(uint32_t*opc_data); +static void TRAPCC_53FB(uint32_t*opc_data); +static void TRAPCC_54FB(uint32_t*opc_data); +static void TRAPCC_55FB(uint32_t*opc_data); +static void TRAPCC_56FB(uint32_t*opc_data); +static void TRAPCC_57FB(uint32_t*opc_data); +static void TRAPCC_58FB(uint32_t*opc_data); +static void TRAPCC_59FB(uint32_t*opc_data); +static void TRAPCC_5AFB(uint32_t*opc_data); +static void TRAPCC_5BFB(uint32_t*opc_data); +static void TRAPCC_5CFB(uint32_t*opc_data); +static void TRAPCC_5DFB(uint32_t*opc_data); +static void TRAPCC_5EFB(uint32_t*opc_data); +static void TRAPCC_5FFB(uint32_t*opc_data); +static void RTD_4E74(uint32_t*opc_data); +static void RTE_4E73(uint32_t*opc_data); +static void RTS_4E75(uint32_t*opc_data); +static void RTR_4E77(uint32_t*opc_data); +static void NOP_4E71(uint32_t*opc_data); +static void MOVEC_4E7A(uint32_t*opc_data); +static void MOVEC_4E7B(uint32_t*opc_data); +static void CAS2_0CFC(uint32_t*opc_data); +static void CAS2_0EFC(uint32_t*opc_data); +static void TRAP_4E40(uint32_t*opc_data); +static void TRAPV_4E76(uint32_t*opc_data); +static void STOP_4E72(uint32_t*opc_data); +static void RESET_4E70(uint32_t*opc_data); +static void MOVEUSP_4E60(uint32_t*opc_data); +static void MOVEUSP_4E68(uint32_t*opc_data); +static void CMPM_B108(uint32_t*opc_data); +static void CMPM_B148(uint32_t*opc_data); +static void CMPM_B188(uint32_t*opc_data); +static void RTM_06C0(uint32_t*opc_data); +static void PFLUSH040_F500(uint32_t*opc_data); +static void PTEST040_F548(uint32_t*opc_data); +static void ADDX_D100(uint32_t*opc_data); +static void ADDX_D140(uint32_t*opc_data); +static void ADDX_D180(uint32_t*opc_data); +static void ADDX_D108(uint32_t*opc_data); +static void ADDX_D148(uint32_t*opc_data); +static void ADDX_D188(uint32_t*opc_data); +static void SUBX_9100(uint32_t*opc_data); +static void SUBX_9140(uint32_t*opc_data); +static void SUBX_9180(uint32_t*opc_data); +static void SUBX_9108(uint32_t*opc_data); +static void SUBX_9148(uint32_t*opc_data); +static void SUBX_9188(uint32_t*opc_data); +static void ABCD_C100(uint32_t*opc_data); +static void ABCD_C108(uint32_t*opc_data); +static void SBCD_8100(uint32_t*opc_data); +static void SBCD_8108(uint32_t*opc_data); +static void LSL_E108(uint32_t*opc_data); +static void LSL_E148(uint32_t*opc_data); +static void LSL_E188(uint32_t*opc_data); +static void LSL_E128(uint32_t*opc_data); +static void LSL_E168(uint32_t*opc_data); +static void LSL_E1A8(uint32_t*opc_data); +static void LSL_E3D0(uint32_t*opc_data); +static void LSL_E3D8(uint32_t*opc_data); +static void LSL_E3E0(uint32_t*opc_data); +static void LSL_E3E8(uint32_t*opc_data); +static void LSL_E3F0(uint32_t*opc_data); +static void LSL_E3F8(uint32_t*opc_data); +static void LSL_E3F9(uint32_t*opc_data); +static void LSR_E008(uint32_t*opc_data); +static void LSR_E048(uint32_t*opc_data); +static void LSR_E088(uint32_t*opc_data); +static void LSR_E028(uint32_t*opc_data); +static void LSR_E068(uint32_t*opc_data); +static void LSR_E0A8(uint32_t*opc_data); +static void LSR_E2D0(uint32_t*opc_data); +static void LSR_E2D8(uint32_t*opc_data); +static void LSR_E2E0(uint32_t*opc_data); +static void LSR_E2E8(uint32_t*opc_data); +static void LSR_E2F0(uint32_t*opc_data); +static void LSR_E2F8(uint32_t*opc_data); +static void LSR_E2F9(uint32_t*opc_data); +static void ASL_E100(uint32_t*opc_data); +static void ASL_E140(uint32_t*opc_data); +static void ASL_E180(uint32_t*opc_data); +static void ASL_E120(uint32_t*opc_data); +static void ASL_E160(uint32_t*opc_data); +static void ASL_E1A0(uint32_t*opc_data); +static void ASL_E1D0(uint32_t*opc_data); +static void ASL_E1D8(uint32_t*opc_data); +static void ASL_E1E0(uint32_t*opc_data); +static void ASL_E1E8(uint32_t*opc_data); +static void ASL_E1F0(uint32_t*opc_data); +static void ASL_E1F8(uint32_t*opc_data); +static void ASL_E1F9(uint32_t*opc_data); +static void ASR_E000(uint32_t*opc_data); +static void ASR_E040(uint32_t*opc_data); +static void ASR_E080(uint32_t*opc_data); +static void ASR_E020(uint32_t*opc_data); +static void ASR_E060(uint32_t*opc_data); +static void ASR_E0A0(uint32_t*opc_data); +static void ASR_E0D0(uint32_t*opc_data); +static void ASR_E0D8(uint32_t*opc_data); +static void ASR_E0E0(uint32_t*opc_data); +static void ASR_E0E8(uint32_t*opc_data); +static void ASR_E0F0(uint32_t*opc_data); +static void ASR_E0F8(uint32_t*opc_data); +static void ASR_E0F9(uint32_t*opc_data); +static void ROL_E118(uint32_t*opc_data); +static void ROL_E158(uint32_t*opc_data); +static void ROL_E198(uint32_t*opc_data); +static void ROL_E138(uint32_t*opc_data); +static void ROL_E178(uint32_t*opc_data); +static void ROL_E1B8(uint32_t*opc_data); +static void ROL_E7D0(uint32_t*opc_data); +static void ROL_E7D8(uint32_t*opc_data); +static void ROL_E7E0(uint32_t*opc_data); +static void ROL_E7E8(uint32_t*opc_data); +static void ROL_E7F0(uint32_t*opc_data); +static void ROL_E7F8(uint32_t*opc_data); +static void ROL_E7F9(uint32_t*opc_data); +static void ROR_E018(uint32_t*opc_data); +static void ROR_E058(uint32_t*opc_data); +static void ROR_E098(uint32_t*opc_data); +static void ROR_E038(uint32_t*opc_data); +static void ROR_E078(uint32_t*opc_data); +static void ROR_E0B8(uint32_t*opc_data); +static void ROR_E6D0(uint32_t*opc_data); +static void ROR_E6D8(uint32_t*opc_data); +static void ROR_E6E0(uint32_t*opc_data); +static void ROR_E6E8(uint32_t*opc_data); +static void ROR_E6F0(uint32_t*opc_data); +static void ROR_E6F8(uint32_t*opc_data); +static void ROR_E6F9(uint32_t*opc_data); +static void ROXL_E110(uint32_t*opc_data); +static void ROXL_E150(uint32_t*opc_data); +static void ROXL_E190(uint32_t*opc_data); +static void ROXL_E130(uint32_t*opc_data); +static void ROXL_E170(uint32_t*opc_data); +static void ROXL_E1B0(uint32_t*opc_data); +static void ROXL_E5D0(uint32_t*opc_data); +static void ROXL_E5D8(uint32_t*opc_data); +static void ROXL_E5E0(uint32_t*opc_data); +static void ROXL_E5E8(uint32_t*opc_data); +static void ROXL_E5F0(uint32_t*opc_data); +static void ROXL_E5F8(uint32_t*opc_data); +static void ROXL_E5F9(uint32_t*opc_data); +static void ROXR_E010(uint32_t*opc_data); +static void ROXR_E050(uint32_t*opc_data); +static void ROXR_E090(uint32_t*opc_data); +static void ROXR_E030(uint32_t*opc_data); +static void ROXR_E070(uint32_t*opc_data); +static void ROXR_E0B0(uint32_t*opc_data); +static void ROXR_E4D0(uint32_t*opc_data); +static void ROXR_E4D8(uint32_t*opc_data); +static void ROXR_E4E0(uint32_t*opc_data); +static void ROXR_E4E8(uint32_t*opc_data); +static void ROXR_E4F0(uint32_t*opc_data); +static void ROXR_E4F8(uint32_t*opc_data); +static void ROXR_E4F9(uint32_t*opc_data); +static void MOVEP_0188(uint32_t*opc_data); +static void MOVEP_01C8(uint32_t*opc_data); +static void MOVEP_0108(uint32_t*opc_data); +static void MOVEP_0148(uint32_t*opc_data); +static void PACK_8140(uint32_t*opc_data); +static void PACK_8148(uint32_t*opc_data); +static void UNPK_8180(uint32_t*opc_data); +static void UNPK_8188(uint32_t*opc_data); diff --git a/cpu/CpuModule_Disassembler.c b/cpu/CpuModule_Disassembler.c index f0d0388..f61e720 100644 --- a/cpu/CpuModule_Disassembler.c +++ b/cpu/CpuModule_Disassembler.c @@ -1,4 +1,3 @@ -/* @(#) $Id: CpuModule_Disassembler.c,v 1.2 2009/07/26 22:56:07 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* CPU disassembly */ @@ -27,46 +26,46 @@ #include "CpuModule.h" #include "CpuModule_DisassemblerFunc.h" -typedef ULO (*cpuDisFunc)(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands); +typedef uint32_t (*cpuDisFunc)(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands); -static ULO cpuDisGetSourceMode(UWO opcode) +static uint32_t cpuDisGetSourceMode(uint16_t opcode) { - return (ULO) (opcode >> 3) & 7; + return (uint32_t) (opcode >> 3) & 7; } -static ULO cpuDisGetDestinationMode(UWO opcode) +static uint32_t cpuDisGetDestinationMode(uint16_t opcode) { - return (ULO) (opcode >> 6) & 7; + return (uint32_t) (opcode >> 6) & 7; } -static ULO cpuDisGetSourceRegister(UWO opcode) +static uint32_t cpuDisGetSourceRegister(uint16_t opcode) { - return (ULO) (opcode & 7); + return (uint32_t) (opcode & 7); } -static ULO cpuDisGetDestinationRegister(UWO opcode) +static uint32_t cpuDisGetDestinationRegister(uint16_t opcode) { - return (ULO) (opcode >> 9) & 7; + return (uint32_t) (opcode >> 9) & 7; } -static ULO cpuDisGetEaNo(ULO eamode, ULO eareg) +static uint32_t cpuDisGetEaNo(uint32_t eamode, uint32_t eareg) { return (eamode < 7) ? eamode : (eamode + eareg); } -static ULO cpuDisGetBit(UWO opcode, ULO bit) +static uint32_t cpuDisGetBit(uint16_t opcode, uint32_t bit) { - return (ULO) ((opcode >> bit) & 1); + return (uint32_t) ((opcode >> bit) & 1); } -static LON cpuDisGetLowByteSignExtend(UWO opc) +static int32_t cpuDisGetLowByteSignExtend(uint16_t opc) { - return (LON)(BYT)opc; + return (int32_t)(int8_t)opc; } -static ULO cpuDisGetSize(UWO opcode) +static uint32_t cpuDisGetSize(uint16_t opcode) { - ULO result = 0; + uint32_t result = 0; switch ((opcode >> 6) & 3) { case 0: result = 8; break; @@ -77,9 +76,9 @@ static ULO cpuDisGetSize(UWO opcode) return result; } -static ULO cpuDisGetSize2(UWO opcode) +static uint32_t cpuDisGetSize2(uint16_t opcode) { - ULO result = 0; + uint32_t result = 0; switch ((opcode >> 8) & 1) { case 0: result = 16; break; @@ -87,29 +86,29 @@ static ULO cpuDisGetSize2(UWO opcode) } return result; } -static ULO cpuDisGetSize3(UWO opc) +static uint32_t cpuDisGetSize3(uint16_t opc) { if ((opc & 0x3000) == 0x1000) return 8; else if ((opc & 0x3000) == 0x3000) return 16; return 32; } -static ULO cpuDisGetSize4(UWO opc) +static uint32_t cpuDisGetSize4(uint16_t opc) { if ((opc & 0x600) == 0x200) return 8; else if ((opc & 0x600) == 0x400) return 16; return 32; } -static STR cpuDisSizeChar(ULO size) +static char cpuDisSizeChar(uint32_t size) { - return (STR) ((size == 8) ? 'B' : ((size == 16) ? 'W' : 'L')); + return (char) ((size == 8) ? 'B' : ((size == 16) ? 'W' : 'L')); } -static STR *cpu_dis_btab[16] = {"RA", "SR", "HI", "LS", "CC", "CS", "NE", "EQ", "VC", "VS", +static char *cpu_dis_btab[16] = {"RA", "SR", "HI", "LS", "CC", "CS", "NE", "EQ", "VC", "VS", "PL", "MI", "GE", "LT", "GT", "LE"}; -static ULO cpuDisGetBranchType(UWO opc) +static uint32_t cpuDisGetBranchType(uint16_t opc) { return (opc >> 8) & 0xf; } @@ -117,51 +116,51 @@ static ULO cpuDisGetBranchType(UWO opc) /*=========================================================================== Disassembly of the address-modes Parameters: -ULO reg - The register used in the address-mode -ULO pcp - The address of the next byte not used. -STR *st - The string to write the dissassembly to. -ULO *pos - The position in the string where the hex-words used are written +uint32_t reg - The register used in the address-mode +uint32_t pcp - The address of the next byte not used. +char *st - The string to write the dissassembly to. +uint32_t *pos - The position in the string where the hex-words used are written Returnvalue: PC after possible extension words ===========================================================================*/ -static STR* cpuDisEoS(STR *s) +static char* cpuDisEoS(char *s) { return s + strlen(s); } -static void cpuDisCommaAppend(STR *s) +static void cpuDisCommaAppend(char *s) { strcat(s, ","); } -static void cpuDisWordAppend(ULO data, STR *sdata) +static void cpuDisWordAppend(uint32_t data, char *sdata) { sprintf(cpuDisEoS(sdata), " %.4X", data); } -static void cpuDisLongAppend(ULO data, STR *sdata) +static void cpuDisLongAppend(uint32_t data, char *sdata) { sprintf(cpuDisEoS(sdata), " %.8X", data); } -static ULO cpuDis05(ULO regno, ULO pcp, STR *sdata, STR *soperands) +static uint32_t cpuDis05(uint32_t regno, uint32_t pcp, char *sdata, char *soperands) { - ULO disp = memoryReadWord(pcp); + uint32_t disp = memoryReadWord(pcp); cpuDisWordAppend(disp, sdata); sprintf(cpuDisEoS(soperands), "$%.4X(A%1u)", disp, regno); return pcp + 2; } -static ULO cpuDis06Brief(ULO regno, ULO pcp, ULO ext, BOOLE is_pc_indirect, STR *sdata, STR *soperands) +static uint32_t cpuDis06Brief(uint32_t regno, uint32_t pcp, uint32_t ext, BOOLE is_pc_indirect, char *sdata, char *soperands) { - STR *scale[4] = {"", "*2", "*4", "*8"}; - STR indexregtype = (STR) ((ext & 0x8000) ? 'A' : 'D'); - STR indexsize = (STR) ((ext & 0x0800) ? 'L' : 'W'); - ULO indexregno = (ext >> 12) & 7; - ULO offset = ext & 0xff; - ULO scalefactor = (ext >> 9) & 3; + char *scale[4] = {"", "*2", "*4", "*8"}; + char indexregtype = (char) ((ext & 0x8000) ? 'A' : 'D'); + char indexsize = (char) ((ext & 0x0800) ? 'L' : 'W'); + uint32_t indexregno = (ext >> 12) & 7; + uint32_t offset = ext & 0xff; + uint32_t scalefactor = (ext >> 9) & 3; cpuDisWordAppend(ext, sdata); if (cpuGetModelMajor() < 2) @@ -189,9 +188,9 @@ static ULO cpuDis06Brief(ULO regno, ULO pcp, ULO ext, BOOLE is_pc_indirect, STR return pcp; } -static ULO cpuDis06Od(ULO pcp, BOOLE wordsize, STR *sdata, STR *soperands) +static uint32_t cpuDis06Od(uint32_t pcp, BOOLE wordsize, char *sdata, char *soperands) { - ULO od; + uint32_t od; if (wordsize) { @@ -210,22 +209,22 @@ static ULO cpuDis06Od(ULO pcp, BOOLE wordsize, STR *sdata, STR *soperands) return pcp; } -static ULO cpuDis06Extended(ULO regno, ULO pcp, ULO ext, BOOLE is_pc_indirect, STR *sdata, STR *soperands) +static uint32_t cpuDis06Extended(uint32_t regno, uint32_t pcp, uint32_t ext, BOOLE is_pc_indirect, char *sdata, char *soperands) { - STR *scale[4] = {"", "*2", "*4", "*8"}; - STR indexregtype = (STR) ((ext & 0x8000) ? 'A' : 'D'); - STR indexsize = (STR)((ext & 0x0800) ? 'L' : 'W'); - ULO indexregno = (ext >> 12) & 7; - ULO scalefactor = (ext >> 9) & 3; - ULO iis = ext & 0x0007; - ULO bdsize = (ext >> 4) & 3; - ULO bd; + char *scale[4] = {"", "*2", "*4", "*8"}; + char indexregtype = (char) ((ext & 0x8000) ? 'A' : 'D'); + char indexsize = (char)((ext & 0x0800) ? 'L' : 'W'); + uint32_t indexregno = (ext >> 12) & 7; + uint32_t scalefactor = (ext >> 9) & 3; + uint32_t iis = ext & 0x0007; + uint32_t bdsize = (ext >> 4) & 3; + uint32_t bd; BOOLE is = !!(ext & 0x0040); BOOLE bs = !!(ext & 0x0080); - STR baseregstr[32]; - STR indexstr[32]; - STR basedispstr[32]; - STR outerdispstr[32]; + char baseregstr[32]; + char indexstr[32]; + char basedispstr[32]; + char outerdispstr[32]; baseregstr[0] = '\0'; indexstr[0] = '\0'; @@ -342,9 +341,9 @@ static ULO cpuDis06Extended(ULO regno, ULO pcp, ULO ext, BOOLE is_pc_indirect, S } -static ULO cpuDis06(ULO regno, ULO pcp, STR *sdata, STR *soperands) +static uint32_t cpuDis06(uint32_t regno, uint32_t pcp, char *sdata, char *soperands) { - ULO ext = memoryReadWord(pcp); + uint32_t ext = memoryReadWord(pcp); if (cpuGetModelMajor() < 2 || !(ext & 0x0100)) return cpuDis06Brief(regno, pcp + 2, ext, FALSE, sdata, soperands); @@ -352,36 +351,36 @@ static ULO cpuDis06(ULO regno, ULO pcp, STR *sdata, STR *soperands) return cpuDis06Extended(regno, pcp + 2, ext, FALSE, sdata, soperands); } -static ULO cpuDis70(ULO pcp, STR *sdata, STR *soperands) +static uint32_t cpuDis70(uint32_t pcp, char *sdata, char *soperands) { - ULO absadr = memoryReadWord(pcp); + uint32_t absadr = memoryReadWord(pcp); cpuDisWordAppend(absadr, sdata); sprintf(cpuDisEoS(soperands), "$%.4X", absadr); return pcp + 2; } -static ULO cpuDis71(ULO pcp, STR *sdata, STR *soperands) +static uint32_t cpuDis71(uint32_t pcp, char *sdata, char *soperands) { - ULO absadr = memoryReadLong(pcp); + uint32_t absadr = memoryReadLong(pcp); cpuDisLongAppend(absadr, sdata); sprintf(cpuDisEoS(soperands), "$%.8X", absadr); return pcp + 4; } -static ULO cpuDis72(ULO pcp, STR *sdata, STR *soperands) +static uint32_t cpuDis72(uint32_t pcp, char *sdata, char *soperands) { - ULO disp = memoryReadWord(pcp); + uint32_t disp = memoryReadWord(pcp); cpuDisWordAppend(disp, sdata); sprintf(cpuDisEoS(soperands), "$%.4X(PC)", disp); return pcp + 2; } -static ULO cpuDis73(ULO pcp, STR *sdata, STR *soperands) +static uint32_t cpuDis73(uint32_t pcp, char *sdata, char *soperands) { - ULO ext = memoryReadWord(pcp); + uint32_t ext = memoryReadWord(pcp); if (cpuGetModelMajor() < 2 || !(ext & 0x0100)) return cpuDis06Brief(0, pcp + 2, ext, TRUE, sdata, soperands); @@ -389,9 +388,9 @@ static ULO cpuDis73(ULO pcp, STR *sdata, STR *soperands) return cpuDis06Extended(0, pcp + 2, ext, TRUE, sdata, soperands); } -static ULO cpuDis74(ULO size, ULO pcp, STR *sdata, STR *soperands) +static uint32_t cpuDis74(uint32_t size, uint32_t pcp, char *sdata, char *soperands) { - ULO imm; + uint32_t imm; if (size == 8) { @@ -416,29 +415,29 @@ static ULO cpuDis74(ULO size, ULO pcp, STR *sdata, STR *soperands) } } -static void cpuDisRegCat(BOOLE is_datareg, ULO regno, STR *soperands) +static void cpuDisRegCat(BOOLE is_datareg, uint32_t regno, char *soperands) { size_t i = strlen(soperands); - soperands[i++] = (STR) ((is_datareg) ? 'D' : 'A'); - soperands[i++] = (STR) (regno + 0x30); + soperands[i++] = (char) ((is_datareg) ? 'D' : 'A'); + soperands[i++] = (char) (regno + 0x30); soperands[i] = '\0'; } -static void cpuDisIndRegCat(ULO mode, ULO regno, STR *soperands) +static void cpuDisIndRegCat(uint32_t mode, uint32_t regno, char *soperands) { size_t i = strlen(soperands); if (mode == 4) soperands[i++] = '-'; soperands[i++] = '('; soperands[i++] = 'A'; - soperands[i++] = (STR) (regno + 0x30); + soperands[i++] = (char) (regno + 0x30); soperands[i++] = ')'; if (mode == 3) soperands[i++] = '+'; soperands[i] = '\0'; } -static ULO cpuDisAdrMode(ULO eamode, ULO earegno, ULO pcp, ULO size, STR *sdata, STR *soperands) +static uint32_t cpuDisAdrMode(uint32_t eamode, uint32_t earegno, uint32_t pcp, uint32_t size, char *sdata, char *soperands) { switch (eamode) { @@ -465,21 +464,21 @@ static ULO cpuDisAdrMode(ULO eamode, ULO earegno, ULO pcp, ULO size, STR *sdata, /* Common disassembly for BCHG, BCLR, BSET, BTST */ -static ULO cpu_dis_btX_trans[4] = {3, 0, 1, 2}; -static STR *cpu_dis_bnr[4] = {"CHG","CLR","SET","TST"}; +static uint32_t cpu_dis_btX_trans[4] = {3, 0, 1, 2}; +static char *cpu_dis_bnr[4] = {"CHG","CLR","SET","TST"}; -static ULO cpuDisBtX(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisBtX(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { BOOLE is_reg = cpuDisGetBit(opc, 8); - ULO eareg = cpuDisGetSourceRegister(opc); - ULO eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); - ULO bitreg = cpuDisGetDestinationRegister(opc); - STR sizech = (eamode == 0) ? 'L' : 'B'; + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); + uint32_t bitreg = cpuDisGetDestinationRegister(opc); + char sizech = (eamode == 0) ? 'L' : 'B'; sprintf(sinstruction, "B%s.%c", cpu_dis_bnr[cpu_dis_btX_trans[(opc >> 6) & 3]], sizech); if (!is_reg) { - ULO imm = memoryReadWord(prc + 2); + uint32_t imm = memoryReadWord(prc + 2); cpuDisWordAppend(imm, sdata); sprintf(soperands, "#$%.4X,", imm & ((eamode == 0) ? 0x1f : 7)); prc += 2; @@ -493,15 +492,15 @@ static ULO cpuDisBtX(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soper /* Common disassembly for ADD, SUB, CMP, AND, EOR, OR */ -static STR *cpu_dis_anr[6] = {"ADD","SUB","CMP","AND","EOR","OR"}; +static char *cpu_dis_anr[6] = {"ADD","SUB","CMP","AND","EOR","OR"}; -static ULO cpuDisArith1(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisArith1(uint32_t prc, uint16_t opc, uint32_t nr, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO dreg = cpuDisGetDestinationRegister(opc); - ULO o = cpuDisGetBit(opc, 8); - ULO size = cpuDisGetSize(opc); - ULO eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t dreg = cpuDisGetDestinationRegister(opc); + uint32_t o = cpuDisGetBit(opc, 8); + uint32_t size = cpuDisGetSize(opc); + uint32_t eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); sprintf(sinstruction, "%s.%c", cpu_dis_anr[nr], cpuDisSizeChar(size)); prc = cpuDisAdrMode((o) ? 0 : eamode, (o) ? dreg : eareg, prc + 2, size, sdata, soperands); @@ -512,12 +511,12 @@ static ULO cpuDisArith1(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, /* Common disassembly for ADDA, SUBA, CMPA */ -static ULO cpuDisArith2(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisArith2(uint32_t prc, uint16_t opc, uint32_t nr, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO dreg = cpuDisGetDestinationRegister(opc); - ULO eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); - ULO size = cpuDisGetSize2(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t dreg = cpuDisGetDestinationRegister(opc); + uint32_t eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); + uint32_t size = cpuDisGetSize2(opc); sprintf(sinstruction, "%sA.%c", cpu_dis_anr[nr], cpuDisSizeChar(size)); prc = cpuDisAdrMode(eamode, eareg, prc + 2, size, sdata, soperands); @@ -528,11 +527,11 @@ static ULO cpuDisArith2(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, /* Common disassembly for ADDI, SUBI, CMPI, ANDI, EORI, ORI */ -static ULO cpuDisArith3(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisArith3(uint32_t prc, uint16_t opc, uint32_t nr, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); - ULO size = cpuDisGetSize(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); + uint32_t size = cpuDisGetSize(opc); sprintf(sinstruction, "%sI.%c", cpu_dis_anr[nr], cpuDisSizeChar(size)); prc = cpuDisAdrMode(11, 4, prc + 2, size, sdata, soperands); @@ -550,12 +549,12 @@ static ULO cpuDisArith3(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, /* Common disassembly for ADDQ, SUBQ */ -static ULO cpuDisArith4(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisArith4(uint32_t prc, uint16_t opc, uint32_t nr, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); - ULO size = cpuDisGetSize(opc); - ULO imm = cpuDisGetDestinationRegister(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); + uint32_t size = cpuDisGetSize(opc); + uint32_t imm = cpuDisGetDestinationRegister(opc); if (imm == 0) { imm = 8; @@ -567,13 +566,13 @@ static ULO cpuDisArith4(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, /* Common disassembly for ADDX, SUBX, ABCD, SBCD, CMPM */ -static STR *cpu_dis_a5nr[5] = {"ADDX","SUBX","ABCD","SBCD","CMPM"}; +static char *cpu_dis_a5nr[5] = {"ADDX","SUBX","ABCD","SBCD","CMPM"}; -static ULO cpuDisArith5(ULO prc, UWO opc, ULO nr, STR *sinstruction, STR *soperands) +static uint32_t cpuDisArith5(uint32_t prc, uint16_t opc, uint32_t nr, char *sinstruction, char *soperands) { - ULO bit3 = cpuDisGetBit(opc, 3); - STR *minus = ((nr == 4) || !bit3) ? "" : "-"; - STR *plus = ((nr == 4) && !bit3) ? "+" : ""; + uint32_t bit3 = cpuDisGetBit(opc, 3); + char *minus = ((nr == 4) || !bit3) ? "" : "-"; + char *plus = ((nr == 4) && !bit3) ? "+" : ""; sprintf(sinstruction, "%s.%c", cpu_dis_a5nr[nr], cpuDisSizeChar(cpuDisGetSize(opc))); sprintf(soperands, @@ -591,14 +590,14 @@ static ULO cpuDisArith5(ULO prc, UWO opc, ULO nr, STR *sinstruction, STR *sopera /* Common disassembly for ASX, LSX, ROX, ROXX */ -static STR *cpu_dis_shnr[4] = {"AS", "LS", "RO", "ROX"}; +static char *cpu_dis_shnr[4] = {"AS", "LS", "RO", "ROX"}; -static ULO cpuDisShift(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisShift(uint32_t prc, uint16_t opc, uint32_t nr, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); - ULO size = cpuDisGetSize(opc); - STR rl = (STR) ((cpuDisGetBit(opc, 8)) ? 'L' : 'R'); + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); + uint32_t size = cpuDisGetSize(opc); + char rl = (char) ((cpuDisGetBit(opc, 8)) ? 'L' : 'R'); if (size == 64) { @@ -608,8 +607,8 @@ static ULO cpuDisShift(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, } else { - STR sc = cpuDisSizeChar(size); - ULO dreg = cpuDisGetDestinationRegister(opc); + char sc = cpuDisSizeChar(size); + uint32_t dreg = cpuDisGetDestinationRegister(opc); if (!cpuDisGetBit(opc, 5)) { if (dreg == 0) @@ -631,13 +630,13 @@ static ULO cpuDisShift(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, /* Common disassembly for CLR, NEG, NOT, TST, JMP, JSR, PEA, NBCD, NEGX */ -static STR *cpu_dis_unanr[10] = {"CLR","NEG","NOT","TST","JMP","JSR","PEA","TAS","NCBD","NEGX"}; +static char *cpu_dis_unanr[10] = {"CLR","NEG","NOT","TST","JMP","JSR","PEA","TAS","NCBD","NEGX"}; -static ULO cpuDisUnary(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisUnary(uint32_t prc, uint16_t opc, uint32_t nr, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); - ULO size = cpuDisGetSize(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); + uint32_t size = cpuDisGetSize(opc); if (nr < 4 || nr > 7) { sprintf(sinstruction, "%s.%c", cpu_dis_unanr[nr], cpuDisSizeChar(size)); @@ -651,9 +650,9 @@ static ULO cpuDisUnary(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, /* Common disassembly for NOP, RESET, RTE, RTR, RTS, TRAPV */ -static STR *cpu_dis_singnr[6] = {"NOP","RESET","RTE","RTR","RTS","TRAPV"}; +static char *cpu_dis_singnr[6] = {"NOP","RESET","RTE","RTR","RTS","TRAPV"}; -static ULO cpuDisSingle(ULO prc, ULO nr, STR *sinstruction) +static uint32_t cpuDisSingle(uint32_t prc, uint32_t nr, char *sinstruction) { sprintf(sinstruction, "%s", cpu_dis_singnr[nr]); return prc + 2; @@ -661,13 +660,13 @@ static ULO cpuDisSingle(ULO prc, ULO nr, STR *sinstruction) /* Common disassembly for CHK, DIVS, DIVU, LEA, MULS, MULU */ -static STR *cpu_dis_var1nr[6] = {"CHK","DIVS","DIVU","LEA","MULS","MULU"}; +static char *cpu_dis_var1nr[6] = {"CHK","DIVS","DIVU","LEA","MULS","MULU"}; -static ULO cpuDisVarious1(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisVarious1(uint32_t prc, uint16_t opc, uint32_t nr, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); - ULO dreg = cpuDisGetDestinationRegister(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); + uint32_t dreg = cpuDisGetDestinationRegister(opc); sprintf(sinstruction, "%s.%c", cpu_dis_var1nr[nr], (nr == 3) ? 'L' : 'W'); prc = cpuDisAdrMode(eamode, eareg, prc + 2, 16, sdata, soperands); @@ -677,72 +676,72 @@ static ULO cpuDisVarious1(ULO prc, UWO opc, ULO nr, STR *sdata, STR *sinstructio /* Common disassembly for SWAP, UNLK */ -static STR *cpu_dis_var2nr[2] = {"SWAP","UNLK"}; +static char *cpu_dis_var2nr[2] = {"SWAP","UNLK"}; -static ULO cpuDisVarious2(ULO prc, UWO opc, ULO nr, STR *sinstruction, STR *soperands) +static uint32_t cpuDisVarious2(uint32_t prc, uint16_t opc, uint32_t nr, char *sinstruction, char *soperands) { - STR regtype = (STR) ((nr == 0) ? 'D' : 'A'); + char regtype = (char) ((nr == 0) ? 'D' : 'A'); sprintf(sinstruction, "%s", cpu_dis_var2nr[nr]); sprintf(soperands, "%c%1X", regtype, cpuDisGetSourceRegister(opc)); return prc + 2; } -static ULO cpuDisIllegal(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisIllegal(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { sprintf(sinstruction, "ILLEGAL"); return prc + 2; } -static ULO cpuDisAbcd(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisAbcd(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith5(prc, opc, 2, sinstruction, soperands); } -static ULO cpuDisAdd(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisAdd(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith1(prc, opc, 0, sdata, sinstruction, soperands); } -static ULO cpuDisAdda(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisAdda(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith2(prc, opc, 0, sdata, sinstruction, soperands); } -static ULO cpuDisAddi(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisAddi(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith3(prc, opc, 0, sdata, sinstruction, soperands); } -static ULO cpuDisAddq(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisAddq(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith4(prc, opc, 0, sdata, sinstruction, soperands); } -static ULO cpuDisAddx(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisAddx(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith5(prc, opc, 0, sinstruction, soperands); } -static ULO cpuDisAnd(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisAnd(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith1(prc, opc, 3, sdata, sinstruction, soperands); } -static ULO cpuDisAndi(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisAndi(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith3(prc, opc, 3, sdata, sinstruction, soperands); } -static ULO cpuDisAsx(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisAsx(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisShift(prc, opc, 0, sdata, sinstruction, soperands); } -static ULO cpuDisBcc(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisBcc(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO disp2; - ULO adr; - LON disp = cpuDisGetLowByteSignExtend(opc); + uint32_t disp2; + uint32_t adr; + int32_t disp = cpuDisGetLowByteSignExtend(opc); sprintf(sinstruction, "B%s.%c", cpu_dis_btab[cpuDisGetBranchType(opc)], (disp == -1) ? 'L' : ((disp == 0) ? 'W' : 'B')); if (disp == 0) @@ -768,110 +767,108 @@ static ULO cpuDisBcc(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soper return prc + 2; } -static ULO cpuDisBt(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisBt(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisBtX(prc, opc, sdata, sinstruction, soperands); } -static ULO cpuDisChk(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisChk(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisVarious1(prc, opc, 0, sdata, sinstruction, soperands); } -static ULO cpuDisClr(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisClr(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisUnary(prc, opc, 0, sdata, sinstruction, soperands); } -static ULO cpuDisCmp(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisCmp(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith1(prc, opc, 2, sdata, sinstruction, soperands); } -static ULO cpuDisCmpa(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisCmpa(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith2(prc, opc, 2, sdata, sinstruction, soperands); } -static ULO cpuDisCmpi(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisCmpi(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith3(prc, opc, 2, sdata, sinstruction, soperands); } -static ULO cpuDisCmpm(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisCmpm(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith5(prc, opc, 4, sinstruction, soperands); } -static ULO cpuDisDBcc(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisDBcc(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO offset; - ULO adr; - ULO bratype = cpuDisGetBranchType(opc); + uint32_t bratype = cpuDisGetBranchType(opc); prc += 2; - offset = memoryReadWord(prc); - adr = (offset > 32767) ? (prc + offset - 65536) : (prc + offset); + uint32_t offset = memoryReadWord(prc); + uint32_t adr = (offset > 32767) ? (prc + offset - 65536) : (prc + offset); cpuDisWordAppend(offset, sdata); sprintf(sinstruction, "DB%s", (bratype == 0) ? "T" : ((bratype == 1) ? "F" : cpu_dis_btab[bratype])); sprintf(soperands, "D%1u,$%6.6X", cpuDisGetSourceRegister(opc), adr); return prc + 2; } -static ULO cpuDisDivs(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisDivs(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisVarious1(prc, opc, 1, sdata, sinstruction, soperands); } -static ULO cpuDisDivu(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisDivu(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisVarious1(prc, opc, 2, sdata, sinstruction, soperands); } -static ULO cpuDisEor(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisEor(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith1(prc, opc, 4, sdata, sinstruction, soperands); } -static ULO cpuDisEori(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisEori(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisArith3(prc, opc, 4, sdata, sinstruction, soperands); } -static ULO cpuDisExg(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisExg(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO o = (opc & 0x00f8) >> 3; + uint32_t o = (opc & 0x00f8) >> 3; sprintf(sinstruction, "EXG.L"); sprintf(soperands, (o == 8) ? "D%d,D%d" : ((o == 9) ? "A%d,A%d" : "A%d,D%d"), cpuDisGetSourceRegister(opc), cpuDisGetDestinationRegister(opc)); return prc + 2; } -static ULO cpuDisExt(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisExt(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { sprintf(sinstruction, "EXT.%c", (cpuDisGetBit(opc, 6) == 0) ? 'W' : 'L'); sprintf(soperands, "D%u", cpuDisGetSourceRegister(opc)); return prc + 2; } -static ULO cpuDisJmp(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisJmp(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisUnary(prc, opc, 4, sdata, sinstruction, soperands); } -static ULO cpuDisJsr(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisJsr(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisUnary(prc, opc, 5, sdata, sinstruction, soperands); } -static ULO cpuDisLea(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisLea(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisVarious1(prc, opc, 3, sdata, sinstruction, soperands); } -static ULO cpuDisLink(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisLink(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO imm = memoryReadWord(prc + 2); + uint32_t imm = memoryReadWord(prc + 2); cpuDisWordAppend(imm, sdata); sprintf(sinstruction, "LINK"); @@ -879,18 +876,18 @@ static ULO cpuDisLink(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sope return prc + 4; } -static ULO cpuDisLsx(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisLsx(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { return cpuDisShift(prc, opc, 1, sdata, sinstruction, soperands); } -static ULO cpuDisMove(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisMove(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO srcreg = cpuDisGetSourceRegister(opc); - ULO srcmode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), srcreg); - ULO dstreg = cpuDisGetDestinationRegister(opc); - ULO dstmode = cpuDisGetEaNo(cpuDisGetDestinationMode(opc), dstreg); - ULO size = cpuDisGetSize3(opc); + uint32_t srcreg = cpuDisGetSourceRegister(opc); + uint32_t srcmode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), srcreg); + uint32_t dstreg = cpuDisGetDestinationRegister(opc); + uint32_t dstmode = cpuDisGetEaNo(cpuDisGetDestinationMode(opc), dstreg); + uint32_t size = cpuDisGetSize3(opc); sprintf(sinstruction, "MOVE.%c", cpuDisSizeChar(size)); prc = cpuDisAdrMode(srcmode, srcreg, prc + 2, size, sdata, soperands); @@ -898,9 +895,9 @@ static ULO cpuDisMove(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sope return cpuDisAdrMode(dstmode, dstreg, prc, size, sdata, soperands); } -static ULO cpuDisMoveToCcr(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisMoveToCcr(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); sprintf(sinstruction, "MOVE.B"); prc = cpuDisAdrMode(cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg), eareg, prc + 2, 8, sdata, soperands); @@ -908,9 +905,9 @@ static ULO cpuDisMoveToCcr(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR return prc; } -static ULO cpuDisMoveToSr(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisMoveToSr(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); sprintf(sinstruction, "MOVE.W"); prc = cpuDisAdrMode(cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg), eareg, prc + 2, 16, sdata, soperands); @@ -918,9 +915,9 @@ static ULO cpuDisMoveToSr(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR * return prc; } -static ULO cpuDisMoveFromSr(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisMoveFromSr(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); sprintf(sinstruction, "MOVE.W"); sprintf(soperands, "SR,"); @@ -928,19 +925,19 @@ static ULO cpuDisMoveFromSr(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR return prc; } -static ULO cpuDisMoveUsp(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisMoveUsp(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { sprintf(sinstruction, "MOVE.L"); sprintf(soperands, (cpuDisGetBit(opc, 3)) ? "USP,A%1d" : "A%1d,USP", cpuDisGetSourceRegister(opc)); return prc + 2; } -static ULO cpuDisMovea(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisMovea(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO dreg = cpuDisGetDestinationRegister(opc); - ULO eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); - ULO size = cpuDisGetSize3(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t dreg = cpuDisGetDestinationRegister(opc); + uint32_t eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); + uint32_t size = cpuDisGetSize3(opc); sprintf(sinstruction, "MOVEA.%c", cpuDisSizeChar(size)); prc = cpuDisAdrMode(eamode, eareg, prc + 2, size, sdata, soperands); @@ -948,20 +945,18 @@ static ULO cpuDisMovea(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sop return cpuDisAdrMode(1, dreg, prc, size, sdata, soperands); } -static void cpuDisMovemRegmaskStrCat(ULO regmask, STR *s, BOOLE predec) +static void cpuDisMovemRegmaskStrCat(uint32_t regmask, char *s, BOOLE predec) { - ULO i, j; - STR tmp[2][16]; - STR *tmpp; + char tmp[2][16]; - for (j = 0; j < 2; j++) + for (uint32_t j = 0; j < 2; j++) { - tmpp = tmp[j]; - for (i = (8*j); i < (8 + (8*j)); i++) + char* tmpp = tmp[j]; + for (uint32_t i = (8 * j); i < (8 + (8*j)); i++) { if (regmask & (1<> 8) & 7; - ULO offset = (ext & 0x7c0) >> 6; - ULO width = ext & 0x1f; - STR stmp[16]; + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); + uint32_t ext = memoryReadWord(prc + 2); + uint32_t n = (opc >> 8) & 7; + uint32_t offset = (ext & 0x7c0) >> 6; + uint32_t width = ext & 0x1f; + char stmp[16]; cpuDisWordAppend(ext, sdata); sprintf(sinstruction, "BF%s", cpu_dis_bftxt[n]); @@ -1253,16 +1246,16 @@ static ULO cpuDisBf(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sopera return prc; } -static ULO cpuDisCas(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisCas(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO ext = memoryReadWord(prc + 2); - ULO size = cpuDisGetSize4(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t ext = memoryReadWord(prc + 2); + uint32_t size = cpuDisGetSize4(opc); cpuDisWordAppend(ext, sdata); if ((opc & 0x3f) == 0x3c) { /* CAS2 */ - ULO ext2 = memoryReadWord(prc + 4); + uint32_t ext2 = memoryReadWord(prc + 4); cpuDisWordAppend(ext2, sdata); sprintf(sinstruction, "CAS2.%c", cpuDisSizeChar(size)); @@ -1287,9 +1280,9 @@ static ULO cpuDisCas(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soper return prc; } -static ULO cpuDisChkl(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisChkl(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); sprintf(sinstruction, "CHK.L"); prc = cpuDisAdrMode(cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg), eareg, prc + 2, 32, sdata, soperands); @@ -1297,12 +1290,12 @@ static ULO cpuDisChkl(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sope return cpuDisAdrMode(0, cpuDisGetDestinationRegister(opc), prc + 2, 32, sdata, soperands); } -static ULO cpuDisChk2(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisChk2(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO ext = memoryReadWord(prc + 2); - ULO size = cpuDisGetSize4(opc); - STR stmp[16]; + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t ext = memoryReadWord(prc + 2); + uint32_t size = cpuDisGetSize4(opc); + char stmp[16]; cpuDisWordAppend(ext, sdata); sprintf(sinstruction, "%s.%c", (ext & 0x800) ? "CHK2" : "CMP2", cpuDisSizeChar(size)); @@ -1312,17 +1305,15 @@ static ULO cpuDisChk2(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sope return prc; } -static ULO cpuDisDivl(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisDivl(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO ext = memoryReadWord(prc + 2); - ULO dq; - ULO dr; - STR stmp[16]; + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t ext = memoryReadWord(prc + 2); + char stmp[16]; cpuDisWordAppend(ext, sdata); - dq = (ext >> 12) & 7; - dr = ext & 7; + uint32_t dq = (ext >> 12) & 7; + uint32_t dr = ext & 7; sprintf(sinstruction, "DIV%c%s.L ", (ext & 0x800) ? 'S' : 'U', (ext & 0x400) ? "L" : ""); prc = cpuDisAdrMode(cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg), eareg, prc + 4, 32, sdata, soperands); if (ext & 0x400) @@ -1337,35 +1328,34 @@ static ULO cpuDisDivl(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sope return prc; } -static ULO cpuDisExtb(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisExtb(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { sprintf(sinstruction, "EXTB.L"); sprintf(soperands, "D%u", cpuDisGetSourceRegister(opc)); return prc + 2; } -static ULO cpuDisLinkl(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisLinkl(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO disp = memoryReadLong(prc + 2); + uint32_t disp = memoryReadLong(prc + 2); cpuDisLongAppend(disp, sdata); sprintf(sinstruction, "LINK.L"); sprintf(soperands, "A%u, #$%.8X", cpuDisGetSourceRegister(opc), disp); return prc + 6; } -static ULO cpuDisMoveFromCcr(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisMoveFromCcr(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); + uint32_t eareg = cpuDisGetSourceRegister(opc); sprintf(sinstruction, "MOVE.W"); sprintf(soperands, "CCR,"); return cpuDisAdrMode(cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg), eareg, prc + 2, 16, sdata, soperands); } -static ULO cpuDisMovec(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisMovec(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO creg; - ULO extw = memoryReadWord(prc + 2); - STR stmp[16]; + uint32_t extw = memoryReadWord(prc + 2); + char stmp[16]; cpuDisWordAppend(extw, sdata); sprintf(sinstruction, "MOVEC.L"); @@ -1374,7 +1364,7 @@ static ULO cpuDisMovec(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sop sprintf(stmp, "%s%u,", (extw & 0x8000) ? "A" : "D", (extw>>12) & 7); strcat(soperands, stmp); } - creg = extw & 0xfff; + uint32_t creg = extw & 0xfff; if (cpuGetModelMajor() == 1 && ((creg != 0) && (creg != 1) && (creg != 0x800) && (creg != 0x801))) creg = 0xfff; switch (creg) @@ -1394,7 +1384,7 @@ static ULO cpuDisMovec(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sop case 0x002: /* CACR, Cache control register XX2346 */ strcat(soperands, "CACR"); break; - case 0x802: /* CAAR, Cache address register XX2346 */ + case 0x802: /* CAAR, Cache adress register XX2346 */ strcat(soperands, "CAAR"); break; case 0x803: /* MSP, Master stack pointer XX234X */ @@ -1415,12 +1405,12 @@ static ULO cpuDisMovec(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sop return prc + 4; } -static ULO cpuDisMoves(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisMoves(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO ext = memoryReadWord(prc + 2); - ULO size = cpuDisGetSize(opc); - STR stmp[16]; + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t ext = memoryReadWord(prc + 2); + uint32_t size = cpuDisGetSize(opc); + char stmp[16]; cpuDisWordAppend(ext, sdata); sprintf(sinstruction, "MOVES.%c", cpuDisSizeChar(size)); @@ -1438,16 +1428,14 @@ static ULO cpuDisMoves(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sop return prc; } -static ULO cpuDisMull(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisMull(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO ext = memoryReadWord(prc + 2); - ULO dl; - ULO dh; - STR stmp[16]; + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t ext = memoryReadWord(prc + 2); + char stmp[16]; - dl = (ext>>12) & 7; - dh = ext & 7; + uint32_t dl = (ext >> 12) & 7; + uint32_t dh = ext & 7; cpuDisWordAppend(ext, sdata); sprintf(sinstruction, "MUL%c.L", (ext & 0x800) ? 'S' : 'U'); prc = cpuDisAdrMode(cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg), eareg, prc + 4, 32, sdata, soperands); @@ -1463,13 +1451,13 @@ static ULO cpuDisMull(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sope return prc; } -static ULO cpuDisPack(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisPack(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO sreg = cpuDisGetSourceRegister(opc); - ULO dreg = cpuDisGetDestinationRegister(opc); - ULO mode = (opc & 8)>>1; - ULO adjw = memoryReadWord(prc + 2); - STR tmp[16]; + uint32_t sreg = cpuDisGetSourceRegister(opc); + uint32_t dreg = cpuDisGetDestinationRegister(opc); + uint32_t mode = (opc & 8)>>1; + uint32_t adjw = memoryReadWord(prc + 2); + char tmp[16]; cpuDisWordAppend(adjw, sdata); sprintf(sinstruction, "PACK"); @@ -1483,9 +1471,9 @@ static ULO cpuDisPack(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sope /* Disassemble for 030 */ -static void cpuDisPflush030PrintFc(STR *soperands, ULO fcode) +static void cpuDisPflush030PrintFc(char *soperands, uint32_t fcode) { - STR stmp[16]; + char stmp[16]; if (fcode == 0) strcat(soperands, "SFC,"); else if (fcode == 1) strcat(soperands, "DFC,"); else if ((fcode & 0x18) == 8) @@ -1500,16 +1488,16 @@ static void cpuDisPflush030PrintFc(STR *soperands, ULO fcode) } } -static ULO cpuDisPflush030(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisPflush030(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); - ULO ext = memoryReadWord(prc + 2); - ULO mode = (ext >> 10) & 7; - ULO fcode = ext & 0x1f; - ULO mask = ext & 0x1f; - ULO op = (ext >> 13) & 7; - STR stmp[16]; + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t eamode = cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg); + uint32_t ext = memoryReadWord(prc + 2); + uint32_t mode = (ext >> 10) & 7; + uint32_t fcode = ext & 0x1f; + uint32_t mask = ext & 0x1f; + uint32_t op = (ext >> 13) & 7; + char stmp[16]; cpuDisWordAppend(ext, sdata); if (op == 0x1) @@ -1556,10 +1544,10 @@ static ULO cpuDisPflush030(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR /* PFLUSH disassemble for 68040 */ -static ULO cpuDisPflush040(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisPflush040(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO reg = cpuDisGetSourceRegister(opc); - ULO opmode = (opc & 0x18)>>3; + uint32_t reg = cpuDisGetSourceRegister(opc); + uint32_t opmode = (opc & 0x18)>>3; switch (opmode) { @@ -1583,30 +1571,30 @@ static ULO cpuDisPflush040(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR /* PTEST disassemble on 68040 */ -static ULO cpuDisPtest040(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisPtest040(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO reg = cpuDisGetSourceRegister(opc); - ULO rw = cpuDisGetBit(opc, 5); + uint32_t reg = cpuDisGetSourceRegister(opc); + uint32_t rw = cpuDisGetBit(opc, 5); sprintf(sinstruction, "PTEST%c", (rw) ? 'R' : 'W'); sprintf(soperands, "(A%u)", reg); return prc + 2; } -static ULO cpuDisRtd(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisRtd(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO extw = memoryReadWord(prc + 2); + uint32_t extw = memoryReadWord(prc + 2); cpuDisWordAppend(extw, sdata); sprintf(sinstruction, "RTD"); sprintf(soperands, "#%.4X", extw); return prc + 4; } -static ULO cpuDisTrapcc(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisTrapcc(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO bratype = cpuDisGetBranchType(opc); - ULO ext = 0; - ULO op = (opc & 7) - 2; + uint32_t bratype = cpuDisGetBranchType(opc); + uint32_t ext = 0; + uint32_t op = (opc & 7) - 2; sprintf(sinstruction, "TRAP%s", (bratype == 0) ? "T" : ((bratype == 1) ? "F" : cpu_dis_btab[bratype])); if (op == 0) @@ -1628,13 +1616,13 @@ static ULO cpuDisTrapcc(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *so return prc + 2; } -static ULO cpuDisUnpk(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisUnpk(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO sreg = cpuDisGetSourceRegister(opc); - ULO dreg = cpuDisGetDestinationRegister(opc); - ULO mode = (opc & 8)>>1; - ULO adjw = memoryReadWord(prc + 2); - STR tmp[16]; + uint32_t sreg = cpuDisGetSourceRegister(opc); + uint32_t dreg = cpuDisGetDestinationRegister(opc); + uint32_t mode = (opc & 8)>>1; + uint32_t adjw = memoryReadWord(prc + 2); + char tmp[16]; cpuDisWordAppend(adjw, sdata); sprintf(sinstruction, "UNPK"); @@ -1646,16 +1634,16 @@ static ULO cpuDisUnpk(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *sope return prc; } -static ULO cpuDisCallm(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisCallm(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { - ULO eareg = cpuDisGetSourceRegister(opc); - ULO ext = memoryReadWord(prc + 2); + uint32_t eareg = cpuDisGetSourceRegister(opc); + uint32_t ext = memoryReadWord(prc + 2); cpuDisWordAppend(ext, sdata); sprintf(soperands, "#%u,", ext & 0xff); return cpuDisAdrMode(cpuDisGetEaNo(cpuDisGetSourceMode(opc), eareg), eareg, prc + 4, 16, sdata, soperands); } -static ULO cpuDisRtm(ULO prc, UWO opc, STR *sdata, STR *sinstruction, STR *soperands) +static uint32_t cpuDisRtm(uint32_t prc, uint16_t opc, char *sdata, char *sinstruction, char *soperands) { sprintf(sinstruction, "RTM"); sprintf(soperands, "%c%u", (opc & 8) ? 'A':'D', cpuDisGetSourceRegister(opc)); @@ -1756,9 +1744,9 @@ static cpuDisFunc cpu_dis_index[100] = cpuDisUnpk // 89 }; -ULO cpuDisOpcode(ULO disasm_pc, STR *saddress, STR *sdata, STR *sinstruction, STR *soperands) +uint32_t cpuDisOpcode(uint32_t disasm_pc, char *saddress, char *sdata, char *sinstruction, char *soperands) { - UWO opcode = (UWO) memoryReadWord(disasm_pc); + uint16_t opcode = (uint16_t) memoryReadWord(disasm_pc); sprintf(saddress, "$%.8X", disasm_pc); sprintf(sdata, "%.4X", opcode); return cpu_dis_index[cpu_dis_func_tab[opcode]](disasm_pc, opcode, sdata, sinstruction, soperands); diff --git a/cpu/CpuModule_Disassembler.h b/cpu/CpuModule_Disassembler.h index d2a0004..4c41d01 100644 --- a/cpu/CpuModule_Disassembler.h +++ b/cpu/CpuModule_Disassembler.h @@ -1,105 +1,102 @@ -#ifndef CPUMODULE_DISASSEMBLER_H -#define CPUMODULE_DISASSEMBLER_H +#pragma once #ifdef __cplusplus extern "C" { #endif -extern ULO cpuDisOpcode(ULO disasm_pc, STR *saddress, STR *sdata, STR *sinstruction, STR *soperands); +extern uint32_t cpuDisOpcode(uint32_t disasm_pc, char *saddress, char *sdata, char *sinstruction, char *soperands); -extern ULO cpuDisIllegal(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisAbcd(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisAdd(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisAdda(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisAddi(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisAddq(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisAddx(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisAnd(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisAndi(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisAsx(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisBcc(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisBt(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisChk(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisClr(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisCmp(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisCmpa(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisCmpi(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisCmpm(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisDBcc(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisDivs(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisDivu(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisEor(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisEori(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisExg(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisExt(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisJmp(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisJsr(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisLea(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisLink(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisLsx(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMove(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMoveToCcr(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMoveToSr(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMoveFromSr(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMoveUsp(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMovea(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMovem(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMovep(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMoveq(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMuls(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMulu(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisNbcd(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisNeg(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisNegx(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisNop(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisNot(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisOr(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisOri(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisPea(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisReset(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisRox(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisRoxx(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisRte(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisRtr(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisRts(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisSbcd(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisScc(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisStop(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisSub(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisSuba(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisSubi(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisSubq(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisSubx(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisSwap(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisTas(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisTrap(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisTrapv(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisTst(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisUnlk(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisBkpt(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisBf(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisCas(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisChkl(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisChk2(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisDivl(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisExtb(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisLinkl(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMoveFromCcr(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMovec(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMoves(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisMull(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisPack(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisPflush030(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisPflush040(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisPtest040(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisRtd(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisTrapcc(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisUnpk(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisCallm(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); -extern ULO cpuDisRtm(ULO prc, ULO opc, STR *sdata, STR *sinstruction, STR *soperands); +extern uint32_t cpuDisIllegal(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisAbcd(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisAdd(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisAdda(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisAddi(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisAddq(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisAddx(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisAnd(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisAndi(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisAsx(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisBcc(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisBt(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisChk(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisClr(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisCmp(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisCmpa(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisCmpi(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisCmpm(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisDBcc(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisDivs(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisDivu(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisEor(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisEori(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisExg(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisExt(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisJmp(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisJsr(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisLea(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisLink(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisLsx(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMove(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMoveToCcr(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMoveToSr(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMoveFromSr(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMoveUsp(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMovea(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMovem(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMovep(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMoveq(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMuls(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMulu(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisNbcd(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisNeg(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisNegx(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisNop(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisNot(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisOr(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisOri(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisPea(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisReset(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisRox(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisRoxx(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisRte(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisRtr(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisRts(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisSbcd(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisScc(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisStop(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisSub(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisSuba(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisSubi(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisSubq(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisSubx(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisSwap(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisTas(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisTrap(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisTrapv(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisTst(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisUnlk(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisBkpt(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisBf(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisCas(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisChkl(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisChk2(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisDivl(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisExtb(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisLinkl(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMoveFromCcr(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMovec(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMoves(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisMull(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisPack(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisPflush030(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisPflush040(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisPtest040(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisRtd(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisTrapcc(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisUnpk(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisCallm(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); +extern uint32_t cpuDisRtm(uint32_t prc, uint32_t opc, char *sdata, char *sinstruction, char *soperands); #ifdef __cplusplus } #endif - -#endif diff --git a/cpu/CpuModule_DisassemblerFunc.h b/cpu/CpuModule_DisassemblerFunc.h index 02ce766..cffe8d2 100644 --- a/cpu/CpuModule_DisassemblerFunc.h +++ b/cpu/CpuModule_DisassemblerFunc.h @@ -1,7 +1,6 @@ -#ifndef CPUMODULE_DISASSEMBLERFUNC_H -#define CPUMODULE_DISASSEMBLERFUNC_H +#pragma once -static UBY cpu_dis_func_tab[65536] = +static uint8_t cpu_dis_func_tab[65536] = { 60,60,60,60,60,60,60,60,0,0,0,0,0,0,0,0, 60,60,60,60,60,60,60,60,60,60,60,60,60,60,60,60, @@ -259,7 +258,7 @@ static UBY cpu_dis_func_tab[65536] = 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -267,31 +266,31 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -299,31 +298,31 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -331,23 +330,23 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -355,7 +354,7 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -363,23 +362,23 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -387,7 +386,7 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -395,23 +394,23 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -419,7 +418,7 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -427,23 +426,23 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -451,7 +450,7 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -459,23 +458,23 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -483,7 +482,7 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -491,23 +490,23 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, -39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, +39,39,39,39,39,39,39,39,0,0,0,0,0,0,0,0, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,39,39,39, 39,39,39,39,39,39,39,39,39,39,39,39,39,0,0,0, @@ -4100,4 +4099,3 @@ static UBY cpu_dis_func_tab[65536] = 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 }; -#endif diff --git a/cpu/CpuModule_EffectiveAddress.c b/cpu/CpuModule_EffectiveAddress.c index bab9350..ae0b56a 100644 --- a/cpu/CpuModule_EffectiveAddress.c +++ b/cpu/CpuModule_EffectiveAddress.c @@ -1,4 +1,3 @@ -/* @(#) $Id: CpuModule_EffectiveAddress.c,v 1.3 2012-07-15 22:20:35 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* CPU 68k effective address calculation functions */ @@ -30,22 +29,22 @@ #include "CpuModule_Internal.h" /* Calculates EA for (Ax). */ -ULO cpuEA02(ULO regno) +uint32_t cpuEA02(uint32_t regno) { return cpuGetAReg(regno); } /* Calculates EA for (Ax)+ */ -ULO cpuEA03(ULO regno, ULO size) +uint32_t cpuEA03(uint32_t regno, uint32_t size) { - ULO tmp = cpuGetAReg(regno); + uint32_t tmp = cpuGetAReg(regno); if (regno == 7 && size == 1) size++; cpuSetAReg(regno, tmp + size); return tmp; } /* Calculates EA for -(Ax) */ -ULO cpuEA04(ULO regno, ULO size) +uint32_t cpuEA04(uint32_t regno, uint32_t size) { if (regno == 7 && size == 1) size++; cpuSetAReg(regno, cpuGetAReg(regno) - size); @@ -53,20 +52,20 @@ ULO cpuEA04(ULO regno, ULO size) } /* Calculates EA for disp16(Ax) */ -ULO cpuEA05(ULO regno) +uint32_t cpuEA05(uint32_t regno) { return cpuGetAReg(regno) + cpuGetNextWordSignExt(); } /* Calculates EA for disp8(Ax,Ri.size) with 68020 extended modes. */ -static ULO cpuEA06Ext(UWO ext, ULO base_reg_value, ULO index_value) +static uint32_t cpuEA06Ext(uint16_t ext, uint32_t base_reg_value, uint32_t index_value) { - ULO base_displacement; - ULO outer_displacement; + uint32_t base_displacement; + uint32_t outer_displacement; BOOLE index_register_suppressed = (ext & 0x0040); BOOLE base_register_suppressed = (ext & 0x0080); - ULO base_displacement_size = (ext >> 4) & 3; - ULO memory_indirect_action = (ext & 7); + uint32_t base_displacement_size = (ext >> 4) & 3; + uint32_t memory_indirect_action = (ext & 7); if (memory_indirect_action == 4 || (memory_indirect_action > 4 && index_register_suppressed)) @@ -126,14 +125,14 @@ static ULO cpuEA06Ext(UWO ext, ULO base_reg_value, ULO index_value) } /* Calculates EA for disp8(Ax,Ri.size), calls cpuEA06Ext() for 68020 extended modes. */ -ULO cpuEA06(ULO regno) +uint32_t cpuEA06(uint32_t regno) { - ULO reg_value = cpuGetAReg(regno); - UWO ext = cpuGetNextWord(); - ULO index_value = cpuGetReg(ext >> 15, (ext >> 12) & 7); + uint32_t reg_value = cpuGetAReg(regno); + uint16_t ext = cpuGetNextWord(); + uint32_t index_value = cpuGetReg(ext >> 15, (ext >> 12) & 7); if (!(ext & 0x0800)) { - index_value = cpuSignExtWordToLong((UWO)index_value); + index_value = cpuSignExtWordToLong((uint16_t)index_value); } if (cpuGetModelMajor() >= 2) { @@ -143,17 +142,17 @@ ULO cpuEA06(ULO regno) return cpuEA06Ext(ext, reg_value, index_value); } } - return reg_value + index_value + cpuSignExtByteToLong((UBY)ext); + return reg_value + index_value + cpuSignExtByteToLong((uint8_t)ext); } /* Calculates EA for xxxx.W */ -ULO cpuEA70(void) +uint32_t cpuEA70() { return cpuGetNextWordSignExt(); } /* Calculates EA for xxxxxxxx.L */ -ULO cpuEA71(void) +uint32_t cpuEA71() { return cpuGetNextLong(); } @@ -162,9 +161,9 @@ ULO cpuEA71(void) /// Calculates EA for disp16(PC) /// /// Address -ULO cpuEA72(void) +uint32_t cpuEA72() { - ULO pc_tmp = cpuGetPC(); + uint32_t pc_tmp = cpuGetPC(); return pc_tmp + cpuGetNextWordSignExt(); } @@ -172,14 +171,14 @@ ULO cpuEA72(void) /// Calculates EA for disp8(PC,Ri.size). Calls cpuEA06Ext() to calculate extended 68020 modes. /// /// Address -ULO cpuEA73(void) +uint32_t cpuEA73() { - ULO reg_value = cpuGetPC(); - UWO ext = cpuGetNextWord(); - ULO index_value = cpuGetReg(ext >> 15, (ext >> 12) & 0x7); + uint32_t reg_value = cpuGetPC(); + uint16_t ext = cpuGetNextWord(); + uint32_t index_value = cpuGetReg(ext >> 15, (ext >> 12) & 0x7); if (!(ext & 0x0800)) { - index_value = cpuSignExtWordToLong((UWO)index_value); + index_value = cpuSignExtWordToLong((uint16_t)index_value); } if (cpuGetModelMajor() >= 2) { @@ -189,5 +188,5 @@ ULO cpuEA73(void) return cpuEA06Ext(ext, reg_value, index_value); } } - return reg_value + index_value + cpuSignExtByteToLong((UBY)ext); + return reg_value + index_value + cpuSignExtByteToLong((uint8_t)ext); } diff --git a/cpu/CpuModule_Exceptions.c b/cpu/CpuModule_Exceptions.c index f53586f..7f427eb 100644 --- a/cpu/CpuModule_Exceptions.c +++ b/cpu/CpuModule_Exceptions.c @@ -1,4 +1,3 @@ -/* @(#) $Id: CpuModule_Exceptions.c,v 1.5 2012-08-12 16:51:02 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* CPU 68k exception handling functions */ @@ -29,6 +28,22 @@ #include "CpuModule.h" #include "CpuModule_Internal.h" + +// MPW +static cpuLineExceptionFunc cpu_a_line_exception_func = NULL; +static cpuLineExceptionFunc cpu_f_line_exception_func = NULL; + +void cpuSetALineExceptionFunc(cpuLineExceptionFunc func) +{ + cpu_a_line_exception_func = func; +} + +void cpuSetFLineExceptionFunc(cpuLineExceptionFunc func) +{ + cpu_f_line_exception_func = func; +} + + /* Function for exiting from mid-instruction exceptions */ static cpuMidInstructionExceptionFunc cpu_mid_instruction_exception_func; @@ -55,12 +70,12 @@ void cpuSetResetExceptionFunc(cpuResetExceptionFunc func) cpu_reset_exception_func = func; } -static STR *cpuGetExceptionName(ULO vector_offset) +static char *cpuGetExceptionName(uint32_t vector_offset) { char *name; if (vector_offset == 0x8) - name = "Exception: 2 - Access fault"; + name = "Exception: 2 - Bus error"; else if (vector_offset == 0xc) name = "Exception: 3 - Address error"; else if (vector_offset == 0x10) @@ -106,9 +121,9 @@ void cpuExceptionFail(BOOLE executejmp) } } -void cpuThrowException(ULO vector_offset, ULO pc, BOOLE executejmp) +void cpuThrowException(uint32_t vector_offset, uint32_t pc, BOOLE executejmp) { - ULO vector_address; + uint32_t vector_address; BOOLE is_address_error_on_sub_020 = (cpuGetModelMajor() < 2 && vector_offset == 0xc); BOOLE stack_is_even = !(cpuGetAReg(7) & 1); BOOLE vbr_is_even = !(cpuGetVbr() & 1); @@ -133,7 +148,7 @@ void cpuThrowException(ULO vector_offset, ULO pc, BOOLE executejmp) return; } - cpuStackFrameGenerate((UWO) vector_offset, pc); + cpuStackFrameGenerate((uint16_t) vector_offset, pc); // read a memory position vector_address = memoryReadLong(cpuGetVbr() + vector_offset); @@ -152,7 +167,40 @@ void cpuThrowException(ULO vector_offset, ULO pc, BOOLE executejmp) cpuSetStop(FALSE); cpuInitializeFromNewPC(vector_address); - cpuSetInstructionTime(40); + + uint32_t exceptionCycles = 0; + + switch (vector_offset) + { + case 0x08: exceptionCycles = 50; break; // Bus + case 0x0c: exceptionCycles = 50; break; // Address + case 0x10: exceptionCycles = 34; break; // Illegal + case 0x14: exceptionCycles = 42; break; // Division by zero + case 0x18: exceptionCycles = 28; break; // Chk + case 0x1c: exceptionCycles = 34; break; // Trapcc/trapv + case 0x20: exceptionCycles = 34; break; // Privilege + case 0x24: exceptionCycles = 34; break; // Trace + case 0x28: exceptionCycles = 34; break; // Line A + case 0x2c: exceptionCycles = 34; break; // Line F + case 0x80: + case 0x84: + case 0x88: + case 0x8c: + case 0x90: + case 0x94: + case 0x98: + case 0x9c: + case 0xa0: + case 0xa4: + case 0xa8: + case 0xac: + case 0xb0: + case 0xb4: + case 0xb8: + case 0xbc: exceptionCycles = 34; break; // TRAP + default: exceptionCycles = 4; break; // Should not come here + } + cpuSetInstructionTime(exceptionCycles); } // If the exception happened mid-instruction... @@ -164,25 +212,56 @@ void cpuThrowException(ULO vector_offset, ULO pc, BOOLE executejmp) void cpuThrowPrivilegeViolationException(void) { + cpuSetInstructionAborted(true); // The saved pc points to the instruction causing the violation - // (And the kickstart expects pc in the stack frame to be the opcode PC.) + // (And the kickstart excpects pc in the stack frame to be the opcode PC.) cpuThrowException(0x20, cpuGetOriginalPC(), FALSE); } void cpuThrowIllegalInstructionException(BOOLE executejmp) { + cpuSetInstructionAborted(true); // The saved pc points to the illegal instruction cpuThrowException(0x10, cpuGetOriginalPC(), executejmp); } +void cpuThrowIllegalInstructionExceptionFromBreakpoint(void) +{ + cpuSetInstructionAborted(true); + // The saved pc points to the illegal instruction + cpuThrowException(0x10, cpuGetPC(), FALSE); +} + void cpuThrowALineException(void) { + // MPW + if (cpu_a_line_exception_func) + { + uint16_t opcode = memoryReadWord(cpuGetPC() - 2); + cpu_a_line_exception_func(opcode); + cpuInitializeFromNewPC(cpuGetPC()); + cpuSetInstructionTime(512); + return; + } + + cpuSetInstructionAborted(true); // The saved pc points to the a-line instruction cpuThrowException(0x28, cpuGetOriginalPC(), FALSE); } void cpuThrowFLineException(void) { + // MPW + if (cpu_f_line_exception_func) + { + uint16_t opcode = memoryReadWord(cpuGetPC() - 2); + cpu_f_line_exception_func(opcode); + cpuInitializeFromNewPC(cpuGetPC()); + cpuSetInstructionTime(512); + return; + } + + cpuSetInstructionAborted(true); // The saved pc points to the f-line instruction cpuThrowException(0x2c, cpuGetOriginalPC(), FALSE); } @@ -193,13 +272,13 @@ void cpuThrowTrapVException(void) cpuThrowException(0x1c, cpuGetPC(), FALSE); } -void cpuThrowDivisionByZeroException() +void cpuThrowDivisionByZeroException(void) { // The saved pc points to the next instruction, which is now in pc cpuThrowException(0x14, cpuGetPC(), FALSE); } -void cpuThrowTrapException(ULO vector_no) +void cpuThrowTrapException(uint32_t vector_no) { // The saved pc points to the next instruction, which is now in pc cpuThrowException(0x80 + vector_no*4, cpuGetPC(), FALSE); @@ -219,6 +298,7 @@ void cpuThrowTraceException(void) void cpuThrowAddressErrorException(void) { + cpuSetInstructionAborted(true); cpuThrowException(0xc, cpuGetPC() - 2, TRUE); } diff --git a/cpu/CpuModule_Flags.c b/cpu/CpuModule_Flags.c index ccb28a5..5bb0ac2 100644 --- a/cpu/CpuModule_Flags.c +++ b/cpu/CpuModule_Flags.c @@ -1,4 +1,3 @@ -/* @(#) $Id: CpuModule_Flags.c,v 1.3 2011-07-18 17:22:55 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* 68000 flag and condition code handling */ @@ -27,23 +26,23 @@ /// Sets the Z flag for bit operations -void cpuSetZFlagBitOpsB(UBY res) +void cpuSetZFlagBitOpsB(uint8_t res) { - ULO flags = cpu_sr & 0xfffb; + uint32_t flags = cpu_sr & 0xfffb; if (res == 0) flags |= 4; cpu_sr = flags; } /// Sets the Z flag for bit operations -void cpuSetZFlagBitOpsL(ULO res) +void cpuSetZFlagBitOpsL(uint32_t res) { - ULO flags = cpu_sr & 0xfffb; + uint32_t flags = cpu_sr & 0xfffb; if (res == 0) flags |= 4; cpu_sr = flags; } // rm,dm,sm -ULO cpu_xnvc_flag_add_table[2][2][2] = { 0,0x11,0x11,0x13,0xa,8,8,0x19}; +uint32_t cpu_xnvc_flag_add_table[2][2][2] = { 0,0x11,0x11,0x13,0xa,8,8,0x19}; /// /// Calculate XNVC flags of an add operation. @@ -51,13 +50,13 @@ ULO cpu_xnvc_flag_add_table[2][2][2] = { 0,0x11,0x11,0x13,0xa,8,8,0x19}; /// The MSB of the result. /// The MSB of the destination source. /// The MSB of the source. -static ULO cpuMakeFlagXNVCAdd(BOOLE rm, BOOLE dm, BOOLE sm) +static uint32_t cpuMakeFlagXNVCAdd(BOOLE rm, BOOLE dm, BOOLE sm) { return cpu_xnvc_flag_add_table[rm][dm][sm]; } // rm,dm,sm -ULO cpu_nvc_flag_add_table[2][2][2] = { 0,1,1,3,0xa,8,8,9}; +uint32_t cpu_nvc_flag_add_table[2][2][2] = { 0,1,1,3,0xa,8,8,9}; /// /// Calculate NVC flags of an add operation for instructions not setting X. @@ -65,13 +64,13 @@ ULO cpu_nvc_flag_add_table[2][2][2] = { 0,1,1,3,0xa,8,8,9}; /// The MSB of the result. /// The MSB of the destination source. /// The MSB of the source. -static ULO cpuMakeFlagNVCAdd(BOOLE rm, BOOLE dm, BOOLE sm) +static uint32_t cpuMakeFlagNVCAdd(BOOLE rm, BOOLE dm, BOOLE sm) { return cpu_nvc_flag_add_table[rm][dm][sm]; } // rm,dm,sm -ULO cpu_xnvc_flag_sub_table[2][2][2] = { 0,0x11,2,0,0x19,0x1b,8,0x19}; +uint32_t cpu_xnvc_flag_sub_table[2][2][2] = { 0,0x11,2,0,0x19,0x1b,8,0x19}; /// /// Calculate XNVC flags of a sub operation. @@ -79,13 +78,13 @@ ULO cpu_xnvc_flag_sub_table[2][2][2] = { 0,0x11,2,0,0x19,0x1b,8,0x19}; /// The MSB of the result. /// The MSB of the destination source. /// The MSB of the source. -static ULO cpuMakeFlagXNVCSub(BOOLE rm, BOOLE dm, BOOLE sm) +static uint32_t cpuMakeFlagXNVCSub(BOOLE rm, BOOLE dm, BOOLE sm) { return cpu_xnvc_flag_sub_table[rm][dm][sm]; } // rm,dm,sm -ULO cpu_nvc_flag_sub_table[2][2][2] = { 0,1,2,0,9,0xb,8,9}; +uint32_t cpu_nvc_flag_sub_table[2][2][2] = { 0,1,2,0,9,0xb,8,9}; /// /// Calculate NVC flags of a sub operation for instructions not setting X. @@ -93,7 +92,7 @@ ULO cpu_nvc_flag_sub_table[2][2][2] = { 0,1,2,0,9,0xb,8,9}; /// The MSB of the result. /// The MSB of the destination source. /// The MSB of the source. -static ULO cpuMakeFlagNVCSub(BOOLE rm, BOOLE dm, BOOLE sm) +static uint32_t cpuMakeFlagNVCSub(BOOLE rm, BOOLE dm, BOOLE sm) { return cpu_nvc_flag_sub_table[rm][dm][sm]; } @@ -125,14 +124,6 @@ void cpuSetFlagV(BOOLE f) cpu_sr = (cpu_sr & 0xfffd) | ((f) ? 2 : 0); } -/// -/// Clear the V flag. -/// -static void cpuClearFlagV(void) -{ - cpu_sr = cpu_sr & 0xfffd; -} - /// /// Get the V flag. /// @@ -159,22 +150,6 @@ void cpuSetFlagZ(BOOLE f) cpu_sr = (cpu_sr & 0xfffb) | ((f) ? 4 : 0); } -/// -/// Clear the Z flag. -/// -static void cpuClearFlagZ(void) -{ - cpu_sr = cpu_sr & 0xfffb; -} - -/// -/// Get the Z flag. -/// -static BOOLE cpuGetFlagZ(void) -{ - return cpu_sr & 0x4; -} - /// /// Get the X flag. /// @@ -199,13 +174,13 @@ void cpuClearFlagsVC(void) cpu_sr = cpu_sr & 0xfffc; } -UWO cpuGetZFlagB(UBY res) {return (UWO)((res) ? 0 : 4);} -UWO cpuGetZFlagW(UWO res) {return (UWO)((res) ? 0 : 4);} -UWO cpuGetZFlagL(ULO res) {return (UWO)((res) ? 0 : 4);} +uint16_t cpuGetZFlagB(uint8_t res) {return (uint16_t)((res) ? 0 : 4);} +uint16_t cpuGetZFlagW(uint16_t res) {return (uint16_t)((res) ? 0 : 4);} +uint16_t cpuGetZFlagL(uint32_t res) {return (uint16_t)((res) ? 0 : 4);} -UWO cpuGetNFlagB(UBY res) {return (UWO)((res & 0x80) >> 4);} -UWO cpuGetNFlagW(UWO res) {return (UWO)((res & 0x8000) >> 12);} -UWO cpuGetNFlagL(ULO res) {return (UWO)((res & 0x80000000) >> 28);} +uint16_t cpuGetNFlagB(uint8_t res) {return (uint16_t)((res & 0x80) >> 4);} +uint16_t cpuGetNFlagW(uint16_t res) {return (uint16_t)((res & 0x8000) >> 12);} +uint16_t cpuGetNFlagL(uint32_t res) {return (uint16_t)((res & 0x80000000) >> 28);} /// /// Set the flags NZVC. @@ -216,7 +191,7 @@ UWO cpuGetNFlagL(ULO res) {return (UWO)((res & 0x80000000) >> 28);} /// The C flag. void cpuSetFlagsNZVC(BOOLE z, BOOLE n, BOOLE v, BOOLE c) { - ULO flags = cpu_sr & 0xfff0; + uint32_t flags = cpu_sr & 0xfff0; if (n) flags |= 8; else if (z) flags |= 4; if (v) flags |= 2; @@ -231,7 +206,7 @@ void cpuSetFlagsNZVC(BOOLE z, BOOLE n, BOOLE v, BOOLE c) /// The C flag. void cpuSetFlagsVC(BOOLE v, BOOLE c) { - ULO flags = cpu_sr & 0xfffc; + uint32_t flags = cpu_sr & 0xfffc; if (v) flags |= 2; if (c) flags |= 1; cpu_sr = flags; @@ -246,7 +221,7 @@ void cpuSetFlagsVC(BOOLE v, BOOLE c) /// The MSB of the source. void cpuSetFlagsAdd(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm) { - ULO flags = cpu_sr & 0xffe0; + uint32_t flags = cpu_sr & 0xffe0; if (z) flags |= 4; flags |= cpuMakeFlagXNVCAdd(rm, dm, sm); cpu_sr = flags; @@ -261,7 +236,7 @@ void cpuSetFlagsAdd(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm) /// The MSB of the source. void cpuSetFlagsSub(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm) { - ULO flags = cpu_sr & 0xffe0; + uint32_t flags = cpu_sr & 0xffe0; if (z) flags |= 4; flags |= cpuMakeFlagXNVCSub(rm, dm, sm); cpu_sr = flags; @@ -276,7 +251,7 @@ void cpuSetFlagsSub(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm) /// The MSB of the source. void cpuSetFlagsAddX(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm) { - ULO flags = cpu_sr & ((z) ? 0xffe4 : 0xffe0); // Clear z if result is non-zero + uint32_t flags = cpu_sr & ((z) ? 0xffe4 : 0xffe0); // Clear z if result is non-zero flags |= cpuMakeFlagXNVCAdd(rm, dm, sm); cpu_sr = flags; } @@ -290,7 +265,7 @@ void cpuSetFlagsAddX(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm) /// The MSB of the source. void cpuSetFlagsSubX(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm) { - ULO flags = cpu_sr & ((z) ? 0xffe4 : 0xffe0); // Clear z if result is non-zero + uint32_t flags = cpu_sr & ((z) ? 0xffe4 : 0xffe0); // Clear z if result is non-zero flags |= cpuMakeFlagXNVCSub(rm, dm, sm); cpu_sr = flags; } @@ -303,7 +278,7 @@ void cpuSetFlagsSubX(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm) /// The MSB of the destination source. void cpuSetFlagsNeg(BOOLE z, BOOLE rm, BOOLE dm) { - ULO flags = cpu_sr & 0xffe0; + uint32_t flags = cpu_sr & 0xffe0; if (z) flags |= 4; else { @@ -325,7 +300,7 @@ void cpuSetFlagsNeg(BOOLE z, BOOLE rm, BOOLE dm) /// The MSB of the destination source. void cpuSetFlagsNegx(BOOLE z, BOOLE rm, BOOLE dm) { - ULO flags = cpu_sr & ((z) ? 0xffe4 : 0xffe0); // Clear z if result is non-zero + uint32_t flags = cpu_sr & ((z) ? 0xffe4 : 0xffe0); // Clear z if result is non-zero if (dm || rm) { flags |= 0x11; // XC @@ -347,7 +322,7 @@ void cpuSetFlagsNegx(BOOLE z, BOOLE rm, BOOLE dm) /// The MSB of the source. void cpuSetFlagsCmp(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm) { - ULO flags = cpu_sr & 0xfff0; + uint32_t flags = cpu_sr & 0xfff0; if (z) flags |= 4; flags |= cpuMakeFlagNVCSub(rm, dm, sm); cpu_sr = flags; @@ -360,7 +335,7 @@ void cpuSetFlagsCmp(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm) /// The MSB of the result. void cpuSetFlagsShiftZero(BOOLE z, BOOLE rm) { - ULO flags = cpu_sr & 0xfff0; // Always clearing the VC flag + uint32_t flags = cpu_sr & 0xfff0; // Always clearing the VC flag if (rm) flags |= 8; else if (z) flags |= 4; cpu_sr = flags; @@ -375,7 +350,7 @@ void cpuSetFlagsShiftZero(BOOLE z, BOOLE rm) /// The overflow of the result. void cpuSetFlagsShift(BOOLE z, BOOLE rm, BOOLE c, BOOLE v) { - ULO flags = cpu_sr & 0xffe0; + uint32_t flags = cpu_sr & 0xffe0; if (rm) flags |= 8; else if (z) flags |= 4; if (v) flags |= 2; @@ -391,7 +366,7 @@ void cpuSetFlagsShift(BOOLE z, BOOLE rm, BOOLE c, BOOLE v) /// The carry of the result. void cpuSetFlagsRotate(BOOLE z, BOOLE rm, BOOLE c) { - ULO flags = cpu_sr & 0xfff0; // Always clearing the V flag + uint32_t flags = cpu_sr & 0xfff0; // Always clearing the V flag if (rm) flags |= 8; else if (z) flags |= 4; @@ -406,7 +381,7 @@ void cpuSetFlagsRotate(BOOLE z, BOOLE rm, BOOLE c) /// The Z flag. /// The MSB of the result. /// The extend bit and carry of the result. -void cpuSetFlagsRotateX(UWO z, UWO rm, UWO x) +void cpuSetFlagsRotateX(uint16_t z, uint16_t rm, uint16_t x) { cpu_sr = (cpu_sr & 0xffe0) | z | rm | x; } @@ -414,9 +389,9 @@ void cpuSetFlagsRotateX(UWO z, UWO rm, UWO x) /// /// Set the flags (ZN00). /// -void cpuSetFlagsNZ00NewB(UBY res) +void cpuSetFlagsNZ00NewB(uint8_t res) { - ULO flag = cpu_sr & 0xfff0; + uint32_t flag = cpu_sr & 0xfff0; if (res & 0x80) flag |= 0x8; else if (res == 0) flag |= 0x4; cpu_sr = flag; @@ -425,9 +400,9 @@ void cpuSetFlagsNZ00NewB(UBY res) /// /// Set the flags (ZN00). /// -void cpuSetFlagsNZ00NewW(UWO res) +void cpuSetFlagsNZ00NewW(uint16_t res) { - ULO flag = cpu_sr & 0xfff0; + uint32_t flag = cpu_sr & 0xfff0; if (res & 0x8000) flag |= 0x8; else if (res == 0) flag |= 0x4; cpu_sr = flag; @@ -436,9 +411,9 @@ void cpuSetFlagsNZ00NewW(UWO res) /// /// Set the flags (ZN00). /// -void cpuSetFlagsNZ00NewL(ULO res) +void cpuSetFlagsNZ00NewL(uint32_t res) { - ULO flag = cpu_sr & 0xfff0; + uint32_t flag = cpu_sr & 0xfff0; if (res & 0x80000000) flag |= 0x8; else if (res == 0) flag |= 0x4; cpu_sr = flag; @@ -447,9 +422,9 @@ void cpuSetFlagsNZ00NewL(ULO res) /// /// Set the flags (ZN00). /// -void cpuSetFlagsNZ00New64(LLO res) +void cpuSetFlagsNZ00New64(int64_t res) { - ULO flag = cpu_sr & 0xfff0; + uint32_t flag = cpu_sr & 0xfff0; if (res < 0) flag |= 0x8; else if (res == 0) flag |= 0x4; cpu_sr = flag; @@ -459,7 +434,7 @@ void cpuSetFlagsNZ00New64(LLO res) /// Set the 4 flags absolute. /// /// flags -void cpuSetFlagsAbs(UWO f) +void cpuSetFlagsAbs(uint16_t f) { cpu_sr = (cpu_sr & 0xfff0) | f; } @@ -530,29 +505,29 @@ BOOLE cpuCalculateConditionCode11(void) BOOLE cpuCalculateConditionCode12(void) { - ULO tmp = cpu_sr & 0xa; + uint32_t tmp = cpu_sr & 0xa; return (tmp == 0xa) || (tmp == 0); // GE - (N && V) || (!N && !V) } BOOLE cpuCalculateConditionCode13(void) { - ULO tmp = cpu_sr & 0xa; + uint32_t tmp = cpu_sr & 0xa; return (tmp == 0x8) || (tmp == 0x2); // LT - (N && !V) || (!N && V) } BOOLE cpuCalculateConditionCode14(void) { - ULO tmp = cpu_sr & 0xa; + uint32_t tmp = cpu_sr & 0xa; return (!(cpu_sr & 0x4)) && ((tmp == 0xa) || (tmp == 0)); // GT - (N && V && !Z) || (!N && !V && !Z) } BOOLE cpuCalculateConditionCode15(void) { - ULO tmp = cpu_sr & 0xa; + uint32_t tmp = cpu_sr & 0xa; return (cpu_sr & 0x4) || (tmp == 0x8) || (tmp == 2);// LE - Z || (N && !V) || (!N && V) } -BOOLE cpuCalculateConditionCode(ULO cc) +BOOLE cpuCalculateConditionCode(uint32_t cc) { switch (cc & 0xf) { diff --git a/cpu/CpuModule_Instructions.c b/cpu/CpuModule_Instructions.c index f842fb1..cfecab0 100644 --- a/cpu/CpuModule_Instructions.c +++ b/cpu/CpuModule_Instructions.c @@ -1,4 +1,3 @@ -/* @(#) $Id: CpuModule_Instructions.c,v 1.12 2013-01-08 18:55:48 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* CPU 68k functions */ @@ -29,29 +28,15 @@ #include "CpuModule_Internal.h" -static cpuLineExceptionFunc cpu_a_line_exception_func = NULL; -static cpuLineExceptionFunc cpu_f_line_exception_func = NULL; - -void cpuSetALineExceptionFunc(cpuLineExceptionFunc func) -{ - cpu_a_line_exception_func = func; -} - -void cpuSetFLineExceptionFunc(cpuLineExceptionFunc func) -{ - cpu_f_line_exception_func = func; -} - /*============================================================================*/ /* profiling help functions */ /*============================================================================*/ - #if 0 #ifndef X64 -static __inline void cpuTscBefore(LLO* a) +static __inline void cpuTscBefore(int64_t* a) { - LLO local_a = *a; + int64_t local_a = *a; __asm { push eax @@ -68,11 +53,11 @@ static __inline void cpuTscBefore(LLO* a) *a = local_a; } -static __inline void cpuTscAfter(LLO* a, LLO* b, LON* c) +static __inline void cpuTscAfter(int64_t* a, int64_t* b, int32_t* c) { - LLO local_a = *a; - LLO local_b = *b; - ULO local_c = *c; + int64_t local_a = *a; + int64_t local_b = *b; + uint32_t local_c = *c; __asm { @@ -99,7 +84,7 @@ static __inline void cpuTscAfter(LLO* a, LLO* b, LON* c) /* Maintains the integrity of the super/user state */ -void cpuUpdateSr(ULO new_sr) +void cpuUpdateSr(uint32_t new_sr) { BOOLE supermode_was_set = cpuGetFlagSupervisor(); BOOLE master_was_set = (cpuGetModelMajor() >= 2) && cpuGetFlagMaster(); @@ -107,8 +92,8 @@ void cpuUpdateSr(ULO new_sr) BOOLE supermode_is_set = !!(new_sr & 0x2000); BOOLE master_is_set = (cpuGetModelMajor() >= 2) && !!(new_sr & 0x1000); - ULO runlevel_old = (cpuGetSR() >> 8) & 7; - ULO runlevel_new = (new_sr >> 8) & 7; + uint32_t runlevel_old = (cpuGetSR() >> 8) & 7; + uint32_t runlevel_new = (new_sr >> 8) & 7; if (!supermode_was_set) { @@ -136,6 +121,15 @@ void cpuUpdateSr(ULO new_sr) cpuSetAReg(7, cpuGetSspDirect()); } + if (cpuGetModelMajor() < 2) + { + new_sr &= 0xa71f; + } + else + { + new_sr &= 0xf71f; + } + cpuSetSR(new_sr); if (runlevel_old != runlevel_new) @@ -146,21 +140,12 @@ void cpuUpdateSr(ULO new_sr) static void cpuIllegal(void) { - UWO opcode = memoryReadWord(cpuGetPC() - 2); + uint16_t opcode = memoryReadWord(cpuGetPC() - 2); if ((opcode & 0xf000) == 0xf000) { - if (cpu_f_line_exception_func) - { - cpu_f_line_exception_func(opcode); - cpuInitializeFromNewPC(cpuGetPC()); - cpuSetInstructionTime(512); - } - else - { cpuThrowFLineException(); } - } - else if ((opcode & 0xa000) == 0xa000) + else if ((opcode & 0xf000) == 0xa000) { #if 0 if ((cpuGetPC() & 0xff0000) == 0xf00000) @@ -169,18 +154,13 @@ static void cpuIllegal(void) cpuInitializeFromNewPC(cpuGetPC()); cpuSetInstructionTime(512); } - #else - if (cpu_a_line_exception_func) - { - cpu_a_line_exception_func(opcode); - cpuInitializeFromNewPC(cpuGetPC()); - cpuSetInstructionTime(512); - } - #endif else { cpuThrowALineException(); } + #endif + // MPW - always do a-line exception (tool traps). + cpuThrowALineException(); } else { @@ -191,7 +171,7 @@ static void cpuIllegal(void) /// /// Illegal instruction handler. /// -static void cpuIllegalInstruction(ULO *opcode_data) +static void cpuIllegalInstruction(uint32_t *opcode_data) { cpuIllegal(); } @@ -199,18 +179,18 @@ static void cpuIllegalInstruction(ULO *opcode_data) /// /// BKPT /// -static void cpuBkpt(ULO vector) +static void cpuBkpt(uint32_t vector) { - cpuIllegal(); + cpuThrowIllegalInstructionExceptionFromBreakpoint(); } /// /// Adds bytes src1 to src2. Sets all flags. /// /// The result -static UBY cpuAddB(UBY src2, UBY src1) +static uint8_t cpuAddB(uint8_t src2, uint8_t src1) { - UBY res = src2 + src1; + uint8_t res = src2 + src1; cpuSetFlagsAdd(cpuIsZeroB(res), cpuMsbB(res), cpuMsbB(src2), cpuMsbB(src1)); return res; } @@ -219,9 +199,9 @@ static UBY cpuAddB(UBY src2, UBY src1) /// Adds words src1 to src2. Sets all flags. /// /// The result -static UWO cpuAddW(UWO src2, UWO src1) +static uint16_t cpuAddW(uint16_t src2, uint16_t src1) { - UWO res = src2 + src1; + uint16_t res = src2 + src1; cpuSetFlagsAdd(cpuIsZeroW(res), cpuMsbW(res), cpuMsbW(src2), cpuMsbW(src1)); return res; } @@ -230,9 +210,9 @@ static UWO cpuAddW(UWO src2, UWO src1) /// Adds dwords src1 to src2. Sets all flags. /// /// The result -static ULO cpuAddL(ULO src2, ULO src1) +static uint32_t cpuAddL(uint32_t src2, uint32_t src1) { - ULO res = src2 + src1; + uint32_t res = src2 + src1; cpuSetFlagsAdd(cpuIsZeroL(res), cpuMsbL(res), cpuMsbL(src2), cpuMsbL(src1)); return res; } @@ -241,7 +221,7 @@ static ULO cpuAddL(ULO src2, ULO src1) /// Adds src1 to src2 (For address registers). No flags. /// /// The result -static ULO cpuAddaW(ULO src2, ULO src1) +static uint32_t cpuAddaW(uint32_t src2, uint32_t src1) { return src2 + src1; } @@ -250,7 +230,7 @@ static ULO cpuAddaW(ULO src2, ULO src1) /// Adds src1 to src2 (For address registers). No flags. /// /// The result -static ULO cpuAddaL(ULO src2, ULO src1) +static uint32_t cpuAddaL(uint32_t src2, uint32_t src1) { return src2 + src1; } @@ -259,9 +239,9 @@ static ULO cpuAddaL(ULO src2, ULO src1) /// Subtracts src1 from src2. Sets all flags. /// /// The result -static UBY cpuSubB(UBY src2, UBY src1) +static uint8_t cpuSubB(uint8_t src2, uint8_t src1) { - UBY res = src2 - src1; + uint8_t res = src2 - src1; cpuSetFlagsSub(cpuIsZeroB(res), cpuMsbB(res), cpuMsbB(src2), cpuMsbB(src1)); return res; } @@ -270,9 +250,9 @@ static UBY cpuSubB(UBY src2, UBY src1) /// Subtracts src1 from src2. Sets all flags. /// /// The result -static UWO cpuSubW(UWO src2, UWO src1) +static uint16_t cpuSubW(uint16_t src2, uint16_t src1) { - UWO res = src2 - src1; + uint16_t res = src2 - src1; cpuSetFlagsSub(cpuIsZeroW(res), cpuMsbW(res), cpuMsbW(src2), cpuMsbW(src1)); return res; } @@ -281,9 +261,9 @@ static UWO cpuSubW(UWO src2, UWO src1) /// Subtracts src1 from src2. Sets all flags. /// /// The result -static ULO cpuSubL(ULO src2, ULO src1) +static uint32_t cpuSubL(uint32_t src2, uint32_t src1) { - ULO res = src2 - src1; + uint32_t res = src2 - src1; cpuSetFlagsSub(cpuIsZeroL(res), cpuMsbL(res), cpuMsbL(src2), cpuMsbL(src1)); return res; } @@ -292,7 +272,7 @@ static ULO cpuSubL(ULO src2, ULO src1) /// Subtracts src1 from src2 (For address registers). No flags. /// /// The result -static ULO cpuSubaW(ULO src2, ULO src1) +static uint32_t cpuSubaW(uint32_t src2, uint32_t src1) { return src2 - src1; } @@ -301,7 +281,7 @@ static ULO cpuSubaW(ULO src2, ULO src1) /// Subtracts src1 from src2 (For address registers). No flags. /// /// The result -static ULO cpuSubaL(ULO src2, ULO src1) +static uint32_t cpuSubaL(uint32_t src2, uint32_t src1) { return src2 - src1; } @@ -309,27 +289,27 @@ static ULO cpuSubaL(ULO src2, ULO src1) /// /// Subtracts src1 from src2. Sets all flags. /// -static void cpuCmpB(UBY src2, UBY src1) +static void cpuCmpB(uint8_t src2, uint8_t src1) { - UBY res = src2 - src1; + uint8_t res = src2 - src1; cpuSetFlagsCmp(cpuIsZeroB(res), cpuMsbB(res), cpuMsbB(src2), cpuMsbB(src1)); } /// /// Subtracts src1 from src2. Sets all flags. /// -static void cpuCmpW(UWO src2, UWO src1) +static void cpuCmpW(uint16_t src2, uint16_t src1) { - UWO res = src2 - src1; + uint16_t res = src2 - src1; cpuSetFlagsCmp(cpuIsZeroW(res), cpuMsbW(res), cpuMsbW(src2), cpuMsbW(src1)); } /// /// Subtracts src1 from src2. Sets all flags. /// -static void cpuCmpL(ULO src2, ULO src1) +static void cpuCmpL(uint32_t src2, uint32_t src1) { - ULO res = src2 - src1; + uint32_t res = src2 - src1; cpuSetFlagsCmp(cpuIsZeroL(res), cpuMsbL(res), cpuMsbL(src2), cpuMsbL(src1)); } @@ -337,9 +317,9 @@ static void cpuCmpL(ULO src2, ULO src1) /// Ands src1 to src2. Sets NZ00 flags. /// /// The result -static UBY cpuAndB(UBY src2, UBY src1) +static uint8_t cpuAndB(uint8_t src2, uint8_t src1) { - UBY res = src2 & src1; + uint8_t res = src2 & src1; cpuSetFlagsNZ00NewB(res); return res; } @@ -348,9 +328,9 @@ static UBY cpuAndB(UBY src2, UBY src1) /// Ands src1 to src2. Sets NZ00 flags. /// /// The result -static UWO cpuAndW(UWO src2, UWO src1) +static uint16_t cpuAndW(uint16_t src2, uint16_t src1) { - UWO res = src2 & src1; + uint16_t res = src2 & src1; cpuSetFlagsNZ00NewW(res); return res; } @@ -359,9 +339,9 @@ static UWO cpuAndW(UWO src2, UWO src1) /// Ands src1 to src2. Sets NZ00 flags. /// /// The result -static ULO cpuAndL(ULO src2, ULO src1) +static uint32_t cpuAndL(uint32_t src2, uint32_t src1) { - ULO res = src2 & src1; + uint32_t res = src2 & src1; cpuSetFlagsNZ00NewL(res); return res; } @@ -370,9 +350,9 @@ static ULO cpuAndL(ULO src2, ULO src1) /// Eors src1 to src2. Sets NZ00 flags. /// /// The result -static UBY cpuEorB(UBY src2, UBY src1) +static uint8_t cpuEorB(uint8_t src2, uint8_t src1) { - UBY res = src2 ^ src1; + uint8_t res = src2 ^ src1; cpuSetFlagsNZ00NewB(res); return res; } @@ -381,9 +361,9 @@ static UBY cpuEorB(UBY src2, UBY src1) /// Eors src1 to src2. Sets NZ00 flags. /// /// The result -static UWO cpuEorW(UWO src2, UWO src1) +static uint16_t cpuEorW(uint16_t src2, uint16_t src1) { - UWO res = src2 ^ src1; + uint16_t res = src2 ^ src1; cpuSetFlagsNZ00NewW(res); return res; } @@ -392,9 +372,9 @@ static UWO cpuEorW(UWO src2, UWO src1) /// Eors src1 to src2. Sets NZ00 flags. /// /// The result -static ULO cpuEorL(ULO src2, ULO src1) +static uint32_t cpuEorL(uint32_t src2, uint32_t src1) { - ULO res = src2 ^ src1; + uint32_t res = src2 ^ src1; cpuSetFlagsNZ00NewL(res); return res; } @@ -403,9 +383,9 @@ static ULO cpuEorL(ULO src2, ULO src1) /// Ors src1 to src2. Sets NZ00 flags. /// /// The result -static UBY cpuOrB(UBY src2, UBY src1) +static uint8_t cpuOrB(uint8_t src2, uint8_t src1) { - UBY res = src2 | src1; + uint8_t res = src2 | src1; cpuSetFlagsNZ00NewB(res); return res; } @@ -414,9 +394,9 @@ static UBY cpuOrB(UBY src2, UBY src1) /// Ors src1 to src2. Sets NZ00 flags. /// /// The result -static UWO cpuOrW(UWO src2, UWO src1) +static uint16_t cpuOrW(uint16_t src2, uint16_t src1) { - UWO res = src2 | src1; + uint16_t res = src2 | src1; cpuSetFlagsNZ00NewW(res); return res; } @@ -425,9 +405,9 @@ static UWO cpuOrW(UWO src2, UWO src1) /// Ors src1 to src2. Sets NZ00 flags. /// /// The result -static ULO cpuOrL(ULO src2, ULO src1) +static uint32_t cpuOrL(uint32_t src2, uint32_t src1) { - ULO res = src2 | src1; + uint32_t res = src2 | src1; cpuSetFlagsNZ00NewL(res); return res; } @@ -436,9 +416,9 @@ static ULO cpuOrL(ULO src2, ULO src1) /// Changes bit in src. Sets Z flag. /// /// The result -static UBY cpuBchgB(UBY src, UBY bit) +static uint8_t cpuBchgB(uint8_t src, uint8_t bit) { - UBY bit_mask = 1 << (bit & 7); + uint8_t bit_mask = 1 << (bit & 7); cpuSetZFlagBitOpsB(src & bit_mask); return src ^ bit_mask; } @@ -447,9 +427,9 @@ static UBY cpuBchgB(UBY src, UBY bit) /// Changes bit in src. Sets Z flag. /// /// The result -static ULO cpuBchgL(ULO src, ULO bit) +static uint32_t cpuBchgL(uint32_t src, uint32_t bit) { - ULO bit_mask = 1 << (bit & 31); + uint32_t bit_mask = 1 << (bit & 31); cpuSetZFlagBitOpsL(src & bit_mask); return src ^ bit_mask; } @@ -458,9 +438,9 @@ static ULO cpuBchgL(ULO src, ULO bit) /// Clears bit in src. Sets Z flag. /// /// The result -static UBY cpuBclrB(UBY src, UBY bit) +static uint8_t cpuBclrB(uint8_t src, uint8_t bit) { - UBY bit_mask = 1 << (bit & 7); + uint8_t bit_mask = 1 << (bit & 7); cpuSetZFlagBitOpsB(src & bit_mask); return src & ~bit_mask; } @@ -469,9 +449,9 @@ static UBY cpuBclrB(UBY src, UBY bit) /// Clears bit in src. Sets Z flag. /// /// The result -static ULO cpuBclrL(ULO src, ULO bit) +static uint32_t cpuBclrL(uint32_t src, uint32_t bit) { - ULO bit_mask = 1 << (bit & 31); + uint32_t bit_mask = 1 << (bit & 31); cpuSetZFlagBitOpsL(src & bit_mask); return src & ~bit_mask; } @@ -480,9 +460,9 @@ static ULO cpuBclrL(ULO src, ULO bit) /// Sets bit in src. Sets Z flag. /// /// The result -static UBY cpuBsetB(UBY src, UBY bit) +static uint8_t cpuBsetB(uint8_t src, uint8_t bit) { - UBY bit_mask = 1 << (bit & 7); + uint8_t bit_mask = 1 << (bit & 7); cpuSetZFlagBitOpsB(src & bit_mask); return src | bit_mask; } @@ -491,9 +471,9 @@ static UBY cpuBsetB(UBY src, UBY bit) /// Sets bit in src. Sets Z flag. /// /// The result -static ULO cpuBsetL(ULO src, ULO bit) +static uint32_t cpuBsetL(uint32_t src, uint32_t bit) { - ULO bit_mask = 1 << (bit & 31); + uint32_t bit_mask = 1 << (bit & 31); cpuSetZFlagBitOpsL(src & bit_mask); return src | bit_mask; } @@ -501,25 +481,25 @@ static ULO cpuBsetL(ULO src, ULO bit) /// /// Tests bit in src. Sets Z flag. /// -static void cpuBtstB(UBY src, UBY bit) +static void cpuBtstB(uint8_t src, uint8_t bit) { - UBY bit_mask = 1 << (bit & 7); + uint8_t bit_mask = 1 << (bit & 7); cpuSetZFlagBitOpsB(src & bit_mask); } /// /// Tests bit in src. Sets Z flag. /// -static void cpuBtstL(ULO src, ULO bit) +static void cpuBtstL(uint32_t src, uint32_t bit) { - ULO bit_mask = 1 << (bit & 31); + uint32_t bit_mask = 1 << (bit & 31); cpuSetZFlagBitOpsL(src & bit_mask); } /// /// Set flags for clr operation. X0100. /// -static void cpuClr() +static void cpuClr(void) { cpuSetFlags0100(); } @@ -528,9 +508,9 @@ static void cpuClr() /// Neg src1. Sets sub flags. /// /// The result -static UBY cpuNegB(UBY src1) +static uint8_t cpuNegB(uint8_t src1) { - UBY res = (UBY)-(BYT)src1; + uint8_t res = (uint8_t)-(int8_t)src1; cpuSetFlagsNeg(cpuIsZeroB(res), cpuMsbB(res), cpuMsbB(src1)); return res; } @@ -539,9 +519,9 @@ static UBY cpuNegB(UBY src1) /// Neg src1. Sets sub flags. /// /// The result -static UWO cpuNegW(UWO src1) +static uint16_t cpuNegW(uint16_t src1) { - UWO res = (UWO)-(WOR)src1; + uint16_t res = (uint16_t)-(int16_t)src1; cpuSetFlagsNeg(cpuIsZeroW(res), cpuMsbW(res), cpuMsbW(src1)); return res; } @@ -550,9 +530,9 @@ static UWO cpuNegW(UWO src1) /// Neg src1. Sets sub flags. /// /// The result -static ULO cpuNegL(ULO src1) +static uint32_t cpuNegL(uint32_t src1) { - ULO res = (ULO)-(LON)src1; + uint32_t res = (uint32_t)-(int32_t)src1; cpuSetFlagsNeg(cpuIsZeroL(res), cpuMsbL(res), cpuMsbL(src1)); return res; } @@ -561,10 +541,10 @@ static ULO cpuNegL(ULO src1) /// Negx src1. /// /// The result -static UBY cpuNegxB(UBY src1) +static uint8_t cpuNegxB(uint8_t src1) { - BYT x = (cpuGetFlagX()) ? 1 : 0; - UBY res = (UBY)-(BYT)src1 - x; + int8_t x = (cpuGetFlagX()) ? 1 : 0; + uint8_t res = (uint8_t)-(int8_t)src1 - x; cpuSetFlagsNegx(cpuIsZeroB(res), cpuMsbB(res), cpuMsbB(src1)); return res; } @@ -573,10 +553,10 @@ static UBY cpuNegxB(UBY src1) /// Negx src1. /// /// The result -static UWO cpuNegxW(UWO src1) +static uint16_t cpuNegxW(uint16_t src1) { - WOR x = (cpuGetFlagX()) ? 1 : 0; - UWO res = (UWO)-(WOR)src1 - x; + int16_t x = (cpuGetFlagX()) ? 1 : 0; + uint16_t res = (uint16_t)-(int16_t)src1 - x; cpuSetFlagsNegx(cpuIsZeroW(res), cpuMsbW(res), cpuMsbW(src1)); return res; } @@ -585,10 +565,10 @@ static UWO cpuNegxW(UWO src1) /// Negx src1. /// /// The result -static ULO cpuNegxL(ULO src1) +static uint32_t cpuNegxL(uint32_t src1) { - LON x = (cpuGetFlagX()) ? 1 : 0; - ULO res = (ULO)-(LON)src1 - x; + int32_t x = (cpuGetFlagX()) ? 1 : 0; + uint32_t res = (uint32_t)-(int32_t)src1 - x; cpuSetFlagsNegx(cpuIsZeroL(res), cpuMsbL(res), cpuMsbL(src1)); return res; } @@ -597,9 +577,9 @@ static ULO cpuNegxL(ULO src1) /// Not src1. /// /// The result -static UBY cpuNotB(UBY src1) +static uint8_t cpuNotB(uint8_t src1) { - UBY res = ~src1; + uint8_t res = ~src1; cpuSetFlagsNZ00NewB(res); return res; } @@ -608,9 +588,9 @@ static UBY cpuNotB(UBY src1) /// Not src1. /// /// The result -static UWO cpuNotW(UWO src1) +static uint16_t cpuNotW(uint16_t src1) { - UWO res = ~src1; + uint16_t res = ~src1; cpuSetFlagsNZ00NewW(res); return res; } @@ -619,9 +599,9 @@ static UWO cpuNotW(UWO src1) /// Not src. /// /// The result -static ULO cpuNotL(ULO src) +static uint32_t cpuNotL(uint32_t src) { - ULO res = ~src; + uint32_t res = ~src; cpuSetFlagsNZ00NewL(res); return res; } @@ -630,7 +610,7 @@ static ULO cpuNotL(ULO src) /// Tas src. /// /// The result -static UBY cpuTas(UBY src) +static uint8_t cpuTas(uint8_t src) { cpuSetFlagsNZ00NewB(src); return src | 0x80; @@ -639,7 +619,7 @@ static UBY cpuTas(UBY src) /// /// Tst res. /// -static void cpuTestB(UBY res) +static void cpuTestB(uint8_t res) { cpuSetFlagsNZ00NewB(res); } @@ -647,7 +627,7 @@ static void cpuTestB(UBY res) /// /// Tst res. /// -static void cpuTestW(UWO res) +static void cpuTestW(uint16_t res) { cpuSetFlagsNZ00NewW(res); } @@ -655,7 +635,7 @@ static void cpuTestW(UWO res) /// /// Tst res. /// -static void cpuTestL(ULO res) +static void cpuTestL(uint32_t res) { cpuSetFlagsNZ00NewL(res); } @@ -663,7 +643,7 @@ static void cpuTestL(ULO res) /// /// PEA ea. /// -static void cpuPeaL(ULO ea) +static void cpuPeaL(uint32_t ea) { cpuSetAReg(7, cpuGetAReg(7) - 4); memoryWriteLong(ea, cpuGetAReg(7)); @@ -672,7 +652,7 @@ static void cpuPeaL(ULO ea) /// /// JMP ea. /// -static void cpuJmp(ULO ea) +static void cpuJmp(uint32_t ea) { cpuInitializeFromNewPC(ea); } @@ -680,7 +660,7 @@ static void cpuJmp(ULO ea) /// /// JSR ea. /// -static void cpuJsr(ULO ea) +static void cpuJsr(uint32_t ea) { cpuSetAReg(7, cpuGetAReg(7) - 4); memoryWriteLong(cpuGetPC(), cpuGetAReg(7)); @@ -691,7 +671,7 @@ static void cpuJsr(ULO ea) /// Move res /// /// The result -static void cpuMoveB(UBY res) +static void cpuMoveB(uint8_t res) { cpuSetFlagsNZ00NewB(res); } @@ -700,7 +680,7 @@ static void cpuMoveB(UBY res) /// Move res /// /// The result -static void cpuMoveW(UWO res) +static void cpuMoveW(uint16_t res) { cpuSetFlagsNZ00NewW(res); } @@ -709,7 +689,7 @@ static void cpuMoveW(UWO res) /// Move res /// /// The result -static void cpuMoveL(ULO res) +static void cpuMoveL(uint32_t res) { cpuSetFlagsNZ00NewL(res); } @@ -717,7 +697,7 @@ static void cpuMoveL(ULO res) /// /// Bra byte offset. /// -static void cpuBraB(ULO offset) +static void cpuBraB(uint32_t offset) { cpuInitializeFromNewPC(cpuGetPC() + offset); cpuSetInstructionTime(10); @@ -726,9 +706,9 @@ static void cpuBraB(ULO offset) /// /// Bra word offset. /// -static void cpuBraW() +static void cpuBraW(void) { - ULO tmp_pc = cpuGetPC(); + uint32_t tmp_pc = cpuGetPC(); cpuInitializeFromNewPC(tmp_pc + cpuGetNextWordSignExt()); cpuSetInstructionTime(10); } @@ -736,12 +716,12 @@ static void cpuBraW() /// /// Bra long offset. /// -static void cpuBraL() +static void cpuBraL(void) { if (cpuGetModelMajor() < 2) cpuBraB(0xffffffff); else { - ULO tmp_pc = cpuGetPC(); + uint32_t tmp_pc = cpuGetPC(); cpuInitializeFromNewPC(tmp_pc + cpuGetNextLong()); cpuSetInstructionTime(4); } @@ -750,7 +730,7 @@ static void cpuBraL() /// /// Bsr byte offset. /// -static void cpuBsrB(ULO offset) +static void cpuBsrB(uint32_t offset) { cpuSetAReg(7, cpuGetAReg(7) - 4); memoryWriteLong(cpuGetPC(), cpuGetAReg(7)); @@ -761,10 +741,10 @@ static void cpuBsrB(ULO offset) /// /// Bsr word offset. /// -static void cpuBsrW() +static void cpuBsrW(void) { - ULO tmp_pc = cpuGetPC(); - ULO offset = cpuGetNextWordSignExt(); + uint32_t tmp_pc = cpuGetPC(); + uint32_t offset = cpuGetNextWordSignExt(); cpuSetAReg(7, cpuGetAReg(7) - 4); memoryWriteLong(cpuGetPC(), cpuGetAReg(7)); cpuInitializeFromNewPC(tmp_pc + offset); @@ -774,13 +754,13 @@ static void cpuBsrW() /// /// Bsr long offset. (020+) /// -static void cpuBsrL() +static void cpuBsrL(void) { if (cpuGetModelMajor() < 2) cpuBsrB(0xffffffff); else { - ULO tmp_pc = cpuGetPC(); - ULO offset = cpuGetNextLong(); + uint32_t tmp_pc = cpuGetPC(); + uint32_t offset = cpuGetNextLong(); cpuSetAReg(7, cpuGetAReg(7) - 4); memoryWriteLong(cpuGetPC(), cpuGetAReg(7)); cpuInitializeFromNewPC(tmp_pc + offset); @@ -791,7 +771,7 @@ static void cpuBsrL() /// /// Bcc byte offset. /// -static void cpuBccB(BOOLE cc, ULO offset) +static void cpuBccB(BOOLE cc, uint32_t offset) { if (cc) { @@ -811,7 +791,7 @@ static void cpuBccW(BOOLE cc) { if (cc) { - ULO tmp_pc = cpuGetPC(); + uint32_t tmp_pc = cpuGetPC(); cpuInitializeFromNewPC(tmp_pc + cpuGetNextWordSignExt()); cpuSetInstructionTime(10); } @@ -832,7 +812,7 @@ static void cpuBccL(BOOLE cc) { if (cc) { - ULO tmp_pc = cpuGetPC(); + uint32_t tmp_pc = cpuGetPC(); cpuInitializeFromNewPC(tmp_pc + cpuGetNextLong()); } else @@ -846,16 +826,16 @@ static void cpuBccL(BOOLE cc) /// /// DBcc word offset. /// -static void cpuDbcc(BOOLE cc, ULO reg) +static void cpuDbcc(BOOLE cc, uint32_t reg) { if (!cc) { - WOR val = (WOR)cpuGetDRegWord(reg); + int16_t val = (int16_t)cpuGetDRegWord(reg); val--; cpuSetDRegWord(reg, val); if (val != -1) { - ULO tmp_pc = cpuGetPC(); + uint32_t tmp_pc = cpuGetPC(); cpuInitializeFromNewPC(tmp_pc + cpuGetNextWordSignExt()); cpuSetInstructionTime(10); } @@ -875,21 +855,23 @@ static void cpuDbcc(BOOLE cc, ULO reg) /// /// And #imm, ccr /// -static void cpuAndCcrB() +static void cpuAndCcrB(void) { - UWO imm = cpuGetNextWord(); + uint16_t imm = cpuGetNextWord(); cpuSetSR(cpuGetSR() & (0xffe0 | (imm & 0x1f))); + cpuSetInstructionTime(20); } /// /// And #imm, sr /// -static void cpuAndSrW() +static void cpuAndSrW(void) { if (cpuGetFlagSupervisor()) { - UWO imm = cpuGetNextWord(); + uint16_t imm = cpuGetNextWord(); cpuUpdateSr(cpuGetSR() & imm); + cpuSetInstructionTime(20); } else { @@ -900,21 +882,23 @@ static void cpuAndSrW() /// /// Or #imm, ccr /// -static void cpuOrCcrB() +static void cpuOrCcrB(void) { - UWO imm = cpuGetNextWord(); + uint16_t imm = cpuGetNextWord(); cpuSetSR(cpuGetSR() | (imm & 0x1f)); + cpuSetInstructionTime(20); } /// /// Or #imm, sr /// -static void cpuOrSrW() +static void cpuOrSrW(void) { if (cpuGetFlagSupervisor()) { - UWO imm = cpuGetNextWord(); + uint16_t imm = cpuGetNextWord(); cpuUpdateSr(cpuGetSR() | imm); + cpuSetInstructionTime(20); } else { @@ -925,21 +909,23 @@ static void cpuOrSrW() /// /// Eor #imm, ccr /// -static void cpuEorCcrB() +static void cpuEorCcrB(void) { - UWO imm = cpuGetNextWord(); + uint16_t imm = cpuGetNextWord(); cpuSetSR(cpuGetSR() ^ (imm & 0x1f)); + cpuSetInstructionTime(20); } /// /// Eor #imm, sr /// -static void cpuEorSrW() +static void cpuEorSrW(void) { if (cpuGetFlagSupervisor()) { - UWO imm = cpuGetNextWord(); + uint16_t imm = cpuGetNextWord(); cpuUpdateSr(cpuGetSR() ^ imm); + cpuSetInstructionTime(20); } else { @@ -950,7 +936,7 @@ static void cpuEorSrW() /// /// Move ea, ccr /// -static void cpuMoveToCcr(UWO src) +static void cpuMoveToCcr(uint16_t src) { cpuSetSR((cpuGetSR() & 0xff00) | (src & 0x1f)); } @@ -958,22 +944,16 @@ static void cpuMoveToCcr(UWO src) /// /// Move , sr /// -static void cpuMoveToSr(UWO src) +static void cpuMoveToSr(uint16_t src) { - if (cpuGetFlagSupervisor()) - { - cpuUpdateSr(src); - } - else - { - cpuThrowPrivilegeViolationException(); - } + // Supervisor privilege for move to sr is checked in the instruction wrappers + cpuUpdateSr(src); } /// /// Move ccr, ea /// -static UWO cpuMoveFromCcr() +static uint16_t cpuMoveFromCcr(void) { return cpuGetSR() & 0x1f; } @@ -981,23 +961,16 @@ static UWO cpuMoveFromCcr() /// /// Move , sr /// -static UWO cpuMoveFromSr() +static uint16_t cpuMoveFromSr(void) { - if (cpuGetModelMajor() == 0 || (cpuGetModelMajor() > 0 && cpuGetFlagSupervisor())) - { - return (UWO) cpuGetSR(); - } - else - { - cpuThrowPrivilegeViolationException(); - } - return 0; + // Supervisor privilege for move from sr is checked in the instruction wrappers, privileged on 010+ + return (uint16_t) cpuGetSR(); } /// -/// Scc byte. +/// Scc byte. /// -static UBY cpuScc(ULO cc) +static uint8_t cpuScc(uint32_t cc) { return (cpuCalculateConditionCode(cc)) ? 0xff : 0; } @@ -1005,7 +978,7 @@ static UBY cpuScc(ULO cc) /// /// Rts /// -static void cpuRts() +static void cpuRts(void) { cpuInitializeFromNewPC(memoryReadLong(cpuGetAReg(7))); cpuSetAReg(7, cpuGetAReg(7) + 4); @@ -1015,7 +988,7 @@ static void cpuRts() /// /// Rtr /// -static void cpuRtr() +static void cpuRtr(void) { cpuSetSR((cpuGetSR() & 0xffe0) | (memoryReadWord(cpuGetAReg(7)) & 0x1f)); cpuSetAReg(7, cpuGetAReg(7) + 2); @@ -1027,7 +1000,7 @@ static void cpuRtr() /// /// Nop /// -static void cpuNop() +static void cpuNop(void) { cpuSetInstructionTime(4); } @@ -1035,7 +1008,7 @@ static void cpuNop() /// /// Trapv /// -static void cpuTrapv() +static void cpuTrapv(void) { if (cpuGetFlagV()) { @@ -1048,77 +1021,73 @@ static void cpuTrapv() /// /// Muls/u.l /// -static void cpuMulL(ULO src1, UWO extension) +static void cpuMulL(uint32_t src1, uint16_t extension) { - ULO dl = (extension >> 12) & 7; + uint32_t dl = (extension >> 12) & 7; if (extension & 0x0800) // muls.l { - LLO result = ((LLO)(LON) src1) * ((LLO)(LON)cpuGetDReg(dl)); + int64_t result = ((int64_t)(int32_t) src1) * ((int64_t)(int32_t)cpuGetDReg(dl)); if (extension & 0x0400) // 32bx32b=64b { - ULO dh = extension & 7; - cpuSetDReg(dh, (ULO)(result >> 32)); - cpuSetDReg(dl, (ULO)result); + uint32_t dh = extension & 7; + cpuSetDReg(dl, (uint32_t)result); + cpuSetDReg(dh, (uint32_t)(result >> 32)); cpuSetFlagsNZ00New64(result); } else // 32bx32b=32b { BOOLE o; if (result >= 0) - o = (result & 0xffffffff00000000) != 0; + o = (result & 0xffffffff80000000) != 0; else - o = (result & 0xffffffff00000000) != 0xffffffff00000000; - cpuSetDReg(dl, (ULO)result); - cpuSetFlagsNZVC(result == 0, result < 0, o, FALSE); + o = (result & 0xffffffff80000000) != 0xffffffff80000000; + cpuSetDReg(dl, (uint32_t)result); + cpuSetFlagsNZVC(((uint32_t)result) == 0, !!(result & 0x80000000), o, FALSE); } } else // mulu.l { - ULL result = ((ULL) src1) * ((ULL) cpuGetDReg(dl)); + uint64_t result = ((uint64_t) src1) * ((uint64_t) cpuGetDReg(dl)); if (extension & 0x0400) // 32bx32b=64b { - ULO dh = extension & 7; - cpuSetDReg(dh, (ULO)(result >> 32)); - cpuSetDReg(dl, (ULO)result); + uint32_t dh = extension & 7; + cpuSetDReg(dl, (uint32_t)result); + cpuSetDReg(dh, (uint32_t)(result >> 32)); cpuSetFlagsNZ00New64(result); } else // 32bx32b=32b { - cpuSetDReg(dl, (ULO)result); - cpuSetFlagsNZVC(result == 0, !!(result & 0x80000000), (result >> 32) != 0, FALSE); + cpuSetDReg(dl, (uint32_t)result); + cpuSetFlagsNZVC((uint32_t)result == 0, !!(result & 0x80000000), (result >> 32) != 0, FALSE); } } cpuSetInstructionTime(4); } -UBY cpuMuluTime[256]; -UBY cpuMulsTime[512]; +uint8_t cpuMuluTime[256]; +uint8_t cpuMulsTime[512]; void cpuCreateMuluTimeTable(void) { - ULO i, j, k; - - for (i = 0; i < 256; i++) + for (uint32_t i = 0; i < 256; i++) { - j = 0; - for (k = 0; k < 8; k++) + uint32_t j = 0; + for (uint32_t k = 0; k < 8; k++) if (((i>>k) & 1) == 1) j++; - cpuMuluTime[i] = (UBY) j*2; + cpuMuluTime[i] = (uint8_t) j*2; } } void cpuCreateMulsTimeTable(void) { - ULO i, j, k; - - for (i = 0; i < 512; i++) + for (uint32_t i = 0; i < 512; i++) { - j = 0; - for (k = 0; k < 9; k++) + uint32_t j = 0; + for (uint32_t k = 0; k < 9; k++) if ((((i>>k) & 3) == 1) || (((i>>k) & 3) == 2)) j++; - cpuMulsTime[i] = (UBY) j*2; + cpuMulsTime[i] = (uint8_t) j*2; } } @@ -1131,9 +1100,9 @@ void cpuCreateMulTimeTables(void) /// /// Muls.w /// -static ULO cpuMulsW(UWO src2, UWO src1, ULO eatime) +static uint32_t cpuMulsW(uint16_t src2, uint16_t src1, uint32_t eatime) { - ULO res = (ULO)(((LON)(WOR)src2)*((LON)(WOR)src1)); + uint32_t res = (uint32_t)(((int32_t)(int16_t)src2)*((int32_t)(int16_t)src1)); cpuSetFlagsNZ00NewL(res); cpuSetInstructionTime(38 + eatime + cpuMulsTime[(src1 << 1) & 0x1ff] + cpuMulsTime[src1 >> 7]); return res; @@ -1142,9 +1111,9 @@ static ULO cpuMulsW(UWO src2, UWO src1, ULO eatime) /// /// Mulu.w /// -static ULO cpuMuluW(UWO src2, UWO src1, ULO eatime) +static uint32_t cpuMuluW(uint16_t src2, uint16_t src1, uint32_t eatime) { - ULO res = ((ULO)src2)*((ULO)src1); + uint32_t res = ((uint32_t)src2)*((uint32_t)src1); cpuSetFlagsNZ00NewL(res); cpuSetInstructionTime(38 + eatime + cpuMuluTime[src1 & 0xff] + cpuMuluTime[src1 >> 8]); return res; @@ -1153,29 +1122,30 @@ static ULO cpuMuluW(UWO src2, UWO src1, ULO eatime) /// /// Divsw, src1 / src2 /// -static void cpuDivsW(ULO dst, UWO src1, ULO destination_reg, ULO instruction_time) +static void cpuDivsW(uint32_t dst, uint16_t src1, uint32_t destination_reg, uint32_t instruction_time) { if (src1 == 0) { // Alcatraz odyssey assumes that PC in this exception points after the instruction. + cpuSetFlagsNZVC(TRUE, FALSE, FALSE, FALSE); cpuThrowDivisionByZeroException(); } else { - ULO result; - LON x = (LON) dst; - LON y = (LON)(WOR) src1; - LON res = x / y; - LON rem = x % y; + uint32_t result; + int32_t x = (int32_t) dst; + int32_t y = (int32_t)(int16_t) src1; + int32_t res = x / y; + int32_t rem = x % y; if (res > 32767 || res < -32768) { result = dst; - cpuSetFlagsVC(TRUE, FALSE); + cpuSetFlagsNZVC(FALSE, TRUE, TRUE, FALSE); } else { result = (rem << 16) | (res & 0xffff); - cpuSetFlagsNZVC(cpuIsZeroW((UWO) res), cpuMsbW((UWO) res), FALSE, FALSE); + cpuSetFlagsNZVC(cpuIsZeroW((uint16_t) res), cpuMsbW((uint16_t) res), FALSE, FALSE); } cpuSetDReg(destination_reg, result); cpuSetInstructionTime(instruction_time); @@ -1185,77 +1155,77 @@ static void cpuDivsW(ULO dst, UWO src1, ULO destination_reg, ULO instruction_tim /// /// Divuw, src1 / src2 /// -static void cpuDivuW(ULO dst, UWO src1, ULO destination_reg, ULO instruction_time) +static void cpuDivuW(uint32_t dst, uint16_t src1, uint32_t destination_reg, uint32_t instruction_time) { if (src1 == 0) { // Alcatraz odyssey assumes that PC in this exception points after the instruction. + cpuSetFlagsNZVC((dst & 0xffff0000) == 0, (dst & 0x80000000) == 0x80000000, FALSE, FALSE); cpuThrowDivisionByZeroException(); } else { - ULO result; - ULO x = dst; - ULO y = (ULO) src1; - ULO res = x / y; - ULO rem = x % y; + uint32_t result; + uint32_t x = dst; + uint32_t y = (uint32_t) src1; + uint32_t res = x / y; + uint32_t rem = x % y; if (res > 65535) { result = dst; - cpuSetFlagsVC(TRUE, FALSE); + cpuSetFlagsNZVC(FALSE, TRUE, TRUE, FALSE); } else { result = (rem << 16) | (res & 0xffff); - cpuSetFlagsNZVC(cpuIsZeroW((UWO) res), cpuMsbW((UWO) res), FALSE, FALSE); + cpuSetFlagsNZVC(cpuIsZeroW((uint16_t) res), cpuMsbW((uint16_t) res), FALSE, FALSE); } cpuSetDReg(destination_reg, result); cpuSetInstructionTime(instruction_time); } } -static void cpuDivL(ULO divisor, ULO ext, ULO instruction_time) +static void cpuDivL(uint32_t divisor, uint32_t ext, uint32_t instruction_time) { if (divisor != 0) { - ULO dq_reg = (ext>>12) & 7; /* Get operand registers, size and sign */ - ULO dr_reg = ext & 7; + uint32_t dq_reg = (ext>>12) & 7; /* Get operand registers, size and sign */ + uint32_t dr_reg = ext & 7; BOOLE size64 = (ext>>10) & 1; BOOLE sign = (ext>>11) & 1; BOOLE resultsigned = FALSE, restsigned = FALSE; - ULL result, rest; - ULL x, y; - LLO x_signed, y_signed; + uint64_t x, y; + int64_t x_signed; if (sign) { - if (size64) x_signed = (LLO) ((ULL) cpuGetDReg(dq_reg)) | (((LLO) cpuGetDReg(dr_reg))<<32); - else x_signed = (LLO) (LON) cpuGetDReg(dq_reg); - y_signed = (LLO) (LON) divisor; + if (size64) x_signed = (int64_t) ((uint64_t) cpuGetDReg(dq_reg)) | (((int64_t) cpuGetDReg(dr_reg))<<32); + else x_signed = (int64_t) (int32_t) cpuGetDReg(dq_reg); + int64_t y_signed = (int64_t)(int32_t)divisor; if (y_signed < 0) { - y = (ULL) -y_signed; + y = (uint64_t) -y_signed; resultsigned = !resultsigned; } else y = y_signed; if (x_signed < 0) { - x = (ULL) -x_signed; + x = (uint64_t) -x_signed; resultsigned = !resultsigned; restsigned = TRUE; } - else x = (ULL) x_signed; + else x = (uint64_t) x_signed; } else { - if (size64) x = ((ULL) cpuGetDReg(dq_reg)) | (((ULL) cpuGetDReg(dr_reg))<<32); - else x = (ULL) cpuGetDReg(dq_reg); - y = (ULL) divisor; + if (size64) x = ((uint64_t) cpuGetDReg(dq_reg)) | (((uint64_t) cpuGetDReg(dr_reg))<<32); + else x = (uint64_t) cpuGetDReg(dq_reg); + y = (uint64_t) divisor; } - result = x / y; - rest = x % y; + uint64_t result = x / y; + uint64_t rest = x % y; if (sign) { @@ -1266,11 +1236,11 @@ static void cpuDivL(ULO divisor, ULO ext, ULO instruction_time) } else { - LLO result_signed = (resultsigned) ? (-(LLO)result) : ((LLO)result); - LLO rest_signed = (restsigned) ? (-(LLO)rest) : ((LLO)rest); - cpuSetDReg(dr_reg, (ULO) rest_signed); - cpuSetDReg(dq_reg, (ULO) result_signed); - cpuSetFlagsNZ00NewL((ULO) result_signed); + int64_t result_signed = (resultsigned) ? (-(int64_t)result) : ((int64_t)result); + int64_t rest_signed = (restsigned) ? (-(int64_t)rest) : ((int64_t)rest); + cpuSetDReg(dr_reg, (uint32_t) rest_signed); + cpuSetDReg(dq_reg, (uint32_t) result_signed); + cpuSetFlagsNZ00NewL((uint32_t) result_signed); } } else @@ -1282,9 +1252,9 @@ static void cpuDivL(ULO divisor, ULO ext, ULO instruction_time) } else { - cpuSetDReg(dr_reg, (ULO) rest); - cpuSetDReg(dq_reg, (ULO) result); - cpuSetFlagsNZ00NewL((ULO) result); + cpuSetDReg(dr_reg, (uint32_t) rest); + cpuSetDReg(dq_reg, (uint32_t) result); + cpuSetFlagsNZ00NewL((uint32_t) result); } } cpuSetInstructionTime(instruction_time); @@ -1298,9 +1268,9 @@ static void cpuDivL(ULO divisor, ULO ext, ULO instruction_time) /// /// Lslb /// -static UBY cpuLslB(UBY dst, ULO sh, ULO cycles) +static uint8_t cpuLslB(uint8_t dst, uint32_t sh, uint32_t cycles) { - UBY res; + uint8_t res; sh &= 0x3f; if (sh == 0) { @@ -1324,9 +1294,9 @@ static UBY cpuLslB(UBY dst, ULO sh, ULO cycles) /// /// Lslw /// -static UWO cpuLslW(UWO dst, ULO sh, ULO cycles) +static uint16_t cpuLslW(uint16_t dst, uint32_t sh, uint32_t cycles) { - UWO res; + uint16_t res; sh &= 0x3f; if (sh == 0) { @@ -1350,9 +1320,9 @@ static UWO cpuLslW(UWO dst, ULO sh, ULO cycles) /// /// Lsll /// -static ULO cpuLslL(ULO dst, ULO sh, ULO cycles) +static uint32_t cpuLslL(uint32_t dst, uint32_t sh, uint32_t cycles) { - ULO res; + uint32_t res; sh &= 0x3f; if (sh == 0) { @@ -1376,9 +1346,9 @@ static ULO cpuLslL(ULO dst, ULO sh, ULO cycles) /// /// Lsrb /// -static UBY cpuLsrB(UBY dst, ULO sh, ULO cycles) +static uint8_t cpuLsrB(uint8_t dst, uint32_t sh, uint32_t cycles) { - UBY res; + uint8_t res; sh &= 0x3f; if (sh == 0) { @@ -1402,9 +1372,9 @@ static UBY cpuLsrB(UBY dst, ULO sh, ULO cycles) /// /// Lsrw /// -static UWO cpuLsrW(UWO dst, ULO sh, ULO cycles) +static uint16_t cpuLsrW(uint16_t dst, uint32_t sh, uint32_t cycles) { - UWO res; + uint16_t res; sh &= 0x3f; if (sh == 0) { @@ -1428,9 +1398,9 @@ static UWO cpuLsrW(UWO dst, ULO sh, ULO cycles) /// /// Lsrl /// -static ULO cpuLsrL(ULO dst, ULO sh, ULO cycles) +static uint32_t cpuLsrL(uint32_t dst, uint32_t sh, uint32_t cycles) { - ULO res; + uint32_t res; sh &= 0x3f; if (sh == 0) { @@ -1454,14 +1424,14 @@ static ULO cpuLsrL(ULO dst, ULO sh, ULO cycles) /// /// Aslb /// -static UBY cpuAslB(UBY dst, ULO sh, ULO cycles) +static uint8_t cpuAslB(uint8_t dst, uint32_t sh, uint32_t cycles) { - BYT res; + int8_t res; sh &= 0x3f; if (sh == 0) { cpuSetFlagsShiftZero(cpuIsZeroB(dst), cpuMsbB(dst)); - res = (BYT) dst; + res = (int8_t) dst; } else if (sh >= 8) { @@ -1470,9 +1440,9 @@ static UBY cpuAslB(UBY dst, ULO sh, ULO cycles) } else { - UBY mask = 0xff << (7-sh); - UBY out = dst & mask; - res = ((BYT)dst) << sh; + uint8_t mask = 0xff << (7-sh); + uint8_t out = dst & mask; + res = ((int8_t)dst) << sh; // Overflow calculation: // 1. The msb of the result and original are different @@ -1484,20 +1454,20 @@ static UBY cpuAslB(UBY dst, ULO sh, ULO cycles) cpuSetFlagsShift(cpuIsZeroB(res), n_result, dst & (0x80>>(sh-1)), msb_changed); } cpuSetInstructionTime(cycles + sh*2); - return (UBY) res; + return (uint8_t) res; } /// /// Aslw /// -static UWO cpuAslW(UWO dst, ULO sh, ULO cycles) +static uint16_t cpuAslW(uint16_t dst, uint32_t sh, uint32_t cycles) { - WOR res; + int16_t res; sh &= 0x3f; if (sh == 0) { cpuSetFlagsShiftZero(cpuIsZeroW(dst), cpuMsbW(dst)); - res = (WOR) dst; + res = (int16_t) dst; } else if (sh >= 16) { @@ -1506,9 +1476,9 @@ static UWO cpuAslW(UWO dst, ULO sh, ULO cycles) } else { - UWO mask = 0xffff << (15-sh); - UWO out = dst & mask; - res = ((WOR)dst) << sh; + uint16_t mask = 0xffff << (15-sh); + uint16_t out = dst & mask; + res = ((int16_t)dst) << sh; // Overflow calculation: // 1. The msb of the result and original are different @@ -1520,20 +1490,20 @@ static UWO cpuAslW(UWO dst, ULO sh, ULO cycles) cpuSetFlagsShift(cpuIsZeroW(res), n_result, dst & (0x8000>>(sh-1)), msb_changed); } cpuSetInstructionTime(cycles + sh*2); - return (UWO) res; + return (uint16_t) res; } /// /// Asll /// -static ULO cpuAslL(ULO dst, ULO sh, ULO cycles) +static uint32_t cpuAslL(uint32_t dst, uint32_t sh, uint32_t cycles) { - LON res; + int32_t res; sh &= 0x3f; if (sh == 0) { cpuSetFlagsShiftZero(cpuIsZeroL(dst), cpuMsbL(dst)); - res = (LON) dst; + res = (int32_t) dst; } else if (sh >= 32) { @@ -1542,9 +1512,9 @@ static ULO cpuAslL(ULO dst, ULO sh, ULO cycles) } else { - ULO mask = 0xffffffff << (31-sh); - ULO out = dst & mask; - res = ((LON)dst) << sh; + uint32_t mask = 0xffffffff << (31-sh); + uint32_t out = dst & mask; + res = ((int32_t)dst) << sh; // Overflow calculation: // 1. The msb of the result and original are different @@ -1556,20 +1526,20 @@ static ULO cpuAslL(ULO dst, ULO sh, ULO cycles) cpuSetFlagsShift(cpuIsZeroL(res), n_result, dst & (0x80000000>>(sh-1)), msb_changed); } cpuSetInstructionTime(cycles + sh*2); - return (ULO) res; + return (uint32_t) res; } /// /// Asrb /// -static UBY cpuAsrB(UBY dst, ULO sh, ULO cycles) +static uint8_t cpuAsrB(uint8_t dst, uint32_t sh, uint32_t cycles) { - BYT res; + int8_t res; sh &= 0x3f; if (sh == 0) { cpuSetFlagsShiftZero(cpuIsZeroB(dst), cpuMsbB(dst)); - res = (BYT) dst; + res = (int8_t) dst; } else if (sh >= 8) { @@ -1578,24 +1548,24 @@ static UBY cpuAsrB(UBY dst, ULO sh, ULO cycles) } else { - res = ((BYT)dst) >> sh; + res = ((int8_t)dst) >> sh; cpuSetFlagsShift(cpuIsZeroB(res), cpuMsbB(res), dst & (1<<(sh-1)), FALSE); } cpuSetInstructionTime(cycles + sh*2); - return (UBY) res; + return (uint8_t) res; } /// /// Asrw /// -static UWO cpuAsrW(UWO dst, ULO sh, ULO cycles) +static uint16_t cpuAsrW(uint16_t dst, uint32_t sh, uint32_t cycles) { - WOR res; + int16_t res; sh &= 0x3f; if (sh == 0) { cpuSetFlagsShiftZero(cpuIsZeroW(dst), cpuMsbW(dst)); - res = (WOR) dst; + res = (int16_t) dst; } else if (sh >= 16) { @@ -1604,25 +1574,25 @@ static UWO cpuAsrW(UWO dst, ULO sh, ULO cycles) } else { - res = ((WOR)dst) >> sh; + res = ((int16_t)dst) >> sh; cpuSetFlagsShift(cpuIsZeroW(res), cpuMsbW(res), dst & (1<<(sh-1)), FALSE); } cpuSetInstructionTime(cycles + sh*2); - return (UWO) res; + return (uint16_t) res; } /// /// Asrl /// -static ULO cpuAsrL(ULO dst, ULO sh, ULO cycles) +static uint32_t cpuAsrL(uint32_t dst, uint32_t sh, uint32_t cycles) { - LON res; + int32_t res; sh &= 0x3f; if (sh == 0) { cpuSetFlagsShiftZero(cpuIsZeroL(dst), cpuMsbL(dst)); - res = (LON) dst; + res = (int32_t) dst; } else if (sh >= 32) { @@ -1631,19 +1601,19 @@ static ULO cpuAsrL(ULO dst, ULO sh, ULO cycles) } else { - res = ((LON)dst) >> sh; + res = ((int32_t)dst) >> sh; cpuSetFlagsShift(cpuIsZeroL(res), cpuMsbL(res), dst & (1<<(sh-1)), FALSE); } cpuSetInstructionTime(cycles + sh*2); - return (ULO) res; + return (uint32_t) res; } /// /// Rolb /// -static UBY cpuRolB(UBY dst, ULO sh, ULO cycles) +static uint8_t cpuRolB(uint8_t dst, uint32_t sh, uint32_t cycles) { - UBY res; + uint8_t res; sh &= 0x3f; cycles += sh*2; if (sh == 0) @@ -1664,9 +1634,9 @@ static UBY cpuRolB(UBY dst, ULO sh, ULO cycles) /// /// Rolw /// -static UWO cpuRolW(UWO dst, ULO sh, ULO cycles) +static uint16_t cpuRolW(uint16_t dst, uint32_t sh, uint32_t cycles) { - UWO res; + uint16_t res; sh &= 0x3f; cycles += sh*2; if (sh == 0) @@ -1687,9 +1657,9 @@ static UWO cpuRolW(UWO dst, ULO sh, ULO cycles) /// /// Roll /// -static ULO cpuRolL(ULO dst, ULO sh, ULO cycles) +static uint32_t cpuRolL(uint32_t dst, uint32_t sh, uint32_t cycles) { - ULO res; + uint32_t res; sh &= 0x3f; cycles += sh*2; if (sh == 0) @@ -1710,9 +1680,9 @@ static ULO cpuRolL(ULO dst, ULO sh, ULO cycles) /// /// Rorb /// -static UBY cpuRorB(UBY dst, ULO sh, ULO cycles) +static uint8_t cpuRorB(uint8_t dst, uint32_t sh, uint32_t cycles) { - UBY res; + uint8_t res; sh &= 0x3f; cycles += sh*2; if (sh == 0) @@ -1733,9 +1703,9 @@ static UBY cpuRorB(UBY dst, ULO sh, ULO cycles) /// /// Rorw /// -static UWO cpuRorW(UWO dst, ULO sh, ULO cycles) +static uint16_t cpuRorW(uint16_t dst, uint32_t sh, uint32_t cycles) { - UWO res; + uint16_t res; sh &= 0x3f; cycles += sh*2; if (sh == 0) @@ -1756,9 +1726,9 @@ static UWO cpuRorW(UWO dst, ULO sh, ULO cycles) /// /// Rorl /// -static ULO cpuRorL(ULO dst, ULO sh, ULO cycles) +static uint32_t cpuRorL(uint32_t dst, uint32_t sh, uint32_t cycles) { - ULO res; + uint32_t res; sh &= 0x3f; cycles += sh*2; if (sh == 0) @@ -1779,16 +1749,14 @@ static ULO cpuRorL(ULO dst, ULO sh, ULO cycles) /// /// Roxlb /// -static UBY cpuRoxlB(UBY dst, ULO sh, ULO cycles) +static uint8_t cpuRoxlB(uint8_t dst, uint32_t sh, uint32_t cycles) { BOOLE x = cpuGetFlagX(); - BOOLE x_temp; - UBY res = dst; - ULO i; + uint8_t res = dst; sh &= 0x3f; - for (i = 0; i < sh; ++i) + for (uint32_t i = 0; i < sh; ++i) { - x_temp = cpuMsbB(res); + BOOLE x_temp = cpuMsbB(res); res = (res << 1) | ((x) ? 1:0); x = x_temp; } @@ -1800,16 +1768,14 @@ static UBY cpuRoxlB(UBY dst, ULO sh, ULO cycles) /// /// Roxlw /// -static UWO cpuRoxlW(UWO dst, ULO sh, ULO cycles) +static uint16_t cpuRoxlW(uint16_t dst, uint32_t sh, uint32_t cycles) { BOOLE x = cpuGetFlagX(); - BOOLE x_temp; - UWO res = dst; - ULO i; + uint16_t res = dst; sh &= 0x3f; - for (i = 0; i < sh; ++i) + for (uint32_t i = 0; i < sh; ++i) { - x_temp = cpuMsbW(res); + BOOLE x_temp = cpuMsbW(res); res = (res << 1) | ((x) ? 1:0); x = x_temp; } @@ -1821,16 +1787,14 @@ static UWO cpuRoxlW(UWO dst, ULO sh, ULO cycles) /// /// Roxll /// -static ULO cpuRoxlL(ULO dst, ULO sh, ULO cycles) +static uint32_t cpuRoxlL(uint32_t dst, uint32_t sh, uint32_t cycles) { BOOLE x = cpuGetFlagX(); - BOOLE x_temp; - ULO res = dst; - ULO i; + uint32_t res = dst; sh &= 0x3f; - for (i = 0; i < sh; ++i) + for (uint32_t i = 0; i < sh; ++i) { - x_temp = cpuMsbL(res); + BOOLE x_temp = cpuMsbL(res); res = (res << 1) | ((x) ? 1:0); x = x_temp; } @@ -1842,16 +1806,14 @@ static ULO cpuRoxlL(ULO dst, ULO sh, ULO cycles) /// /// Roxrb /// -static UBY cpuRoxrB(UBY dst, ULO sh, ULO cycles) +static uint8_t cpuRoxrB(uint8_t dst, uint32_t sh, uint32_t cycles) { BOOLE x = cpuGetFlagX(); - BOOLE x_temp; - UBY res = dst; - ULO i; + uint8_t res = dst; sh &= 0x3f; - for (i = 0; i < sh; ++i) + for (uint32_t i = 0; i < sh; ++i) { - x_temp = res & 1; + BOOLE x_temp = res & 1; res = (res >> 1) | ((x) ? 0x80:0); x = x_temp; } @@ -1863,16 +1825,14 @@ static UBY cpuRoxrB(UBY dst, ULO sh, ULO cycles) /// /// Roxrw /// -static UWO cpuRoxrW(UWO dst, ULO sh, ULO cycles) +static uint16_t cpuRoxrW(uint16_t dst, uint32_t sh, uint32_t cycles) { BOOLE x = cpuGetFlagX(); - BOOLE x_temp; - UWO res = dst; - ULO i; + uint16_t res = dst; sh &= 0x3f; - for (i = 0; i < sh; ++i) + for (uint32_t i = 0; i < sh; ++i) { - x_temp = res & 1; + BOOLE x_temp = res & 1; res = (res >> 1) | ((x) ? 0x8000:0); x = x_temp; } @@ -1884,16 +1844,14 @@ static UWO cpuRoxrW(UWO dst, ULO sh, ULO cycles) /// /// Roxrl /// -static ULO cpuRoxrL(ULO dst, ULO sh, ULO cycles) +static uint32_t cpuRoxrL(uint32_t dst, uint32_t sh, uint32_t cycles) { BOOLE x = cpuGetFlagX(); - BOOLE x_temp; - ULO res = dst; - ULO i; + uint32_t res = dst; sh &= 0x3f; - for (i = 0; i < sh; ++i) + for (uint32_t i = 0; i < sh; ++i) { - x_temp = res & 1; + BOOLE x_temp = res & 1; res = (res >> 1) | ((x) ? 0x80000000:0); x = x_temp; } @@ -1905,7 +1863,7 @@ static ULO cpuRoxrL(ULO dst, ULO sh, ULO cycles) /// /// Stop /// -static void cpuStop(UWO flags) +static void cpuStop(uint16_t flags) { if (cpuGetFlagSupervisor()) { @@ -1922,7 +1880,7 @@ static void cpuStop(UWO flags) /// /// Reset /// -static void cpuReset() +static void cpuReset(void) { cpuCallResetExceptionFunc(); cpuSetInstructionTime(132); @@ -1931,28 +1889,27 @@ static void cpuReset() /// /// Rtd /// -static void cpuRtd() +static void cpuRtd(void) { - ULO displacement = cpuGetNextWordSignExt(); + uint32_t displacement = cpuGetNextWordSignExt(); cpuInitializeFromNewPC(memoryReadLong(cpuGetAReg(7))); cpuSetAReg(7, cpuGetAReg(7) + 4 + displacement); cpuSetInstructionTime(4); } -static ULO cpuRteStackInc[16] = {0, 0, 4, 4, 8, 0, 0, 52, 50, 10, 24, 84, 16, 18, 0, 0}; +static uint32_t cpuRteStackInc[16] = {0, 0, 4, 4, 8, 0, 0, 52, 50, 10, 24, 84, 16, 18, 0, 0}; /// /// Rte /// -static void cpuRte() +static void cpuRte(void) { if (cpuGetFlagSupervisor()) { BOOLE redo = TRUE; - UWO newsr; do { - newsr = memoryReadWord(cpuGetAReg(7)); + uint16_t newsr = memoryReadWord(cpuGetAReg(7)); cpuSetAReg(7, cpuGetAReg(7) + 2); cpuInitializeFromNewPC(memoryReadLong(cpuGetAReg(7))); @@ -1960,7 +1917,7 @@ static void cpuRte() if (cpuGetModelMajor() > 0) { - ULO frame_type = (memoryReadWord(cpuGetAReg(7)) >> 12) & 0xf; + uint32_t frame_type = (memoryReadWord(cpuGetAReg(7)) >> 12) & 0xf; cpuSetAReg(7, cpuGetAReg(7) + 2); cpuSetAReg(7, cpuGetAReg(7) + cpuRteStackInc[frame_type]); redo = (frame_type == 1 && cpuGetModelMajor() >= 2 && cpuGetModelMajor() < 6); @@ -1970,20 +1927,21 @@ static void cpuRte() cpuUpdateSr(newsr); // Because we can go from isp to msp here. } while (redo); + + cpuSetInstructionTime(20); } else { cpuThrowPrivilegeViolationException(); } - cpuSetInstructionTime(20); } /// /// Swap /// -static void cpuSwap(ULO reg) +static void cpuSwap(uint32_t reg) { - ULO res = cpuJoinWordToLong((UWO)cpuGetDReg(reg), (UWO) (cpuGetDReg(reg) >> 16)); + uint32_t res = cpuJoinWordToLong((uint16_t)cpuGetDReg(reg), (uint16_t) (cpuGetDReg(reg) >> 16)); cpuSetDReg(reg, res); cpuSetFlagsNZ00NewL(res); cpuSetInstructionTime(4); @@ -1992,22 +1950,24 @@ static void cpuSwap(ULO reg) /// /// Unlk /// -static void cpuUnlk(ULO reg) +static void cpuUnlk(uint32_t reg) { cpuSetAReg(7, cpuGetAReg(reg)); - cpuSetAReg(reg, memoryReadLong(cpuGetAReg(7))); + uint32_t value = memoryReadLong(cpuGetAReg(7)); cpuSetAReg(7, cpuGetAReg(7) + 4); + cpuSetAReg(reg, value); cpuSetInstructionTime(12); } /// /// Link /// -static void cpuLinkW(ULO reg) +static void cpuLinkW(uint32_t reg) { - ULO disp = cpuGetNextWordSignExt(); + uint32_t disp = cpuGetNextWordSignExt(); + uint32_t value = cpuGetAReg(reg); cpuSetAReg(7, cpuGetAReg(7) - 4); - memoryWriteLong(cpuGetAReg(reg), cpuGetAReg(7)); + memoryWriteLong(value, cpuGetAReg(7)); cpuSetAReg(reg, cpuGetAReg(7)); cpuSetAReg(7, cpuGetAReg(7) + disp); cpuSetInstructionTime(16); @@ -2017,11 +1977,12 @@ static void cpuLinkW(ULO reg) /// Link. /// 68020, 68030 and 68040 only. /// -static void cpuLinkL(ULO reg) +static void cpuLinkL(uint32_t reg) { - ULO disp = cpuGetNextLong(); + uint32_t disp = cpuGetNextLong(); + uint32_t value = cpuGetAReg(reg); cpuSetAReg(7, cpuGetAReg(7) - 4); - memoryWriteLong(cpuGetAReg(reg), cpuGetAReg(7)); + memoryWriteLong(value, cpuGetAReg(7)); cpuSetAReg(reg, cpuGetAReg(7)); cpuSetAReg(7, cpuGetAReg(7) + disp); cpuSetInstructionTime(4); @@ -2030,9 +1991,9 @@ static void cpuLinkL(ULO reg) /// /// Ext.w (byte to word) /// -static void cpuExtW(ULO reg) +static void cpuExtW(uint32_t reg) { - UWO res = cpuGetDRegByteSignExtWord(reg); + uint16_t res = cpuGetDRegByteSignExtWord(reg); cpuSetDRegWord(reg, res); cpuSetFlagsNZ00NewW(res); cpuSetInstructionTime(4); @@ -2041,9 +2002,9 @@ static void cpuExtW(ULO reg) /// /// Ext.l (word to long) /// -static void cpuExtL(ULO reg) +static void cpuExtL(uint32_t reg) { - ULO res = cpuGetDRegWordSignExtLong(reg); + uint32_t res = cpuGetDRegWordSignExtLong(reg); cpuSetDReg(reg, res); cpuSetFlagsNZ00NewL(res); cpuSetInstructionTime(4); @@ -2052,9 +2013,9 @@ static void cpuExtL(ULO reg) /// /// ExtB.l (byte to long) (020+) /// -static void cpuExtBL(ULO reg) +static void cpuExtBL(uint32_t reg) { - ULO res = cpuGetDRegByteSignExtLong(reg); + uint32_t res = cpuGetDRegByteSignExtLong(reg); cpuSetDReg(reg, res); cpuSetFlagsNZ00NewL(res); cpuSetInstructionTime(4); @@ -2063,9 +2024,9 @@ static void cpuExtBL(ULO reg) /// /// Exg Rx,Ry /// -static void cpuExgAll(ULO reg1_type, ULO reg1, ULO reg2_type, ULO reg2) +static void cpuExgAll(uint32_t reg1_type, uint32_t reg1, uint32_t reg2_type, uint32_t reg2) { - ULO tmp = cpuGetReg(reg1_type, reg1); + uint32_t tmp = cpuGetReg(reg1_type, reg1); cpuSetReg(reg1_type, reg1, cpuGetReg(reg2_type, reg2)); cpuSetReg(reg2_type, reg2, tmp); cpuSetInstructionTime(6); @@ -2074,7 +2035,7 @@ static void cpuExgAll(ULO reg1_type, ULO reg1, ULO reg2_type, ULO reg2) /// /// Exg Dx,Dy /// -static void cpuExgDD(ULO reg1, ULO reg2) +static void cpuExgDD(uint32_t reg1, uint32_t reg2) { cpuExgAll(0, reg1, 0, reg2); } @@ -2082,7 +2043,7 @@ static void cpuExgDD(ULO reg1, ULO reg2) /// /// Exg Ax,Ay /// -static void cpuExgAA(ULO reg1, ULO reg2) +static void cpuExgAA(uint32_t reg1, uint32_t reg2) { cpuExgAll(1, reg1, 1, reg2); } @@ -2090,7 +2051,7 @@ static void cpuExgAA(ULO reg1, ULO reg2) /// /// Exg Dx,Ay /// -static void cpuExgDA(ULO reg1, ULO reg2) +static void cpuExgDA(uint32_t reg1, uint32_t reg2) { cpuExgAll(0, reg1, 1, reg2); } @@ -2099,16 +2060,14 @@ static void cpuExgDA(ULO reg1, ULO reg2) /// Movem.w regs, -(Ax) /// Order: d0-d7,a0-a7 a7 first /// -static void cpuMovemwPre(UWO regs, ULO reg) +static void cpuMovemwPre(uint16_t regs, uint32_t reg) { - ULO cycles = 8; - ULO dstea = cpuGetAReg(reg); - ULO index = 1; - LON i, j; - BOOLE ea_reg_seen = FALSE; - ULO ea_reg_ea = 0; + uint32_t cycles = 8; + uint32_t dstea = cpuGetAReg(reg); + uint32_t index = 1; + int32_t j; - i = 1; + int32_t i = 1; for (j = 7; j >= 0; j--) { if (regs & index) @@ -2116,8 +2075,7 @@ static void cpuMovemwPre(UWO regs, ULO reg) dstea -= 2; if (cpuGetModelMajor() >= 2 && j == reg) { - ea_reg_seen = TRUE; - ea_reg_ea = dstea; + memoryWriteWord((uint16_t)dstea, dstea); } else { @@ -2139,10 +2097,6 @@ static void cpuMovemwPre(UWO regs, ULO reg) } index = index << 1; } - if (ea_reg_seen) - { - memoryWriteWord((UWO)dstea, ea_reg_ea); - } cpuSetAReg(reg, dstea); cpuSetInstructionTime(cycles); } @@ -2151,16 +2105,14 @@ static void cpuMovemwPre(UWO regs, ULO reg) /// Movem.l regs, -(Ax) /// Order: d0-d7,a0-a7 a7 first /// -static void cpuMovemlPre(UWO regs, ULO reg) +static void cpuMovemlPre(uint16_t regs, uint32_t reg) { - ULO cycles = 8; - ULO dstea = cpuGetAReg(reg); - ULO index = 1; - LON i, j; - BOOLE ea_reg_seen = FALSE; - ULO ea_reg_ea = 0; + uint32_t cycles = 8; + uint32_t dstea = cpuGetAReg(reg); + uint32_t index = 1; + int32_t j; - i = 1; + int32_t i = 1; for (j = 7; j >= 0; j--) { if (regs & index) @@ -2168,8 +2120,7 @@ static void cpuMovemlPre(UWO regs, ULO reg) dstea -= 4; if (cpuGetModelMajor() >= 2 && j == reg) { - ea_reg_seen = TRUE; - ea_reg_ea = dstea; + memoryWriteLong(dstea, dstea); } else { @@ -2192,10 +2143,6 @@ static void cpuMovemlPre(UWO regs, ULO reg) index = index << 1; } - if (ea_reg_seen) - { - memoryWriteLong(dstea, ea_reg_ea); - } cpuSetAReg(reg, dstea); cpuSetInstructionTime(cycles); } @@ -2204,21 +2151,20 @@ static void cpuMovemlPre(UWO regs, ULO reg) /// Movem.w (Ax)+, regs /// Order: a7-a0,d7-d0 d0 first /// -static void cpuMovemwPost(UWO regs, ULO reg) +static void cpuMovemwPost(uint16_t regs, uint32_t reg) { - ULO cycles = 12; - ULO dstea = cpuGetAReg(reg); - ULO index = 1; - ULO i, j; + uint32_t cycles = 12; + uint32_t dstea = cpuGetAReg(reg); + uint32_t index = 1; - for (i = 0; i < 2; ++i) + for (uint32_t i = 0; i < 2; ++i) { - for (j = 0; j < 8; ++j) + for (uint32_t j = 0; j < 8; ++j) { if (regs & index) { // Each word, for both data and address registers, is sign-extended before stored. - cpuSetReg(i, j, (ULO)(LON)(WOR) memoryReadWord(dstea)); + cpuSetReg(i, j, (uint32_t)(int32_t)(int16_t) memoryReadWord(dstea)); dstea += 2; cycles += 4; } @@ -2233,16 +2179,15 @@ static void cpuMovemwPost(UWO regs, ULO reg) /// Movem.l (Ax)+, regs /// Order: a7-a0,d7-d0 d0 first /// -static void cpuMovemlPost(UWO regs, ULO reg) +static void cpuMovemlPost(uint16_t regs, uint32_t reg) { - ULO cycles = 12; - ULO dstea = cpuGetAReg(reg); - ULO index = 1; - ULO i, j; + uint32_t cycles = 12; + uint32_t dstea = cpuGetAReg(reg); + uint32_t index = 1; - for (i = 0; i < 2; ++i) + for (uint32_t i = 0; i < 2; ++i) { - for (j = 0; j < 8; ++j) + for (uint32_t j = 0; j < 8; ++j) { if (regs & index) { @@ -2261,21 +2206,20 @@ static void cpuMovemlPost(UWO regs, ULO reg) /// Movem.w , regs /// Order: a7-a0,d7-d0 d0 first /// -static void cpuMovemwEa2R(UWO regs, ULO ea, ULO eacycles) +static void cpuMovemwEa2R(uint16_t regs, uint32_t ea, uint32_t eacycles) { - ULO cycles = eacycles; - ULO dstea = ea; - ULO index = 1; - ULO i, j; + uint32_t cycles = eacycles; + uint32_t dstea = ea; + uint32_t index = 1; - for (i = 0; i < 2; ++i) + for (uint32_t i = 0; i < 2; ++i) { - for (j = 0; j < 8; ++j) + for (uint32_t j = 0; j < 8; ++j) { if (regs & index) { // Each word, for both data and address registers, is sign-extended before stored. - cpuSetReg(i, j, (ULO)(LON)(WOR) memoryReadWord(dstea)); + cpuSetReg(i, j, (uint32_t)(int32_t)(int16_t) memoryReadWord(dstea)); dstea += 2; cycles += 4; } @@ -2289,16 +2233,15 @@ static void cpuMovemwEa2R(UWO regs, ULO ea, ULO eacycles) /// Movem.l , regs /// Order: a7-a0,d7-d0 d0 first /// -static void cpuMovemlEa2R(UWO regs, ULO ea, ULO eacycles) +static void cpuMovemlEa2R(uint16_t regs, uint32_t ea, uint32_t eacycles) { - ULO cycles = eacycles; - ULO dstea = ea; - ULO index = 1; - ULO i, j; + uint32_t cycles = eacycles; + uint32_t dstea = ea; + uint32_t index = 1; - for (i = 0; i < 2; ++i) + for (uint32_t i = 0; i < 2; ++i) { - for (j = 0; j < 8; ++j) + for (uint32_t j = 0; j < 8; ++j) { if (regs & index) { @@ -2316,16 +2259,15 @@ static void cpuMovemlEa2R(UWO regs, ULO ea, ULO eacycles) /// Movem.w regs, /// Order: a7-a0,d7-d0 d0 first /// -static void cpuMovemwR2Ea(UWO regs, ULO ea, ULO eacycles) +static void cpuMovemwR2Ea(uint16_t regs, uint32_t ea, uint32_t eacycles) { - ULO cycles = eacycles; - ULO dstea = ea; - ULO index = 1; - ULO i, j; + uint32_t cycles = eacycles; + uint32_t dstea = ea; + uint32_t index = 1; - for (i = 0; i < 2; ++i) + for (uint32_t i = 0; i < 2; ++i) { - for (j = 0; j < 8; ++j) + for (uint32_t j = 0; j < 8; ++j) { if (regs & index) { @@ -2343,12 +2285,12 @@ static void cpuMovemwR2Ea(UWO regs, ULO ea, ULO eacycles) /// Movem.l regs, /// Order: a7-a0,d7-d0 d0 first /// -static void cpuMovemlR2Ea(UWO regs, ULO ea, ULO eacycles) +static void cpuMovemlR2Ea(uint16_t regs, uint32_t ea, uint32_t eacycles) { - ULO cycles = eacycles; - ULO dstea = ea; - ULO index = 1; - ULO i, j; + uint32_t cycles = eacycles; + uint32_t dstea = ea; + uint32_t index = 1; + uint32_t i, j; for (i = 0; i < 2; ++i) { @@ -2369,7 +2311,7 @@ static void cpuMovemlR2Ea(UWO regs, ULO ea, ULO eacycles) /// /// Trap #vectorno /// -static void cpuTrap(ULO vectorno) +static void cpuTrap(uint32_t vectorno) { // PC written to the exception frame must be pc + 2, the address of the next instruction. cpuThrowTrapException(vectorno); @@ -2378,7 +2320,7 @@ static void cpuTrap(ULO vectorno) /// /// move.l Ax,Usp /// -static void cpuMoveToUsp(ULO reg) +static void cpuMoveToUsp(uint32_t reg) { if (cpuGetFlagSupervisor()) { @@ -2395,7 +2337,7 @@ static void cpuMoveToUsp(ULO reg) /// /// move.l Usp,Ax /// -static void cpuMoveFromUsp(ULO reg) +static void cpuMoveFromUsp(uint32_t reg) { if (cpuGetFlagSupervisor()) { @@ -2412,11 +2354,11 @@ static void cpuMoveFromUsp(ULO reg) /// /// cmp.b (Ay)+,(Ax)+ /// -static void cpuCmpMB(ULO regx, ULO regy) +static void cpuCmpMB(uint32_t regx, uint32_t regy) { - UBY src = memoryReadByte(cpuEA03(regy, 1)); - UBY dst = memoryReadByte(cpuEA03(regx, 1)); - UBY res = dst - src; + uint8_t src = memoryReadByte(cpuEA03(regy, 1)); + uint8_t dst = memoryReadByte(cpuEA03(regx, 1)); + uint8_t res = dst - src; cpuSetFlagsCmp(cpuIsZeroB(res), cpuMsbB(res), cpuMsbB(dst), cpuMsbB(src)); cpuSetInstructionTime(12); } @@ -2424,11 +2366,11 @@ static void cpuCmpMB(ULO regx, ULO regy) /// /// cmp.w (Ay)+,(Ax)+ /// -static void cpuCmpMW(ULO regx, ULO regy) +static void cpuCmpMW(uint32_t regx, uint32_t regy) { - UWO src = memoryReadWord(cpuEA03(regy, 2)); - UWO dst = memoryReadWord(cpuEA03(regx, 2)); - UWO res = dst - src; + uint16_t src = memoryReadWord(cpuEA03(regy, 2)); + uint16_t dst = memoryReadWord(cpuEA03(regx, 2)); + uint16_t res = dst - src; cpuSetFlagsCmp(cpuIsZeroW(res), cpuMsbW(res), cpuMsbW(dst), cpuMsbW(src)); cpuSetInstructionTime(12); } @@ -2436,35 +2378,40 @@ static void cpuCmpMW(ULO regx, ULO regy) /// /// cmp.l (Ay)+,(Ax)+ /// -static void cpuCmpML(ULO regx, ULO regy) +static void cpuCmpML(uint32_t regx, uint32_t regy) { - ULO src = memoryReadLong(cpuEA03(regy, 4)); - ULO dst = memoryReadLong(cpuEA03(regx, 4)); - ULO res = dst - src; + uint32_t src = memoryReadLong(cpuEA03(regy, 4)); + uint32_t dst = memoryReadLong(cpuEA03(regx, 4)); + uint32_t res = dst - src; cpuSetFlagsCmp(cpuIsZeroL(res), cpuMsbL(res), cpuMsbL(dst), cpuMsbL(src)); cpuSetInstructionTime(20); } /// -/// chk.w Dx, ea +/// chk.w ea, dn (upper bound, value to test) /// Undocumented features: /// Z is set from the register operand, /// V and C is always cleared. /// -static void cpuChkW(UWO value, UWO ub) +static void cpuChkW(uint16_t value, uint16_t ub, uint32_t instructionTime) { cpuSetFlagZ(value == 0); cpuClearFlagsVC(); - if (((WOR)value) < 0) + if (((int16_t)value) < 0) { cpuSetFlagN(TRUE); cpuThrowChkException(); } - else if (((WOR)value) > ((WOR)ub)) + else if (((int16_t)value) > ((int16_t)ub)) { cpuSetFlagN(FALSE); cpuThrowChkException(); } + else + { + cpuSetFlagN(FALSE); + cpuSetInstructionTime(instructionTime); + } } /// @@ -2474,28 +2421,32 @@ static void cpuChkW(UWO value, UWO ub) /// Z is set from the register operand, /// V and C is always cleared. /// -static void cpuChkL(ULO value, ULO ub) +static void cpuChkL(uint32_t value, uint32_t ub, uint32_t instructionTime) { cpuSetFlagZ(value == 0); cpuClearFlagsVC(); - if (((LON)value) < 0) + if (((int32_t)value) < 0) { cpuSetFlagN(TRUE); cpuThrowChkException(); } - else if (((LON)value) > ((LON)ub)) + else if (((int32_t)value) > ((int32_t)ub)) { cpuSetFlagN(FALSE); cpuThrowChkException(); } + else + { + cpuSetInstructionTime(instructionTime); + } } /// /// addx.b dx,dy /// -static UBY cpuAddXB(UBY dst, UBY src) +static uint8_t cpuAddXB(uint8_t dst, uint8_t src) { - UBY res = dst + src + ((cpuGetFlagX()) ? 1:0); + uint8_t res = dst + src + ((cpuGetFlagX()) ? 1:0); cpuSetFlagsAddX(cpuIsZeroB(res), cpuMsbB(res), cpuMsbB(dst), cpuMsbB(src)); return res; } @@ -2503,9 +2454,9 @@ static UBY cpuAddXB(UBY dst, UBY src) /// /// addx.w dx,dy /// -static UWO cpuAddXW(UWO dst, UWO src) +static uint16_t cpuAddXW(uint16_t dst, uint16_t src) { - UWO res = dst + src + ((cpuGetFlagX()) ? 1:0); + uint16_t res = dst + src + ((cpuGetFlagX()) ? 1:0); cpuSetFlagsAddX(cpuIsZeroW(res), cpuMsbW(res), cpuMsbW(dst), cpuMsbW(src)); return res; } @@ -2513,9 +2464,9 @@ static UWO cpuAddXW(UWO dst, UWO src) /// /// addx.l dx,dy /// -static ULO cpuAddXL(ULO dst, ULO src) +static uint32_t cpuAddXL(uint32_t dst, uint32_t src) { - ULO res = dst + src + ((cpuGetFlagX()) ? 1:0); + uint32_t res = dst + src + ((cpuGetFlagX()) ? 1:0); cpuSetFlagsAddX(cpuIsZeroL(res), cpuMsbL(res), cpuMsbL(dst), cpuMsbL(src)); return res; } @@ -2523,9 +2474,9 @@ static ULO cpuAddXL(ULO dst, ULO src) /// /// subx.b dx,dy /// -static UBY cpuSubXB(UBY dst, UBY src) +static uint8_t cpuSubXB(uint8_t dst, uint8_t src) { - UBY res = dst - src - ((cpuGetFlagX()) ? 1:0); + uint8_t res = dst - src - ((cpuGetFlagX()) ? 1:0); cpuSetFlagsSubX(cpuIsZeroB(res), cpuMsbB(res), cpuMsbB(dst), cpuMsbB(src)); return res; } @@ -2533,9 +2484,9 @@ static UBY cpuSubXB(UBY dst, UBY src) /// /// subx.w dx,dy /// -static UWO cpuSubXW(UWO dst, UWO src) +static uint16_t cpuSubXW(uint16_t dst, uint16_t src) { - UWO res = dst - src - ((cpuGetFlagX()) ? 1:0); + uint16_t res = dst - src - ((cpuGetFlagX()) ? 1:0); cpuSetFlagsSubX(cpuIsZeroW(res), cpuMsbW(res), cpuMsbW(dst), cpuMsbW(src)); return res; } @@ -2543,9 +2494,9 @@ static UWO cpuSubXW(UWO dst, UWO src) /// /// subx.l dx,dy /// -static ULO cpuSubXL(ULO dst, ULO src) +static uint32_t cpuSubXL(uint32_t dst, uint32_t src) { - ULO res = dst - src - ((cpuGetFlagX()) ? 1:0); + uint32_t res = dst - src - ((cpuGetFlagX()) ? 1:0); cpuSetFlagsSubX(cpuIsZeroL(res), cpuMsbL(res), cpuMsbL(dst), cpuMsbL(src)); return res; } @@ -2557,13 +2508,13 @@ static ULO cpuSubXL(ULO dst, ULO src) /// Fourth Edition /// by Bart Trzynadlowski, May 12, 2003 /// -static UBY cpuAbcdB(UBY dst, UBY src) +static uint8_t cpuAbcdB(uint8_t dst, uint8_t src) { - UBY xflag = (cpuGetFlagX()) ? 1 : 0; - UWO low_nibble = (dst & 0xf) + (src & 0xf) + xflag; - UWO high_nibble = ((UWO)(dst & 0xf0)) + ((UWO)(src & 0xf0)); - UWO result_unadjusted = low_nibble + high_nibble; - UWO result_bcd = result_unadjusted; + uint8_t xflag = (cpuGetFlagX()) ? 1 : 0; + uint16_t low_nibble = (dst & 0xf) + (src & 0xf) + xflag; + uint16_t high_nibble = ((uint16_t)(dst & 0xf0)) + ((uint16_t)(src & 0xf0)); + uint16_t result_unadjusted = low_nibble + high_nibble; + uint16_t result_bcd = result_unadjusted; if (low_nibble > 9) { @@ -2587,7 +2538,7 @@ static UBY cpuAbcdB(UBY dst, UBY src) cpuSetFlagN(result_bcd & 0x80); cpuSetFlagV(((result_unadjusted & 0x80) == 0) && (result_bcd & 0x80)); } - return (UBY)result_bcd; + return (uint8_t)result_bcd; } /// @@ -2598,27 +2549,27 @@ static UBY cpuAbcdB(UBY dst, UBY src) /// Fourth Edition /// by Bart Trzynadlowski, May 12, 2003 /// -static UBY cpuSbcdB(UBY dst, UBY src) +static uint8_t cpuSbcdB(uint8_t dst, uint8_t src) { - UWO xflag = (cpuGetFlagX()) ? 1:0; - UWO result_plain_binary = (UWO)dst - (UWO)src - xflag; - UWO low_nibble = (UWO)(dst & 0xf) - (UWO)(src & 0xf) - xflag; - UWO high_nibble = ((UWO)(dst & 0xf0)) - ((UWO)(src & 0xf0)); - UWO result_unadjusted = low_nibble + high_nibble; - UWO result_bcd = result_unadjusted; + uint16_t xflag = (cpuGetFlagX()) ? 1:0; + uint16_t result_plain_binary = (uint16_t)dst - (uint16_t)src - xflag; + uint16_t low_nibble = (uint16_t)(dst & 0xf) - (uint16_t)(src & 0xf) - xflag; + uint16_t high_nibble = ((uint16_t)(dst & 0xf0)) - ((uint16_t)(src & 0xf0)); + uint16_t result_unadjusted = low_nibble + high_nibble; + uint16_t result_bcd = result_unadjusted; - if ((WOR)result_plain_binary < 0) + if ((int16_t)result_plain_binary < 0) { result_bcd -= 0x60; } - if (((WOR)low_nibble) < 0) + if (((int16_t)low_nibble) < 0) { result_bcd -= 6; result_plain_binary -= 6; } - BOOLE borrow = ((WOR)result_plain_binary < 0); + BOOLE borrow = ((int16_t)result_plain_binary < 0); cpuSetFlagXC(borrow); if (result_bcd & 0xff) @@ -2631,47 +2582,47 @@ static UBY cpuSbcdB(UBY dst, UBY src) cpuSetFlagN(result_bcd & 0x80); cpuSetFlagV(((result_unadjusted & 0x80) == 0x80) && !(result_bcd & 0x80)); } - return (UBY) result_bcd; + return (uint8_t) result_bcd; } /// /// nbcd.b dst /// -static UBY cpuNbcdB(UBY dst) +static uint8_t cpuNbcdB(uint8_t dst) { return cpuSbcdB(0, dst); } // Bit field functions -struct cpuBfData +typedef struct cpuBfData { - LON offset; - ULO width; - ULO normalized_offset; + int32_t offset; + uint32_t width; + uint32_t normalized_offset; - ULO base_address; - LON base_address_byte_offset; - ULO base_address_byte_count; + uint32_t base_address; + int32_t base_address_byte_offset; + uint32_t base_address_byte_count; - ULO field; - ULL field_mask; - ULO dn; - ULL field_memory; -}; + uint32_t field; + uint64_t field_mask; + uint32_t dn; + uint64_t field_memory; +} cpuBfData; -static LON cpuGetBfOffset(UWO ext, bool offsetIsDataRegister) +static int32_t cpuGetBfOffset(uint16_t ext, bool offsetIsDataRegister) { - LON offset = (ext >> 6) & 0x1f; + int32_t offset = (ext >> 6) & 0x1f; if (offsetIsDataRegister) { - offset = (LON) cpuGetDReg(offset & 7); + offset = (int32_t) cpuGetDReg(offset & 7); } return offset; } -static ULO cpuGetBfWidth(UWO ext, bool widthIsDataRegister) +static uint32_t cpuGetBfWidth(uint16_t ext, bool widthIsDataRegister) { - ULO width = (ext & 0x1f); + uint32_t width = (ext & 0x1f); if (widthIsDataRegister) { width = cpuGetDReg(width & 7) & 0x1f; @@ -2683,30 +2634,51 @@ static ULO cpuGetBfWidth(UWO ext, bool widthIsDataRegister) return width; } -static void cpuSetBfField(struct cpuBfData *bf_data, ULO ea_or_reg, bool has_ea) +static uint32_t cpuRotateLeft(uint32_t value, uint32_t shift) +{ + return (value << shift) | (value >> (32 - shift)); +} + +static uint32_t cpuRotateRight(uint32_t value, uint32_t shift) +{ + return (value >> shift) | (value << (32 - shift)); +} + +static void cpuSetBfField(cpuBfData *bf_data, uint32_t ea_or_reg, bool has_ea) { if (has_ea) { - ULO shift = bf_data->base_address_byte_count*8 - bf_data->normalized_offset - bf_data->width; - ULL field_value = (bf_data->field_memory & ~(bf_data->field_mask << shift)) | (bf_data->field << shift); - ULO address = bf_data->base_address + bf_data->base_address_byte_offset; + uint32_t shift = bf_data->base_address_byte_count*8 - bf_data->normalized_offset - bf_data->width; + uint64_t field_value = (bf_data->field_memory & ~(bf_data->field_mask << shift)) | (((uint64_t)bf_data->field) << shift); + uint32_t address = bf_data->base_address + bf_data->base_address_byte_offset; for (int i = bf_data->base_address_byte_count - 1; i >= 0; --i) { - UBY field_byte = (field_value >> (i*8)) & 0xff; + uint8_t field_byte = (field_value >> (i*8)) & 0xff; memoryWriteByte(field_byte, address); ++address; } } else { - ULO reg_shift = (32 - bf_data->offset - bf_data->width); - ULO reg_value = (cpuGetDReg(ea_or_reg) & ~(bf_data->field_mask << reg_shift)) | (bf_data->field << reg_shift); - cpuSetDReg(ea_or_reg, reg_value); + // Field from Dn wraps around if offset + width > 32 + uint32_t offsetPlusWidth = (bf_data->offset & 0x1f) + bf_data->width; + if (offsetPlusWidth > 32) + { + uint32_t rotate = offsetPlusWidth - 32; + uint32_t reg_value = (cpuGetDReg(ea_or_reg) & ~cpuRotateRight((uint32_t)bf_data->field_mask, rotate)) | cpuRotateRight(bf_data->field, rotate); + cpuSetDReg(ea_or_reg, reg_value); + } + else + { + uint32_t reg_shift = 32 - offsetPlusWidth; + uint32_t reg_value = (cpuGetDReg(ea_or_reg) & ~(bf_data->field_mask << reg_shift)) | (bf_data->field << reg_shift); + cpuSetDReg(ea_or_reg, reg_value); + } } } -void cpuBfDecodeExtWordAndGetField(struct cpuBfData *bf_data, ULO ea_or_reg, bool has_dn, bool has_ea, UWO ext) +void cpuBfDecodeExtWordAndGetField(cpuBfData *bf_data, uint32_t ea_or_reg, bool has_dn, bool has_ea, uint16_t ext) { bool offsetIsDataRegister = ((ext & 0x0800) == 0x0800); bool widthIsDataRegister = ((ext & 0x0020) == 0x0020); @@ -2727,13 +2699,13 @@ void cpuBfDecodeExtWordAndGetField(struct cpuBfData *bf_data, ULO ea_or_reg, boo bf_data->normalized_offset = bf_data->offset - (bf_data->base_address_byte_offset)*8; // Offset relative to the first byte in the field bf_data->base_address_byte_count = (bf_data->normalized_offset + bf_data->width + 7) / 8; - ULO field = 0; - ULL field_memory = 0; - ULO address = bf_data->base_address + bf_data->base_address_byte_offset; - ULO shift = (8 - bf_data->normalized_offset - bf_data->width) & 7; + uint32_t field = 0; + uint64_t field_memory = 0; + uint32_t address = bf_data->base_address + bf_data->base_address_byte_offset; + uint32_t shift = (8 - bf_data->normalized_offset - bf_data->width) & 7; for (int i = bf_data->base_address_byte_count - 1; i >= 0; --i) { - ULL value = ((ULL)memoryReadByte(address)) << (8 * i); + uint64_t value = ((uint64_t)memoryReadByte(address)) << (8 * i); field_memory |= value; field |= (value >> shift); ++address; @@ -2744,7 +2716,16 @@ void cpuBfDecodeExtWordAndGetField(struct cpuBfData *bf_data, ULO ea_or_reg, boo } else { - bf_data->field = cpuGetDReg(ea_or_reg) >> (32 - bf_data->offset - bf_data->width); + // Field from Dn wraps around if offset + width > 32 + const uint32_t offsetPlusWidth = (bf_data->offset & 0x1f) + bf_data->width; + if (offsetPlusWidth > 32) + { + bf_data->field = cpuRotateLeft(cpuGetDReg(ea_or_reg), offsetPlusWidth - 32); + } + else + { + bf_data->field = cpuGetDReg(ea_or_reg) >> (32 - offsetPlusWidth); + } } bf_data->field &= bf_data->field_mask; } @@ -2752,19 +2733,19 @@ void cpuBfDecodeExtWordAndGetField(struct cpuBfData *bf_data, ULO ea_or_reg, boo /// /// bfchg common logic /// -static void cpuBfChgCommon(ULO ea_or_reg, bool has_ea, UWO ext) +static void cpuBfChgCommon(uint32_t ea_or_reg, bool has_ea, uint16_t ext) { - struct cpuBfData bf_data; + cpuBfData bf_data; cpuBfDecodeExtWordAndGetField(&bf_data, ea_or_reg, false, has_ea, ext); cpuSetFlagsNZVC(bf_data.field == 0, bf_data.field & (1 << (bf_data.width - 1)), FALSE, FALSE); - bf_data.field = (~bf_data.field) & bf_data.field_mask; + bf_data.field = (~bf_data.field) & (uint32_t)bf_data.field_mask; cpuSetBfField(&bf_data, ea_or_reg, has_ea); } // bfchg dx {offset:width} -static void cpuBfChgReg(ULO regno, UWO ext) +static void cpuBfChgReg(uint32_t regno, uint16_t ext) { cpuBfChgCommon(regno, false, ext); } @@ -2772,7 +2753,7 @@ static void cpuBfChgReg(ULO regno, UWO ext) /// /// bfchg ea {offset:width} /// -static void cpuBfChgEa(ULO ea, UWO ext) +static void cpuBfChgEa(uint32_t ea, uint16_t ext) { cpuBfChgCommon(ea, true, ext); } @@ -2780,9 +2761,9 @@ static void cpuBfChgEa(ULO ea, UWO ext) /// /// bfclr common logic /// -static void cpuBfClrCommon(ULO ea_or_reg, bool has_ea, UWO ext) +static void cpuBfClrCommon(uint32_t ea_or_reg, bool has_ea, uint16_t ext) { - struct cpuBfData bf_data; + cpuBfData bf_data; cpuBfDecodeExtWordAndGetField(&bf_data, ea_or_reg, false, has_ea, ext); cpuSetFlagsNZVC(bf_data.field == 0, bf_data.field & (1 << (bf_data.width - 1)), FALSE, FALSE); @@ -2795,7 +2776,7 @@ static void cpuBfClrCommon(ULO ea_or_reg, bool has_ea, UWO ext) /// /// bfclr dx {offset:width} /// -static void cpuBfClrReg(ULO regno, UWO ext) +static void cpuBfClrReg(uint32_t regno, uint16_t ext) { cpuBfClrCommon(regno, false, ext); } @@ -2803,7 +2784,7 @@ static void cpuBfClrReg(ULO regno, UWO ext) /// /// bfclr ea {offset:width} /// -static void cpuBfClrEa(ULO ea, UWO ext) +static void cpuBfClrEa(uint32_t ea, uint16_t ext) { cpuBfClrCommon(ea, true, ext); } @@ -2811,19 +2792,18 @@ static void cpuBfClrEa(ULO ea, UWO ext) /// /// bfexts common logic /// -static void cpuBfExtsCommon(ULO ea_or_reg, bool has_ea, UWO ext) +static void cpuBfExtsCommon(uint32_t ea_or_reg, bool has_ea, uint16_t ext) { - struct cpuBfData bf_data; - BOOLE n_flag; + cpuBfData bf_data; cpuBfDecodeExtWordAndGetField(&bf_data, ea_or_reg, true, has_ea, ext); - n_flag = bf_data.field & (1 << (bf_data.width - 1)); + BOOLE n_flag = bf_data.field & (1 << (bf_data.width - 1)); cpuSetFlagsNZVC(bf_data.field == 0, n_flag, FALSE, FALSE); if (n_flag) { - bf_data.field = (ULO)((~bf_data.field_mask) | bf_data.field); + bf_data.field = (uint32_t)((~bf_data.field_mask) | bf_data.field); } // Destination is always Dn cpuSetDReg(bf_data.dn, bf_data.field); @@ -2832,7 +2812,7 @@ static void cpuBfExtsCommon(ULO ea_or_reg, bool has_ea, UWO ext) /// /// bfexts dx {offset:width}, Dn /// -static void cpuBfExtsReg(ULO regno, UWO ext) +static void cpuBfExtsReg(uint32_t regno, uint16_t ext) { cpuBfExtsCommon(regno, false, ext); } @@ -2840,7 +2820,7 @@ static void cpuBfExtsReg(ULO regno, UWO ext) /// /// bfexts ea {offset:width}, Dn /// -static void cpuBfExtsEa(ULO ea, UWO ext) +static void cpuBfExtsEa(uint32_t ea, uint16_t ext) { cpuBfExtsCommon(ea, true, ext); } @@ -2848,9 +2828,9 @@ static void cpuBfExtsEa(ULO ea, UWO ext) /// /// bfextu ea {offset:width}, Dn /// -static void cpuBfExtuCommon(ULO ea_or_reg, bool has_ea, UWO ext) +static void cpuBfExtuCommon(uint32_t ea_or_reg, bool has_ea, uint16_t ext) { - struct cpuBfData bf_data; + cpuBfData bf_data; cpuBfDecodeExtWordAndGetField(&bf_data, ea_or_reg, true, has_ea, ext); cpuSetFlagsNZVC(bf_data.field == 0, bf_data.field & (1 << (bf_data.width - 1)), FALSE, FALSE); // Destination is always Dn @@ -2860,7 +2840,7 @@ static void cpuBfExtuCommon(ULO ea_or_reg, bool has_ea, UWO ext) /// /// bfextu dx {offset:width}, Dn /// -static void cpuBfExtuReg(ULO regno, UWO ext) +static void cpuBfExtuReg(uint32_t regno, uint16_t ext) { cpuBfExtuCommon(regno, false, ext); } @@ -2868,7 +2848,7 @@ static void cpuBfExtuReg(ULO regno, UWO ext) /// /// bfextu ea {offset:width}, Dn /// -static void cpuBfExtuEa(ULO ea, UWO ext) +static void cpuBfExtuEa(uint32_t ea, uint16_t ext) { cpuBfExtuCommon(ea, true, ext); } @@ -2876,10 +2856,10 @@ static void cpuBfExtuEa(ULO ea, UWO ext) /// /// bfffo common logic /// -static void cpuBfFfoCommon(ULO val, bool has_ea, UWO ext) +static void cpuBfFfoCommon(uint32_t val, bool has_ea, uint16_t ext) { - struct cpuBfData bf_data; - ULO i; + cpuBfData bf_data; + uint32_t i; cpuBfDecodeExtWordAndGetField(&bf_data, val, true, has_ea, ext); cpuSetFlagsNZVC(bf_data.field == 0, bf_data.field & (1 << (bf_data.width - 1)), FALSE, FALSE); @@ -2894,7 +2874,7 @@ static void cpuBfFfoCommon(ULO val, bool has_ea, UWO ext) /// /// bfffo dx {offset:width}, Dn /// -static void cpuBfFfoReg(ULO regno, UWO ext) +static void cpuBfFfoReg(uint32_t regno, uint16_t ext) { cpuBfFfoCommon(regno, false, ext); } @@ -2902,7 +2882,7 @@ static void cpuBfFfoReg(ULO regno, UWO ext) /// /// bfffo ea {offset:width}, Dn /// -static void cpuBfFfoEa(ULO ea, UWO ext) +static void cpuBfFfoEa(uint32_t ea, uint16_t ext) { cpuBfFfoCommon(ea, true, ext); } @@ -2910,9 +2890,9 @@ static void cpuBfFfoEa(ULO ea, UWO ext) /// /// bfins common logic /// -static void cpuBfInsCommon(ULO ea_or_reg, bool has_ea, UWO ext) +static void cpuBfInsCommon(uint32_t ea_or_reg, bool has_ea, uint16_t ext) { - struct cpuBfData bf_data; + cpuBfData bf_data; cpuBfDecodeExtWordAndGetField(&bf_data, ea_or_reg, true, has_ea, ext); bf_data.field = cpuGetDReg(bf_data.dn) & bf_data.field_mask; @@ -2926,7 +2906,7 @@ static void cpuBfInsCommon(ULO ea_or_reg, bool has_ea, UWO ext) /// /// bfins Dn, ea {offset:width} /// -static void cpuBfInsReg(ULO regno, UWO ext) +static void cpuBfInsReg(uint32_t regno, uint16_t ext) { cpuBfInsCommon(regno, false, ext); } @@ -2934,7 +2914,7 @@ static void cpuBfInsReg(ULO regno, UWO ext) /// /// bfins Dn, ea {offset:width} /// -static void cpuBfInsEa(ULO ea, UWO ext) +static void cpuBfInsEa(uint32_t ea, uint16_t ext) { cpuBfInsCommon(ea, true, ext); } @@ -2942,13 +2922,13 @@ static void cpuBfInsEa(ULO ea, UWO ext) /// /// bfset common logic /// -static void cpuBfSetCommon(ULO ea_or_reg, bool has_ea, UWO ext) +static void cpuBfSetCommon(uint32_t ea_or_reg, bool has_ea, uint16_t ext) { - struct cpuBfData bf_data; + cpuBfData bf_data; cpuBfDecodeExtWordAndGetField(&bf_data, ea_or_reg, false, has_ea, ext); cpuSetFlagsNZVC(bf_data.field == 0, bf_data.field & (1 << (bf_data.width - 1)), FALSE, FALSE); - bf_data.field = (ULO)bf_data.field_mask; + bf_data.field = (uint32_t)bf_data.field_mask; cpuSetBfField(&bf_data, ea_or_reg, has_ea); } @@ -2956,7 +2936,7 @@ static void cpuBfSetCommon(ULO ea_or_reg, bool has_ea, UWO ext) /// /// bfset dx {offset:width} /// -static void cpuBfSetReg(ULO regno, UWO ext) +static void cpuBfSetReg(uint32_t regno, uint16_t ext) { cpuBfSetCommon(regno, false, ext); } @@ -2964,7 +2944,7 @@ static void cpuBfSetReg(ULO regno, UWO ext) /// /// bfset ea {offset:width} /// -static void cpuBfSetEa(ULO ea, UWO ext) +static void cpuBfSetEa(uint32_t ea, uint16_t ext) { cpuBfSetCommon(ea, true, ext); } @@ -2972,9 +2952,9 @@ static void cpuBfSetEa(ULO ea, UWO ext) /// /// bftst common logic /// -static void cpuBfTstCommon(ULO ea_or_reg, bool has_ea, UWO ext) +static void cpuBfTstCommon(uint32_t ea_or_reg, bool has_ea, uint16_t ext) { - struct cpuBfData bf_data; + cpuBfData bf_data; cpuBfDecodeExtWordAndGetField(&bf_data, ea_or_reg, false, has_ea, ext); cpuSetFlagsNZVC(bf_data.field == 0, bf_data.field & (1 << (bf_data.width - 1)), FALSE, FALSE); } @@ -2982,7 +2962,7 @@ static void cpuBfTstCommon(ULO ea_or_reg, bool has_ea, UWO ext) /// /// bftst dx {offset:width} /// -static void cpuBfTstReg(ULO regno, UWO ext) +static void cpuBfTstReg(uint32_t regno, uint16_t ext) { cpuBfTstCommon(regno, false, ext); } @@ -2990,7 +2970,7 @@ static void cpuBfTstReg(ULO regno, UWO ext) /// /// bftst ea {offset:width} /// -static void cpuBfTstEa(ULO ea, UWO ext) +static void cpuBfTstEa(uint32_t ea, uint16_t ext) { cpuBfTstCommon(ea, true, ext); } @@ -2998,9 +2978,9 @@ static void cpuBfTstEa(ULO ea, UWO ext) /// /// movep.w (d16, Ay), Dx /// -static void cpuMovepWReg(ULO areg, ULO dreg) +static void cpuMovepWReg(uint32_t areg, uint32_t dreg) { - ULO ea = cpuGetAReg(areg) + cpuGetNextWordSignExt(); + uint32_t ea = cpuGetAReg(areg) + cpuGetNextWordSignExt(); cpuSetDRegWord(dreg, cpuJoinByteToWord(memoryReadByte(ea), memoryReadByte(ea + 2))); cpuSetInstructionTime(16); } @@ -3008,9 +2988,9 @@ static void cpuMovepWReg(ULO areg, ULO dreg) /// /// movep.l (d16, Ay), Dx /// -static void cpuMovepLReg(ULO areg, ULO dreg) +static void cpuMovepLReg(uint32_t areg, uint32_t dreg) { - ULO ea = cpuGetAReg(areg) + cpuGetNextWordSignExt(); + uint32_t ea = cpuGetAReg(areg) + cpuGetNextWordSignExt(); cpuSetDReg(dreg, cpuJoinByteToLong(memoryReadByte(ea), memoryReadByte(ea + 2), memoryReadByte(ea + 4), memoryReadByte(ea + 6))); cpuSetInstructionTime(24); } @@ -3018,10 +2998,10 @@ static void cpuMovepLReg(ULO areg, ULO dreg) /// /// movep.w Dx, (d16, Ay) /// -static void cpuMovepWEa(ULO areg, ULO dreg) +static void cpuMovepWEa(uint32_t areg, uint32_t dreg) { - ULO ea = cpuGetAReg(areg) + cpuGetNextWordSignExt(); - memoryWriteByte((UBY) (cpuGetDReg(dreg) >> 8), ea); + uint32_t ea = cpuGetAReg(areg) + cpuGetNextWordSignExt(); + memoryWriteByte((uint8_t) (cpuGetDReg(dreg) >> 8), ea); memoryWriteByte(cpuGetDRegByte(dreg), ea + 2); cpuSetInstructionTime(16); } @@ -3029,12 +3009,12 @@ static void cpuMovepWEa(ULO areg, ULO dreg) /// /// movep.l Dx, (d16, Ay) /// -static void cpuMovepLEa(ULO areg, ULO dreg) +static void cpuMovepLEa(uint32_t areg, uint32_t dreg) { - ULO ea = cpuGetAReg(areg) + cpuGetNextWordSignExt(); - memoryWriteByte((UBY)(cpuGetDReg(dreg) >> 24), ea); - memoryWriteByte((UBY)(cpuGetDReg(dreg) >> 16), ea + 2); - memoryWriteByte((UBY)(cpuGetDReg(dreg) >> 8), ea + 4); + uint32_t ea = cpuGetAReg(areg) + cpuGetNextWordSignExt(); + memoryWriteByte((uint8_t)(cpuGetDReg(dreg) >> 24), ea); + memoryWriteByte((uint8_t)(cpuGetDReg(dreg) >> 16), ea + 2); + memoryWriteByte((uint8_t)(cpuGetDReg(dreg) >> 8), ea + 4); memoryWriteByte(cpuGetDRegByte(dreg), ea + 6); cpuSetInstructionTime(24); } @@ -3042,35 +3022,34 @@ static void cpuMovepLEa(ULO areg, ULO dreg) /// /// pack Dx, Dy, #adjustment /// -static void cpuPackReg(ULO yreg, ULO xreg) +static void cpuPackReg(uint32_t xreg, uint32_t yreg) { - UWO adjustment = cpuGetNextWord(); - UWO src = cpuGetDRegWord(xreg) + adjustment; - cpuSetDRegByte(yreg, (UBY) (((src >> 4) & 0xf0) | (src & 0xf))); + uint16_t adjustment = cpuGetNextWord(); + uint16_t src = cpuGetDRegWord(xreg) + adjustment; + cpuSetDRegByte(yreg, (uint8_t) (((src >> 4) & 0xf0) | (src & 0xf))); cpuSetInstructionTime(4); } /// /// pack -(Ax), -(Ay), #adjustment /// -static void cpuPackEa(ULO yreg, ULO xreg) +static void cpuPackEa(uint32_t xreg, uint32_t yreg) { - UWO adjustment = cpuGetNextWord(); - UBY b1 = memoryReadByte(cpuEA04(xreg, 1)); - UBY b2 = memoryReadByte(cpuEA04(xreg, 1)); - UWO result = ((((UWO)b1) << 8) | (UWO) b2) + adjustment; - memoryWriteByte((UBY) (((result >> 4) & 0xf0) | (result & 0xf)), cpuEA04(yreg, 1)); + uint16_t adjustment = cpuGetNextWord(); + uint16_t src = memoryReadWord(cpuEA04(xreg, 2)); + uint16_t result = src + adjustment; + memoryWriteByte((uint8_t) (((result >> 4) & 0xf0) | (result & 0xf)), cpuEA04(yreg, 1)); cpuSetInstructionTime(4); } /// /// unpk Dx, Dy, #adjustment /// -static void cpuUnpkReg(ULO yreg, ULO xreg) +static void cpuUnpkReg(uint32_t xreg, uint32_t yreg) { - UWO adjustment = cpuGetNextWord(); - UBY b1 = cpuGetDRegByte(xreg); - UWO result = ((((UWO)(b1 & 0xf0)) << 4) | ((UWO)(b1 & 0xf))) + adjustment; + uint16_t adjustment = cpuGetNextWord(); + uint8_t b1 = cpuGetDRegByte(xreg); + uint16_t result = ((((uint16_t)(b1 & 0xf0)) << 4) | ((uint16_t)(b1 & 0xf))) + adjustment; cpuSetDRegWord(yreg, result); cpuSetInstructionTime(4); } @@ -3078,27 +3057,26 @@ static void cpuUnpkReg(ULO yreg, ULO xreg) /// /// unpk -(Ax), -(Ay), #adjustment /// -static void cpuUnpkEa(ULO yreg, ULO xreg) +static void cpuUnpkEa(uint32_t xreg, uint32_t yreg) { - UWO adjustment = cpuGetNextWord(); - UBY b1 = memoryReadByte(cpuEA04(xreg, 1)); - UWO result = ((((UWO)(b1 & 0xf0)) << 4) | ((UWO)(b1 & 0xf))) + adjustment; - memoryWriteByte((UBY) (result >> 8), cpuEA04(yreg, 1)); - memoryWriteByte((UBY) result, cpuEA04(yreg, 1)); + uint16_t adjustment = cpuGetNextWord(); + uint8_t b1 = memoryReadByte(cpuEA04(xreg, 1)); + uint16_t result = ((((uint16_t)(b1 & 0xf0)) << 4) | ((uint16_t)(b1 & 0xf))) + adjustment; + memoryWriteWord(result, cpuEA04(yreg, 2)); cpuSetInstructionTime(4); } /// /// movec /// -static void cpuMoveCFrom() +static void cpuMoveCFrom(void) { if (cpuGetFlagSupervisor()) { - UWO extension = (UWO) cpuGetNextWord(); - ULO da = (extension >> 15) & 1; - ULO regno = (extension >> 12) & 7; - ULO ctrl_regno = extension & 0xfff; + uint16_t extension = (uint16_t) cpuGetNextWord(); + uint32_t da = (extension >> 15) & 1; + uint32_t regno = (extension >> 12) & 7; + uint32_t ctrl_regno = extension & 0xfff; if (cpuGetModelMajor() == 1) { switch (ctrl_regno) @@ -3152,14 +3130,14 @@ static void cpuMoveCFrom() /// /// movec /// -static void cpuMoveCTo() +static void cpuMoveCTo(void) { if (cpuGetFlagSupervisor()) { - UWO extension = (UWO) cpuGetNextWord(); - ULO da = (extension >> 15) & 1; - ULO regno = (extension >> 12) & 7; - ULO ctrl_regno = extension & 0xfff; + uint16_t extension = (uint16_t) cpuGetNextWord(); + uint32_t da = (extension >> 15) & 1; + uint32_t regno = (extension >> 12) & 7; + uint32_t ctrl_regno = extension & 0xfff; if (cpuGetModelMajor() == 1) { switch (ctrl_regno) @@ -3213,26 +3191,26 @@ static void cpuMoveCTo() /// /// moves.b Rn, ea / moves.b ea, Rn /// -static void cpuMoveSB(ULO ea, UWO extension) +static void cpuMoveSB(uint32_t ea, uint16_t extension) { if (cpuGetFlagSupervisor()) { - ULO da = (extension >> 15) & 1; - ULO regno = (extension >> 12) & 7; + uint32_t da = (extension >> 15) & 1; + uint32_t regno = (extension >> 12) & 7; if (extension & 0x0800) // From Rn to ea (in dfc) { - memoryWriteByte((UBY)cpuGetReg(da, regno), ea); + memoryWriteByte((uint8_t)cpuGetReg(da, regno), ea); } else // From ea to Rn (in sfc) { - UBY data = memoryReadByte(ea); + uint8_t data = memoryReadByte(ea); if (da == 0) { cpuSetDRegByte(regno, data); } else { - cpuSetAReg(regno, (ULO)(LON)(BYT) data); + cpuSetAReg(regno, (uint32_t)(int32_t)(int8_t) data); } } } @@ -3247,26 +3225,26 @@ static void cpuMoveSB(ULO ea, UWO extension) /// /// moves.w Rn, ea / moves.w ea, Rn /// -static void cpuMoveSW(ULO ea, UWO extension) +static void cpuMoveSW(uint32_t ea, uint16_t extension) { if (cpuGetFlagSupervisor()) { - ULO da = (extension >> 15) & 1; - ULO regno = (extension >> 12) & 7; + uint32_t da = (extension >> 15) & 1; + uint32_t regno = (extension >> 12) & 7; if (extension & 0x0800) // From Rn to ea (in dfc) { - memoryWriteWord((UWO)cpuGetReg(da, regno), ea); + memoryWriteWord((uint16_t)cpuGetReg(da, regno), ea); } else // From ea to Rn (in sfc) { - UWO data = memoryReadWord(ea); + uint16_t data = memoryReadWord(ea); if (da == 0) { cpuSetDRegWord(regno, data); } else { - cpuSetAReg(regno, (ULO)(LON)(WOR) data); + cpuSetAReg(regno, (uint32_t)(int32_t)(int16_t) data); } } } @@ -3281,12 +3259,12 @@ static void cpuMoveSW(ULO ea, UWO extension) /// /// moves.l Rn, ea / moves.l ea, Rn /// -static void cpuMoveSL(ULO ea, UWO extension) +static void cpuMoveSL(uint32_t ea, uint16_t extension) { if (cpuGetFlagSupervisor()) { - ULO da = (extension >> 15) & 1; - ULO regno = (extension >> 12) & 7; + uint32_t da = (extension >> 15) & 1; + uint32_t regno = (extension >> 12) & 7; if (extension & 0x0800) // From Rn to ea (in dfc) { memoryWriteLong(cpuGetReg(da, regno), ea); @@ -3307,7 +3285,7 @@ static void cpuMoveSL(ULO ea, UWO extension) /// /// Trapcc /// -static void cpuTrapcc(ULO cc) +static void cpuTrapcc(uint32_t cc) { if (cc) { @@ -3320,7 +3298,7 @@ static void cpuTrapcc(ULO cc) /// /// Trapcc.w # /// -static void cpuTrapccW(ULO cc) +static void cpuTrapccW(uint32_t cc) { cpuGetNextWord(); if (cc) @@ -3328,13 +3306,13 @@ static void cpuTrapccW(ULO cc) cpuThrowTrapVException(); // TrapV and Trapcc share the exception vector return; } - cpuSetInstructionTime(4); + cpuSetInstructionTime(4); } /// /// trapcc.l # /// -static void cpuTrapccL(ULO cc) +static void cpuTrapccL(uint32_t cc) { cpuGetNextLong(); if (cc) @@ -3342,17 +3320,17 @@ static void cpuTrapccL(ULO cc) cpuThrowTrapVException(); // TrapV and Trapcc share the exception vector return; } - cpuSetInstructionTime(4); + cpuSetInstructionTime(4); } /// /// cas.b Dc,Du, ea /// -static void cpuCasB(ULO ea, UWO extension) +static void cpuCasB(uint32_t ea, uint16_t extension) { - UBY dst = memoryReadByte(ea); - ULO cmp_regno = extension & 7; - UBY res = dst - cpuGetDRegByte(cmp_regno); + uint8_t dst = memoryReadByte(ea); + uint32_t cmp_regno = extension & 7; + uint8_t res = dst - cpuGetDRegByte(cmp_regno); cpuSetFlagsCmp(cpuIsZeroB(res), cpuMsbB(res), cpuMsbB(dst), cpuMsbB(cpuGetDRegByte(cmp_regno))); @@ -3370,11 +3348,11 @@ static void cpuCasB(ULO ea, UWO extension) /// /// cas.w Dc,Du, ea /// -static void cpuCasW(ULO ea, UWO extension) +static void cpuCasW(uint32_t ea, uint16_t extension) { - UWO dst = memoryReadWord(ea); - ULO cmp_regno = extension & 7; - UWO res = dst - cpuGetDRegWord(cmp_regno); + uint16_t dst = memoryReadWord(ea); + uint32_t cmp_regno = extension & 7; + uint16_t res = dst - cpuGetDRegWord(cmp_regno); cpuSetFlagsCmp(cpuIsZeroW(res), cpuMsbW(res), cpuMsbW(dst), cpuMsbW(cpuGetDRegWord(cmp_regno))); @@ -3392,11 +3370,11 @@ static void cpuCasW(ULO ea, UWO extension) /// /// cas.l Dc,Du, ea /// -static void cpuCasL(ULO ea, UWO extension) +static void cpuCasL(uint32_t ea, uint16_t extension) { - ULO dst = memoryReadLong(ea); - ULO cmp_regno = extension & 7; - ULO res = dst - cpuGetDReg(cmp_regno); + uint32_t dst = memoryReadLong(ea); + uint32_t cmp_regno = extension & 7; + uint32_t res = dst - cpuGetDReg(cmp_regno); cpuSetFlagsCmp(cpuIsZeroL(res), cpuMsbL(res), cpuMsbL(dst), cpuMsbL(cpuGetDReg(cmp_regno))); @@ -3414,18 +3392,18 @@ static void cpuCasL(ULO ea, UWO extension) /// /// cas2.w Dc1:Dc2,Du1:Du2,(Rn1):(Rn2) /// -static void cpuCas2W() +static void cpuCas2W(void) { - UWO extension1 = cpuGetNextWord(); - UWO extension2 = cpuGetNextWord(); - ULO ea1 = cpuGetReg(extension1 >> 15, (extension1 >> 12) & 7); - ULO ea2 = cpuGetReg(extension2 >> 15, (extension2 >> 12) & 7); - UWO dst1 = memoryReadWord(ea1); - UWO dst2 = memoryReadWord(ea2); - ULO cmp1_regno = extension1 & 7; - ULO cmp2_regno = extension2 & 7; - UWO res1 = dst1 - cpuGetDRegWord(cmp1_regno); - UWO res2 = dst2 - cpuGetDRegWord(cmp2_regno); + uint16_t extension1 = cpuGetNextWord(); + uint16_t extension2 = cpuGetNextWord(); + uint32_t ea1 = cpuGetReg(extension1 >> 15, (extension1 >> 12) & 7); + uint32_t ea2 = cpuGetReg(extension2 >> 15, (extension2 >> 12) & 7); + uint16_t dst1 = memoryReadWord(ea1); + uint16_t dst2 = memoryReadWord(ea2); + uint32_t cmp1_regno = extension1 & 7; + uint32_t cmp2_regno = extension2 & 7; + uint16_t res1 = dst1 - cpuGetDRegWord(cmp1_regno); + uint16_t res2 = dst2 - cpuGetDRegWord(cmp2_regno); if (cpuIsZeroW(res1)) { @@ -3444,7 +3422,10 @@ static void cpuCas2W() else { cpuSetDRegWord(cmp1_regno, dst1); - cpuSetDRegWord(cmp2_regno, dst2); + if (cmp1_regno != cmp2_regno) + { + cpuSetDRegWord(cmp2_regno, dst2); + } } cpuSetInstructionTime(4); } @@ -3452,18 +3433,18 @@ static void cpuCas2W() /// /// cas2.l Dc1:Dc2,Du1:Du2,(Rn1):(Rn2) /// -static void cpuCas2L() +static void cpuCas2L(void) { - UWO extension1 = cpuGetNextWord(); - UWO extension2 = cpuGetNextWord(); - ULO ea1 = cpuGetReg(extension1 >> 15, (extension1 >> 12) & 7); - ULO ea2 = cpuGetReg(extension2 >> 15, (extension2 >> 12) & 7); - ULO dst1 = memoryReadLong(ea1); - ULO dst2 = memoryReadLong(ea2); - ULO cmp1_regno = extension1 & 7; - ULO cmp2_regno = extension2 & 7; - ULO res1 = dst1 - cpuGetDReg(cmp1_regno); - ULO res2 = dst2 - cpuGetDReg(cmp2_regno); + uint16_t extension1 = cpuGetNextWord(); + uint16_t extension2 = cpuGetNextWord(); + uint32_t ea1 = cpuGetReg(extension1 >> 15, (extension1 >> 12) & 7); + uint32_t ea2 = cpuGetReg(extension2 >> 15, (extension2 >> 12) & 7); + uint32_t dst1 = memoryReadLong(ea1); + uint32_t dst2 = memoryReadLong(ea2); + uint32_t cmp1_regno = extension1 & 7; + uint32_t cmp2_regno = extension2 & 7; + uint32_t res1 = dst1 - cpuGetDReg(cmp1_regno); + uint32_t res2 = dst2 - cpuGetDReg(cmp2_regno); if (cpuIsZeroL(res1)) { @@ -3482,7 +3463,10 @@ static void cpuCas2L() else { cpuSetDReg(cmp1_regno, dst1); - cpuSetDReg(cmp2_regno, dst2); + if (cmp1_regno != cmp2_regno) + { + cpuSetDReg(cmp2_regno, dst2); + } } cpuSetInstructionTime(4); } @@ -3490,12 +3474,14 @@ static void cpuCas2L() /// /// Common code for chk2 ea, Rn / cmp2 ea, Rn /// -static void cpuChkCmp(ULO lb, ULO ub, ULO val, BOOLE is_chk2) +static void cpuChk2Cmp2(uint32_t lb, uint32_t ub, uint32_t val, BOOLE is_chk2) { BOOLE z = (val == lb || val == ub); - BOOLE c = ((lb <= ub) && (val < lb || val > ub)) || ((lb > ub) && (val < lb) && (val > ub)); + BOOLE c = ((lb <= ub) && (val < lb || val > ub)) || ((lb > ub) && (val < lb) && (val > ub)); + BOOLE v = (ub < lb) && (val > ub) && (val < lb); cpuSetFlagZ(z); cpuSetFlagC(c); + cpuSetFlagV(v); cpuSetInstructionTime(4); if (is_chk2 && c) { @@ -3506,48 +3492,48 @@ static void cpuChkCmp(ULO lb, ULO ub, ULO val, BOOLE is_chk2) /// /// chk2.b ea, Rn / cmp2.b ea, Rn /// -static void cpuChkCmp2B(ULO ea, UWO extension) +static void cpuChkCmp2B(uint32_t ea, uint16_t extension) { - ULO da = (ULO) (extension >> 15); - ULO rn = (ULO) (extension >> 12) & 7; + uint32_t da = (uint32_t) (extension >> 15); + uint32_t rn = (uint32_t) (extension >> 12) & 7; BOOLE is_chk2 = (extension & 0x0800); if (da == 1) { - cpuChkCmp((ULO)(LON)(BYT)memoryReadByte(ea), (ULO)(LON)(BYT)memoryReadByte(ea + 1), cpuGetAReg(rn), is_chk2); + cpuChk2Cmp2((uint32_t)(int32_t)(int8_t)memoryReadByte(ea), (uint32_t)(int32_t)(int8_t)memoryReadByte(ea + 1), cpuGetAReg(rn), is_chk2); } else { - cpuChkCmp((ULO)memoryReadByte(ea), (ULO)memoryReadByte(ea + 1), (ULO)(UBY)cpuGetDReg(rn), is_chk2); + cpuChk2Cmp2((uint32_t)memoryReadByte(ea), (uint32_t)memoryReadByte(ea + 1), (uint32_t)(uint8_t)cpuGetDReg(rn), is_chk2); } } /// /// chk2.w ea, Rn / cmp2.w ea, Rn /// -static void cpuChkCmp2W(ULO ea, UWO extension) +static void cpuChkCmp2W(uint32_t ea, uint16_t extension) { - ULO da = (ULO) (extension >> 15); - ULO rn = (ULO) (extension >> 12) & 7; + uint32_t da = (uint32_t) (extension >> 15); + uint32_t rn = (uint32_t) (extension >> 12) & 7; BOOLE is_chk2 = (extension & 0x0800); if (da == 1) { - cpuChkCmp((ULO)(LON)(WOR)memoryReadWord(ea), (ULO)(LON)(WOR)memoryReadWord(ea + 1), cpuGetAReg(rn), is_chk2); + cpuChk2Cmp2((uint32_t)(int32_t)(int16_t)memoryReadWord(ea), (uint32_t)(int32_t)(int16_t)memoryReadWord(ea + 1), cpuGetAReg(rn), is_chk2); } else { - cpuChkCmp((ULO)memoryReadWord(ea), (ULO)memoryReadWord(ea + 2), (ULO)(UWO)cpuGetDReg(rn), is_chk2); + cpuChk2Cmp2((uint32_t)memoryReadWord(ea), (uint32_t)memoryReadWord(ea + 2), (uint32_t)(uint16_t)cpuGetDReg(rn), is_chk2); } } /// /// chk2.l ea, Rn / cmp2.l ea, Rn /// -static void cpuChkCmp2L(ULO ea, UWO extension) +static void cpuChkCmp2L(uint32_t ea, uint16_t extension) { - ULO da = (ULO) (extension >> 15); - ULO rn = (ULO) (extension >> 12) & 7; + uint32_t da = (uint32_t) (extension >> 15); + uint32_t rn = (uint32_t) (extension >> 12) & 7; BOOLE is_chk2 = (extension & 0x0800); - cpuChkCmp(memoryReadLong(ea), memoryReadLong(ea + 4), cpuGetReg(da, rn), is_chk2); + cpuChk2Cmp2(memoryReadLong(ea), memoryReadLong(ea + 4), cpuGetReg(da, rn), is_chk2); } /// @@ -3555,7 +3541,7 @@ static void cpuChkCmp2L(ULO ea, UWO extension) /// Since this is a coprocessor instruction, this is NOP. /// This will likely fail, but anything we do here will be wrong anyhow. /// -static void cpuCallm(ULO ea, UWO extension) +static void cpuCallm(uint32_t ea, uint16_t extension) { cpuSetInstructionTime(4); } @@ -3565,7 +3551,7 @@ static void cpuCallm(ULO ea, UWO extension) /// Since this is a coprocessor instruction, this is NOP. /// This will likely fail, but anything we do here will be wrong anyhow. /// -static void cpuRtm(ULO da, ULO regno) +static void cpuRtm(uint32_t da, uint32_t regno) { cpuSetInstructionTime(4); } @@ -3597,7 +3583,7 @@ static void cpuRtm(ULO da, ULO regno) /// /// Since this is a coprocessor instruction, this is NOP. /// -static void cpuPflush030(ULO ea, UWO extension) +static void cpuPflush030(uint32_t ea, uint16_t extension) { if (cpuGetFlagSupervisor()) { @@ -3608,9 +3594,9 @@ static void cpuPflush030(ULO ea, UWO extension) else if ((extension & 0xe300) == 0x2000) { // pflusha, pflush - ULO mode = (extension >> 10) & 7; - ULO mask = (extension >> 5) & 7; - ULO fc = extension & 0x1f; + uint32_t mode = (extension >> 10) & 7; + uint32_t mask = (extension >> 5) & 7; + uint32_t fc = extension & 0x1f; } } else @@ -3630,7 +3616,7 @@ static void cpuPflush030(ULO ea, UWO extension) /// /// Since this is a coprocessor instruction, this is NOP. /// -static void cpuPflush040(ULO opmode, ULO regno) +static void cpuPflush040(uint32_t opmode, uint32_t regno) { if (cpuGetFlagSupervisor()) { @@ -3665,7 +3651,7 @@ static void cpuPflush040(ULO opmode, ULO regno) /// /// Since this is a coprocessor instruction, this is NOP. /// -static void cpuPtest040(ULO rw, ULO regno) +static void cpuPtest040(uint32_t rw, uint32_t regno) { if (cpuGetFlagSupervisor()) { @@ -3698,8 +3684,7 @@ cpuOpcodeData cpu_opcode_data_current[65536]; void cpuMakeOpcodeTableForModel(void) { - ULO opcode; - for (opcode = 0; opcode < 65536; opcode++) + for (uint32_t opcode = 0; opcode < 65536; opcode++) { if (cpu_opcode_model_mask[opcode] & cpuGetModelMask()) { @@ -3715,10 +3700,10 @@ void cpuMakeOpcodeTableForModel(void) } } -ULO irq_arrival_time = -1; -extern ULO busGetCycle(); +uint32_t irq_arrival_time = -1; +extern uint32_t busGetCycle(); -ULO cpuExecuteInstruction(void) +uint32_t cpuExecuteInstruction(void) { if (cpuGetRaiseInterrupt()) { @@ -3728,15 +3713,15 @@ ULO cpuExecuteInstruction(void) } else { - ULO oldSr = cpuGetSR(); - UWO opcode; + uint32_t oldSr = cpuGetSR(); + cpuSetInstructionAborted(false); #ifdef CPU_INSTRUCTION_LOGGING cpuCallInstructionLoggingFunc(); #endif cpuSetOriginalPC(cpuGetPC()); // Store pc and opcode for exception logging - opcode = cpuGetNextWord(); + uint16_t opcode = cpuGetNextWord(); #ifdef CPU_INSTRUCTION_LOGGING cpuSetCurrentOpcode(opcode); @@ -3744,12 +3729,12 @@ ULO cpuExecuteInstruction(void) cpuSetInstructionTime(0); - cpu_opcode_data_current[opcode].instruction_func( - cpu_opcode_data_current[opcode].data); - if (oldSr & 0xc000) + cpu_opcode_data_current[opcode].instruction_func(cpu_opcode_data_current[opcode].data); + + if (oldSr & 0xc000 && !cpuGetInstructionAborted()) { // This instruction was traced - ULO cycles = cpuGetInstructionTime(); + uint32_t cycles = cpuGetInstructionTime(); cpuThrowTraceException(); cpuSetInstructionTime(cpuGetInstructionTime() + cycles); } diff --git a/cpu/CpuModule_Internal.h b/cpu/CpuModule_Internal.h index 3eef27b..82e8d15 100644 --- a/cpu/CpuModule_Internal.h +++ b/cpu/CpuModule_Internal.h @@ -1,115 +1,112 @@ -#ifndef CpuModule_Internal_H -#define CpuModule_Internal_H - -#ifdef __cplusplus -extern "C" { -#endif +#pragma once // This header file defines the internal interfaces of the CPU module. extern void cpuMakeOpcodeTableForModel(void); extern void cpuCreateMulTimeTables(void); // StackFrameGen -extern void cpuStackFrameGenerate(UWO vector_no, ULO pc); +extern void cpuStackFrameGenerate(uint16_t vector_no, uint32_t pc); extern void cpuStackFrameInit(void); // Registers -extern ULO cpu_sr; // Not static because the flags calculation uses it extensively +extern uint32_t cpu_sr; // Not static because the flags calculation uses it extensively extern BOOLE cpuGetFlagSupervisor(void); extern BOOLE cpuGetFlagMaster(void); -extern void cpuSetUspDirect(ULO usp); -extern ULO cpuGetUspDirect(void); -extern ULO cpuGetUspAutoMap(void); -extern void cpuSetSspDirect(ULO ssp); -extern ULO cpuGetSspDirect(void); -extern ULO cpuGetSspAutoMap(void); -extern void cpuSetMspDirect(ULO msp); -extern ULO cpuGetMspDirect(void); -extern ULO cpuGetMspAutoMap(void); -extern void cpuSetMspAutoMap(ULO new_msp); -extern ULO cpuGetIspAutoMap(void); -extern void cpuSetIspAutoMap(ULO new_isp); -extern void cpuSetDReg(ULO i, ULO value); -extern ULO cpuGetDReg(ULO i); -extern void cpuSetAReg(ULO i, ULO value); -extern ULO cpuGetAReg(ULO i); -extern void cpuSetReg(ULO da, ULO i, ULO value); -extern ULO cpuGetReg(ULO da, ULO i); -extern void cpuSetPC(ULO address); -extern ULO cpuGetPC(void); +extern void cpuSetUspDirect(uint32_t usp); +extern uint32_t cpuGetUspDirect(void); +extern uint32_t cpuGetUspAutoMap(void); +extern void cpuSetSspDirect(uint32_t ssp); +extern uint32_t cpuGetSspDirect(void); +extern uint32_t cpuGetSspAutoMap(void); +extern void cpuSetMspDirect(uint32_t msp); +extern uint32_t cpuGetMspDirect(void); +extern uint32_t cpuGetMspAutoMap(void); +extern void cpuSetMspAutoMap(uint32_t new_msp); +extern uint32_t cpuGetIspAutoMap(void); +extern void cpuSetIspAutoMap(uint32_t new_isp); +extern void cpuSetDReg(uint32_t i, uint32_t value); +extern uint32_t cpuGetDReg(uint32_t i); +extern void cpuSetAReg(uint32_t i, uint32_t value); +extern uint32_t cpuGetAReg(uint32_t i); +extern void cpuSetReg(uint32_t da, uint32_t i, uint32_t value); +extern uint32_t cpuGetReg(uint32_t da, uint32_t i); +extern void cpuSetPC(uint32_t address); +extern uint32_t cpuGetPC(void); extern void cpuSetStop(BOOLE stop); extern BOOLE cpuGetStop(void); -extern void cpuSetVbr(ULO vbr); -extern ULO cpuGetVbr(void); -extern void cpuSetSfc(ULO sfc); -extern ULO cpuGetSfc(void); -extern void cpuSetDfc(ULO dfc); -extern ULO cpuGetDfc(void); -extern void cpuSetCacr(ULO cacr); -extern ULO cpuGetCacr(void); -extern void cpuSetCaar(ULO caar); -extern ULO cpuGetCaar(void); -extern void cpuSetSR(ULO sr); -extern ULO cpuGetSR(void); -extern void cpuSetInstructionTime(ULO cycles); -extern ULO cpuGetInstructionTime(void); -extern void cpuSetOriginalPC(ULO pc); -extern ULO cpuGetOriginalPC(void); +extern void cpuSetVbr(uint32_t vbr); +extern uint32_t cpuGetVbr(void); +extern void cpuSetSfc(uint32_t sfc); +extern uint32_t cpuGetSfc(void); +extern void cpuSetDfc(uint32_t dfc); +extern uint32_t cpuGetDfc(void); +extern void cpuSetCacr(uint32_t cacr); +extern uint32_t cpuGetCacr(void); +extern void cpuSetCaar(uint32_t caar); +extern uint32_t cpuGetCaar(void); +extern void cpuSetSR(uint32_t sr); +extern uint32_t cpuGetSR(void); +extern void cpuSetInstructionTime(uint32_t cycles); +extern uint32_t cpuGetInstructionTime(void); +extern void cpuSetOriginalPC(uint32_t pc); +extern uint32_t cpuGetOriginalPC(void); +extern void cpuSetInstructionAborted(bool aborted); +extern bool cpuGetInstructionAborted(void); #ifdef CPU_INSTRUCTION_LOGGING -extern void cpuSetCurrentOpcode(UWO opcode); -extern UWO cpuGetCurrentOpcode(void); +extern void cpuSetCurrentOpcode(uint16_t opcode); +extern uint16_t cpuGetCurrentOpcode(void); #endif extern void cpuProfileWrite(void); -extern void cpuSetModelMask(UBY model_mask); -extern UBY cpuGetModelMask(void); -extern void cpuSetDRegWord(ULO regno, UWO val); -extern void cpuSetDRegByte(ULO regno, UBY val); -extern UWO cpuGetRegWord(ULO i, ULO regno); -extern UWO cpuGetDRegWord(ULO regno); -extern UBY cpuGetDRegByte(ULO regno); -extern ULO cpuGetDRegWordSignExtLong(ULO regno); -extern UWO cpuGetDRegByteSignExtWord(ULO regno); -extern ULO cpuGetDRegByteSignExtLong(ULO regno); -extern UWO cpuGetARegWord(ULO regno); -extern UBY cpuGetARegByte(ULO regno); +extern void cpuSetModelMask(uint8_t model_mask); +extern uint8_t cpuGetModelMask(void); +extern void cpuSetDRegWord(uint32_t regno, uint16_t val); +extern void cpuSetDRegByte(uint32_t regno, uint8_t val); +extern uint16_t cpuGetRegWord(uint32_t i, uint32_t regno); +extern uint16_t cpuGetDRegWord(uint32_t regno); +extern uint8_t cpuGetDRegByte(uint32_t regno); +extern uint32_t cpuGetDRegWordSignExtLong(uint32_t regno); +extern uint16_t cpuGetDRegByteSignExtWord(uint32_t regno); +extern uint32_t cpuGetDRegByteSignExtLong(uint32_t regno); +extern uint16_t cpuGetARegWord(uint32_t regno); +extern uint8_t cpuGetARegByte(uint32_t regno); -extern UWO cpuGetNextWord(void); -extern ULO cpuGetNextWordSignExt(void); -extern ULO cpuGetNextLong(void); +extern uint16_t cpuGetNextWord(void); +extern uint32_t cpuGetNextWordSignExt(void); +extern uint32_t cpuGetNextLong(void); extern void cpuSkipNextWord(void); extern void cpuSkipNextLong(void); extern void cpuClearPrefetch(void); extern void cpuValidateReadPointer(void); -extern void cpuInitializeFromNewPC(ULO new_pc); +extern void cpuInitializeFromNewPC(uint32_t new_pc); // Effective address -extern ULO cpuEA02(ULO regno); -extern ULO cpuEA03(ULO regno, ULO size); -extern ULO cpuEA04(ULO regno, ULO size); -extern ULO cpuEA05(ULO regno); -extern ULO cpuEA06(ULO regno); -extern ULO cpuEA70(void); -extern ULO cpuEA71(void); -extern ULO cpuEA72(void); -extern ULO cpuEA73(void); +extern uint32_t cpuEA02(uint32_t regno); +extern uint32_t cpuEA03(uint32_t regno, uint32_t size); +extern uint32_t cpuEA04(uint32_t regno, uint32_t size); +extern uint32_t cpuEA05(uint32_t regno); +extern uint32_t cpuEA06(uint32_t regno); +extern uint32_t cpuEA70(void); +extern uint32_t cpuEA71(void); +extern uint32_t cpuEA72(void); +extern uint32_t cpuEA73(void); // Flags extern void cpuSetFlagsAdd(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm); extern void cpuSetFlagsSub(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm); extern void cpuSetFlagsCmp(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm); -extern void cpuSetZFlagBitOpsB(UBY res); -extern void cpuSetZFlagBitOpsL(ULO res); +extern void cpuSetZFlagBitOpsB(uint8_t res); +extern void cpuSetZFlagBitOpsL(uint32_t res); -extern void cpuSetFlagsNZ00NewB(UBY res); -extern void cpuSetFlagsNZ00NewW(UWO res); -extern void cpuSetFlagsNZ00NewL(ULO res); -extern void cpuSetFlagsNZ00New64(LLO res); +extern void cpuSetFlagsNZ00NewB(uint8_t res); +extern void cpuSetFlagsNZ00NewW(uint16_t res); +extern void cpuSetFlagsNZ00NewL(uint32_t res); +extern void cpuSetFlagsNZ00New64(int64_t res); extern void cpuSetFlagZ(BOOLE f); extern void cpuSetFlagN(BOOLE f); @@ -126,16 +123,16 @@ extern void cpuSetFlagsVC(BOOLE v, BOOLE c); extern void cpuSetFlagsShiftZero(BOOLE z, BOOLE rm); extern void cpuSetFlagsShift(BOOLE z, BOOLE rm, BOOLE c, BOOLE v); extern void cpuSetFlagsRotate(BOOLE z, BOOLE rm, BOOLE c); -extern void cpuSetFlagsRotateX(UWO z, UWO rm, UWO x); +extern void cpuSetFlagsRotateX(uint16_t z, uint16_t rm, uint16_t x); extern void cpuSetFlagsAddX(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm); extern void cpuSetFlagsSubX(BOOLE z, BOOLE rm, BOOLE dm, BOOLE sm); -extern void cpuSetFlagsAbs(UWO f); -extern UWO cpuGetZFlagB(UBY res); -extern UWO cpuGetZFlagW(UWO res); -extern UWO cpuGetZFlagL(ULO res); -extern UWO cpuGetNFlagB(UBY res); -extern UWO cpuGetNFlagW(UWO res); -extern UWO cpuGetNFlagL(ULO res); +extern void cpuSetFlagsAbs(uint16_t f); +extern uint16_t cpuGetZFlagB(uint8_t res); +extern uint16_t cpuGetZFlagW(uint16_t res); +extern uint16_t cpuGetZFlagL(uint32_t res); +extern uint16_t cpuGetNFlagB(uint8_t res); +extern uint16_t cpuGetNFlagW(uint16_t res); +extern uint16_t cpuGetNFlagL(uint32_t res); extern void cpuClearFlagsVC(void); extern BOOLE cpuCalculateConditionCode0(void); @@ -154,53 +151,47 @@ extern BOOLE cpuCalculateConditionCode12(void); extern BOOLE cpuCalculateConditionCode13(void); extern BOOLE cpuCalculateConditionCode14(void); extern BOOLE cpuCalculateConditionCode15(void); -extern BOOLE cpuCalculateConditionCode(ULO cc); +extern BOOLE cpuCalculateConditionCode(uint32_t cc); // Logging #ifdef CPU_INSTRUCTION_LOGGING extern void cpuCallInstructionLoggingFunc(void); -extern void cpuCallExceptionLoggingFunc(STR *description, ULO original_pc, UWO opcode); -extern void cpuCallInterruptLoggingFunc(ULO level, ULO vector_address); +extern void cpuCallExceptionLoggingFunc(char *description, uint32_t original_pc, uint16_t opcode); +extern void cpuCallInterruptLoggingFunc(uint32_t level, uint32_t vector_address); #endif // Interrupt -extern ULO cpuActivateSSP(void); +extern uint32_t cpuActivateSSP(void); extern void cpuSetRaiseInterrupt(BOOLE raise_irq); extern BOOLE cpuGetRaiseInterrupt(void); -extern void cpuSetRaiseInterruptLevel(ULO raise_irq_level); -extern ULO cpuGetRaiseInterruptLevel(void); +extern void cpuSetRaiseInterruptLevel(uint32_t raise_irq_level); +extern uint32_t cpuGetRaiseInterruptLevel(void); // Exceptions extern void cpuThrowPrivilegeViolationException(void); extern void cpuThrowIllegalInstructionException(BOOLE executejmp); +extern void cpuThrowIllegalInstructionExceptionFromBreakpoint(void); extern void cpuThrowFLineException(void); extern void cpuThrowALineException(void); extern void cpuThrowTrapVException(void); -extern void cpuThrowTrapException(ULO vector_no); -extern void cpuThrowDivisionByZeroException(); +extern void cpuThrowTrapException(uint32_t vector_no); +extern void cpuThrowDivisionByZeroException(void); extern void cpuThrowChkException(void); extern void cpuThrowTraceException(void); extern void cpuThrowResetException(void); extern void cpuCallResetExceptionFunc(void); -extern void cpuFrame1(UWO vector_offset, ULO pc); +extern void cpuFrame1(uint16_t vector_offset, uint32_t pc); // Private help functions -static ULO cpuSignExtByteToLong(UBY v) {return (ULO)(LON)(BYT) v;} -static UWO cpuSignExtByteToWord(UBY v) {return (UWO)(WOR)(BYT) v;} -static ULO cpuSignExtWordToLong(UWO v) {return (ULO)(LON)(WOR) v;} -static ULO cpuJoinWordToLong(UWO upper, UWO lower) {return (((ULO)upper) << 16) | ((ULO)lower);} -static ULO cpuJoinByteToLong(UBY upper, UBY midh, UBY midl, UBY lower) {return (((ULO)upper) << 24) | (((ULO)midh) << 16) | (((ULO)midl) << 8) | ((ULO)lower);} -static UWO cpuJoinByteToWord(UBY upper, UBY lower) {return (((UWO)upper) << 8) | ((UWO)lower);} -static BOOLE cpuMsbB(UBY v) {return v>>7;} -static BOOLE cpuMsbW(UWO v) {return v>>15;} -static BOOLE cpuMsbL(ULO v) {return v>>31;} -static BOOLE cpuIsZeroB(UBY v) {return v == 0;} -static BOOLE cpuIsZeroW(UWO v) {return v == 0;} -static BOOLE cpuIsZeroL(ULO v) {return v == 0;} - -#ifdef __cplusplus -} -#endif - - -#endif \ No newline at end of file +static uint32_t cpuSignExtByteToLong(uint8_t v) {return (uint32_t)(int32_t)(int8_t) v;} +static uint16_t cpuSignExtByteToWord(uint8_t v) {return (uint16_t)(int16_t)(int8_t) v;} +static uint32_t cpuSignExtWordToLong(uint16_t v) {return (uint32_t)(int32_t)(int16_t) v;} +static uint32_t cpuJoinWordToLong(uint16_t upper, uint16_t lower) {return (((uint32_t)upper) << 16) | ((uint32_t)lower);} +static uint32_t cpuJoinByteToLong(uint8_t upper, uint8_t midh, uint8_t midl, uint8_t lower) {return (((uint32_t)upper) << 24) | (((uint32_t)midh) << 16) | (((uint32_t)midl) << 8) | ((uint32_t)lower);} +static uint16_t cpuJoinByteToWord(uint8_t upper, uint8_t lower) {return (((uint16_t)upper) << 8) | ((uint16_t)lower);} +static BOOLE cpuMsbB(uint8_t v) {return v>>7;} +static BOOLE cpuMsbW(uint16_t v) {return v>>15;} +static BOOLE cpuMsbL(uint32_t v) {return v>>31;} +static BOOLE cpuIsZeroB(uint8_t v) {return v == 0;} +static BOOLE cpuIsZeroW(uint16_t v) {return v == 0;} +static BOOLE cpuIsZeroL(uint32_t v) {return v == 0;} diff --git a/cpu/CpuModule_InternalState.c b/cpu/CpuModule_InternalState.c index dfa80c1..203bd75 100644 --- a/cpu/CpuModule_InternalState.c +++ b/cpu/CpuModule_InternalState.c @@ -1,4 +1,3 @@ -/* @(#) $Id: CpuModule_InternalState.c,v 1.9 2012-08-12 16:51:02 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* 68000 internal state */ @@ -27,57 +26,58 @@ #include "CpuModule_Internal.h" /* M68k registers */ -static ULO cpu_regs[2][8]; /* 0 - data, 1 - address */ -static ULO cpu_pc; -static ULO cpu_usp; -static ULO cpu_ssp; -static ULO cpu_msp; -static ULO cpu_sfc; -static ULO cpu_dfc; -ULO cpu_sr; // Not static because flags calculation use it extensively -static ULO cpu_vbr; -static UWO cpu_prefetch_word; -static ULO cpu_cacr; -static ULO cpu_caar; +static uint32_t cpu_regs[2][8]; /* 0 - data, 1 - address */ +static uint32_t cpu_pc; +static uint32_t cpu_usp; +static uint32_t cpu_ssp; +static uint32_t cpu_msp; +static uint32_t cpu_sfc; +static uint32_t cpu_dfc; +uint32_t cpu_sr; // Not static because flags calculation use it extensively +static uint32_t cpu_vbr; +static uint16_t cpu_prefetch_word; +static uint32_t cpu_cacr; +static uint32_t cpu_caar; /* Irq management */ static BOOLE cpu_raise_irq; -static ULO cpu_raise_irq_level; +static uint32_t cpu_raise_irq_level; /* Reset values */ -static ULO cpu_initial_pc; -static ULO cpu_initial_sp; +static uint32_t cpu_initial_pc; +static uint32_t cpu_initial_sp; /* Flag set if CPU is stopped */ static BOOLE cpu_stop; /* The current CPU model */ -static ULO cpu_model_major = -1; -static ULO cpu_model_minor; -static UBY cpu_model_mask; +static uint32_t cpu_model_major = -1; +static uint32_t cpu_model_minor; +static uint8_t cpu_model_mask; /* For exception handling */ #ifdef CPU_INSTRUCTION_LOGGING -static UWO cpu_current_opcode; +static uint16_t cpu_current_opcode; #endif -static ULO cpu_original_pc; +static uint32_t cpu_original_pc; +static bool cpu_instruction_aborted; /* Number of cycles taken by the last intstruction */ -static ULO cpu_instruction_time; +static uint32_t cpu_instruction_time; /* Getters and setters */ -void cpuSetDReg(ULO i, ULO value) {cpu_regs[0][i] = value;} -ULO cpuGetDReg(ULO i) {return cpu_regs[0][i];} +void cpuSetDReg(uint32_t i, uint32_t value) {cpu_regs[0][i] = value;} +uint32_t cpuGetDReg(uint32_t i) {return cpu_regs[0][i];} -void cpuSetAReg(ULO i, ULO value) {cpu_regs[1][i] = value;} -ULO cpuGetAReg(ULO i) {return cpu_regs[1][i];} +void cpuSetAReg(uint32_t i, uint32_t value) {cpu_regs[1][i] = value;} +uint32_t cpuGetAReg(uint32_t i) {return cpu_regs[1][i];} -void cpuSetReg(ULO da, ULO i, ULO value) {cpu_regs[da][i] = value;} -ULO cpuGetReg(ULO da, ULO i) {return cpu_regs[da][i];} +void cpuSetReg(uint32_t da, uint32_t i, uint32_t value) {cpu_regs[da][i] = value;} +uint32_t cpuGetReg(uint32_t da, uint32_t i) {return cpu_regs[da][i];} /// /// Get the supervisor bit from sr. @@ -95,21 +95,21 @@ BOOLE cpuGetFlagMaster(void) return cpu_sr & 0x1000; } -void cpuSetUspDirect(ULO usp) {cpu_usp = usp;} -ULO cpuGetUspDirect(void) {return cpu_usp;} -ULO cpuGetUspAutoMap(void) {return (cpuGetFlagSupervisor()) ? cpuGetUspDirect() : cpuGetAReg(7);} +void cpuSetUspDirect(uint32_t usp) {cpu_usp = usp;} +uint32_t cpuGetUspDirect() {return cpu_usp;} +uint32_t cpuGetUspAutoMap() {return (cpuGetFlagSupervisor()) ? cpuGetUspDirect() : cpuGetAReg(7);} -void cpuSetSspDirect(ULO ssp) {cpu_ssp = ssp;} -ULO cpuGetSspDirect(void) {return cpu_ssp;} -ULO cpuGetSspAutoMap(void) {return (cpuGetFlagSupervisor()) ? cpuGetAReg(7) : cpuGetSspDirect();} +void cpuSetSspDirect(uint32_t ssp) {cpu_ssp = ssp;} +uint32_t cpuGetSspDirect() {return cpu_ssp;} +uint32_t cpuGetSspAutoMap() {return (cpuGetFlagSupervisor()) ? cpuGetAReg(7) : cpuGetSspDirect();} -void cpuSetMspDirect(ULO msp) {cpu_msp = msp;} -ULO cpuGetMspDirect(void) {return cpu_msp;} +void cpuSetMspDirect(uint32_t msp) {cpu_msp = msp;} +uint32_t cpuGetMspDirect() {return cpu_msp;} /// /// Returns the master stack pointer. /// -ULO cpuGetMspAutoMap(void) +uint32_t cpuGetMspAutoMap(void) { if (cpuGetFlagSupervisor() && cpuGetFlagMaster()) { @@ -121,7 +121,7 @@ ULO cpuGetMspAutoMap(void) /// /// Sets the master stack pointer. /// -void cpuSetMspAutoMap(ULO new_msp) +void cpuSetMspAutoMap(uint32_t new_msp) { if (cpuGetFlagSupervisor() && cpuGetFlagMaster()) { @@ -136,7 +136,7 @@ void cpuSetMspAutoMap(ULO new_msp) /// /// Returns the interrupt stack pointer. ssp is used as isp. /// -ULO cpuGetIspAutoMap(void) +uint32_t cpuGetIspAutoMap(void) { if (cpuGetFlagSupervisor() && !cpuGetFlagMaster()) { @@ -148,7 +148,7 @@ ULO cpuGetIspAutoMap(void) /// /// Sets the interrupt stack pointer. ssp is used as isp. /// -void cpuSetIspAutoMap(ULO new_isp) +void cpuSetIspAutoMap(uint32_t new_isp) { if (cpuGetFlagSupervisor() && !cpuGetFlagMaster()) { @@ -160,61 +160,64 @@ void cpuSetIspAutoMap(ULO new_isp) } } -void cpuSetPC(ULO address) {cpu_pc = address;} -ULO cpuGetPC(void) {return cpu_pc;} +void cpuSetPC(uint32_t address) {cpu_pc = address;} +uint32_t cpuGetPC() {return cpu_pc;} void cpuSetStop(BOOLE stop) {cpu_stop = stop;} -BOOLE cpuGetStop(void) {return cpu_stop;} +BOOLE cpuGetStop() {return cpu_stop;} -void cpuSetVbr(ULO vbr) {cpu_vbr = vbr;} -ULO cpuGetVbr(void) {return cpu_vbr;} +void cpuSetVbr(uint32_t vbr) {cpu_vbr = vbr;} +uint32_t cpuGetVbr() {return cpu_vbr;} -void cpuSetSfc(ULO sfc) {cpu_sfc = sfc;} -ULO cpuGetSfc(void) {return cpu_sfc;} +void cpuSetSfc(uint32_t sfc) {cpu_sfc = sfc;} +uint32_t cpuGetSfc() {return cpu_sfc;} -void cpuSetDfc(ULO dfc) {cpu_dfc = dfc;} -ULO cpuGetDfc(void) {return cpu_dfc;} +void cpuSetDfc(uint32_t dfc) {cpu_dfc = dfc;} +uint32_t cpuGetDfc() {return cpu_dfc;} -void cpuSetCacr(ULO cacr) {cpu_cacr = cacr;} -ULO cpuGetCacr(void) {return cpu_cacr;} +void cpuSetCacr(uint32_t cacr) {cpu_cacr = cacr;} +uint32_t cpuGetCacr() {return cpu_cacr;} -void cpuSetCaar(ULO caar) {cpu_caar = caar;} -ULO cpuGetCaar(void) {return cpu_caar;} +void cpuSetCaar(uint32_t caar) {cpu_caar = caar;} +uint32_t cpuGetCaar() {return cpu_caar;} -void cpuSetSR(ULO sr) {cpu_sr = sr;} -ULO cpuGetSR(void) {return cpu_sr;} +void cpuSetSR(uint32_t sr) {cpu_sr = sr;} +uint32_t cpuGetSR() {return cpu_sr;} -void cpuSetInstructionTime(ULO cycles) {cpu_instruction_time = cycles;} -ULO cpuGetInstructionTime(void) {return cpu_instruction_time;} +void cpuSetInstructionTime(uint32_t cycles) {cpu_instruction_time = cycles;} +uint32_t cpuGetInstructionTime() {return cpu_instruction_time;} -void cpuSetOriginalPC(ULO pc) {cpu_original_pc = pc;} -ULO cpuGetOriginalPC(void) {return cpu_original_pc;} +void cpuSetOriginalPC(uint32_t pc) {cpu_original_pc = pc;} +uint32_t cpuGetOriginalPC() {return cpu_original_pc;} + +void cpuSetInstructionAborted(bool aborted) {cpu_instruction_aborted = aborted;} +bool cpuGetInstructionAborted() {return cpu_instruction_aborted;} #ifdef CPU_INSTRUCTION_LOGGING -void cpuSetCurrentOpcode(UWO opcode) {cpu_current_opcode = opcode;} -UWO cpuGetCurrentOpcode(void) {return cpu_current_opcode;} +void cpuSetCurrentOpcode(uint16_t opcode) {cpu_current_opcode = opcode;} +uint16_t cpuGetCurrentOpcode() {return cpu_current_opcode;} #endif void cpuSetRaiseInterrupt(BOOLE raise_irq) {cpu_raise_irq = raise_irq;} -BOOLE cpuGetRaiseInterrupt(void) {return cpu_raise_irq;} -void cpuSetRaiseInterruptLevel(ULO raise_irq_level) {cpu_raise_irq_level = raise_irq_level;} -ULO cpuGetRaiseInterruptLevel(void) {return cpu_raise_irq_level;} +BOOLE cpuGetRaiseInterrupt() {return cpu_raise_irq;} +void cpuSetRaiseInterruptLevel(uint32_t raise_irq_level) {cpu_raise_irq_level = raise_irq_level;} +uint32_t cpuGetRaiseInterruptLevel() {return cpu_raise_irq_level;} -ULO cpuGetIrqLevel(void) {return (cpu_sr & 0x0700) >> 8;} +uint32_t cpuGetIrqLevel() {return (cpu_sr & 0x0700) >> 8;} -void cpuSetInitialPC(ULO pc) {cpu_initial_pc = pc;} -ULO cpuGetInitialPC(void) {return cpu_initial_pc;} +void cpuSetInitialPC(uint32_t pc) {cpu_initial_pc = pc;} +uint32_t cpuGetInitialPC() {return cpu_initial_pc;} -void cpuSetInitialSP(ULO sp) {cpu_initial_sp = sp;} -ULO cpuGetInitialSP(void) {return cpu_initial_sp;} +void cpuSetInitialSP(uint32_t sp) {cpu_initial_sp = sp;} +uint32_t cpuGetInitialSP() {return cpu_initial_sp;} -void cpuSetModelMask(UBY model_mask) {cpu_model_mask = model_mask;} -UBY cpuGetModelMask(void) {return cpu_model_mask;} +void cpuSetModelMask(uint8_t model_mask) {cpu_model_mask = model_mask;} +uint8_t cpuGetModelMask() {return cpu_model_mask;} -ULO cpuGetModelMajor(void) {return cpu_model_major;} -ULO cpuGetModelMinor(void) {return cpu_model_minor;} +uint32_t cpuGetModelMajor() {return cpu_model_major;} +uint32_t cpuGetModelMinor() {return cpu_model_minor;} static void cpuCalculateModelMask(void) { @@ -235,7 +238,7 @@ static void cpuCalculateModelMask(void) } } -void cpuSetModel(ULO major, ULO minor) +void cpuSetModel(uint32_t major, uint32_t minor) { BOOLE makeOpcodeTable = (cpu_model_major != major); cpu_model_major = major; @@ -245,57 +248,59 @@ void cpuSetModel(ULO major, ULO minor) if (makeOpcodeTable) cpuMakeOpcodeTableForModel(); } -#if defined(__BIG_ENDIAN__) -void cpuSetDRegWord(ULO regno, UWO val) {*((WOR*)&cpu_regs[0][regno]+1) = val;} -void cpuSetDRegByte(ULO regno, UBY val) {*((UBY*)&cpu_regs[0][regno]+3) = val;} +#if 0 +void cpuSetDRegWord(uint32_t regno, uint16_t val) {*((int16_t*)&cpu_regs[0][regno]) = val;} +void cpuSetDRegByte(uint32_t regno, uint8_t val) {*((uint8_t*)&cpu_regs[0][regno]) = val;} #else -void cpuSetDRegWord(ULO regno, UWO val) {*((WOR*)&cpu_regs[0][regno]) = val;} -void cpuSetDRegByte(ULO regno, UBY val) {*((UBY*)&cpu_regs[0][regno]) = val;} +// MPW -- above assumes little endian. +void cpuSetDRegWord(uint32_t regno, uint16_t val) {cpu_regs[0][regno] &= 0xffff0000; cpu_regs[0][regno] |= val;} +void cpuSetDRegByte(uint32_t regno, uint8_t val) {cpu_regs[0][regno] &= 0xffffff00; cpu_regs[0][regno] |= val;} #endif -UWO cpuGetRegWord(ULO i, ULO regno) {return (UWO)cpu_regs[i][regno];} -UWO cpuGetDRegWord(ULO regno) {return (UWO)cpu_regs[0][regno];} -UBY cpuGetDRegByte(ULO regno) {return (UBY)cpu_regs[0][regno];} +uint16_t cpuGetRegWord(uint32_t i, uint32_t regno) {return (uint16_t)cpu_regs[i][regno];} +uint16_t cpuGetDRegWord(uint32_t regno) {return (uint16_t)cpu_regs[0][regno];} +uint8_t cpuGetDRegByte(uint32_t regno) {return (uint8_t)cpu_regs[0][regno];} -UWO cpuGetARegWord(ULO regno) {return (UWO)cpu_regs[1][regno];} -UBY cpuGetARegByte(ULO regno) {return (UBY)cpu_regs[1][regno];} -ULO cpuGetDRegWordSignExtLong(ULO regno) {return cpuSignExtWordToLong(cpuGetDRegWord(regno));} -UWO cpuGetDRegByteSignExtWord(ULO regno) {return cpuSignExtByteToWord(cpuGetDRegByte(regno));} -ULO cpuGetDRegByteSignExtLong(ULO regno) {return cpuSignExtByteToLong(cpuGetDRegByte(regno));} +uint32_t cpuGetDRegWordSignExtLong(uint32_t regno) {return cpuSignExtWordToLong(cpuGetDRegWord(regno));} +uint16_t cpuGetDRegByteSignExtWord(uint32_t regno) {return cpuSignExtByteToWord(cpuGetDRegByte(regno));} +uint32_t cpuGetDRegByteSignExtLong(uint32_t regno) {return cpuSignExtByteToLong(cpuGetDRegByte(regno));} -typedef UWO (*cpuGetWordFunc)(void); -typedef ULO (*cpuGetLongFunc)(void); +uint16_t cpuGetARegWord(uint32_t regno) {return (uint16_t)cpu_regs[1][regno];} +uint8_t cpuGetARegByte(uint32_t regno) {return (uint8_t)cpu_regs[1][regno];} -static UWO cpuGetNextWordInternal(void) +typedef uint16_t (*cpuGetWordFunc)(void); +typedef uint32_t (*cpuGetLongFunc)(void); + +static uint16_t cpuGetNextWordInternal(void) { - UWO data = memoryReadWord(cpuGetPC() + 2); + uint16_t data = memoryReadWord(cpuGetPC() + 2); return data; } -static ULO cpuGetNextLongInternal(void) +static uint32_t cpuGetNextLongInternal(void) { - ULO data = memoryReadLong(cpuGetPC() + 2); + uint32_t data = memoryReadLong(cpuGetPC() + 2); return data; } -UWO cpuGetNextWord(void) +uint16_t cpuGetNextWord(void) { - UWO tmp = cpu_prefetch_word; + uint16_t tmp = cpu_prefetch_word; cpu_prefetch_word = cpuGetNextWordInternal(); cpuSetPC(cpuGetPC() + 2); return tmp; } -ULO cpuGetNextWordSignExt(void) +uint32_t cpuGetNextWordSignExt(void) { return cpuSignExtWordToLong(cpuGetNextWord()); } -ULO cpuGetNextLong(void) +uint32_t cpuGetNextLong(void) { - ULO tmp = cpu_prefetch_word << 16; - ULO data = cpuGetNextLongInternal(); - cpu_prefetch_word = (UWO) data; + uint32_t tmp = cpu_prefetch_word << 16; + uint32_t data = cpuGetNextLongInternal(); + cpu_prefetch_word = (uint16_t) data; cpuSetPC(cpuGetPC() + 4); return tmp | (data >> 16); } @@ -322,7 +327,7 @@ void cpuSkipNextLong(void) cpuInitializePrefetch(); } -void cpuInitializeFromNewPC(ULO new_pc) +void cpuInitializeFromNewPC(uint32_t new_pc) { cpuSetPC(new_pc); cpuInitializePrefetch(); @@ -330,13 +335,11 @@ void cpuInitializeFromNewPC(ULO new_pc) void cpuSaveState(FILE *F) { - ULO i, j; - fwrite(&cpu_model_major, sizeof(cpu_model_major), 1, F); fwrite(&cpu_model_minor, sizeof(cpu_model_minor), 1, F); - for (i = 0; i < 2; i++) + for (uint32_t i = 0; i < 2; i++) { - for (j = 0; j < 7; j++) + for (uint32_t j = 0; j < 7; j++) { fwrite(&cpu_regs[i][j], sizeof(cpu_regs[i][j]), 1, F); } @@ -358,13 +361,11 @@ void cpuSaveState(FILE *F) void cpuLoadState(FILE *F) { - ULO i, j; - fread(&cpu_model_major, sizeof(cpu_model_major), 1, F); fread(&cpu_model_minor, sizeof(cpu_model_minor), 1, F); - for (i = 0; i < 2; i++) + for (uint32_t i = 0; i < 2; i++) { - for (j = 0; j < 7; j++) + for (uint32_t j = 0; j < 7; j++) { fread(&cpu_regs[i][j], sizeof(cpu_regs[i][j]), 1, F); } diff --git a/cpu/CpuModule_Interrupts.c b/cpu/CpuModule_Interrupts.c index 326fde2..457cb6f 100644 --- a/cpu/CpuModule_Interrupts.c +++ b/cpu/CpuModule_Interrupts.c @@ -1,4 +1,3 @@ -/* @(#) $Id: CpuModule_Interrupts.c,v 1.5 2012-08-12 16:51:02 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* 68000 interrupt handling */ @@ -32,7 +31,7 @@ cpuCheckPendingInterruptsFunc cpu_check_pending_interrupts_func; void cpuCheckPendingInterrupts(void) { if (cpuGetRaiseInterrupt()) return; - if (cpu_check_pending_interrupts_func) cpu_check_pending_interrupts_func(); + cpu_check_pending_interrupts_func(); } void cpuSetCheckPendingInterruptsFunc(cpuCheckPendingInterruptsFunc func) @@ -40,9 +39,9 @@ void cpuSetCheckPendingInterruptsFunc(cpuCheckPendingInterruptsFunc func) cpu_check_pending_interrupts_func = func; } -ULO cpuActivateSSP(void) +uint32_t cpuActivateSSP(void) { - ULO currentSP = cpuGetAReg(7); + uint32_t currentSP = cpuGetAReg(7); // check supervisor bit number (bit 13) within the system byte of the status register if (!cpuGetFlagSupervisor()) @@ -66,7 +65,7 @@ ULO cpuActivateSSP(void) // Retrns TRUE if the CPU is in the stopped state, // this allows our scheduling queue to start // scheduling CPU events again. -BOOLE cpuSetIrqLevel(ULO new_interrupt_level) +BOOLE cpuSetIrqLevel(uint32_t new_interrupt_level) { cpuSetRaiseInterrupt(TRUE); cpuSetRaiseInterruptLevel(new_interrupt_level); @@ -83,10 +82,10 @@ BOOLE cpuSetIrqLevel(ULO new_interrupt_level) Transfers control to an interrupt routine ============================================================*/ -void cpuSetUpInterrupt(ULO new_interrupt_level) +void cpuSetUpInterrupt(uint32_t new_interrupt_level) { - UWO vector_offset = (UWO) (0x60 + new_interrupt_level*4); - ULO vector_address = memoryReadLong(cpuGetVbr() + vector_offset); + uint16_t vector_offset = (uint16_t) (0x60 + new_interrupt_level*4); + uint32_t vector_address = memoryReadLong(cpuGetVbr() + vector_offset); cpuActivateSSP(); // Switch to using ssp or msp. Loads a7 and preserves usp if we came from user-mode. @@ -94,7 +93,7 @@ void cpuSetUpInterrupt(ULO new_interrupt_level) cpuSetSR(cpuGetSR() & 0x38ff); // Clear interrupt level cpuSetSR(cpuGetSR() | 0x2000); // Set supervisor mode - cpuSetSR(cpuGetSR() | (UWO)(new_interrupt_level << 8)); // Set interrupt level + cpuSetSR(cpuGetSR() | (uint16_t)(new_interrupt_level << 8)); // Set interrupt level #ifdef CPU_INSTRUCTION_LOGGING cpuCallInterruptLoggingFunc(new_interrupt_level, vector_address); @@ -104,7 +103,7 @@ void cpuSetUpInterrupt(ULO new_interrupt_level) { if (cpuGetFlagMaster()) { // If the cpu was in master mode, preserve msp, and switch to using ssp (isp) in a7. - ULO oldA7 = cpuGetAReg(7); + uint32_t oldA7 = cpuGetAReg(7); cpuSetMspDirect(oldA7); cpuSetAReg(7, cpuGetSspDirect()); cpuFrame1(vector_offset, cpuGetPC()); // Make the throwaway frame on ssp/isp diff --git a/cpu/CpuModule_Logging.c b/cpu/CpuModule_Logging.c index 1fe9517..a90e4e9 100644 --- a/cpu/CpuModule_Logging.c +++ b/cpu/CpuModule_Logging.c @@ -1,4 +1,3 @@ -/* @(#) $Id: CpuModule_Logging.c,v 1.3 2012-08-12 16:51:02 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* CPU 68k logging functions */ @@ -28,7 +27,7 @@ #ifdef CPU_INSTRUCTION_LOGGING -/* Function for logging the instruction execution */ +/* Function for logging the intruction execution */ static cpuInstructionLoggingFunc cpu_instruction_logging_func; static cpuExceptionLoggingFunc cpu_exception_logging_func; static cpuInterruptLoggingFunc cpu_interrupt_logging_func; @@ -49,7 +48,7 @@ void cpuSetExceptionLoggingFunc(cpuExceptionLoggingFunc func) cpu_exception_logging_func = func; } -void cpuCallExceptionLoggingFunc(STR *description, ULO original_pc, UWO opcode) +void cpuCallExceptionLoggingFunc(char *description, uint32_t original_pc, uint16_t opcode) { if (cpu_exception_logging_func != NULL) cpu_exception_logging_func(description, original_pc, opcode); @@ -60,7 +59,7 @@ void cpuSetInterruptLoggingFunc(cpuInterruptLoggingFunc func) cpu_interrupt_logging_func = func; } -void cpuCallInterruptLoggingFunc(ULO level, ULO vector_address) +void cpuCallInterruptLoggingFunc(uint32_t level, uint32_t vector_address) { if (cpu_interrupt_logging_func != NULL) cpu_interrupt_logging_func(level, vector_address); diff --git a/cpu/CpuModule_Memory.h b/cpu/CpuModule_Memory.h index f9f29bf..337ae58 100644 --- a/cpu/CpuModule_Memory.h +++ b/cpu/CpuModule_Memory.h @@ -1 +1 @@ -#include "fmem.h" \ No newline at end of file +#include "fmem.h" diff --git a/cpu/CpuModule_Profile.h b/cpu/CpuModule_Profile.h index 75162ea..97ce679 100644 --- a/cpu/CpuModule_Profile.h +++ b/cpu/CpuModule_Profile.h @@ -1,7 +1,5 @@ -#ifndef CPUMODULE_PROFILE_H -#define CPUMODULE_PROFILE_H +#pragma once void cpuProfileWrite(void) { } -#endif diff --git a/cpu/CpuModule_StackFrameGen.c b/cpu/CpuModule_StackFrameGen.c index 63b28fa..0ba569d 100644 --- a/cpu/CpuModule_StackFrameGen.c +++ b/cpu/CpuModule_StackFrameGen.c @@ -1,4 +1,3 @@ -/* @(#) $Id: CpuModule_StackFrameGen.c,v 1.3 2011-07-18 17:22:55 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* 68000 stack frame generation */ @@ -27,10 +26,10 @@ #include "CpuModule_Internal.h" /* Exception stack frame jmptables */ -typedef void(*cpuStackFrameGenFunc)(UWO, ULO); +typedef void(*cpuStackFrameGenFunc)(uint16_t, uint32_t); static cpuStackFrameGenFunc cpu_stack_frame_gen_func[64]; -static void cpuSetStackFrameGenFunc(ULO vector_no, cpuStackFrameGenFunc func) +static void cpuSetStackFrameGenFunc(uint32_t vector_no, cpuStackFrameGenFunc func) { cpu_stack_frame_gen_func[vector_no] = func; } @@ -41,7 +40,7 @@ static void cpuSetStackFrameGenFunc(ULO vector_no, cpuStackFrameGenFunc func) 000: All, except bus and address error ========================================================================*/ -static void cpuFrameGroup1(UWO vector_offset, ULO pcPtr) +static void cpuFrameGroup1(uint16_t vector_offset, uint32_t pcPtr) { // save PC cpuSetAReg(7, cpuGetAReg(7) - 4); @@ -49,7 +48,7 @@ static void cpuFrameGroup1(UWO vector_offset, ULO pcPtr) // save SR cpuSetAReg(7, cpuGetAReg(7) - 2); - memoryWriteWord((UWO)cpuGetSR(), cpuGetAReg(7)); + memoryWriteWord((uint16_t)cpuGetSR(), cpuGetAReg(7)); } /*======================================================================== @@ -61,7 +60,7 @@ static void cpuFrameGroup1(UWO vector_offset, ULO pcPtr) memory_fault_read is TRUE if the access was a read ========================================================================*/ -static void cpuFrameGroup2(UWO vector_offset, ULO pcPtr) +static void cpuFrameGroup2(uint16_t vector_offset, uint32_t pcPtr) { // save PC cpuSetAReg(7, cpuGetAReg(7) - 4); @@ -69,7 +68,7 @@ static void cpuFrameGroup2(UWO vector_offset, ULO pcPtr) // save SR cpuSetAReg(7, cpuGetAReg(7) - 2); - memoryWriteWord((UWO)cpuGetSR(), cpuGetAReg(7)); + memoryWriteWord((uint16_t)cpuGetSR(), cpuGetAReg(7)); // fault address, skip ireg cpuSetAReg(7, cpuGetAReg(7) - 6); @@ -79,7 +78,7 @@ static void cpuFrameGroup2(UWO vector_offset, ULO pcPtr) memoryWriteLong(memory_fault_read << 4, cpuGetAReg(7)); } -static void cpuFrame4Words(UWO frame_code, UWO vector_offset, ULO pc) +static void cpuFrame4Words(uint16_t frame_code, uint16_t vector_offset, uint32_t pc) { // save vector_offset word cpuSetAReg(7, cpuGetAReg(7) - 2); @@ -91,7 +90,7 @@ static void cpuFrame4Words(UWO frame_code, UWO vector_offset, ULO pc) // save SR cpuSetAReg(7, cpuGetAReg(7) - 2); - memoryWriteWord((UWO)cpuGetSR(), cpuGetAReg(7)); + memoryWriteWord((uint16_t)cpuGetSR(), cpuGetAReg(7)); } @@ -111,7 +110,7 @@ static void cpuFrame4Words(UWO frame_code, UWO vector_offset, ULO pc) 030: Same as for 020 ========================================================================*/ -static void cpuFrame0(UWO vector_offset, ULO pc) +static void cpuFrame0(uint16_t vector_offset, uint32_t pc) { cpuFrame4Words(0x0000, vector_offset, pc); } @@ -131,7 +130,7 @@ static void cpuFrame0(UWO vector_offset, ULO pc) 040: Same as for 020 ========================================================================*/ -void cpuFrame1(UWO vector_offset, ULO pc) +void cpuFrame1(uint16_t vector_offset, uint32_t pc) { cpuFrame4Words(0x1000, vector_offset, pc); } @@ -147,7 +146,7 @@ void cpuFrame1(UWO vector_offset, ULO pc) 060: Same as for 040 ========================================================================*/ -static void cpuFrame2(UWO vector_offset, ULO pc) +static void cpuFrame2(uint16_t vector_offset, uint32_t pc) { // save inst address cpuSetAReg(7, cpuGetAReg(7) - 4); @@ -162,7 +161,7 @@ static void cpuFrame2(UWO vector_offset, ULO pc) ========================================================================*/ -static void cpuFrame8(UWO vector_offset, ULO pc) +static void cpuFrame8(uint16_t vector_offset, uint32_t pc) { cpuSetAReg(7, cpuGetAReg(7) - 50); cpuFrame4Words(0x8000, vector_offset, pc); @@ -178,14 +177,14 @@ static void cpuFrame8(UWO vector_offset, ULO pc) Fellow will always generate this frame for bus/address errors ========================================================================*/ -static void cpuFrameA(UWO vector_offset, ULO pc) +static void cpuFrameA(uint16_t vector_offset, uint32_t pc) { // save vector_offset offset cpuSetAReg(7, cpuGetAReg(7) - 24); cpuFrame4Words(0xa000, vector_offset, pc); } -void cpuStackFrameGenerate(UWO vector_offset, ULO pc) +void cpuStackFrameGenerate(uint16_t vector_offset, uint32_t pc) { cpu_stack_frame_gen_func[vector_offset>>2](vector_offset, pc); } @@ -196,8 +195,7 @@ void cpuStackFrameGenerate(UWO vector_offset, ULO pc) static void cpuStackFrameInitSetDefaultFunc(cpuStackFrameGenFunc default_func) { - ULO i; - for (i = 0; i < 64; i++) + for (uint32_t i = 0; i < 64; i++) cpuSetStackFrameGenFunc(i, default_func); } diff --git a/cpu/defs.h b/cpu/defs.h index 33226dc..9f91317 100644 --- a/cpu/defs.h +++ b/cpu/defs.h @@ -1,14 +1,10 @@ -#ifndef DEFS_H -#define DEFS_H +#pragma once #include #include #include #include -#ifdef __cplusplus -extern "C" { -#endif /* Maximum values for memory, don't change */ @@ -17,27 +13,19 @@ extern "C" { #define BOGOMEM 0x1c0000 #define KICKMEM 0x080000 -/* Fellow types to ensure correct sizes */ - -typedef uint8_t UBY; -typedef uint16_t UWO; -typedef uint32_t ULO; -typedef uint64_t ULL; -typedef int8_t BYT; -typedef int16_t WOR; -typedef int32_t LON; -typedef int64_t LLO; typedef int BOOLE; + #define FALSE 0 #define TRUE 1 -typedef char STR; /* #ifndef X64 -#define PTR_TO_INT(i) ((ULO)i) +#define PTR_TO_INT(i) ((uint32_t)i) +#define PTR_TO_INT_MASK_TYPE(i) ((uint32_t)i) #endif #ifdef X64 -#define PTR_TO_INT(i) ((ULL)i) +#define PTR_TO_INT(i) ((uint64_t)i) +#define PTR_TO_INT_MASK_TYPE(i) ((uint64_t)i) #endif */ @@ -49,17 +37,17 @@ typedef char STR; /* The decode routines have this type */ /*------------------------------------*/ -typedef void (*decoderoutinetype)(ULO,ULO); +typedef void (*decoderoutinetype)(uint32_t, uint32_t); -extern UBY configromname[]; +extern uint8_t configromname[]; typedef union { - ULO *lptr; - UWO *wptr; - UBY *bptr; - ULO lval; - UWO wval[2]; - UBY bval[4]; + uint32_t *lptr; + uint16_t *wptr; + uint8_t *bptr; + uint32_t lval; + uint16_t wval[2]; + uint8_t bval[4]; } ptunion; typedef void (*planar2chunkyroutine)(void); @@ -69,13 +57,3 @@ typedef void (*sound_before_emu_routine)(void); typedef void (*sound_after_emu_routine)(void); typedef void (*buseventfunc)(void); - -#define FELLOWVERSION "WinFellow alpha v0.5.0 build 0 (CVS)" -#define FELLOWLONGVERSION "WinFellow Amiga Emulator alpha v0.5.0 - CVS" -#define FELLOWNUMERICVERSION "0.5.0.0" - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/cpu/fmem.c b/cpu/fmem.c index fb82050..dfca310 100644 --- a/cpu/fmem.c +++ b/cpu/fmem.c @@ -1,4 +1,3 @@ -/* @(#) $Id: FMEM.C,v 1.17 2013/01/13 18:31:09 peschau Exp $ */ /*=========================================================================*/ /* Fellow */ /* Virtual Memory System */ @@ -20,12 +19,19 @@ /* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ /*=========================================================================*/ +#ifdef _FELLOW_DEBUG_CRT_MALLOC +#define _CRTDBG_MAP_ALLOC +#include +#include +#endif + #include "defs.h" #include "fellow.h" +#include "chipset.h" #include "draw.h" #include "CpuModule.h" #include "CpuIntegration.h" -#include "fhfile.h" +#include "fellow/api/module/IHardfileHandler.h" #include "graph.h" #include "floppy.h" #include "copper.h" @@ -34,34 +40,44 @@ #include "fmem.h" #include "fswrap.h" #include "wgui.h" +#include "rtc.h" +#include "fileops.h" +#include "zlib.h" // crc32 function #ifdef WIN32 #include #endif +using namespace fellow::api::module; + /*============================================================================*/ /* Holds configuration for memory */ /*============================================================================*/ -ULO memory_chipsize; -ULO memory_fastsize; -ULO memory_slowsize; -BOOLE memory_useautoconfig; +uint32_t memory_chipsize; +uint32_t memory_fastsize; +uint32_t memory_slowsize; +bool memory_useautoconfig; BOOLE memory_address32bit; -STR memory_kickimage[CFG_FILENAME_LENGTH]; -STR memory_key[256]; - +char memory_kickimage[CFG_FILENAME_LENGTH]; +char memory_kickimage_ext[CFG_FILENAME_LENGTH]; +char memory_key[256]; +bool memory_a1000_wcs = false; ///< emulate the Amiga 1000 WCS (writable control store) +uint8_t *memory_a1000_bootstrap = NULL; ///< hold A1000 bootstrap ROM, if used +bool memory_a1000_bootstrap_mapped = false; ///< true while A1000 bootstrap ROM mapped to KS area /*============================================================================*/ /* Holds actual memory */ /*============================================================================*/ -UBY memory_chip[0x200000 + 32]; -UBY memory_slow[0x1c0000 + 32]; -UBY memory_kick[0x080000 + 32]; -UBY *memory_fast = NULL; -ULO memory_fast_baseaddress; -ULO memory_fastallocatedsize; +uint8_t memory_chip[0x200000 + 32]; +uint8_t memory_slow[0x1c0000 + 32]; +uint8_t memory_kick[0x080000 + 32]; +uint8_t *memory_kick_ext = NULL; +uint8_t *memory_fast = NULL; +uint32_t memory_fast_baseaddress; +uint32_t memory_fastallocatedsize; +uint8_t *memory_slow_base; /*============================================================================*/ @@ -69,11 +85,11 @@ ULO memory_fastallocatedsize; /*============================================================================*/ #define EMEM_MAXARDS 4 -UBY memory_emem[0x10000]; +uint8_t memory_emem[0x10000]; memoryEmemCardInitFunc memory_ememard_initfunc[EMEM_MAXARDS]; memoryEmemCardMapFunc memory_ememard_mapfunc[EMEM_MAXARDS]; -ULO memory_ememardcount; /* Number of cards */ -ULO memory_ememards_finishedcount; /* Current card */ +uint32_t memory_ememardcount; /* Number of cards */ +uint32_t memory_ememards_finishedcount; /* Current card */ /*============================================================================*/ @@ -82,22 +98,24 @@ ULO memory_ememards_finishedcount; /* Current card */ #define MEMORY_DMEM_OFFSET 0xf40000 -UBY memory_dmem[65536]; -ULO memory_dmemcounter; +uint8_t memory_dmem[65536]; +uint32_t memory_dmemcounter; /*============================================================================*/ /* Additional Kickstart data */ /*============================================================================*/ -ULO memory_initial_PC; -ULO memory_initial_SP; +uint32_t memory_initial_PC; +uint32_t memory_initial_SP; BOOLE memory_kickimage_none; -ULO memory_kickimage_size; -ULO memory_kickimage_version; -STR memory_kickimage_versionstr[80]; -ULO memory_kickimage_basebank; -const STR *memory_kickimage_versionstrings[14] = { +uint32_t memory_kickimage_size; +uint32_t memory_kickimage_version; +char memory_kickimage_versionstr[80]; +uint32_t memory_kickimage_basebank; +uint32_t memory_kickimage_ext_size = 0; +uint32_t memory_kickimage_ext_basebank = 0; +const char *memory_kickimage_versionstrings[14] = { "Kickstart, version information unavailable", "Kickstart Pre-V1.0", "Kickstart V1.0", @@ -112,7 +130,7 @@ const STR *memory_kickimage_versionstrings[14] = { "Kickstart V3.0", "Kickstart V3.1", "Kickstart Post-V3.1"}; - void memoryKickSettingsClear(void); + void memoryKickSettingsClear(); /*============================================================================*/ @@ -120,137 +138,49 @@ const STR *memory_kickimage_versionstrings[14] = { /*============================================================================*/ BOOLE memory_fault_read; /* TRUE - read / FALSE - write */ - ULO memory_fault_address; + uint32_t memory_fault_address; /*============================================================================*/ /* Some run-time scratch variables */ /*============================================================================*/ - ULO memory_mystery_value; /* Pattern needed in an unknown bank (hmm) */ - ULO memory_noise[2]; /* Returns alternating bitpattern in */ - ULO memory_noisecounter; /* unused IO-registers to keep apps from hanging */ - ULO memory_undefined_io_writecounter = 0; + void memoryKickA1000BootstrapSetMapped(const bool); - void memoryWriteByteToPointer(UBY data, UBY *address) + void memoryWriteByteToPointer(uint8_t data, uint8_t *address) { address[0] = data; } - void memoryWriteWordToPointer(UWO data, UBY *address) + void memoryWriteWordToPointer(uint16_t data, uint8_t *address) { - address[0] = (UBY) (data >> 8); - address[1] = (UBY) data; + address[0] = (uint8_t) (data >> 8); + address[1] = (uint8_t) data; } - void memoryWriteLongToPointer(ULO data, UBY *address) + void memoryWriteLongToPointer(uint32_t data, uint8_t *address) { - address[0] = (UBY) (data >> 24); - address[1] = (UBY) (data >> 16); - address[2] = (UBY) (data >> 8); - address[3] = (UBY) data; + address[0] = (uint8_t) (data >> 24); + address[1] = (uint8_t) (data >> 16); + address[2] = (uint8_t) (data >> 8); + address[3] = (uint8_t) data; } /*---------------------------- - Chip read register functions + Chip read register functions ----------------------------*/ - UWO rintreqr(ULO address) - { - return (UWO) intreq; - } - - /* SERDATR - $dff018 */ - - UWO rserdatr(ULO address) - { - return 0x2000; - } - - /* INTENAR - $dff01c */ - - UWO rintenar(ULO address) - { - return (UWO) intenar; - } - // To simulate noise, return 0 and -1 every second time. // Why? Bugged demos test write-only registers for various bit-values // and to break out of loops, both 0 and 1 values must be returned. - UWO rdefault(ULO address) + uint16_t rdefault(uint32_t address) { - memory_noisecounter++; - return (UWO) memory_noise[memory_noisecounter & 0x1]; + return (uint16_t)(rand() % 65536); } - void wdefault(UWO data, ULO address) + void wdefault(uint16_t data, uint32_t address) { - memory_undefined_io_writecounter++; - } - - /* - ====== - INTREQ - ====== - - $dff09c - Read from $dff01e - - Paula - */ - - void wintreq(UWO data, ULO address) - { - if (data & 0x8000) - { - intreq = intreq | (data & 0x7fff); - } - else - { - intreq = intreq & ~(data & 0x7fff); - ciaUpdateIRQ(0); - ciaUpdateIRQ(1); - } - cpuIntegrationCheckPendingInterrupts(); - } - - /* - ====== - INTENA - ====== - - $dff09a - Read from $dff01c - - Paula - */ - - // If master bit is off, then INTENA is 0, else INTENA = INTENAR - // The master bit can not be read, the memory test in the kickstart - // depends on this. - - void wintena(UWO data, ULO address) - { - if (data & 0x8000) - { - intenar = intenar | (data & 0x7fff); - } - else - { - intenar = intenar & ~(data & 0x7fff); - } - - if ((intenar & 0x00004000) == 0x00004000) - { - // Interrupts are enabled, check if any has not been serviced - intena = intenar; - cpuIntegrationCheckPendingInterrupts(); - } - else - { - intena = 0; - } } /*============================================================================*/ @@ -270,14 +200,9 @@ const STR *memory_kickimage_versionstrings[14] = { memoryWriteByteFunc memory_bank_writebyte[65536]; memoryWriteWordFunc memory_bank_writeword[65536]; memoryWriteLongFunc memory_bank_writelong[65536]; - UBY *memory_bank_pointer[65536]; /* Used by the filesystem */ + uint8_t *memory_bank_pointer[65536]; /* Used by the filesystem */ BOOLE memory_bank_pointer_can_write[65536]; - /* Variables that correspond to various registers */ - - ULO intenar, intena, intreq; - - /*============================================================================*/ /* Memory bank mapping functions */ /*============================================================================*/ @@ -285,26 +210,24 @@ const STR *memory_kickimage_versionstrings[14] = { /*============================================================================*/ /* Set read and write stubs for a bank, as well as a direct pointer to */ /* its memory. NULL pointer is passed when the memory must always be */ - /* read through the stubs, like in a bank of registers where writing */ + /* read through the stubs, like in a bank of regsters where writing */ /* or reading the value generates side-effects. */ /* Datadirect is TRUE when data accesses can be made through a pointer */ /*============================================================================*/ void memoryBankSet(memoryReadByteFunc rb, - memoryReadWordFunc rw, - memoryReadLongFunc rl, - memoryWriteByteFunc wb, - memoryWriteWordFunc ww, - memoryWriteLongFunc wl, - UBY *basep, - ULO bank, - ULO basebank, - BOOLE pointer_can_write) + memoryReadWordFunc rw, + memoryReadLongFunc rl, + memoryWriteByteFunc wb, + memoryWriteWordFunc ww, + memoryWriteLongFunc wl, + uint8_t *basep, + uint32_t bank, + uint32_t basebank, + BOOLE pointer_can_write) { - ULO i, j; - - j = (memoryGetAddress32Bit()) ? 65536 : 256; - for (i = bank; i < 65536; i += j) + uint32_t j = (memoryGetAddress32Bit()) ? 65536 : 256; + for (uint32_t i = bank; i < 65536; i += j) { memory_bank_readbyte[i] = rb; memory_bank_readword[i] = rw; @@ -316,11 +239,11 @@ const STR *memory_kickimage_versionstrings[14] = { if (basep != NULL) { - memory_bank_pointer[i] = basep - (basebank<<16); + memory_bank_pointer[i] = basep - (basebank<<16); } else { - memory_bank_pointer[i] = NULL; + memory_bank_pointer[i] = NULL; } basebank += j; } @@ -332,50 +255,75 @@ const STR *memory_kickimage_versionstrings[14] = { /*============================================================================*/ /* Unmapped memory interface */ + // Some memory tests use CLR to write and read present memory (Last Ninja 2), so 0 can not be returned, ever. - UBY memoryUnmappedReadByte(ULO address) + static uint8_t memory_previous_unmapped_byte = 0; + uint8_t memoryUnmappedReadByte(uint32_t address) { - memory_mystery_value = ~memory_mystery_value; - return (UBY) memory_mystery_value; + uint8_t val; + do + { + val = rand() % 256; + } + while (val == 0 || val == memory_previous_unmapped_byte); + + memory_previous_unmapped_byte = val; + return val; } - UWO memoryUnmappedReadWord(ULO address) + static uint16_t memory_previous_unmapped_word = 0; + uint16_t memoryUnmappedReadWord(uint32_t address) { - return 0x6100; + uint16_t val; + do + { + val = rand() % 65536; + } while (val == 0 || val == memory_previous_unmapped_word); + + memory_previous_unmapped_word = val; + return val; } - ULO memoryUnmappedReadLong(ULO address) + static uint32_t memory_previous_unmapped_long = 0; + uint32_t memoryUnmappedReadLong(uint32_t address) { - return 0x61006100; + uint32_t val; + do + { + val = rand(); + } while (val == 0 || val == memory_previous_unmapped_long); + + memory_previous_unmapped_long = val; + return val; } - void memoryUnmappedWriteByte(UBY data, ULO address) + void memoryUnmappedWriteByte(uint8_t data, uint32_t address) { // NOP } - void memoryUnmappedWriteWord(UWO data, ULO address) + void memoryUnmappedWriteWord(uint16_t data, uint32_t address) { // NOP } - void memoryUnmappedWriteLong(ULO data, ULO address) + void memoryUnmappedWriteLong(uint32_t data, uint32_t address) { // NOP } - void memoryBankClear(ULO bank) + void memoryBankClear(uint32_t bank) { memoryBankSet(memoryUnmappedReadByte, - memoryUnmappedReadWord, - memoryUnmappedReadLong, - memoryUnmappedWriteByte, - memoryUnmappedWriteWord, - memoryUnmappedWriteLong, - NULL, - bank, - 0, - FALSE); + memoryUnmappedReadWord, + memoryUnmappedReadLong, + memoryUnmappedWriteByte, + memoryUnmappedWriteWord, + memoryUnmappedWriteLong, + NULL, + bank, + 0, + FALSE); } /*============================================================================*/ @@ -384,10 +332,11 @@ const STR *memory_kickimage_versionstrings[14] = { void memoryBankClearAll(void) { - ULO bank; - ULO hilim = (memoryGetAddress32Bit()) ? 65536 : 256; - for (bank = 0; bank < hilim; bank++) + uint32_t hilim = (memoryGetAddress32Bit()) ? 65536 : 256; + for (uint32_t bank = 0; bank < hilim; bank++) + { memoryBankClear(bank); + } } @@ -446,7 +395,7 @@ const STR *memory_kickimage_versionstrings[14] = { /* Mapping is bank number set by AmigaOS */ /*============================================================================*/ - void memoryEmemCardMap(ULO mapping) + void memoryEmemCardMap(uint32_t mapping) { if (memory_ememards_finishedcount == memory_ememardcount) memoryEmemClear(); @@ -478,7 +427,7 @@ const STR *memory_kickimage_versionstrings[14] = { /* so they can make their configuration visible */ /*============================================================================*/ - void memoryEmemSet(ULO index, ULO value) + void memoryEmemSet(uint32_t index, uint32_t value) { index &= 0xffff; switch (index) @@ -487,12 +436,12 @@ const STR *memory_kickimage_versionstrings[14] = { case 2: case 0x40: case 0x42: - memory_emem[index] = (UBY) (value & 0xf0); - memory_emem[index + 2] = (UBY) ((value & 0xf)<<4); + memory_emem[index] = (uint8_t) (value & 0xf0); + memory_emem[index + 2] = (uint8_t) ((value & 0xf)<<4); break; default: - memory_emem[index] = (UBY) (~(value & 0xf0)); - memory_emem[index + 2] = (UBY) (~((value & 0xf)<<4)); + memory_emem[index] = (uint8_t) (~(value & 0xf0)); + memory_emem[index + 2] = (uint8_t) (~((value & 0xf)<<4)); break; } } @@ -501,7 +450,7 @@ const STR *memory_kickimage_versionstrings[14] = { /* Copy data into emem space */ /*============================================================================*/ - void memoryEmemMirror(ULO emem_offset, UBY *src, ULO size) + void memoryEmemMirror(uint32_t emem_offset, uint8_t *src, uint32_t size) { memcpy(memory_emem + emem_offset, src, size); } @@ -510,27 +459,27 @@ const STR *memory_kickimage_versionstrings[14] = { /* Read/Write stubs for autoconfig memory */ /*============================================================================*/ - UBY memoryEmemReadByte(ULO address) + uint8_t memoryEmemReadByte(uint32_t address) { - UBY *p = memory_emem + (address & 0xffff); + uint8_t *p = memory_emem + (address & 0xffff); return memoryReadByteFromPointer(p); } - UWO memoryEmemReadWord(ULO address) + uint16_t memoryEmemReadWord(uint32_t address) { - UBY *p = memory_emem + (address & 0xffff); + uint8_t *p = memory_emem + (address & 0xffff); return memoryReadWordFromPointer(p); } - ULO memoryEmemReadLong(ULO address) + uint32_t memoryEmemReadLong(uint32_t address) { - UBY *p = memory_emem + (address & 0xffff); + uint8_t *p = memory_emem + (address & 0xffff); return memoryReadLongFromPointer(p); } - void memoryEmemWriteByte(UBY data, ULO address) + void memoryEmemWriteByte(uint8_t data, uint32_t address) { - static ULO mapping; + static uint32_t mapping; switch (address & 0xffff) { @@ -538,13 +487,13 @@ const STR *memory_kickimage_versionstrings[14] = { case 0x32: mapping = data = 0; case 0x48: - mapping = (mapping & 0xff) | (((ULO)data) << 8); + mapping = (mapping & 0xff) | (((uint32_t)data) << 8); memoryEmemCardMap(mapping); memoryEmemCardNext(); memoryEmemCardInit(); break; case 0x4a: - mapping = (mapping & 0xff00) | ((ULO)data); + mapping = (mapping & 0xff00) | ((uint32_t)data); break; case 0x4c: memoryEmemCardNext(); @@ -553,11 +502,11 @@ const STR *memory_kickimage_versionstrings[14] = { } } - void memoryEmemWriteWord(UWO data, ULO address) + void memoryEmemWriteWord(uint16_t data, uint32_t address) { } - void memoryEmemWriteLong(ULO data, ULO address) + void memoryEmemWriteLong(uint32_t data, uint32_t address) { } @@ -568,16 +517,18 @@ const STR *memory_kickimage_versionstrings[14] = { void memoryEmemMap(void) { if (memoryGetKickImageBaseBank() >= 0xf8) + { memoryBankSet(memoryEmemReadByte, - memoryEmemReadWord, - memoryEmemReadLong, - memoryEmemWriteByte, - memoryEmemWriteWord, - memoryEmemWriteLong, - NULL, - 0xe8, - 0xe8, - FALSE); + memoryEmemReadWord, + memoryEmemReadLong, + memoryEmemWriteByte, + memoryEmemWriteWord, + memoryEmemWriteLong, + NULL, + 0xe8, + 0xe8, + FALSE); + } } @@ -595,30 +546,30 @@ const STR *memory_kickimage_versionstrings[14] = { /* Functions to set data in dmem by the native device drivers */ /*============================================================================*/ - UBY memoryDmemReadByte(ULO address) + uint8_t memoryDmemReadByte(uint32_t address) { - UBY *p = memory_dmem + (address & 0xffff); + uint8_t *p = memory_dmem + (address & 0xffff); return memoryReadByteFromPointer(p); } - UWO memoryDmemReadWord(ULO address) + uint16_t memoryDmemReadWord(uint32_t address) { - UBY *p = memory_dmem + (address & 0xffff); + uint8_t *p = memory_dmem + (address & 0xffff); return memoryReadWordFromPointer(p); } - ULO memoryDmemReadLong(ULO address) + uint32_t memoryDmemReadLong(uint32_t address) { - UBY *p = memory_dmem + (address & 0xffff); + uint8_t *p = memory_dmem + (address & 0xffff); return memoryReadLongFromPointer(p); } - void memoryDmemWriteByte(UBY data, ULO address) + void memoryDmemWriteByte(uint8_t data, uint32_t address) { // NOP } - void memoryDmemWriteWord(UWO data, ULO address) + void memoryDmemWriteWord(uint16_t data, uint32_t address) { // NOP } @@ -627,16 +578,11 @@ const STR *memory_kickimage_versionstrings[14] = { /* Writing a long to $f40000 runs a native function */ /*============================================================================*/ - void memoryDmemWriteLong(ULO data, ULO address) + void memoryDmemWriteLong(uint32_t data, uint32_t address) { if ((address & 0xffffff) == 0xf40000) { - switch (data>>16) - { - case 0x0001: fhfileDo(data); - break; - default: break; - } + HardfileHandler->Do(data); } } @@ -645,71 +591,78 @@ const STR *memory_kickimage_versionstrings[14] = { memset(memory_dmem, 0, 4096); } - void memoryDmemSetCounter(ULO c) + void memoryDmemSetCounter(uint32_t c) { memory_dmemcounter = c; } - ULO memoryDmemGetCounter(void) + uint32_t memoryDmemGetCounterWithoutOffset(void) + { + return memory_dmemcounter; + } + + uint32_t memoryDmemGetCounter(void) { return memory_dmemcounter + MEMORY_DMEM_OFFSET; } - void memoryDmemSetString(STR *st) + void memoryDmemSetString(const char *st) { - strcpy((STR *) (memory_dmem + memory_dmemcounter), st); - memory_dmemcounter += (ULO) strlen(st) + 1; + strcpy((char *) (memory_dmem + memory_dmemcounter), st); + memory_dmemcounter += (uint32_t) strlen(st) + 1; if (memory_dmemcounter & 1) memory_dmemcounter++; } - void memoryDmemSetByte(UBY data) + void memoryDmemSetByte(uint8_t data) { memory_dmem[memory_dmemcounter++] = data; } - void memoryDmemSetWord(UWO data) + void memoryDmemSetWord(uint16_t data) { memoryWriteWordToPointer(data, memory_dmem + memory_dmemcounter); memory_dmemcounter += 2; } - void memoryDmemSetLong(ULO data) + void memoryDmemSetLong(uint32_t data) { memoryWriteLongToPointer(data, memory_dmem + memory_dmemcounter); memory_dmemcounter += 4; } - void memoryDmemSetLongNoCounter(ULO data, ULO offset) + void memoryDmemSetLongNoCounter(uint32_t data, uint32_t offset) { memoryWriteLongToPointer(data, memory_dmem + offset); } void memoryDmemMap(void) { - ULO bank = 0xf40000>>16; + uint32_t bank = 0xf40000>>16; if (memory_useautoconfig && (memory_kickimage_basebank >= 0xf8)) + { memoryBankSet(memoryDmemReadByte, - memoryDmemReadWord, - memoryDmemReadLong, - memoryDmemWriteByte, - memoryDmemWriteWord, - memoryDmemWriteLong, - memory_dmem, - bank, - bank, - FALSE); + memoryDmemReadWord, + memoryDmemReadLong, + memoryDmemWriteByte, + memoryDmemWriteWord, + memoryDmemWriteLong, + memory_dmem, + bank, + bank, + FALSE); + } } /*============================================================================*/ /* Converts an address to a direct pointer to memory. Used by hardfile device */ /*============================================================================*/ - UBY *memoryAddressToPtr(ULO address) + uint8_t *memoryAddressToPtr(uint32_t address) { - UBY *result; + uint8_t *result = memory_bank_pointer[address>>16]; - if ((result = memory_bank_pointer[address>>16]) != NULL) + if (result != NULL) result += address; return result; } @@ -718,39 +671,41 @@ const STR *memory_kickimage_versionstrings[14] = { /* Chip memory handling */ /*============================================================================*/ - UBY memoryChipReadByte(ULO address) + #define chipmemMaskAddress(ptr) ((ptr) & chipset.address_mask) + + uint8_t memoryChipReadByte(uint32_t address) { - UBY *p = memory_chip + (address & 0x1fffff); + uint8_t *p = memory_chip + chipmemMaskAddress(address); return memoryReadByteFromPointer(p); } - UWO memoryChipReadWord(ULO address) + uint16_t memoryChipReadWord(uint32_t address) { - UBY *p = memory_chip + (address & 0x1fffff); + uint8_t *p = memory_chip + chipmemMaskAddress(address); return memoryReadWordFromPointer(p); } - ULO memoryChipReadLong(ULO address) + uint32_t memoryChipReadLong(uint32_t address) { - UBY *p = memory_chip + (address & 0x1fffff); + uint8_t *p = memory_chip + chipmemMaskAddress(address); return memoryReadLongFromPointer(p); } - void memoryChipWriteByte(UBY data, ULO address) + void memoryChipWriteByte(uint8_t data, uint32_t address) { - UBY *p = memory_chip + (address & 0x1fffff); + uint8_t *p = memory_chip + chipmemMaskAddress(address); memoryWriteByteToPointer(data, p); } - void memoryChipWriteWord(UWO data, ULO address) + void memoryChipWriteWord(uint16_t data, uint32_t address) { - UBY *p = memory_chip + (address & 0x1fffff); + uint8_t *p = memory_chip + chipmemMaskAddress(address); memoryWriteWordToPointer(data, p); } - void memoryChipWriteLong(ULO data, ULO address) + void memoryChipWriteLong(uint32_t data, uint32_t address) { - UBY *p = memory_chip + (address & 0x1fffff); + uint8_t *p = memory_chip + chipmemMaskAddress(address); memoryWriteLongToPointer(data, p); } @@ -759,111 +714,163 @@ const STR *memory_kickimage_versionstrings[14] = { memset(memory_chip, 0, memoryGetChipSize()); } - UBY memoryOverlayReadByte(ULO address) + uint8_t memoryOverlayReadByte(uint32_t address) { - UBY *p = memory_kick + (address & 0xffffff); + uint8_t *p = memory_kick + (address & 0xffffff); return memoryReadByteFromPointer(p); } - UWO memoryOverlayReadWord(ULO address) + uint16_t memoryOverlayReadWord(uint32_t address) { - UBY *p = memory_kick + (address & 0xffffff); + uint8_t *p = memory_kick + (address & 0xffffff); return memoryReadWordFromPointer(p); } - ULO memoryOverlayReadLong(ULO address) + uint32_t memoryOverlayReadLong(uint32_t address) { - UBY *p = memory_kick + (address & 0xffffff); + uint8_t *p = memory_kick + (address & 0xffffff); return memoryReadLongFromPointer(p); } - void memoryOverlayWriteByte(UBY data, ULO address) + void memoryOverlayWriteByte(uint8_t data, uint32_t address) { // NOP } - void memoryOverlayWriteWord(UWO data, ULO address) + void memoryOverlayWriteWord(uint16_t data, uint32_t address) { // NOP } - void memoryOverlayWriteLong(ULO data, ULO address) + void memoryOverlayWriteLong(uint32_t data, uint32_t address) { // NOP } - void memoryChipMap(BOOLE overlay) + uint32_t memoryChipGetLastBank(void) { - ULO bank, lastbank; + uint32_t lastbank = memoryGetChipSize()>>16; - if (overlay) + if (chipsetGetECS()) { - for (bank = 0; bank < 8; bank++) - memoryBankSet(memoryOverlayReadByte, - memoryOverlayReadWord, - memoryOverlayReadLong, - memoryOverlayWriteByte, - memoryOverlayWriteWord, - memoryOverlayWriteLong, - memory_kick, - bank, - 0, - FALSE); + return (lastbank <= 32) ? lastbank : 32; } - if (memoryGetChipSize() > 0x200000) lastbank = 0x200000>>16; - else lastbank = memoryGetChipSize()>>16; + // OCS + return (lastbank <= 8) ? lastbank : 8; + } + void memoryChipMap(bool overlay) + { + uint32_t bank; + + // Build first, "real" chipmem area + if (overlay) + { + // 256k ROMs are already mirrored once in the memory_kick area + // Map entire 512k ROM area to $0 + for (bank = 0; bank < 8; bank++) + { + memoryBankSet(memoryOverlayReadByte, + memoryOverlayReadWord, + memoryOverlayReadLong, + memoryOverlayWriteByte, + memoryOverlayWriteWord, + memoryOverlayWriteLong, + memory_kick, + bank, + 0, + FALSE); + } + } + + // Map 512k to 2MB of chip memory, possibly skipping the overlay area + uint32_t lastbank = memoryChipGetLastBank(); for (bank = (overlay) ? 8 : 0; bank < lastbank; bank++) + { memoryBankSet(memoryChipReadByte, - memoryChipReadWord, - memoryChipReadLong, - memoryChipWriteByte, - memoryChipWriteWord, - memoryChipWriteLong, - memory_chip, - bank, - 0, - TRUE); + memoryChipReadWord, + memoryChipReadLong, + memoryChipWriteByte, + memoryChipWriteWord, + memoryChipWriteLong, + memory_chip, + bank, + 0, + TRUE); + } + + // In the case of 256k chip memory and not overlaying, clear the second 256k map + // as this area could have been mapped for the ROM overlay + if (lastbank < 8 && !overlay) + { + for (bank = lastbank; bank < 8; ++bank) + { + memoryBankClear(bank); + } + } + + if (!chipsetGetECS()) + { + // OCS: Make 3 more copies of the chipram at $80000, $100000 and $180000 + for (uint32_t i = 1; i < 4; ++i) + { + uint32_t bank_start = 8*i; + uint32_t bank_end = bank_start + lastbank; + for (bank = bank_start; bank < bank_end; bank++) + { + memoryBankSet(memoryChipReadByte, + memoryChipReadWord, + memoryChipReadLong, + memoryChipWriteByte, + memoryChipWriteWord, + memoryChipWriteLong, + memory_chip, + bank, + bank_start, + TRUE); + } + } + } } /*============================================================================*/ /* Fast memory handling */ /*============================================================================*/ - UBY memoryFastReadByte(ULO address) + uint8_t memoryFastReadByte(uint32_t address) { - UBY *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); + uint8_t *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); return memoryReadByteFromPointer(p); } - UWO memoryFastReadWord(ULO address) + uint16_t memoryFastReadWord(uint32_t address) { - UBY *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); + uint8_t *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); return memoryReadWordFromPointer(p); } - ULO memoryFastReadLong(ULO address) + uint32_t memoryFastReadLong(uint32_t address) { - UBY *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); + uint8_t *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); return memoryReadLongFromPointer(p); } - void memoryFastWriteByte(UBY data, ULO address) + void memoryFastWriteByte(uint8_t data, uint32_t address) { - UBY *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); + uint8_t *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); memoryWriteByteToPointer(data, p); } - void memoryFastWriteWord(UWO data, ULO address) + void memoryFastWriteWord(uint16_t data, uint32_t address) { - UBY *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); + uint8_t *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); memoryWriteWordToPointer(data, p); } - void memoryFastWriteLong(ULO data, ULO address) + void memoryFastWriteLong(uint32_t data, uint32_t address) { - UBY *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); + uint8_t *p = memory_fast + ((address & 0xffffff) - memory_fast_baseaddress); memoryWriteLongToPointer(data, p); } @@ -916,7 +923,7 @@ const STR *memory_kickimage_versionstrings[14] = { if (memoryGetFastSize() != memoryGetFastAllocatedSize()) { memoryFastFree(); - memory_fast = (UBY *) malloc(memoryGetFastSize()); + memory_fast = (uint8_t *) malloc(memoryGetFastSize()); if (memory_fast == NULL) memorySetFastSize(0); else memoryFastClear(); memorySetFastAllocatedSize((memory_fast == NULL) ? 0 : memoryGetFastSize()); @@ -924,27 +931,35 @@ const STR *memory_kickimage_versionstrings[14] = { } /*============================================================================*/ - /* Map fastcard. */ + /* Map fastcard. */ /*============================================================================*/ - void memoryFastCardMap(ULO mapping) + void memoryFastCardMap(uint32_t mapping) { - ULO bank, lastbank; + uint32_t lastbank; memory_fast_baseaddress = (mapping >> 8) << 16; - if (memoryGetFastSize() > 0x800000) lastbank = 0xa00000>>16; - else lastbank = (memory_fast_baseaddress + memoryGetFastSize())>>16; - for (bank = memory_fast_baseaddress>>16; bank < lastbank; bank++) + if (memoryGetFastSize() > 0x800000) + { + lastbank = 0xa00000>>16; + } + else + { + lastbank = (memory_fast_baseaddress + memoryGetFastSize())>>16; + } + for (uint32_t bank = memory_fast_baseaddress >> 16; bank < lastbank; bank++) + { memoryBankSet(memoryFastReadByte, - memoryFastReadWord, - memoryFastReadLong, - memoryFastWriteByte, - memoryFastWriteWord, - memoryFastWriteLong, - memory_fast, - bank, - memory_fast_baseaddress>>16, - TRUE); + memoryFastReadWord, + memoryFastReadLong, + memoryFastWriteByte, + memoryFastWriteWord, + memoryFastWriteLong, + memory_fast, + bank, + memory_fast_baseaddress>>16, + TRUE); + } memset(memory_fast, 0, memoryGetFastSize()); } @@ -958,64 +973,85 @@ const STR *memory_kickimage_versionstrings[14] = { /* Slow memory handling */ /*============================================================================*/ - UBY memorySlowReadByte(ULO address) + uint8_t memorySlowReadByte(uint32_t address) { - UBY *p = memory_slow + ((address & 0xffffff) - 0xc00000); + uint8_t *p = memory_slow_base + ((address & 0xffffff) - 0xc00000); return memoryReadByteFromPointer(p); } - UWO memorySlowReadWord(ULO address) + uint16_t memorySlowReadWord(uint32_t address) { - UBY *p = memory_slow + ((address & 0xffffff) - 0xc00000); + uint8_t *p = memory_slow_base + ((address & 0xffffff) - 0xc00000); return memoryReadWordFromPointer(p); } - ULO memorySlowReadLong(ULO address) + uint32_t memorySlowReadLong(uint32_t address) { - UBY *p = memory_slow + ((address & 0xffffff) - 0xc00000); + uint8_t *p = memory_slow_base + ((address & 0xffffff) - 0xc00000); return memoryReadLongFromPointer(p); } - void memorySlowWriteByte(UBY data, ULO address) + void memorySlowWriteByte(uint8_t data, uint32_t address) { - UBY *p = memory_slow + ((address & 0xffffff) - 0xc00000); + uint8_t *p = memory_slow_base + ((address & 0xffffff) - 0xc00000); memoryWriteByteToPointer(data, p); } - void memorySlowWriteWord(UWO data, ULO address) + void memorySlowWriteWord(uint16_t data, uint32_t address) { - UBY *p = memory_slow + ((address & 0xffffff) - 0xc00000); + uint8_t *p = memory_slow_base + ((address & 0xffffff) - 0xc00000); memoryWriteWordToPointer(data, p); } - void memorySlowWriteLong(ULO data, ULO address) + void memorySlowWriteLong(uint32_t data, uint32_t address) { - UBY *p = memory_slow + ((address & 0xffffff) - 0xc00000); + uint8_t *p = memory_slow_base + ((address & 0xffffff) - 0xc00000); memoryWriteLongToPointer(data, p); } + bool memorySlowMapAsChip(void) + { + return chipsetGetECS() && memoryGetChipSize() == 0x80000 && memoryGetSlowSize() == 0x80000; + } + void memorySlowClear(void) { memset(memory_slow, 0, memoryGetSlowSize()); + if (memorySlowMapAsChip()) + { + memset(memory_chip + 0x80000, 0, memoryGetSlowSize()); + } } void memorySlowMap(void) { - ULO bank, lastbank; + uint32_t lastbank; - if (memoryGetSlowSize() > 0x1c0000) lastbank = 0xdc0000>>16; - else lastbank = (0xc00000 + memoryGetSlowSize())>>16; - for (bank = 0xc00000>>16; bank < lastbank; bank++) + if (memoryGetSlowSize() > 0x1c0000) + { + lastbank = 0xdc0000>>16; + } + else + { + lastbank = (0xc00000 + memoryGetSlowSize())>>16; + } + + // Special config on ECS with 512k chip + 512k slow, chips see slow mem at $80000 + memory_slow_base = (memorySlowMapAsChip()) ? (memory_chip + 0x80000) : memory_slow; + + for (uint32_t bank = 0xc00000>>16; bank < lastbank; bank++) + { memoryBankSet(memorySlowReadByte, - memorySlowReadWord, - memorySlowReadLong, - memorySlowWriteByte, - memorySlowWriteWord, - memorySlowWriteLong, - memory_slow, - bank, - 0xc00000>>16, - TRUE); + memorySlowReadWord, + memorySlowReadLong, + memorySlowWriteByte, + memorySlowWriteWord, + memorySlowWriteLong, + memory_slow_base, + bank, + 0xc00000>>16, + TRUE); + } } /*============================================================================*/ @@ -1023,148 +1059,150 @@ const STR *memory_kickimage_versionstrings[14] = { /* the bootstrap of some Kickstart versions. */ /*============================================================================*/ - UBY memoryMysteryReadByte(ULO address) + uint8_t memoryMysteryReadByte(uint32_t address) { - memory_mystery_value = ~memory_mystery_value; - return (UBY) memory_mystery_value; + return memoryUnmappedReadByte(address); } - UWO memoryMysteryReadWord(ULO address) + uint16_t memoryMysteryReadWord(uint32_t address) { - memory_mystery_value = ~memory_mystery_value; - return (UWO) memory_mystery_value; + return memoryUnmappedReadWord(address); } - ULO memoryMysteryReadLong(ULO address) + uint32_t memoryMysteryReadLong(uint32_t address) { - memory_mystery_value = ~memory_mystery_value; - return memory_mystery_value; + return memoryUnmappedReadLong(address); } - void memoryMysteryWriteByte(UBY data, ULO address) + void memoryMysteryWriteByte(uint8_t data, uint32_t address) { - // NOP } - void memoryMysteryWriteWord(UWO data, ULO address) + void memoryMysteryWriteWord(uint16_t data, uint32_t address) { - // NOP } - void memoryMysteryWriteLong(ULO data, ULO address) + void memoryMysteryWriteLong(uint32_t data, uint32_t address) { - // NOP } void memoryMysteryMap(void) { memoryBankSet(memoryMysteryReadByte, - memoryMysteryReadWord, - memoryMysteryReadLong, - memoryMysteryWriteByte, - memoryMysteryWriteWord, - memoryMysteryWriteLong, - NULL, - 0xe9, - 0, - FALSE); + memoryMysteryReadWord, + memoryMysteryReadLong, + memoryMysteryWriteByte, + memoryMysteryWriteWord, + memoryMysteryWriteLong, + NULL, + 0xe9, + 0, + FALSE); memoryBankSet(memoryMysteryReadByte, - memoryMysteryReadWord, - memoryMysteryReadLong, - memoryMysteryWriteByte, - memoryMysteryWriteWord, - memoryMysteryWriteLong, - NULL, - 0xde, - 0, - FALSE); + memoryMysteryReadWord, + memoryMysteryReadLong, + memoryMysteryWriteByte, + memoryMysteryWriteWord, + memoryMysteryWriteLong, + NULL, + 0xde, + 0, + FALSE); } /*============================================================================*/ /* IO Registers */ /*============================================================================*/ - UBY memoryIoReadByte(ULO address) + uint8_t memoryIoReadByte(uint32_t address) { - ULO adr = address & 0x1fe; + uint32_t adr = address & 0x1fe; if (address & 0x1) { // Odd address - return (UBY) memory_iobank_read[adr >> 1](adr); + return (uint8_t) memory_iobank_read[adr >> 1](adr); } else { // Even address - return (UBY) (memory_iobank_read[adr >> 1](adr) >> 8); + return (uint8_t) (memory_iobank_read[adr >> 1](adr) >> 8); } } - UWO memoryIoReadWord(ULO address) + uint16_t memoryIoReadWord(uint32_t address) { return memory_iobank_read[(address & 0x1fe) >> 1](address & 0x1fe); } - ULO memoryIoReadLong(ULO address) + uint32_t memoryIoReadLong(uint32_t address) { - ULO adr = address & 0x1fe; - ULO r1 = (ULO)memory_iobank_read[adr >> 1](adr); - ULO r2 = (ULO)memory_iobank_read[(adr + 2) >> 1](adr + 2); + uint32_t adr = address & 0x1fe; + uint32_t r1 = (uint32_t)memory_iobank_read[adr >> 1](adr); + uint32_t r2 = (uint32_t)memory_iobank_read[(adr + 2) >> 1](adr + 2); return (r1 << 16) | r2; } - void memoryIoWriteByte(UBY data, ULO address) + void memoryIoWriteByte(uint8_t data, uint32_t address) { - ULO adr = address & 0x1fe; + uint32_t adr = address & 0x1fe; if (address & 0x1) { // Odd address - memory_iobank_write[adr >> 1]((UWO) data, adr); + memory_iobank_write[adr >> 1]((uint16_t) data, adr); } else { // Even address - memory_iobank_write[adr >> 1](((UWO) data) << 8, adr); + memory_iobank_write[adr >> 1](((uint16_t) data) << 8, adr); } } - void memoryIoWriteWord(UWO data, ULO address) + void memoryIoWriteWord(uint16_t data, uint32_t address) { - ULO adr = address & 0x1fe; + uint32_t adr = address & 0x1fe; memory_iobank_write[adr >> 1](data, adr); } - void memoryIoWriteLong(ULO data, ULO address) + void memoryIoWriteLong(uint32_t data, uint32_t address) { - ULO adr = address & 0x1fe; - memory_iobank_write[adr >> 1]((UWO)(data >> 16), adr); - memory_iobank_write[(adr + 2) >> 1]((UWO)data, adr + 2); + uint32_t adr = address & 0x1fe; + memory_iobank_write[adr >> 1]((uint16_t)(data >> 16), adr); + memory_iobank_write[(adr + 2) >> 1]((uint16_t)data, adr + 2); } void memoryIoMap(void) { - ULO bank, lastbank; + uint32_t lastbank; - if (memoryGetSlowSize() > 0x1c0000) lastbank = 0xdc0000>>16; - else lastbank = (0xc00000 + memoryGetSlowSize())>>16; - for (bank = lastbank; bank < 0xe00000>>16; bank++) + if (memoryGetSlowSize() > 0x1c0000) + { + lastbank = 0xdc0000>>16; + } + else + { + lastbank = (0xc00000 + memoryGetSlowSize())>>16; + } + for (uint32_t bank = lastbank; bank < 0xe00000>>16; bank++) + { memoryBankSet(memoryIoReadByte, - memoryIoReadWord, - memoryIoReadLong, - memoryIoWriteByte, - memoryIoWriteWord, - memoryIoWriteLong, - NULL, - bank, - 0, - FALSE); + memoryIoReadWord, + memoryIoReadLong, + memoryIoWriteByte, + memoryIoWriteWord, + memoryIoWriteLong, + NULL, + bank, + 0, + FALSE); + } } /*===========================================================================*/ /* Initializes one entry in the IO register access table */ /*===========================================================================*/ - void memorySetIoReadStub(ULO index, memoryIoReadFunc ioreadfunction) + void memorySetIoReadStub(uint32_t index, memoryIoReadFunc ioreadfunction) { memory_iobank_read[index>>1] = ioreadfunction; } - void memorySetIoWriteStub(ULO index, memoryIoWriteFunc iowritefunction) + void memorySetIoWriteStub(uint32_t index, memoryIoWriteFunc iowritefunction) { memory_iobank_write[index>>1] = iowritefunction; } @@ -1175,10 +1213,8 @@ const STR *memory_kickimage_versionstrings[14] = { void memoryIoClear(void) { - ULO i; - // Array has 257 elements to account for long writes to the last address. - for (i = 0; i <= 512; i += 2) { + for (uint32_t i = 0; i <= 512; i += 2) { memorySetIoReadStub(i, rdefault); memorySetIoWriteStub(i, wdefault); } @@ -1192,112 +1228,247 @@ const STR *memory_kickimage_versionstrings[14] = { /* Map the Kickstart image into Amiga memory */ /*============================================================================*/ - UBY memoryKickReadByte(ULO address) + uint8_t memoryKickReadByte(uint32_t address) { - UBY *p = memory_kick + ((address & 0xffffff) - 0xf80000); + uint8_t *p = memory_kick + ((address & 0xffffff) - 0xf80000); return memoryReadByteFromPointer(p); } - UWO memoryKickReadWord(ULO address) + uint8_t memoryKickExtendedReadByte(uint32_t address) { - UBY *p = memory_kick + ((address & 0xffffff) - 0xf80000); + uint8_t *p = memory_kick_ext + ((address & 0xffffff) - 0xe00000); + return memoryReadByteFromPointer(p); + } + + uint16_t memoryKickReadWord(uint32_t address) + { + uint8_t *p = memory_kick + ((address & 0xffffff) - 0xf80000); return memoryReadWordFromPointer(p); } - ULO memoryKickReadLong(ULO address) + uint16_t memoryKickExtendedReadWord(uint32_t address) { - UBY *p = memory_kick + ((address & 0xffffff) - 0xf80000); + uint8_t *p = memory_kick_ext + ((address & 0xffffff) - 0xe00000); + return memoryReadWordFromPointer(p); + } + + uint32_t memoryKickReadLong(uint32_t address) + { + uint8_t *p = memory_kick + ((address & 0xffffff) - 0xf80000); return memoryReadLongFromPointer(p); } - void memoryKickWriteByte(UBY data, ULO address) + uint32_t memoryKickExtendedReadLong(uint32_t address) + { + uint8_t *p = memory_kick_ext + ((address & 0xffffff) - 0xe00000); + return memoryReadLongFromPointer(p); + } + + void memoryKickWriteByte(uint8_t data, uint32_t address) { // NOP } - void memoryKickWriteWord(UWO data, ULO address) + void memoryKickExtendedWriteByte(uint8_t data, uint32_t address) { // NOP } - void memoryKickWriteLong(ULO data, ULO address) + void memoryKickWriteWord(uint16_t data, uint32_t address) { // NOP } + void memoryKickExtendedWriteWord(uint16_t data, uint32_t address) + { + // NOP + } + + void memoryKickWriteLong(uint32_t data, uint32_t address) + { + // NOP + } + + void memoryKickExtendedWriteLong(uint32_t data, uint32_t address) + { + // NOP + } + + void memoryKickWriteByteA1000WCS(uint8_t data, uint32_t address) + { + if(address >= 0xfc0000) { + uint8_t *p = NULL; + address = (address & 0xffffff) - 0xf80000; + p = memory_kick + address; + memoryWriteByteToPointer(data, p); + } + else + memoryKickA1000BootstrapSetMapped(false); + } + + void memoryKickWriteWordA1000WCS(uint16_t data, uint32_t address) + { + if(address >= 0xfc0000) { + uint8_t *p = NULL; + address = (address & 0xffffff) - 0xf80000; + p = memory_kick + address; + memoryWriteWordToPointer(data, p); + } + else + memoryKickA1000BootstrapSetMapped(false); + } + + void memoryKickWriteLongA1000WCS(uint32_t data, uint32_t address) + { + if(address >= 0xfc0000) { + uint8_t *p = NULL; + address = (address & 0xffffff) - 0xf80000; + p = memory_kick + address ; + memoryWriteLongToPointer(data, p); + } + else + memoryKickA1000BootstrapSetMapped(false); + } + void memoryKickMap(void) { - ULO bank, basebank; + uint32_t basebank = memory_kickimage_basebank & 0xf8; + for (uint32_t bank = basebank; bank < (basebank + 8); bank++) + { + if(!memory_a1000_bootstrap_mapped) + memoryBankSet(memoryKickReadByte, + memoryKickReadWord, + memoryKickReadLong, + memoryKickWriteByte, + memoryKickWriteWord, + memoryKickWriteLong, + memory_kick, + bank, + memory_kickimage_basebank, + FALSE); + else + memoryBankSet(memoryKickReadByte, + memoryKickReadWord, + memoryKickReadLong, + memoryKickWriteByteA1000WCS, + memoryKickWriteWordA1000WCS, + memoryKickWriteLongA1000WCS, + memory_kick, + bank, + memory_kickimage_basebank, + FALSE); + } + } - basebank = memory_kickimage_basebank & 0xf8; - for (bank = basebank; - bank < (basebank + 8); - bank++) - memoryBankSet(memoryKickReadByte, - memoryKickReadWord, - memoryKickReadLong, - memoryKickWriteByte, - memoryKickWriteWord, - memoryKickWriteLong, - memory_kick, + void memoryKickExtendedMap(void) + { + if (memory_kickimage_ext_size == 0) + return; + + uint32_t basebank = memory_kickimage_ext_basebank; + uint32_t numbanks = memory_kickimage_ext_size / 65536; + + for (uint32_t bank = basebank; bank < (basebank + numbanks); bank++) + { + memoryBankSet(memoryKickExtendedReadByte, + memoryKickExtendedReadWord, + memoryKickExtendedReadLong, + memoryKickExtendedWriteByte, + memoryKickExtendedWriteWord, + memoryKickExtendedWriteLong, + memory_kick_ext, bank, - memory_kickimage_basebank, + basebank, FALSE); + } + } + + void memoryKickA1000BootstrapSetMapped(const bool bBootstrapMapped) + { + if(!memory_a1000_wcs || !memory_a1000_bootstrap) return; + + fellowAddLog("memoryKickSetA1000BootstrapMapped(%s)\n", + bBootstrapMapped ? "true" : "false"); + + if (bBootstrapMapped) { + memcpy(memory_kick, memory_a1000_bootstrap, 262144); + memory_kickimage_version = 0; + } else { + memcpy(memory_kick, memory_kick + 262144, 262144); + memory_kickimage_version = (memory_kick[262144 + 12] << 8) | memory_kick[262144 + 13]; + if (memory_kickimage_version == 0xffff) + memory_kickimage_version = 0; + } + + if(bBootstrapMapped != memory_a1000_bootstrap_mapped) { + memory_a1000_bootstrap_mapped = bBootstrapMapped; + memoryKickMap(); + } + } + + void memoryKickA1000BootstrapFree(void) + { + if(memory_a1000_bootstrap != NULL) { + free(memory_a1000_bootstrap); + memory_a1000_bootstrap = NULL; + memory_a1000_bootstrap_mapped = false; + memory_a1000_wcs = false; + } } /*============================================================================*/ - /* An error occurred during loading a kickstart file. Uses GUI to display */ + /* An error occured during loading a kickstart file. Uses GUI to display */ /* an errorstring. */ /*============================================================================*/ - void memoryKickError(ULO errorcode, ULO data) + void memoryKickError(uint32_t errorcode, uint32_t data) { - static STR error1[80], error2[160], error3[160]; + static char error1[80], error2[160], error3[160]; sprintf(error1, "Kickstart file could not be loaded"); sprintf(error2, "%s", memory_kickimage); error3[0] = '\0'; switch (errorcode) { - case MEMORY_ROM_ERROR_SIZE: - sprintf(error3, - "Illegal size: %d bytes, size must be either 256K or 512K", - data); - break; - case MEMORY_ROM_ERROR_AMIROM_VERSION: - sprintf(error3, "Unsupported encryption method, version found was %d", - data); - break; - case MEMORY_ROM_ERROR_AMIROM_READ: - sprintf(error3, "Read error in encrypted Kickstart or keyfile"); - break; - case MEMORY_ROM_ERROR_KEYFILE: - sprintf(error3, "Unable to access keyfile %s", memory_key); - break; - case MEMORY_ROM_ERROR_EXISTS_NOT: - sprintf(error3, "File does not exist"); - break; - case MEMORY_ROM_ERROR_FILE: - sprintf(error3, "File is a directory"); - break; - case MEMORY_ROM_ERROR_KICKDISK_NOT: - sprintf(error3, "The ADF-image is not a kickdisk"); - break; - case MEMORY_ROM_ERROR_CHECKSUM: - sprintf(error3, - "The Kickstart image has a checksum error, checksum is %X", - data); - break; - case MEMORY_ROM_ERROR_KICKDISK_SUPER: - sprintf(error3, - "The ADF-image contains a superkickstart. Fellow can not handle it."); - break; - case MEMORY_ROM_ERROR_BAD_BANK: - sprintf(error3, "The ROM has a bad baseaddress: %X", - memory_kickimage_basebank*0x10000); - break; + case MEMORY_ROM_ERROR_SIZE: + sprintf(error3, + "Illegal size: %u bytes, size must be either 8kB (A1000 bootstrap ROM), 256kB or 512kB.", + data); + break; + case MEMORY_ROM_ERROR_AMIROM_VERSION: + sprintf(error3, "Unsupported encryption method, version found was %u", + data); + break; + case MEMORY_ROM_ERROR_AMIROM_READ: + sprintf(error3, "Read error in encrypted Kickstart or keyfile"); + break; + case MEMORY_ROM_ERROR_KEYFILE: + sprintf(error3, "Unable to access keyfile %s", memory_key); + break; + case MEMORY_ROM_ERROR_EXISTS_NOT: + sprintf(error3, "File does not exist"); + break; + case MEMORY_ROM_ERROR_FILE: + sprintf(error3, "File is a directory"); + break; + case MEMORY_ROM_ERROR_KICKDISK_NOT: + sprintf(error3, "The ADF-image is not a kickdisk"); + break; + case MEMORY_ROM_ERROR_CHECKSUM: + sprintf(error3, + "The Kickstart image has a checksum error, checksum is %X", + data); + break; + case MEMORY_ROM_ERROR_KICKDISK_SUPER: + sprintf(error3, + "The ADF-image contains a superkickstart. Fellow can not handle it."); + break; + case MEMORY_ROM_ERROR_BAD_BANK: + sprintf(error3, "The ROM has a bad baseaddress: %X", + memory_kickimage_basebank*0x10000); + break; } - wguiRequester(error1, error2, error3); + fellowAddLogRequester(FELLOW_REQUESTER_TYPE_ERROR, "%s\n%s\n%s\n", error1, error2, error3); memoryKickSettingsClear(); } @@ -1305,13 +1476,13 @@ const STR *memory_kickimage_versionstrings[14] = { /* Returns the checksum of the current kickstart image. */ /*============================================================================*/ - ULO memoryKickChksum(void) + uint32_t memoryKickChksum(void) { - ULO sum, lastsum, i; + uint32_t lastsum; - sum = lastsum = 0; - for (i = 0; i < 0x80000; i += 4) { - UBY *p = memory_kick + i; + uint32_t sum = lastsum = 0; + for (uint32_t i = 0; i < 0x80000; i += 4) { + uint8_t *p = memory_kick + i; sum += memoryReadLongFromPointer(p); if (sum < lastsum) sum++; lastsum = sum; @@ -1323,19 +1494,17 @@ const STR *memory_kickimage_versionstrings[14] = { /* Identifies a loaded Kickstart */ /*============================================================================*/ - STR *memoryKickIdentify(STR *s) + char *memoryKickIdentify(char *s) { - UBY *rom = memory_kick; - ULO ver, rev; - - ver = (rom[12] << 8) | rom[13]; - rev = (rom[14] << 8) | rom[15]; + uint8_t *rom = memory_kick; + uint32_t ver = (rom[12] << 8) | rom[13]; + uint32_t rev = (rom[14] << 8) | rom[15]; if (ver == 65535) memory_kickimage_version = 28; else if (ver < 29) memory_kickimage_version = 29; else if (ver > 41) memory_kickimage_version = 41; else memory_kickimage_version = ver; sprintf(s, - "%s (%d.%d)", + "%s (%u.%u)", memory_kickimage_versionstrings[memory_kickimage_version - 28], ver, rev); @@ -1348,22 +1517,23 @@ const STR *memory_kickimage_versionstrings[14] = { void memoryKickOK(void) { - ULO chksum, basebank; + uint32_t chksum; + bool bVerifyChecksum = !memory_a1000_wcs; - if ((chksum = memoryKickChksum()) != 0) + if (bVerifyChecksum && ((chksum = memoryKickChksum()) != 0)) memoryKickError(MEMORY_ROM_ERROR_CHECKSUM, chksum); else { - basebank = memory_kick[5]; + uint32_t basebank = memory_kick[5]; if ((basebank == 0xf8) || (basebank == 0xfc)) { - memory_kickimage_basebank = basebank; - memory_kickimage_none = FALSE; - memoryKickIdentify(memory_kickimage_versionstr); - memory_initial_PC = memoryReadLongFromPointer((memory_kick + 4)); - memory_initial_SP = memoryReadLongFromPointer(memory_kick); + memory_kickimage_basebank = basebank; + memory_kickimage_none = FALSE; + memoryKickIdentify(memory_kickimage_versionstr); + memory_initial_PC = memoryReadLongFromPointer((memory_kick + 4)); + memory_initial_SP = memoryReadLongFromPointer(memory_kick); } else - memoryKickError(MEMORY_ROM_ERROR_BAD_BANK, basebank); + memoryKickError(MEMORY_ROM_ERROR_BAD_BANK, basebank); } } @@ -1371,81 +1541,82 @@ const STR *memory_kickimage_versionstrings[14] = { /* Returns size of decoded kickstart */ /*============================================================================*/ - int memoryKickDecodeAF(STR *filename, STR *keyfile) + int memoryKickDecodeAF(char *filename, char *keyfile, uint8_t *memory_kick, const bool suppressgui) { - STR *keybuffer = NULL; - ULO keysize, filesize = 0, keypos = 0, c; - FILE *KF, *RF; - + char *keybuffer = NULL; + uint32_t keysize, filesize = 0, keypos = 0, c; /* Read key */ - - if ((KF = fopen(keyfile, "rb")) != NULL) + if (FILE *KF; (KF = fopen(keyfile, "rb")) != NULL) { fseek(KF, 0, SEEK_END); keysize = ftell(KF); - keybuffer = (STR*)malloc(keysize); + keybuffer = (char*)malloc(keysize); if (keybuffer != NULL) { - fseek(KF, 0, SEEK_SET); - fread(keybuffer, 1, keysize, KF); + fseek(KF, 0, SEEK_SET); + fread(keybuffer, 1, keysize, KF); } fclose(KF); } else { #ifdef WIN32 - HMODULE hAmigaForeverDLL; - STR *strLibName = TEXT("amigaforever.dll"); - STR strPath[CFG_FILENAME_LENGTH]; - - hAmigaForeverDLL = LoadLibrary(strLibName); - if (!hAmigaForeverDLL) - { - DWORD dwRet; - STR strAmigaForeverRoot[CFG_FILENAME_LENGTH] = ""; - dwRet = GetEnvironmentVariable("AMIGAFOREVERROOT", strAmigaForeverRoot, CFG_FILENAME_LENGTH); - if((dwRet > 0) && strAmigaForeverRoot) { - TCHAR strTemp[CFG_FILENAME_LENGTH]; - _tcscpy(strTemp, strAmigaForeverRoot); - if (strTemp[_tcslen(strTemp) - 1] == '/' || strTemp[_tcslen(strTemp) - 1] == '\\') - _tcscat(strTemp, TEXT("\\")); - _stprintf(strPath, TEXT("%sPlayer\\%s"), strTemp, strLibName); - hAmigaForeverDLL = LoadLibrary(strPath); - } - - if (hAmigaForeverDLL) - { - typedef DWORD (STDAPICALLTYPE *PFN_GetKey)(LPVOID lpvBuffer, DWORD dwSize); - PFN_GetKey pfnGetKey = (PFN_GetKey)GetProcAddress(hAmigaForeverDLL, "GetKey"); - if (pfnGetKey) - { - keysize = pfnGetKey(NULL, 0); - if (keysize) - { - keybuffer = (STR*)malloc(keysize); - - if (keybuffer) - { - if (pfnGetKey(keybuffer, keysize) == keysize) - { - // key successfully retrieved - } - else - { - memoryKickError(MEMORY_ROM_ERROR_KEYFILE, 0); - return -1; - } - } - } - } - FreeLibrary(hAmigaForeverDLL); - } -#endif + HMODULE hAmigaForeverDLL = NULL; + char *strLibName = TEXT("amigaforever.dll"); + char strPath[CFG_FILENAME_LENGTH] = ""; + char strAmigaForeverRoot[CFG_FILENAME_LENGTH] = ""; + DWORD dwRet = 0; + + // the preferred way to locate the DLL is by relative path, so it is + // of a matching version (DVD/portable installation with newer version + // than what is installed) + if(fileopsGetWinFellowInstallationPath(strPath, CFG_FILENAME_LENGTH)) { + strncat(strPath, "\\..\\Player\\", 11); + strncat(strPath, strLibName, strlen(strLibName) + 1); + hAmigaForeverDLL = LoadLibrary(strPath); } - if (!keybuffer) - { - memoryKickError(MEMORY_ROM_ERROR_KEYFILE, 0); + if(!hAmigaForeverDLL) { + // DLL not found via relative path, fallback to env. variable + dwRet = GetEnvironmentVariable("AMIGAFOREVERROOT", strAmigaForeverRoot, CFG_FILENAME_LENGTH); + if((dwRet > 0) && strAmigaForeverRoot) { + TCHAR strTemp[CFG_FILENAME_LENGTH]; + _tcscpy(strTemp, strAmigaForeverRoot); + if (strTemp[_tcslen(strTemp) - 1] == '/' || strTemp[_tcslen(strTemp) - 1] == '\\') + _tcscat(strTemp, TEXT("\\")); + _stprintf(strPath, TEXT("%sPlayer\\%s"), strTemp, strLibName); + hAmigaForeverDLL = LoadLibrary(strPath); + } + } + + if(hAmigaForeverDLL) { + typedef DWORD (STDAPICALLTYPE *PFN_GetKey)(LPVOID lpvBuffer, DWORD dwSize); + + PFN_GetKey pfnGetKey = (PFN_GetKey)GetProcAddress(hAmigaForeverDLL, "GetKey"); + if (pfnGetKey) { + keysize = pfnGetKey(NULL, 0); + if (keysize) { + keybuffer = (char*)malloc(keysize); + + if (keybuffer) { + if (pfnGetKey(keybuffer, keysize) == keysize) { + // key successfully retrieved + } + else { + if (!suppressgui) + memoryKickError(MEMORY_ROM_ERROR_KEYFILE, 0); + return -1; + } + } + } + } + FreeLibrary(hAmigaForeverDLL); + #endif + } + + if (!keybuffer) { + if (!suppressgui) + memoryKickError(MEMORY_ROM_ERROR_KEYFILE, 0); return -1; } } @@ -1455,19 +1626,19 @@ const STR *memory_kickimage_versionstrings[14] = { /* Read file */ - if ((RF = fopen(filename, "rb")) != NULL) + if (FILE*RF; (RF = fopen(filename, "rb")) != NULL) { fseek(RF, 11, SEEK_SET); while (((c = fgetc(RF)) != EOF) && filesize < 524288) { - if (keysize != 0) - c ^= keybuffer[keypos++]; - if (keypos == keysize) - keypos = 0; - memory_kick[filesize++] = (UBY) c; + if (keysize != 0) + c ^= keybuffer[keypos++]; + if (keypos == keysize) + keypos = 0; + memory_kick[filesize++] = (uint8_t) c; } while ((c = fgetc(RF)) != EOF) - filesize++; + filesize++; fclose(RF); free(keybuffer); return filesize; @@ -1482,44 +1653,65 @@ const STR *memory_kickimage_versionstrings[14] = { /* valid, or has wrong version */ /*============================================================================*/ - int memoryKickLoadAF2(FILE *F) + int memoryKickLoadAF2(char *filename, FILE *F, uint8_t *memory_kick, const bool suppressgui) { - ULO version; - STR IDString[12]; - + char IDString[12]; + memory_a1000_wcs = false; fread(IDString, 11, 1, F); - version = IDString[10] - '0'; + uint32_t version = IDString[10] - '0'; IDString[10] = '\0'; if (stricmp(IDString, "AMIROMTYPE") == 0) { /* Header seems OK */ if (version != 1) { - memoryKickError(MEMORY_ROM_ERROR_AMIROM_VERSION, version); - return TRUE; /* File was handled */ + if(!suppressgui) + memoryKickError(MEMORY_ROM_ERROR_AMIROM_VERSION, version); + return TRUE; /* File was handled */ } else { /* Seems to be a file we can handle */ - ULO size; + fclose(F); + uint32_t size = memoryKickDecodeAF(filename, + memory_key, memory_kick, suppressgui); + if (size == -1) + { + if(!suppressgui) + memoryKickError(MEMORY_ROM_ERROR_AMIROM_READ, 0); + return TRUE; + } + if (size != 8192 && size != 262144 && size != 524288) + { + if(!suppressgui) + memoryKickError(MEMORY_ROM_ERROR_SIZE, size); + return TRUE; + } - fclose(F); + if (size == 8192) + { /* Load A1000 bootstrap ROM */ + memory_a1000_wcs = true; - size = memoryKickDecodeAF(memory_kickimage, - memory_key); - if (size == -1) - { - memoryKickError(MEMORY_ROM_ERROR_AMIROM_READ, 0); - return TRUE; - } - if (size != 262144 && size != 524288) - { - memoryKickError(MEMORY_ROM_ERROR_SIZE, size); - return TRUE; - } - if (size == 262144) - memcpy(memory_kick + 262144, memory_kick, 262144); - memory_kickimage_none = FALSE; - memoryKickIdentify(memory_kickimage_versionstr); - return TRUE; + if(memory_a1000_bootstrap == NULL) + memory_a1000_bootstrap = (uint8_t *) malloc(262144); + + if(memory_a1000_bootstrap) { + uint32_t lCRC32 = 0; + memset(memory_a1000_bootstrap, 0xff, 262144); + memcpy(memory_a1000_bootstrap, memory_kick, 8192); + lCRC32 = crc32(0, memory_kick, 8192); + if (lCRC32 != 0x62F11C04) { + free(memory_a1000_bootstrap); + memory_a1000_bootstrap = NULL; + memoryKickError(MEMORY_ROM_ERROR_CHECKSUM, lCRC32); + return FALSE; + } + } + } + else if (size == 262144) + memcpy(memory_kick + 262144, memory_kick, 262144); + + memory_kickimage_none = FALSE; + memoryKickIdentify(memory_kickimage_versionstr); + return TRUE; } } /* Here, header was not recognized */ @@ -1533,7 +1725,7 @@ const STR *memory_kickimage_versionstrings[14] = { void memoryKickDiskLoad(FILE *F) { - STR head[5]; + char head[5]; /* Check header */ @@ -1565,9 +1757,10 @@ const STR *memory_kickimage_versionstrings[14] = { { FILE *F; BOOLE kickdisk = FALSE; - STR *suffix, *lastsuffix; BOOLE afkick = FALSE; + memory_a1000_wcs = false; + /* New file is different from previous */ /* Must load file */ @@ -1579,12 +1772,12 @@ const STR *memory_kickimage_versionstrings[14] = { else { if (fsnp->type != FS_NAVIG_FILE) - memoryKickError(MEMORY_ROM_ERROR_FILE, 0); + memoryKickError(MEMORY_ROM_ERROR_FILE, 0); else { /* File passed initial tests */ - if ((F = fopen(memory_kickimage, "rb")) == NULL) - memoryKickError(MEMORY_ROM_ERROR_EXISTS_NOT, 0); - else memory_kickimage_size = fsnp->size; + if ((F = fopen(memory_kickimage, "rb")) == NULL) + memoryKickError(MEMORY_ROM_ERROR_EXISTS_NOT, 0); + else memory_kickimage_size = fsnp->size; } free(fsnp); } @@ -1598,41 +1791,65 @@ const STR *memory_kickimage_versionstrings[14] = { /* Kickdisk flag */ - suffix = strchr(memory_kickimage, '.'); + char* suffix = strchr(memory_kickimage, '.'); if (suffix != NULL) { - lastsuffix = suffix; - while ((suffix = strchr(lastsuffix + 1, '.')) != NULL) - lastsuffix = suffix; - kickdisk = (stricmp(lastsuffix + 1, "ADF") == 0); + char* lastsuffix = suffix; + while ((suffix = strchr(lastsuffix + 1, '.')) != NULL) + lastsuffix = suffix; + kickdisk = (stricmp(lastsuffix + 1, "ADF") == 0); } /* mem_loadrom_af2 will return TRUE if file was handled */ /* Handled also means any error conditions */ /* The result can be that no kickstart was loaded */ if (kickdisk) - memoryKickDiskLoad(F); + memoryKickDiskLoad(F); else - afkick = memoryKickLoadAF2(F); + afkick = memoryKickLoadAF2(memory_kickimage, F, memory_kick, false); if (!kickdisk && !afkick) { /* Normal kickstart image */ - fseek(F, 0, SEEK_SET); - if (memory_kickimage_size == 262144) - { /* Load 256k ROM */ - fread(memory_kick, 1, 262144, F); - memcpy(memory_kick + 262144, memory_kick, 262144); - } - else if (memory_kickimage_size == 524288)/* Load 512k ROM */ - fread(memory_kick, 1, 524288, F); - else - { /* Rom size is wrong */ - memoryKickError(MEMORY_ROM_ERROR_SIZE, memory_kickimage_size); - } - fclose(F); + fseek(F, 0, SEEK_SET); + if (memory_kickimage_size == 8192) + { /* Load A1000 bootstrap ROM */ + memory_a1000_wcs = true; + + if(memory_a1000_bootstrap == NULL) + memory_a1000_bootstrap = (uint8_t *) malloc(262144); + + if(memory_a1000_bootstrap) { + uint32_t lCRC32 = 0; + memset(memory_a1000_bootstrap, 0xff, 262144); + fread(memory_a1000_bootstrap, 1, 8192, F); + memcpy(memory_kick, memory_a1000_bootstrap, 262144); + memcpy(memory_kick + 262144, memory_a1000_bootstrap, 262144); + lCRC32 = crc32(0, memory_a1000_bootstrap, 8192); + if (lCRC32 != 0x62F11C04) { + free(memory_a1000_bootstrap); + memory_a1000_bootstrap = NULL; + memoryKickError(MEMORY_ROM_ERROR_CHECKSUM, lCRC32); + return; + } + } + } + else if (memory_kickimage_size == 262144) + { /* Load 256k ROM */ + fread(memory_kick, 1, 262144, F); + memcpy(memory_kick + 262144, memory_kick, 262144); + } + else if (memory_kickimage_size == 524288)/* Load 512k ROM */ + fread(memory_kick, 1, 524288, F); + else + { /* Rom size is wrong */ + memoryKickError(MEMORY_ROM_ERROR_SIZE, memory_kickimage_size); + } + fclose(F); } } - if (!memory_kickimage_none) + if (!memory_kickimage_none) { memoryKickOK(); + memoryKickA1000BootstrapSetMapped(true); + } } /*============================================================================*/ @@ -1644,6 +1861,94 @@ const STR *memory_kickimage_versionstrings[14] = { memset(memory_kick, 0, 0x80000); } + /*============================================================================*/ + /* Free memory used for extended kickstart image */ + /*============================================================================*/ + + void memoryKickExtendedFree(void) + { + if (memory_kick_ext) { + free(memory_kick_ext); + memory_kick_ext = NULL; + } + memory_kickimage_ext_size = 0; + memory_kickimage_ext_basebank = 0; + } + + /*============================================================================*/ + /* Load extended Kickstart ROM into memory */ + /*============================================================================*/ + + void memoryKickExtendedLoad(void) + { + FILE *F; + fs_navig_point *fsnp; + uint32_t size = 0; + + /* New file is different from previous, must load file */ + + memoryKickExtendedFree(); + + if (stricmp(memory_kickimage_ext, "") == 0) + { + return; + } + + if ((fsnp = fsWrapMakePoint(memory_kickimage_ext)) == NULL) + return; + if (fsnp->type != FS_NAVIG_FILE) + return; + /* File passed initial tests */ + if ((F = fopen(memory_kickimage_ext, "rb")) == NULL) + return; + size = fsnp->size; + free(fsnp); + + if (F) { + fseek(F, 0, SEEK_SET); + + if (size == 262155 || size == 524299) { + // Amiga Forever - encrypted ROM? + char IDString[12]; + + fread(IDString, 11, 1, F); + uint32_t version = IDString[10] - '0'; + IDString[10] = '\0'; + if (stricmp(IDString, "AMIROMTYPE") == 0) + { /* Header seems OK */ + if (version != 1) + return; + /* Seems to be a file we can handle */ + memory_kick_ext = (uint8_t *) malloc(size - 11); + size = memoryKickDecodeAF(memory_kickimage_ext, memory_key, memory_kick_ext, false); + memory_kickimage_ext_size = size; + } + } + else { + if (size == 262144 || size == 524288) { + memory_kick_ext = (uint8_t *) malloc(size); + + if (memory_kick_ext) { + memset(memory_kick_ext, 0xff, size); + fread(memory_kick_ext, 1, size, F); + memory_kickimage_ext_size = size; + } + else + return; + } + } + + memory_kickimage_ext_basebank = memory_kick_ext[5]; + + // AROS extended ROM does not have basebank at byte 6, override + if (memory_kickimage_ext_basebank == 0xf8) + memory_kickimage_ext_basebank = 0xe0; + + fclose(F); + F = NULL; + } + } + /*============================================================================*/ /* Top-level memory access functions */ /*============================================================================*/ @@ -1653,85 +1958,73 @@ const STR *memory_kickimage_versionstrings[14] = { and the CPU is < 020 ==============================================================================*/ - static void memoryOddRead(ULO address) + static void memoryOddRead(uint32_t address) { if (address & 1) { if (cpuGetModelMajor() < 2) { - memory_fault_read = TRUE; - memory_fault_address = address; - cpuThrowAddressErrorException(); + memory_fault_read = TRUE; + memory_fault_address = address; + cpuThrowAddressErrorException(); } } } - static void memoryOddWrite(ULO address) + static void memoryOddWrite(uint32_t address) { if (address & 1) { if (cpuGetModelMajor() < 2) { - memory_fault_read = FALSE; - memory_fault_address = address; - cpuThrowAddressErrorException(); + memory_fault_read = FALSE; + memory_fault_address = address; + cpuThrowAddressErrorException(); } } } - UBY memoryReadByteViaBankHandler(ULO address) + uint8_t memoryReadByteViaBankHandler(uint32_t address) { return memory_bank_readbyte[address >> 16](address); } -__inline UBY memoryReadByte(ULO address) +__inline uint8_t memoryReadByte(uint32_t address) { - UBY *memory_ptr = memory_bank_pointer[address>>16]; + uint8_t *memory_ptr = memory_bank_pointer[address>>16]; if (memory_ptr != NULL) { - UBY *p = memory_ptr + address; + uint8_t *p = memory_ptr + address; return memoryReadByteFromPointer(p); } return memoryReadByteViaBankHandler(address); } - UWO memoryReadWordViaBankHandler(ULO address) + uint16_t memoryReadWordViaBankHandler(uint32_t address) { memoryOddRead(address); return memory_bank_readword[address >> 16](address); } -__inline UWO memoryReadWord(ULO address) +__inline uint16_t memoryReadWord(uint32_t address) { - UBY *memory_ptr = memory_bank_pointer[address>>16]; + uint8_t *memory_ptr = memory_bank_pointer[address>>16]; if ((memory_ptr != NULL) && !(address & 1)) { - UBY *p = memory_ptr + address; + uint8_t *p = memory_ptr + address; return memoryReadWordFromPointer(p); } return memoryReadWordViaBankHandler(address); } - ULO memoryReadLongViaBankHandler(ULO address) + __inline uint32_t memoryReadLong(uint32_t address) { - memoryOddRead(address); - return memory_bank_readlong[address >> 16](address); + return ((uint32_t)memoryReadWord(address) << 16) | ((uint32_t)memoryReadWord(address + 2)); } - __inline ULO memoryReadLong(ULO address) + void memoryWriteByte(uint8_t data, uint32_t address) { - UBY *memory_ptr = memory_bank_pointer[address>>16]; - if ((memory_ptr != NULL) && !(address & 1)) - { - UBY *p = memory_ptr + address; - return memoryReadLongFromPointer(p); - } - return memoryReadLongViaBankHandler(address); - } - - void memoryWriteByte(UBY data, ULO address) - { - ULO bank = address>>16; + uint32_t bank = address>>16; if (memory_bank_pointer_can_write[bank]) { memoryWriteByteToPointer(data, memory_bank_pointer[bank] + address); @@ -1742,15 +2035,15 @@ __inline UWO memoryReadWord(ULO address) } } - void memoryWriteWordViaBankHandler(UWO data, ULO address) + void memoryWriteWordViaBankHandler(uint16_t data, uint32_t address) { memoryOddWrite(address); memory_bank_writeword[address >> 16](data, address); } - void memoryWriteWord(UWO data, ULO address) + void memoryWriteWord(uint16_t data, uint32_t address) { - ULO bank = address>>16; + uint32_t bank = address>>16; if (memory_bank_pointer_can_write[bank] && !(address & 1)) { memoryWriteWordToPointer(data, memory_bank_pointer[bank] + address); @@ -1761,15 +2054,15 @@ __inline UWO memoryReadWord(ULO address) } } - void memoryWriteLongViaBankHandler(ULO data, ULO address) + void memoryWriteLongViaBankHandler(uint32_t data, uint32_t address) { memoryOddWrite(address); memory_bank_writelong[address >> 16](data, address); } - void memoryWriteLong(ULO data, ULO address) + void memoryWriteLong(uint32_t data, uint32_t address) { - ULO bank = address>>16; + uint32_t bank = address>>16; if (memory_bank_pointer_can_write[bank] && !(address & 1)) { memoryWriteLongToPointer(data, memory_bank_pointer[bank] + address); @@ -1784,19 +2077,19 @@ __inline UWO memoryReadWord(ULO address) /* Memory configuration interface */ /*============================================================================*/ - BOOLE memorySetChipSize(ULO chipsize) + BOOLE memorySetChipSize(uint32_t chipsize) { BOOLE needreset = (memory_chipsize != chipsize); memory_chipsize = chipsize; return needreset; } - ULO memoryGetChipSize(void) + uint32_t memoryGetChipSize(void) { return memory_chipsize; } - BOOLE memorySetFastSize(ULO fastsize) + BOOLE memorySetFastSize(uint32_t fastsize) { BOOLE needreset = (memory_fastsize != fastsize); memory_fastsize = fastsize; @@ -1804,41 +2097,41 @@ __inline UWO memoryReadWord(ULO address) return needreset; } - ULO memoryGetFastSize(void) + uint32_t memoryGetFastSize(void) { return memory_fastsize; } - void memorySetFastAllocatedSize(ULO fastallocatedsize) + void memorySetFastAllocatedSize(uint32_t fastallocatedsize) { memory_fastallocatedsize = fastallocatedsize; } - ULO memoryGetFastAllocatedSize(void) + uint32_t memoryGetFastAllocatedSize(void) { return memory_fastallocatedsize; } - BOOLE memorySetSlowSize(ULO slowsize) + BOOLE memorySetSlowSize(uint32_t slowsize) { BOOLE needreset = (memory_slowsize != slowsize); memory_slowsize = slowsize; return needreset; } - ULO memoryGetSlowSize(void) + uint32_t memoryGetSlowSize(void) { return memory_slowsize; } - BOOLE memorySetUseAutoconfig(BOOLE useautoconfig) + bool memorySetUseAutoconfig(bool useautoconfig) { - BOOLE needreset = memory_useautoconfig != useautoconfig; + bool needreset = memory_useautoconfig != useautoconfig; memory_useautoconfig = useautoconfig; return needreset; } - BOOLE memoryGetUseAutoconfig(void) + bool memoryGetUseAutoconfig(void) { return memory_useautoconfig; } @@ -1855,7 +2148,7 @@ __inline UWO memoryReadWord(ULO address) return memory_address32bit; } - BOOLE memorySetKickImage(STR *kickimage) + BOOLE memorySetKickImage(char *kickimage) { BOOLE needreset = !!strncmp(memory_kickimage, kickimage, CFG_FILENAME_LENGTH); strncpy(memory_kickimage, kickimage, CFG_FILENAME_LENGTH); @@ -1863,27 +2156,37 @@ __inline UWO memoryReadWord(ULO address) return needreset; } - STR *memoryGetKickImage(void) + BOOLE memorySetKickImageExtended(char *kickimageext) + { + BOOLE needreset = !!strncmp(memory_kickimage_ext, kickimageext, CFG_FILENAME_LENGTH); + strncpy(memory_kickimage_ext, kickimageext, CFG_FILENAME_LENGTH); + if (needreset) + memoryKickExtendedLoad(); + return needreset; + } + + + char *memoryGetKickImage(void) { return memory_kickimage; } - void memorySetKey(STR *key) + void memorySetKey(char *key) { strncpy(memory_key, key, CFG_FILENAME_LENGTH); } - STR *memoryGetKey(void) + char *memoryGetKey(void) { return memory_key; } - ULO memoryGetKickImageBaseBank(void) + uint32_t memoryGetKickImageBaseBank(void) { return memory_kickimage_basebank; } - ULO memoryGetKickImageVersion(void) + uint32_t memoryGetKickImageVersion(void) { return memory_kickimage_version; } @@ -1893,12 +2196,12 @@ __inline UWO memoryReadWord(ULO address) return !memory_kickimage_none; } - ULO memoryInitialPC(void) + uint32_t memoryInitialPC(void) { return memory_initial_PC; } - ULO memoryInitialSP(void) + uint32_t memoryInitialSP(void) { return memory_initial_SP; } @@ -1951,32 +2254,11 @@ __inline UWO memoryReadWord(ULO address) memoryDmemClear(); } - void memoryNoiseSettingsClear(void) - { - memory_noise[0] = 0; - memory_noise[1] = 0xffffffff; - memory_noisecounter = 0; - } - - void memoryMysterySettingsClear(void) - { - memory_mystery_value = 0xff00ff00; - } - void memoryBankSettingsClear(void) { memoryBankClearAll(); } - void memoryIoHandlersInstall(void) - { - memorySetIoReadStub(0x018, rserdatr); - memorySetIoReadStub(0x01c, rintenar); - memorySetIoReadStub(0x01e, rintreqr); - memorySetIoWriteStub(0x09a, wintena); - memorySetIoWriteStub(0x09c, wintreq); - } - /*==============*/ /* Generic init */ /*==============*/ @@ -1988,15 +2270,15 @@ __inline UWO memoryReadWord(ULO address) fwrite(&memory_fastsize, sizeof(memory_fastsize), 1, F); if (memory_chipsize > 0) { - fwrite(&memory_chip[0], sizeof(UBY), memory_chipsize, F); + fwrite(&memory_chip[0], sizeof(uint8_t), memory_chipsize, F); } if (memory_slowsize > 0) { - fwrite(&memory_slow[0], sizeof(UBY), memory_slowsize, F); + fwrite(&memory_slow[0], sizeof(uint8_t), memory_slowsize, F); } if (memory_fastsize > 0) { - fwrite(memory_fast, sizeof(UBY), memory_fastsize, F); + fwrite(memory_fast, sizeof(uint8_t), memory_fastsize, F); } } @@ -2007,22 +2289,21 @@ __inline UWO memoryReadWord(ULO address) fread(&memory_fastsize, sizeof(memory_fastsize), 1, F); if (memory_chipsize > 0) { - fread(&memory_chip[0], sizeof(UBY), memory_chipsize, F); + fread(&memory_chip[0], sizeof(uint8_t), memory_chipsize, F); } if (memory_slowsize > 0) { - fread(&memory_slow[0], sizeof(UBY), memory_slowsize, F); + fread(&memory_slow[0], sizeof(uint8_t), memory_slowsize, F); } if (memory_fastsize > 0) { - fread(memory_fast, sizeof(UBY), memory_fastsize, F); + fread(memory_fast, sizeof(uint8_t), memory_fastsize, F); } } void memoryEmulationStart(void) { memoryIoClear(); - memoryIoHandlersInstall(); } void memoryEmulationStop(void) @@ -2035,19 +2316,23 @@ __inline UWO memoryReadWord(ULO address) memoryEmemClear(); memoryEmemCardsRemove(); memoryFastCardAdd(); - intreq = intena = intenar = 0; memoryBankClearAll(); - memoryChipMap(TRUE); + memoryChipMap(true); memorySlowMap(); memoryIoMap(); memoryEmemMap(); memoryDmemMap(); memoryMysteryMap(); + memoryKickA1000BootstrapSetMapped(true); memoryKickMap(); + memoryKickExtendedMap(); + rtcMap(); } void memoryHardReset(void) { + fellowAddLog("memoryHardReset()\n"); + memoryChipClear(), memoryFastClear(); memorySlowClear(); @@ -2055,15 +2340,16 @@ __inline UWO memoryReadWord(ULO address) memoryEmemClear(); memoryEmemCardsRemove(); memoryFastCardAdd(); - intreq = intena = intenar = 0; memoryBankClearAll(); - memoryChipMap(TRUE); + memoryChipMap(true); memorySlowMap(); memoryIoMap(); memoryEmemMap(); memoryDmemMap(); memoryMysteryMap(); memoryKickMap(); + memoryKickExtendedMap(); + rtcMap(); } void memoryHardResetPost(void) @@ -2083,12 +2369,12 @@ __inline UWO memoryReadWord(ULO address) memoryKickSettingsClear(); memoryEmemSettingsClear(); memoryDmemSettingsClear(); - memoryNoiseSettingsClear(); - memoryMysterySettingsClear(); /* ;-) */ } void memoryShutdown(void) { memoryFastFree(); + memoryKickExtendedFree(); + memoryKickA1000BootstrapFree(); } diff --git a/cpu/fmem.h b/cpu/fmem.h index d5b3e17..3c7b76e 100644 --- a/cpu/fmem.h +++ b/cpu/fmem.h @@ -1,41 +1,50 @@ -#ifndef FMEM_H -#define FMEM_H +#pragma once #ifdef __cplusplus extern "C" { #endif -// new functions - +// MPW extern void memorySetMemory(uint8_t *memory, uint32_t size); extern void memorySetGlobalLog(uint32_t globalLog); extern uint8_t *memoryPointer(uint32_t address); + +/* Access for chipset emulation that already have validated addresses */ + +#define chipmemReadByte(address) (memory_chip[address]) +#define chipmemReadWord(address) ((((uint16_t) memory_chip[address]) << 8) | ((uint16_t) memory_chip[address + 1])) +#define chipmemWriteWord(data, address) \ + memory_chip[address] = (uint8_t) (data >> 8); \ + memory_chip[address + 1] = (uint8_t) data + /* Memory access functions */ -extern UBY memoryReadByte(ULO address); -extern UWO memoryReadWord(ULO address); -extern ULO memoryReadLong(ULO address); -extern uint64_t memoryReadLongLong(ULO address); -extern void memoryWriteByte(UBY data, ULO address); -extern void memoryWriteWord(UWO data, ULO address); -extern void memoryWriteLong(ULO data, ULO address); -extern void memoryWriteLongLong(uint64_t data, ULO address); +extern uint8_t memoryReadByte(uint32_t address); +extern uint16_t memoryReadWord(uint32_t address); +extern uint32_t memoryReadLong(uint32_t address); +extern uint64_t memoryReadLongLong(uint32_t address); +extern void memoryWriteByte(uint8_t data, uint32_t address); +extern void memoryWriteWord(uint16_t data, uint32_t address); +extern void memoryWriteLong(uint32_t data, uint32_t address); +extern void memoryWriteLongLong(uint64_t data, uint32_t address); -extern UWO memoryChipReadWord(ULO address); -extern void memoryChipWriteWord(UWO data, ULO address); +extern uint16_t memoryChipReadWord(uint32_t address); +extern void memoryChipWriteWord(uint16_t data, uint32_t address); #define memoryReadByteFromPointer(address) (address[0]) #define memoryReadWordFromPointer(address) ((address[0] << 8) | address[1]) #define memoryReadLongFromPointer(address) ((address[0] << 24) | (address[1] << 16) | (address[2] << 8) | address[3]) +extern void memoryWriteLongToPointer(uint32_t data, uint8_t *address); + /* IO Bank functions */ -typedef UWO (*memoryIoReadFunc)(ULO address); -typedef void (*memoryIoWriteFunc)(UWO data, ULO address); +typedef uint16_t (*memoryIoReadFunc)(uint32_t address); +typedef void (*memoryIoWriteFunc)(uint16_t data, uint32_t address); -extern void memorySetIoReadStub(ULO index, memoryIoReadFunc ioreadfunction); -extern void memorySetIoWriteStub(ULO index, memoryIoWriteFunc iowritefunction); +extern void memorySetIoReadStub(uint32_t index, memoryIoReadFunc ioreadfunction); +extern void memorySetIoWriteStub(uint32_t index, memoryIoWriteFunc iowritefunction); /* For the copper */ extern memoryIoWriteFunc memory_iobank_write[257]; @@ -43,23 +52,24 @@ extern memoryIoWriteFunc memory_iobank_write[257]; /* Expansion card functions */ typedef void (*memoryEmemCardInitFunc)(void); -typedef void (*memoryEmemCardMapFunc)(ULO); +typedef void (*memoryEmemCardMapFunc)(uint32_t); extern void memoryEmemClear(void); extern void memoryEmemCardAdd(memoryEmemCardInitFunc cardinit, memoryEmemCardMapFunc cardmap); -extern void memoryEmemSet(ULO index, ULO data); -extern void memoryEmemMirror(ULO emem_offset, UBY *src, ULO size); +extern void memoryEmemSet(uint32_t index, uint32_t data); +extern void memoryEmemMirror(uint32_t emem_offset, uint8_t *src, uint32_t size); /* Device memory functions. fhfile is using these. */ -extern void memoryDmemSetByte(UBY data); -extern void memoryDmemSetWord(UWO data); -extern void memoryDmemSetLong(ULO data); -extern void memoryDmemSetLongNoCounter(ULO data, ULO offset); -extern void memoryDmemSetString(STR *data); -extern void memoryDmemSetCounter(ULO val); -extern ULO memoryDmemGetCounter(void); +extern void memoryDmemSetByte(uint8_t data); +extern void memoryDmemSetWord(uint16_t data); +extern void memoryDmemSetLong(uint32_t data); +extern void memoryDmemSetLongNoCounter(uint32_t data, uint32_t offset); +extern void memoryDmemSetString(const char *data); +extern void memoryDmemSetCounter(uint32_t val); +extern uint32_t memoryDmemGetCounter(void); +extern uint32_t memoryDmemGetCounterWithoutOffset(void); extern void memoryDmemClear(void); /* Module management functions */ @@ -76,12 +86,12 @@ extern void memoryShutdown(void); /* Memory bank functions */ -typedef UBY (*memoryReadByteFunc)(ULO address); -typedef UWO (*memoryReadWordFunc)(ULO address); -typedef ULO (*memoryReadLongFunc)(ULO address); -typedef void (*memoryWriteByteFunc)(UBY data, ULO address); -typedef void (*memoryWriteWordFunc)(UWO data, ULO address); -typedef void (*memoryWriteLongFunc)(ULO data, ULO address); +typedef uint8_t (*memoryReadByteFunc)(uint32_t address); +typedef uint16_t (*memoryReadWordFunc)(uint32_t address); +typedef uint32_t (*memoryReadLongFunc)(uint32_t address); +typedef void (*memoryWriteByteFunc)(uint8_t data, uint32_t address); +typedef void (*memoryWriteWordFunc)(uint16_t data, uint32_t address); +typedef void (*memoryWriteLongFunc)(uint32_t data, uint32_t address); extern memoryReadByteFunc memory_bank_readbyte[65536]; extern memoryReadWordFunc memory_bank_readword[65536]; @@ -90,8 +100,8 @@ extern memoryWriteByteFunc memory_bank_writebyte[65536]; extern memoryWriteWordFunc memory_bank_writeword[65536]; extern memoryWriteLongFunc memory_bank_writelong[65536]; -extern UBY *memory_bank_pointer[65536]; -extern UBY *memory_bank_datapointer[65536]; +extern uint8_t *memory_bank_pointer[65536]; +extern uint8_t *memory_bank_datapointer[65536]; extern void memoryBankSet(memoryReadByteFunc rb, memoryReadWordFunc rw, @@ -99,39 +109,43 @@ extern void memoryBankSet(memoryReadByteFunc rb, memoryWriteByteFunc wb, memoryWriteWordFunc ww, memoryWriteLongFunc wl, - UBY *basep, - ULO bank, - ULO basebank, + uint8_t *basep, + uint32_t bank, + uint32_t basebank, BOOLE pointer_can_write); -extern UBY *memoryAddressToPtr(ULO address); -extern void memoryChipMap(BOOLE overlay); +extern uint8_t *memoryAddressToPtr(uint32_t address); +extern void memoryChipMap(bool overlay); /* Memory configuration properties */ -extern BOOLE memorySetChipSize(ULO chipsize); -extern ULO memoryGetChipSize(void); -extern BOOLE memorySetFastSize(ULO fastsize); -extern ULO memoryGetFastSize(void); -extern void memorySetFastAllocatedSize(ULO fastallocatedsize); -extern ULO memoryGetFastAllocatedSize(void); -extern BOOLE memorySetSlowSize(ULO bogosize); -extern ULO memoryGetSlowSize(void); -extern BOOLE memorySetUseAutoconfig(BOOLE useautoconfig); -extern BOOLE memoryGetUseAutoconfig(void); +extern BOOLE memorySetChipSize(uint32_t chipsize); +extern uint32_t memoryGetChipSize(void); +extern BOOLE memorySetFastSize(uint32_t fastsize); +extern uint32_t memoryGetFastSize(void); +extern void memorySetFastAllocatedSize(uint32_t fastallocatedsize); +extern uint32_t memoryGetFastAllocatedSize(void); +extern BOOLE memorySetSlowSize(uint32_t bogosize); +extern uint32_t memoryGetSlowSize(void); +extern bool memorySetUseAutoconfig(bool useautoconfig); +extern bool memoryGetUseAutoconfig(void); extern BOOLE memorySetAddress32Bit(BOOLE address32bit); extern BOOLE memoryGetAddress32Bit(void); -extern BOOLE memorySetKickImage(STR *kickimage); -extern STR *memoryGetKickImage(void); -extern void memorySetKey(STR *key); -extern STR *memoryGetKey(void); +extern BOOLE memorySetKickImage(char *kickimage); +extern BOOLE memorySetKickImageExtended(char *kickimageext); +extern char *memoryGetKickImage(void); +extern void memorySetKey(char *key); +extern char *memoryGetKey(void); extern BOOLE memoryGetKickImageOK(void); /* Derived from memory configuration */ -extern ULO memoryGetKickImageBaseBank(void); -extern ULO memoryGetKickImageVersion(void); -extern ULO memoryInitialPC(void); -extern ULO memoryInitialSP(void); +extern uint32_t memoryGetKickImageBaseBank(void); +extern uint32_t memoryGetKickImageVersion(void); +extern uint32_t memoryInitialPC(void); +extern uint32_t memoryInitialSP(void); + +/* Kickstart decryption */ +extern int memoryKickLoadAF2(char *filename, FILE *F, uint8_t *memory_kick, const bool); /* Kickstart load error handling */ @@ -148,21 +162,19 @@ extern ULO memoryInitialSP(void); /* Global variables */ -extern UBY memory_chip[]; -extern UBY *memory_fast; -extern UBY memory_slow[]; -extern UBY memory_kick[]; -extern ULO memory_chipsize; -extern UBY memory_emem[]; +extern uint8_t memory_chip[]; +extern uint8_t *memory_fast; +extern uint8_t memory_slow[]; +extern uint8_t memory_kick[]; +extern uint32_t memory_chipsize; +extern uint8_t memory_emem[]; -extern ULO intenar,intena,intreq; -extern ULO potgor; +extern uint32_t potgor; -extern ULO memory_fault_address; +extern uint32_t memory_fault_address; extern BOOLE memory_fault_read; + #ifdef __cplusplus } #endif - -#endif diff --git a/cpu/memory.c b/cpu/memory.c index 45aae5e..2abff35 100644 --- a/cpu/memory.c +++ b/cpu/memory.c @@ -8,14 +8,14 @@ /*============================================================================*/ BOOLE memory_fault_read = FALSE; /* TRUE - read / FALSE - write */ -ULO memory_fault_address = 0; +uint32_t memory_fault_address = 0; /*============================================================================== Raises exception 3 when a word or long is accessing an odd address and the CPU is < 020 ==============================================================================*/ -static void memoryOddRead(ULO address) +static void memoryOddRead(uint32_t address) { if (address & 1) { @@ -28,7 +28,7 @@ static void memoryOddRead(ULO address) } } -static void memoryOddWrite(ULO address) +static void memoryOddWrite(uint32_t address) { if (address & 1) { @@ -75,7 +75,7 @@ uint8_t *memoryPointer(uint32_t address) // memory read of 0xffffffff not handled correctly // since the unsigned compare overflows. -UBY memoryReadByte(ULO address) +uint8_t memoryReadByte(uint32_t address) { if (MemoryLoggingFunc) @@ -88,7 +88,7 @@ UBY memoryReadByte(ULO address) return 0; } -UWO memoryReadWord(ULO address) +uint16_t memoryReadWord(uint32_t address) { if (MemoryLoggingFunc) @@ -103,7 +103,7 @@ UWO memoryReadWord(ULO address) return 0; } -ULO memoryReadLong(ULO address) +uint32_t memoryReadLong(uint32_t address) { if (MemoryLoggingFunc) @@ -121,7 +121,7 @@ ULO memoryReadLong(ULO address) } -uint64_t memoryReadLongLong(ULO address) +uint64_t memoryReadLongLong(uint32_t address) { uint64_t tmp; @@ -132,7 +132,7 @@ uint64_t memoryReadLongLong(ULO address) return tmp; } -void memoryWriteByte(UBY data, ULO address) +void memoryWriteByte(uint8_t data, uint32_t address) { if (MemoryLoggingFunc) @@ -144,7 +144,7 @@ void memoryWriteByte(UBY data, ULO address) } } -void memoryWriteWord(UWO data, ULO address) +void memoryWriteWord(uint16_t data, uint32_t address) { if (MemoryLoggingFunc) @@ -159,7 +159,7 @@ void memoryWriteWord(UWO data, ULO address) } } -void memoryWriteLong(ULO data, ULO address) +void memoryWriteLong(uint32_t data, uint32_t address) { if (MemoryLoggingFunc) @@ -178,7 +178,7 @@ void memoryWriteLong(ULO data, ULO address) } -void memoryWriteLongLong(uint64_t data, ULO address) +void memoryWriteLongLong(uint64_t data, uint32_t address) { if (address & 0x01) memoryOddWrite(address); diff --git a/toolbox/dispatch.cpp b/toolbox/dispatch.cpp index 3cb0962..83792b9 100644 --- a/toolbox/dispatch.cpp +++ b/toolbox/dispatch.cpp @@ -56,7 +56,7 @@ #include // yuck. TST.W d0 -extern "C" void cpuSetFlagsNZ00NewW(UWO res); +extern "C" void cpuSetFlagsNZ00NewW(uint16_t res); namespace { diff --git a/toolbox/sane.cpp b/toolbox/sane.cpp index bb77615..7fd85a0 100644 --- a/toolbox/sane.cpp +++ b/toolbox/sane.cpp @@ -736,7 +736,7 @@ namespace fp = floating_point; return 0; } - extern "C" void cpuSetFlagsAbs(UWO f); + extern "C" void cpuSetFlagsAbs(uint16_t f); uint16_t fp68k(uint16_t trap) { uint16_t op; diff --git a/toolbox/toolbox.cpp b/toolbox/toolbox.cpp index 62c67dc..1e9c73e 100644 --- a/toolbox/toolbox.cpp +++ b/toolbox/toolbox.cpp @@ -56,7 +56,7 @@ // yuck. TST.W d0 -extern "C" void cpuSetFlagsNZ00NewW(UWO res); +extern "C" void cpuSetFlagsNZ00NewW(uint16_t res);