mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
minx.c: Modernized cpu core (nw)
This commit is contained in:
parent
83fe9c0837
commit
35ebecfd76
@ -65,98 +65,106 @@ TODO:
|
||||
#define EXEC_01 0x01
|
||||
|
||||
|
||||
struct minx_state {
|
||||
// MINX_CONFIG config;
|
||||
UINT16 PC;
|
||||
UINT16 SP;
|
||||
UINT16 BA;
|
||||
UINT16 HL;
|
||||
UINT16 X;
|
||||
UINT16 Y;
|
||||
UINT8 U;
|
||||
UINT8 V;
|
||||
UINT8 F;
|
||||
UINT8 E;
|
||||
UINT8 N;
|
||||
UINT8 I;
|
||||
UINT8 XI;
|
||||
UINT8 YI;
|
||||
UINT8 halted;
|
||||
UINT8 interrupt_pending;
|
||||
device_irq_acknowledge_callback irq_callback;
|
||||
legacy_cpu_device *device;
|
||||
address_space *program;
|
||||
int icount;
|
||||
};
|
||||
#define RD(offset) m_program->read_byte( offset )
|
||||
#define WR(offset,data) m_program->write_byte( offset, data )
|
||||
#define GET_MINX_PC ( ( m_PC & 0x8000 ) ? ( m_V << 15 ) | (m_PC & 0x7FFF ) : m_PC )
|
||||
|
||||
#define RD(offset) minx->program->read_byte( offset )
|
||||
#define WR(offset,data) minx->program->write_byte( offset, data )
|
||||
#define GET_MINX_PC ( ( minx->PC & 0x8000 ) ? ( minx->V << 15 ) | (minx->PC & 0x7FFF ) : minx->PC )
|
||||
|
||||
INLINE minx_state *get_safe_token(device_t *device)
|
||||
const device_type MINX = &device_creator<minx_cpu_device>;
|
||||
|
||||
|
||||
minx_cpu_device::minx_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: cpu_device(mconfig, MINX, "Nintendo Minx", tag, owner, clock, "minx", __FILE__)
|
||||
, m_program_config("program", ENDIANNESS_BIG, 8, 24, 0)
|
||||
{
|
||||
assert(device != NULL);
|
||||
assert(device->type() == MINX);
|
||||
|
||||
return (minx_state *)downcast<legacy_cpu_device *>(device)->token();
|
||||
}
|
||||
|
||||
INLINE UINT16 rd16( minx_state *minx, UINT32 offset )
|
||||
|
||||
UINT16 minx_cpu_device::rd16( UINT32 offset )
|
||||
{
|
||||
return RD( offset ) | ( RD( offset + 1 ) << 8 );
|
||||
}
|
||||
|
||||
|
||||
INLINE void wr16( minx_state *minx, UINT32 offset, UINT16 data )
|
||||
void minx_cpu_device::wr16( UINT32 offset, UINT16 data )
|
||||
{
|
||||
WR( offset, ( data & 0x00FF ) );
|
||||
WR( offset + 1, ( data >> 8 ) );
|
||||
}
|
||||
|
||||
|
||||
static CPU_INIT( minx )
|
||||
void minx_cpu_device::device_start()
|
||||
{
|
||||
minx_state *minx = get_safe_token(device);
|
||||
minx->irq_callback = irqcallback;
|
||||
minx->device = device;
|
||||
minx->program = &device->space(AS_PROGRAM);
|
||||
if ( device->static_config() != NULL )
|
||||
{
|
||||
}
|
||||
else
|
||||
m_program = &space(AS_PROGRAM);
|
||||
|
||||
state_add( MINX_PC, "PC", m_PC ).formatstr("%04X");
|
||||
state_add( MINX_SP, "SP", m_SP ).formatstr("%04X");
|
||||
state_add( MINX_BA, "BA", m_BA ).formatstr("%04X");
|
||||
state_add( MINX_HL, "HL", m_HL ).formatstr("%04X");
|
||||
state_add( MINX_X, "X", m_X ).formatstr("%04X");
|
||||
state_add( MINX_Y, "Y", m_Y ).formatstr("%04X");
|
||||
state_add( MINX_U, "U", m_U ).formatstr("%02X");
|
||||
state_add( MINX_V, "V", m_V ).formatstr("%02X");
|
||||
state_add( MINX_F, "F", m_F ).formatstr("%02X");
|
||||
state_add( MINX_E, "E", m_E ).formatstr("%02X");
|
||||
state_add( MINX_N, "N", m_N ).formatstr("%02X");
|
||||
state_add( MINX_I, "I", m_I ).formatstr("%02X");
|
||||
state_add( MINX_XI, "XI", m_XI ).formatstr("%02X");
|
||||
state_add( MINX_YI, "YI", m_YI ).formatstr("%02X");
|
||||
|
||||
state_add(STATE_GENPC, "curpc", m_curpc).formatstr("%06X").noshow();
|
||||
state_add(STATE_GENFLAGS, "GENFLAGS", m_flags).formatstr("%14s").noshow();
|
||||
|
||||
m_icountptr = &m_icount;
|
||||
}
|
||||
|
||||
|
||||
void minx_cpu_device::state_string_export(const device_state_entry &entry, astring &string)
|
||||
{
|
||||
switch (entry.index())
|
||||
{
|
||||
case STATE_GENFLAGS:
|
||||
string.printf( "%c%c%c%c%c%c%c%c-%c%c%c%c%c",
|
||||
m_F & FLAG_I ? 'I' : '.',
|
||||
m_F & FLAG_D ? 'D' : '.',
|
||||
m_F & FLAG_L ? 'L' : '.',
|
||||
m_F & FLAG_B ? 'B' : '.',
|
||||
m_F & FLAG_S ? 'S' : '.',
|
||||
m_F & FLAG_O ? 'O' : '.',
|
||||
m_F & FLAG_C ? 'C' : '.',
|
||||
m_F & FLAG_Z ? 'Z' : '.',
|
||||
m_E & EXEC_X0 ? '0' : '.',
|
||||
m_E & EXEC_X1 ? '1' : '.',
|
||||
m_E & EXEC_X2 ? '2' : '.',
|
||||
m_E & EXEC_DZ ? 'z' : '.',
|
||||
m_E & EXEC_EN ? 'E' : '.' );
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static CPU_RESET( minx )
|
||||
void minx_cpu_device::device_reset()
|
||||
{
|
||||
minx_state *minx = get_safe_token(device);
|
||||
minx->SP = minx->BA = minx->HL = minx->X = minx->Y = 0;
|
||||
minx->U = minx->V = minx->F = minx->E = minx->I = minx->XI = minx->YI = 0;
|
||||
minx->halted = minx->interrupt_pending = 0;
|
||||
m_SP = m_BA = m_HL = m_X = m_Y = 0;
|
||||
m_U = m_V = m_F = m_E = m_I = m_XI = m_YI = 0;
|
||||
m_halted = m_interrupt_pending = 0;
|
||||
|
||||
minx->PC = rd16( minx, 0 );
|
||||
m_PC = rd16( 0 );
|
||||
}
|
||||
|
||||
|
||||
static CPU_EXIT( minx )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 rdop( minx_state *minx )
|
||||
UINT8 minx_cpu_device::rdop()
|
||||
{
|
||||
UINT8 op = RD( GET_MINX_PC );
|
||||
minx->PC++;
|
||||
m_PC++;
|
||||
return op;
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT16 rdop16( minx_state *minx )
|
||||
UINT16 minx_cpu_device::rdop16()
|
||||
{
|
||||
UINT16 op = rdop(minx);
|
||||
op = op | ( rdop(minx) << 8 );
|
||||
UINT16 op = rdop();
|
||||
op = op | ( rdop() << 8 );
|
||||
return op;
|
||||
}
|
||||
|
||||
@ -167,231 +175,65 @@ INLINE UINT16 rdop16( minx_state *minx )
|
||||
#include "minxops.h"
|
||||
|
||||
|
||||
static CPU_EXECUTE( minx )
|
||||
void minx_cpu_device::execute_run()
|
||||
{
|
||||
// UINT32 oldpc;
|
||||
UINT8 op;
|
||||
minx_state *minx = get_safe_token(device);
|
||||
|
||||
do
|
||||
{
|
||||
debugger_instruction_hook(device, GET_MINX_PC);
|
||||
m_curpc = GET_MINX_PC;
|
||||
debugger_instruction_hook(this, m_curpc);
|
||||
// oldpc = GET_MINX_PC;
|
||||
|
||||
if ( minx->interrupt_pending )
|
||||
if ( m_interrupt_pending )
|
||||
{
|
||||
minx->halted = 0;
|
||||
if ( ! ( minx->F & 0xc0 ) && minx->U == minx->V )
|
||||
m_halted = 0;
|
||||
if ( ! ( m_F & 0xc0 ) && m_U == m_V )
|
||||
{
|
||||
//logerror("minx_execute(): taking IRQ\n");
|
||||
PUSH8( minx, minx->V );
|
||||
PUSH16( minx, minx->PC );
|
||||
PUSH8( minx, minx->F );
|
||||
PUSH8( m_V );
|
||||
PUSH16( m_PC );
|
||||
PUSH8( m_F );
|
||||
|
||||
/* Set Interrupt Branch flag */
|
||||
minx->F |= 0x80;
|
||||
minx->V = 0;
|
||||
minx->PC = rd16( minx, minx->irq_callback( minx->device, 0 ) << 1 );
|
||||
minx->icount -= 28; /* This cycle count is a guess */
|
||||
m_F |= 0x80;
|
||||
m_V = 0;
|
||||
m_PC = rd16( standard_irq_callback( 0 ) << 1 );
|
||||
m_icount -= 28; /* This cycle count is a guess */
|
||||
}
|
||||
}
|
||||
|
||||
if ( minx->halted )
|
||||
if ( m_halted )
|
||||
{
|
||||
minx->icount -= insnminx_cycles_CE[0xAE];
|
||||
m_icount -= insnminx_cycles_CE[0xAE];
|
||||
}
|
||||
else
|
||||
{
|
||||
op = rdop(minx);
|
||||
insnminx[op](minx);
|
||||
minx->icount -= insnminx_cycles[op];
|
||||
op = rdop();
|
||||
(this->*insnminx[op])();
|
||||
m_icount -= insnminx_cycles[op];
|
||||
}
|
||||
} while ( minx->icount > 0 );
|
||||
} while ( m_icount > 0 );
|
||||
}
|
||||
|
||||
|
||||
static CPU_BURN( minx )
|
||||
{
|
||||
minx_state *minx = get_safe_token(device);
|
||||
minx->icount = 0;
|
||||
}
|
||||
|
||||
|
||||
static unsigned minx_get_reg( minx_state *minx, int regnum )
|
||||
{
|
||||
switch( regnum )
|
||||
{
|
||||
case STATE_GENPC: return GET_MINX_PC;
|
||||
case MINX_PC: return minx->PC;
|
||||
case STATE_GENSP:
|
||||
case MINX_SP: return minx->SP;
|
||||
case MINX_BA: return minx->BA;
|
||||
case MINX_HL: return minx->HL;
|
||||
case MINX_X: return minx->X;
|
||||
case MINX_Y: return minx->Y;
|
||||
case MINX_U: return minx->U;
|
||||
case MINX_V: return minx->V;
|
||||
case MINX_F: return minx->F;
|
||||
case MINX_E: return minx->E;
|
||||
case MINX_N: return minx->N;
|
||||
case MINX_I: return minx->I;
|
||||
case MINX_XI: return minx->XI;
|
||||
case MINX_YI: return minx->YI;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static void minx_set_reg( minx_state *minx, int regnum, unsigned val )
|
||||
{
|
||||
switch( regnum )
|
||||
{
|
||||
case STATE_GENPC: break;
|
||||
case MINX_PC: minx->PC = val; break;
|
||||
case STATE_GENSP:
|
||||
case MINX_SP: minx->SP = val; break;
|
||||
case MINX_BA: minx->BA = val; break;
|
||||
case MINX_HL: minx->HL = val; break;
|
||||
case MINX_X: minx->X = val; break;
|
||||
case MINX_Y: minx->Y = val; break;
|
||||
case MINX_U: minx->U = val; break;
|
||||
case MINX_V: minx->V = val; break;
|
||||
case MINX_F: minx->F = val; break;
|
||||
case MINX_E: minx->E = val; break;
|
||||
case MINX_N: minx->N = val; break;
|
||||
case MINX_I: minx->I = val; break;
|
||||
case MINX_XI: minx->XI = val; break;
|
||||
case MINX_YI: minx->YI = val; break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static void minx_set_irq_line( minx_state *minx, int irqline, int state )
|
||||
void minx_cpu_device::execute_set_input(int inputnum, int state)
|
||||
{
|
||||
if ( state == ASSERT_LINE )
|
||||
{
|
||||
minx->interrupt_pending = 1;
|
||||
m_interrupt_pending = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
minx->interrupt_pending = 0;
|
||||
m_interrupt_pending = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static CPU_SET_INFO( minx )
|
||||
offs_t minx_cpu_device::disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options)
|
||||
{
|
||||
minx_state *minx = get_safe_token(device);
|
||||
switch( state )
|
||||
{
|
||||
case CPUINFO_INT_INPUT_STATE + 0:
|
||||
minx_set_irq_line( minx, state - CPUINFO_INT_INPUT_STATE, info->i ); break;
|
||||
|
||||
case CPUINFO_INT_REGISTER + MINX_PC:
|
||||
case CPUINFO_INT_REGISTER + MINX_SP:
|
||||
case CPUINFO_INT_REGISTER + MINX_BA:
|
||||
case CPUINFO_INT_REGISTER + MINX_HL:
|
||||
case CPUINFO_INT_REGISTER + MINX_X:
|
||||
case CPUINFO_INT_REGISTER + MINX_Y:
|
||||
case CPUINFO_INT_REGISTER + MINX_U:
|
||||
case CPUINFO_INT_REGISTER + MINX_V:
|
||||
case CPUINFO_INT_REGISTER + MINX_F:
|
||||
case CPUINFO_INT_REGISTER + MINX_E:
|
||||
case CPUINFO_INT_REGISTER + MINX_N:
|
||||
case CPUINFO_INT_REGISTER + MINX_I:
|
||||
case CPUINFO_INT_REGISTER + MINX_XI:
|
||||
case CPUINFO_INT_REGISTER + MINX_YI:
|
||||
minx_set_reg( minx, state - CPUINFO_INT_REGISTER, info->i ); break;
|
||||
}
|
||||
extern CPU_DISASSEMBLE( minx );
|
||||
return CPU_DISASSEMBLE_NAME(minx)(this, buffer, pc, oprom, opram, options);
|
||||
}
|
||||
|
||||
|
||||
CPU_GET_INFO( minx )
|
||||
{
|
||||
minx_state *minx = (device != NULL && device->token() != NULL) ? get_safe_token(device) : NULL;
|
||||
switch( state )
|
||||
{
|
||||
case CPUINFO_INT_CONTEXT_SIZE: info->i = sizeof(minx_state); break;
|
||||
case CPUINFO_INT_INPUT_LINES: info->i = 1; break;
|
||||
case CPUINFO_INT_DEFAULT_IRQ_VECTOR: info->i = 0x00; break;
|
||||
case CPUINFO_INT_ENDIANNESS: info->i = ENDIANNESS_BIG; break;
|
||||
case CPUINFO_INT_CLOCK_MULTIPLIER: info->i = 1; break;
|
||||
case CPUINFO_INT_CLOCK_DIVIDER: info->i = 1; break;
|
||||
case CPUINFO_INT_MIN_INSTRUCTION_BYTES: info->i = 1; break;
|
||||
case CPUINFO_INT_MAX_INSTRUCTION_BYTES: info->i = 5; break;
|
||||
case CPUINFO_INT_MIN_CYCLES: info->i = 1; break;
|
||||
case CPUINFO_INT_MAX_CYCLES: info->i = 4; break;
|
||||
case CPUINFO_INT_DATABUS_WIDTH + AS_PROGRAM: info->i = 8; break;
|
||||
case CPUINFO_INT_ADDRBUS_WIDTH + AS_PROGRAM: info->i = 24; break;
|
||||
case CPUINFO_INT_ADDRBUS_SHIFT + AS_PROGRAM: info->i = 0; break;
|
||||
case CPUINFO_INT_DATABUS_WIDTH + AS_DATA: info->i = 0; break;
|
||||
case CPUINFO_INT_ADDRBUS_WIDTH + AS_DATA: info->i = 0; break;
|
||||
case CPUINFO_INT_ADDRBUS_SHIFT + AS_DATA: info->i = 0; break;
|
||||
case CPUINFO_INT_DATABUS_WIDTH + AS_IO: info->i = 0; break;
|
||||
case CPUINFO_INT_ADDRBUS_WIDTH + AS_IO: info->i = 0; break;
|
||||
case CPUINFO_INT_ADDRBUS_SHIFT + AS_IO: info->i = 0; break;
|
||||
case CPUINFO_INT_INPUT_STATE + 0: info->i = 0; break;
|
||||
case CPUINFO_INT_REGISTER + STATE_GENPC: info->i = GET_MINX_PC; break;
|
||||
case CPUINFO_INT_REGISTER + STATE_GENSP:
|
||||
case CPUINFO_INT_REGISTER + MINX_PC:
|
||||
case CPUINFO_INT_REGISTER + MINX_SP:
|
||||
case CPUINFO_INT_REGISTER + MINX_BA:
|
||||
case CPUINFO_INT_REGISTER + MINX_HL:
|
||||
case CPUINFO_INT_REGISTER + MINX_X:
|
||||
case CPUINFO_INT_REGISTER + MINX_Y:
|
||||
case CPUINFO_INT_REGISTER + MINX_U:
|
||||
case CPUINFO_INT_REGISTER + MINX_V:
|
||||
case CPUINFO_INT_REGISTER + MINX_F:
|
||||
case CPUINFO_INT_REGISTER + MINX_E:
|
||||
case CPUINFO_INT_REGISTER + MINX_N:
|
||||
case CPUINFO_INT_REGISTER + MINX_I:
|
||||
case CPUINFO_INT_REGISTER + MINX_XI:
|
||||
case CPUINFO_INT_REGISTER + MINX_YI: info->i = minx_get_reg( minx, state - CPUINFO_INT_REGISTER ); break;
|
||||
case CPUINFO_INT_PREVIOUSPC: info->i = 0x0000; break;
|
||||
case CPUINFO_FCT_SET_INFO: info->setinfo = CPU_SET_INFO_NAME(minx); break;
|
||||
case CPUINFO_FCT_INIT: info->init = CPU_INIT_NAME(minx); break;
|
||||
case CPUINFO_FCT_RESET: info->reset = CPU_RESET_NAME(minx); break;
|
||||
case CPUINFO_FCT_EXIT: info->exit = CPU_EXIT_NAME(minx); break;
|
||||
case CPUINFO_FCT_EXECUTE: info->execute = CPU_EXECUTE_NAME(minx); break;
|
||||
case CPUINFO_FCT_BURN: info->burn = CPU_BURN_NAME(minx); break;
|
||||
case CPUINFO_FCT_DISASSEMBLE: info->disassemble = CPU_DISASSEMBLE_NAME(minx); break;
|
||||
case CPUINFO_PTR_INSTRUCTION_COUNTER: info->icount = &minx->icount; break;
|
||||
case CPUINFO_STR_NAME: strcpy( info->s, "Minx" ); break;
|
||||
case CPUINFO_STR_FAMILY: strcpy( info->s, "Nintendo Minx" ); break;
|
||||
case CPUINFO_STR_VERSION: strcpy( info->s, "0.1" ); break;
|
||||
case CPUINFO_STR_SOURCE_FILE: strcpy( info->s, __FILE__ ); break;
|
||||
case CPUINFO_STR_CREDITS: strcpy( info->s, "Copyright The MESS Team." ); break;
|
||||
case CPUINFO_STR_FLAGS:
|
||||
sprintf( info->s, "%c%c%c%c%c%c%c%c-%c%c%c%c%c",
|
||||
minx->F & FLAG_I ? 'I' : '.',
|
||||
minx->F & FLAG_D ? 'D' : '.',
|
||||
minx->F & FLAG_L ? 'L' : '.',
|
||||
minx->F & FLAG_B ? 'B' : '.',
|
||||
minx->F & FLAG_S ? 'S' : '.',
|
||||
minx->F & FLAG_O ? 'O' : '.',
|
||||
minx->F & FLAG_C ? 'C' : '.',
|
||||
minx->F & FLAG_Z ? 'Z' : '.',
|
||||
minx->E & EXEC_X0 ? '0' : '.',
|
||||
minx->E & EXEC_X1 ? '1' : '.',
|
||||
minx->E & EXEC_X2 ? '2' : '.',
|
||||
minx->E & EXEC_DZ ? 'z' : '.',
|
||||
minx->E & EXEC_EN ? 'E' : '.' );
|
||||
break;
|
||||
case CPUINFO_STR_REGISTER + MINX_PC: sprintf( info->s, "PC:%04X", minx->PC ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_SP: sprintf( info->s, "SP:%04X", minx->SP ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_BA: sprintf( info->s, "BA:%04X", minx->BA ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_HL: sprintf( info->s, "HL:%04X", minx->HL ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_X: sprintf( info->s, "X:%04X", minx->X ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_Y: sprintf( info->s, "Y:%04X", minx->Y ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_U: sprintf( info->s, "U:%02X", minx->U ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_V: sprintf( info->s, "V:%02X", minx->V ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_F: sprintf( info->s, "F:%02X", minx->F ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_E: sprintf( info->s, "E:%02X", minx->E ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_N: sprintf( info->s, "N:%02X", minx->N ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_I: sprintf( info->s, "I:%02X", minx->I ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_XI: sprintf( info->s, "XI:%02X", minx->XI ); break;
|
||||
case CPUINFO_STR_REGISTER + MINX_YI: sprintf( info->s, "YI:%02X", minx->YI ); break;
|
||||
}
|
||||
}
|
||||
|
||||
DEFINE_LEGACY_CPU_DEVICE(MINX, minx);
|
||||
|
@ -11,8 +11,882 @@ enum
|
||||
MINX_XI, MINX_YI,
|
||||
};
|
||||
|
||||
DECLARE_LEGACY_CPU_DEVICE(MINX, minx);
|
||||
|
||||
extern CPU_DISASSEMBLE( minx );
|
||||
class minx_cpu_device : public cpu_device
|
||||
{
|
||||
public:
|
||||
// construction/destruction
|
||||
minx_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start();
|
||||
virtual void device_reset();
|
||||
|
||||
// device_execute_interface overrides
|
||||
virtual UINT32 execute_min_cycles() const { return 1; }
|
||||
virtual UINT32 execute_max_cycles() const { return 4; }
|
||||
virtual UINT32 execute_input_lines() const { return 1; }
|
||||
virtual void execute_run();
|
||||
virtual void execute_set_input(int inputnum, int state);
|
||||
|
||||
// device_memory_interface overrides
|
||||
virtual const address_space_config *memory_space_config(address_spacenum spacenum = AS_0) const { return (spacenum == AS_PROGRAM) ? &m_program_config : NULL; }
|
||||
|
||||
// device_state_interface overrides
|
||||
void state_string_export(const device_state_entry &entry, astring &string);
|
||||
|
||||
// device_disasm_interface overrides
|
||||
virtual UINT32 disasm_min_opcode_bytes() const { return 1; }
|
||||
virtual UINT32 disasm_max_opcode_bytes() const { return 5; }
|
||||
virtual offs_t disasm_disassemble(char *buffer, offs_t pc, const UINT8 *oprom, const UINT8 *opram, UINT32 options);
|
||||
|
||||
private:
|
||||
address_space_config m_program_config;
|
||||
|
||||
UINT16 m_PC;
|
||||
UINT16 m_SP;
|
||||
UINT16 m_BA;
|
||||
UINT16 m_HL;
|
||||
UINT16 m_X;
|
||||
UINT16 m_Y;
|
||||
UINT8 m_U;
|
||||
UINT8 m_V;
|
||||
UINT8 m_F;
|
||||
UINT8 m_E;
|
||||
UINT8 m_N;
|
||||
UINT8 m_I;
|
||||
UINT8 m_XI;
|
||||
UINT8 m_YI;
|
||||
UINT8 m_halted;
|
||||
UINT8 m_interrupt_pending;
|
||||
address_space *m_program;
|
||||
int m_icount;
|
||||
// For debugger
|
||||
UINT32 m_curpc;
|
||||
UINT16 m_flags;
|
||||
|
||||
UINT16 rd16( UINT32 offset );
|
||||
void wr16( UINT32 offset, UINT16 data );
|
||||
UINT8 rdop();
|
||||
UINT16 rdop16();
|
||||
UINT8 ADD8( UINT8 arg1, UINT8 arg2 );
|
||||
UINT16 ADD16( UINT16 arg1, UINT16 arg2 );
|
||||
UINT8 ADDC8( UINT8 arg1, UINT8 arg2 );
|
||||
UINT16 ADDC16( UINT16 arg1, UINT16 arg2 );
|
||||
UINT8 INC8( UINT8 arg );
|
||||
UINT16 INC16( UINT16 arg );
|
||||
UINT8 SUB8( UINT8 arg1, UINT8 arg2 );
|
||||
UINT16 SUB16( UINT16 arg1, UINT16 arg2 );
|
||||
UINT8 SUBC8( UINT8 arg1, UINT8 arg2 );
|
||||
UINT16 SUBC16( UINT16 arg1, UINT16 arg2 );
|
||||
UINT8 DEC8( UINT8 arg );
|
||||
UINT16 DEC16( UINT16 arg );
|
||||
UINT8 AND8( UINT8 arg1, UINT8 arg2 );
|
||||
UINT8 OR8( UINT8 arg1, UINT8 arg2 );
|
||||
UINT8 XOR8( UINT8 arg1, UINT8 arg2 );
|
||||
UINT8 NOT8( UINT8 arg );
|
||||
UINT8 NEG8( UINT8 arg );
|
||||
UINT8 SAL8( UINT8 arg );
|
||||
UINT8 SAR8( UINT8 arg );
|
||||
UINT8 SHL8( UINT8 arg );
|
||||
UINT8 SHR8( UINT8 arg );
|
||||
UINT8 ROLC8( UINT8 arg );
|
||||
UINT8 RORC8( UINT8 arg );
|
||||
UINT8 ROL8( UINT8 arg );
|
||||
UINT8 ROR8( UINT8 arg );
|
||||
void PUSH8( UINT8 arg );
|
||||
void PUSH16( UINT16 arg );
|
||||
UINT8 POP8();
|
||||
UINT16 POP16();
|
||||
void JMP( UINT16 arg );
|
||||
void CALL( UINT16 arg );
|
||||
|
||||
void minx_00();
|
||||
void minx_01();
|
||||
void minx_02();
|
||||
void minx_03();
|
||||
void minx_04();
|
||||
void minx_05();
|
||||
void minx_06();
|
||||
void minx_07();
|
||||
void minx_08();
|
||||
void minx_09();
|
||||
void minx_0A();
|
||||
void minx_0B();
|
||||
void minx_0C();
|
||||
void minx_0D();
|
||||
void minx_0E();
|
||||
void minx_0F();
|
||||
void minx_10();
|
||||
void minx_11();
|
||||
void minx_12();
|
||||
void minx_13();
|
||||
void minx_14();
|
||||
void minx_15();
|
||||
void minx_16();
|
||||
void minx_17();
|
||||
void minx_18();
|
||||
void minx_19();
|
||||
void minx_1A();
|
||||
void minx_1B();
|
||||
void minx_1C();
|
||||
void minx_1D();
|
||||
void minx_1E();
|
||||
void minx_1F();
|
||||
void minx_20();
|
||||
void minx_21();
|
||||
void minx_22();
|
||||
void minx_23();
|
||||
void minx_24();
|
||||
void minx_25();
|
||||
void minx_26();
|
||||
void minx_27();
|
||||
void minx_28();
|
||||
void minx_29();
|
||||
void minx_2A();
|
||||
void minx_2B();
|
||||
void minx_2C();
|
||||
void minx_2D();
|
||||
void minx_2E();
|
||||
void minx_2F();
|
||||
void minx_30();
|
||||
void minx_31();
|
||||
void minx_32();
|
||||
void minx_33();
|
||||
void minx_34();
|
||||
void minx_35();
|
||||
void minx_36();
|
||||
void minx_37();
|
||||
void minx_38();
|
||||
void minx_39();
|
||||
void minx_3A();
|
||||
void minx_3B();
|
||||
void minx_3C();
|
||||
void minx_3D();
|
||||
void minx_3E();
|
||||
void minx_3F();
|
||||
void minx_40();
|
||||
void minx_41();
|
||||
void minx_42();
|
||||
void minx_43();
|
||||
void minx_44();
|
||||
void minx_45();
|
||||
void minx_46();
|
||||
void minx_47();
|
||||
void minx_48();
|
||||
void minx_49();
|
||||
void minx_4A();
|
||||
void minx_4B();
|
||||
void minx_4C();
|
||||
void minx_4D();
|
||||
void minx_4E();
|
||||
void minx_4F();
|
||||
void minx_50();
|
||||
void minx_51();
|
||||
void minx_52();
|
||||
void minx_53();
|
||||
void minx_54();
|
||||
void minx_55();
|
||||
void minx_56();
|
||||
void minx_57();
|
||||
void minx_58();
|
||||
void minx_59();
|
||||
void minx_5A();
|
||||
void minx_5B();
|
||||
void minx_5C();
|
||||
void minx_5D();
|
||||
void minx_5E();
|
||||
void minx_5F();
|
||||
void minx_60();
|
||||
void minx_61();
|
||||
void minx_62();
|
||||
void minx_63();
|
||||
void minx_64();
|
||||
void minx_65();
|
||||
void minx_66();
|
||||
void minx_67();
|
||||
void minx_68();
|
||||
void minx_69();
|
||||
void minx_6A();
|
||||
void minx_6B();
|
||||
void minx_6C();
|
||||
void minx_6D();
|
||||
void minx_6E();
|
||||
void minx_6F();
|
||||
void minx_70();
|
||||
void minx_71();
|
||||
void minx_72();
|
||||
void minx_73();
|
||||
void minx_74();
|
||||
void minx_75();
|
||||
void minx_76();
|
||||
void minx_77();
|
||||
void minx_78();
|
||||
void minx_79();
|
||||
void minx_7A();
|
||||
void minx_7B();
|
||||
void minx_7C();
|
||||
void minx_7D();
|
||||
void minx_7E();
|
||||
void minx_7F();
|
||||
void minx_80();
|
||||
void minx_81();
|
||||
void minx_82();
|
||||
void minx_83();
|
||||
void minx_84();
|
||||
void minx_85();
|
||||
void minx_86();
|
||||
void minx_87();
|
||||
void minx_88();
|
||||
void minx_89();
|
||||
void minx_8A();
|
||||
void minx_8B();
|
||||
void minx_8C();
|
||||
void minx_8D();
|
||||
void minx_8E();
|
||||
void minx_8F();
|
||||
void minx_90();
|
||||
void minx_91();
|
||||
void minx_92();
|
||||
void minx_93();
|
||||
void minx_94();
|
||||
void minx_95();
|
||||
void minx_96();
|
||||
void minx_97();
|
||||
void minx_98();
|
||||
void minx_99();
|
||||
void minx_9A();
|
||||
void minx_9B();
|
||||
void minx_9C();
|
||||
void minx_9D();
|
||||
void minx_9E();
|
||||
void minx_9F();
|
||||
void minx_A0();
|
||||
void minx_A1();
|
||||
void minx_A2();
|
||||
void minx_A3();
|
||||
void minx_A4();
|
||||
void minx_A5();
|
||||
void minx_A6();
|
||||
void minx_A7();
|
||||
void minx_A8();
|
||||
void minx_A9();
|
||||
void minx_AA();
|
||||
void minx_AB();
|
||||
void minx_AC();
|
||||
void minx_AD();
|
||||
void minx_AE();
|
||||
void minx_AF();
|
||||
void minx_B0();
|
||||
void minx_B1();
|
||||
void minx_B2();
|
||||
void minx_B3();
|
||||
void minx_B4();
|
||||
void minx_B5();
|
||||
void minx_B6();
|
||||
void minx_B7();
|
||||
void minx_B8();
|
||||
void minx_B9();
|
||||
void minx_BA();
|
||||
void minx_BB();
|
||||
void minx_BC();
|
||||
void minx_BD();
|
||||
void minx_BE();
|
||||
void minx_BF();
|
||||
void minx_C0();
|
||||
void minx_C1();
|
||||
void minx_C2();
|
||||
void minx_C3();
|
||||
void minx_C4();
|
||||
void minx_C5();
|
||||
void minx_C6();
|
||||
void minx_C7();
|
||||
void minx_C8();
|
||||
void minx_C9();
|
||||
void minx_CA();
|
||||
void minx_CB();
|
||||
void minx_CC();
|
||||
void minx_CD();
|
||||
void minx_CE();
|
||||
void minx_CF();
|
||||
void minx_D0();
|
||||
void minx_D1();
|
||||
void minx_D2();
|
||||
void minx_D3();
|
||||
void minx_D4();
|
||||
void minx_D5();
|
||||
void minx_D6();
|
||||
void minx_D7();
|
||||
void minx_D8();
|
||||
void minx_D9();
|
||||
void minx_DA();
|
||||
void minx_DB();
|
||||
void minx_DC();
|
||||
void minx_DD();
|
||||
void minx_DE();
|
||||
void minx_DF();
|
||||
void minx_E0();
|
||||
void minx_E1();
|
||||
void minx_E2();
|
||||
void minx_E3();
|
||||
void minx_E4();
|
||||
void minx_E5();
|
||||
void minx_E6();
|
||||
void minx_E7();
|
||||
void minx_E8();
|
||||
void minx_E9();
|
||||
void minx_EA();
|
||||
void minx_EB();
|
||||
void minx_EC();
|
||||
void minx_ED();
|
||||
void minx_EE();
|
||||
void minx_EF();
|
||||
void minx_F0();
|
||||
void minx_F1();
|
||||
void minx_F2();
|
||||
void minx_F3();
|
||||
void minx_F4();
|
||||
void minx_F5();
|
||||
void minx_F6();
|
||||
void minx_F7();
|
||||
void minx_F8();
|
||||
void minx_F9();
|
||||
void minx_FA();
|
||||
void minx_FB();
|
||||
void minx_FC();
|
||||
void minx_FD();
|
||||
void minx_FE();
|
||||
void minx_FF();
|
||||
|
||||
void minx_CE_00();
|
||||
void minx_CE_01();
|
||||
void minx_CE_02();
|
||||
void minx_CE_03();
|
||||
void minx_CE_04();
|
||||
void minx_CE_05();
|
||||
void minx_CE_06();
|
||||
void minx_CE_07();
|
||||
void minx_CE_08();
|
||||
void minx_CE_09();
|
||||
void minx_CE_0A();
|
||||
void minx_CE_0B();
|
||||
void minx_CE_0C();
|
||||
void minx_CE_0D();
|
||||
void minx_CE_0E();
|
||||
void minx_CE_0F();
|
||||
void minx_CE_10();
|
||||
void minx_CE_11();
|
||||
void minx_CE_12();
|
||||
void minx_CE_13();
|
||||
void minx_CE_14();
|
||||
void minx_CE_15();
|
||||
void minx_CE_16();
|
||||
void minx_CE_17();
|
||||
void minx_CE_18();
|
||||
void minx_CE_19();
|
||||
void minx_CE_1A();
|
||||
void minx_CE_1B();
|
||||
void minx_CE_1C();
|
||||
void minx_CE_1D();
|
||||
void minx_CE_1E();
|
||||
void minx_CE_1F();
|
||||
void minx_CE_20();
|
||||
void minx_CE_21();
|
||||
void minx_CE_22();
|
||||
void minx_CE_23();
|
||||
void minx_CE_24();
|
||||
void minx_CE_25();
|
||||
void minx_CE_26();
|
||||
void minx_CE_27();
|
||||
void minx_CE_28();
|
||||
void minx_CE_29();
|
||||
void minx_CE_2A();
|
||||
void minx_CE_2B();
|
||||
void minx_CE_2C();
|
||||
void minx_CE_2D();
|
||||
void minx_CE_2E();
|
||||
void minx_CE_2F();
|
||||
void minx_CE_30();
|
||||
void minx_CE_31();
|
||||
void minx_CE_32();
|
||||
void minx_CE_33();
|
||||
void minx_CE_34();
|
||||
void minx_CE_35();
|
||||
void minx_CE_36();
|
||||
void minx_CE_37();
|
||||
void minx_CE_38();
|
||||
void minx_CE_39();
|
||||
void minx_CE_3A();
|
||||
void minx_CE_3B();
|
||||
void minx_CE_3C();
|
||||
void minx_CE_3D();
|
||||
void minx_CE_3E();
|
||||
void minx_CE_3F();
|
||||
void minx_CE_40();
|
||||
void minx_CE_41();
|
||||
void minx_CE_42();
|
||||
void minx_CE_43();
|
||||
void minx_CE_44();
|
||||
void minx_CE_45();
|
||||
void minx_CE_46();
|
||||
void minx_CE_47();
|
||||
void minx_CE_48();
|
||||
void minx_CE_49();
|
||||
void minx_CE_4A();
|
||||
void minx_CE_4B();
|
||||
void minx_CE_4C();
|
||||
void minx_CE_4D();
|
||||
void minx_CE_4E();
|
||||
void minx_CE_4F();
|
||||
void minx_CE_50();
|
||||
void minx_CE_51();
|
||||
void minx_CE_52();
|
||||
void minx_CE_53();
|
||||
void minx_CE_54();
|
||||
void minx_CE_55();
|
||||
void minx_CE_56();
|
||||
void minx_CE_57();
|
||||
void minx_CE_58();
|
||||
void minx_CE_59();
|
||||
void minx_CE_5A();
|
||||
void minx_CE_5B();
|
||||
void minx_CE_5C();
|
||||
void minx_CE_5D();
|
||||
void minx_CE_5E();
|
||||
void minx_CE_5F();
|
||||
void minx_CE_60();
|
||||
void minx_CE_61();
|
||||
void minx_CE_62();
|
||||
void minx_CE_63();
|
||||
void minx_CE_64();
|
||||
void minx_CE_65();
|
||||
void minx_CE_66();
|
||||
void minx_CE_67();
|
||||
void minx_CE_68();
|
||||
void minx_CE_69();
|
||||
void minx_CE_6A();
|
||||
void minx_CE_6B();
|
||||
void minx_CE_6C();
|
||||
void minx_CE_6D();
|
||||
void minx_CE_6E();
|
||||
void minx_CE_6F();
|
||||
void minx_CE_70();
|
||||
void minx_CE_71();
|
||||
void minx_CE_72();
|
||||
void minx_CE_73();
|
||||
void minx_CE_74();
|
||||
void minx_CE_75();
|
||||
void minx_CE_76();
|
||||
void minx_CE_77();
|
||||
void minx_CE_78();
|
||||
void minx_CE_79();
|
||||
void minx_CE_7A();
|
||||
void minx_CE_7B();
|
||||
void minx_CE_7C();
|
||||
void minx_CE_7D();
|
||||
void minx_CE_7E();
|
||||
void minx_CE_7F();
|
||||
void minx_CE_80();
|
||||
void minx_CE_81();
|
||||
void minx_CE_82();
|
||||
void minx_CE_83();
|
||||
void minx_CE_84();
|
||||
void minx_CE_85();
|
||||
void minx_CE_86();
|
||||
void minx_CE_87();
|
||||
void minx_CE_88();
|
||||
void minx_CE_89();
|
||||
void minx_CE_8A();
|
||||
void minx_CE_8B();
|
||||
void minx_CE_8C();
|
||||
void minx_CE_8D();
|
||||
void minx_CE_8E();
|
||||
void minx_CE_8F();
|
||||
void minx_CE_90();
|
||||
void minx_CE_91();
|
||||
void minx_CE_92();
|
||||
void minx_CE_93();
|
||||
void minx_CE_94();
|
||||
void minx_CE_95();
|
||||
void minx_CE_96();
|
||||
void minx_CE_97();
|
||||
void minx_CE_98();
|
||||
void minx_CE_99();
|
||||
void minx_CE_9A();
|
||||
void minx_CE_9B();
|
||||
void minx_CE_9C();
|
||||
void minx_CE_9D();
|
||||
void minx_CE_9E();
|
||||
void minx_CE_9F();
|
||||
void minx_CE_A0();
|
||||
void minx_CE_A1();
|
||||
void minx_CE_A2();
|
||||
void minx_CE_A3();
|
||||
void minx_CE_A4();
|
||||
void minx_CE_A5();
|
||||
void minx_CE_A6();
|
||||
void minx_CE_A7();
|
||||
void minx_CE_A8();
|
||||
void minx_CE_A9();
|
||||
void minx_CE_AA();
|
||||
void minx_CE_AB();
|
||||
void minx_CE_AC();
|
||||
void minx_CE_AD();
|
||||
void minx_CE_AE();
|
||||
void minx_CE_AF();
|
||||
void minx_CE_B0();
|
||||
void minx_CE_B1();
|
||||
void minx_CE_B2();
|
||||
void minx_CE_B3();
|
||||
void minx_CE_B4();
|
||||
void minx_CE_B5();
|
||||
void minx_CE_B6();
|
||||
void minx_CE_B7();
|
||||
void minx_CE_B8();
|
||||
void minx_CE_B9();
|
||||
void minx_CE_BA();
|
||||
void minx_CE_BB();
|
||||
void minx_CE_BC();
|
||||
void minx_CE_BD();
|
||||
void minx_CE_BE();
|
||||
void minx_CE_BF();
|
||||
void minx_CE_C0();
|
||||
void minx_CE_C1();
|
||||
void minx_CE_C2();
|
||||
void minx_CE_C3();
|
||||
void minx_CE_C4();
|
||||
void minx_CE_C5();
|
||||
void minx_CE_C6();
|
||||
void minx_CE_C7();
|
||||
void minx_CE_C8();
|
||||
void minx_CE_C9();
|
||||
void minx_CE_CA();
|
||||
void minx_CE_CB();
|
||||
void minx_CE_CC();
|
||||
void minx_CE_CD();
|
||||
void minx_CE_CE();
|
||||
void minx_CE_CF();
|
||||
void minx_CE_D0();
|
||||
void minx_CE_D1();
|
||||
void minx_CE_D2();
|
||||
void minx_CE_D3();
|
||||
void minx_CE_D4();
|
||||
void minx_CE_D5();
|
||||
void minx_CE_D6();
|
||||
void minx_CE_D7();
|
||||
void minx_CE_D8();
|
||||
void minx_CE_D9();
|
||||
void minx_CE_DA();
|
||||
void minx_CE_DB();
|
||||
void minx_CE_DC();
|
||||
void minx_CE_DD();
|
||||
void minx_CE_DE();
|
||||
void minx_CE_DF();
|
||||
void minx_CE_E0();
|
||||
void minx_CE_E1();
|
||||
void minx_CE_E2();
|
||||
void minx_CE_E3();
|
||||
void minx_CE_E4();
|
||||
void minx_CE_E5();
|
||||
void minx_CE_E6();
|
||||
void minx_CE_E7();
|
||||
void minx_CE_E8();
|
||||
void minx_CE_E9();
|
||||
void minx_CE_EA();
|
||||
void minx_CE_EB();
|
||||
void minx_CE_EC();
|
||||
void minx_CE_ED();
|
||||
void minx_CE_EE();
|
||||
void minx_CE_EF();
|
||||
void minx_CE_F0();
|
||||
void minx_CE_F1();
|
||||
void minx_CE_F2();
|
||||
void minx_CE_F3();
|
||||
void minx_CE_F4();
|
||||
void minx_CE_F5();
|
||||
void minx_CE_F6();
|
||||
void minx_CE_F7();
|
||||
void minx_CE_F8();
|
||||
void minx_CE_F9();
|
||||
void minx_CE_FA();
|
||||
void minx_CE_FB();
|
||||
void minx_CE_FC();
|
||||
void minx_CE_FD();
|
||||
void minx_CE_FE();
|
||||
void minx_CE_FF();
|
||||
|
||||
void minx_CF_00();
|
||||
void minx_CF_01();
|
||||
void minx_CF_02();
|
||||
void minx_CF_03();
|
||||
void minx_CF_04();
|
||||
void minx_CF_05();
|
||||
void minx_CF_06();
|
||||
void minx_CF_07();
|
||||
void minx_CF_08();
|
||||
void minx_CF_09();
|
||||
void minx_CF_0A();
|
||||
void minx_CF_0B();
|
||||
void minx_CF_0C();
|
||||
void minx_CF_0D();
|
||||
void minx_CF_0E();
|
||||
void minx_CF_0F();
|
||||
void minx_CF_10();
|
||||
void minx_CF_11();
|
||||
void minx_CF_12();
|
||||
void minx_CF_13();
|
||||
void minx_CF_14();
|
||||
void minx_CF_15();
|
||||
void minx_CF_16();
|
||||
void minx_CF_17();
|
||||
void minx_CF_18();
|
||||
void minx_CF_19();
|
||||
void minx_CF_1A();
|
||||
void minx_CF_1B();
|
||||
void minx_CF_1C();
|
||||
void minx_CF_1D();
|
||||
void minx_CF_1E();
|
||||
void minx_CF_1F();
|
||||
void minx_CF_20();
|
||||
void minx_CF_21();
|
||||
void minx_CF_22();
|
||||
void minx_CF_23();
|
||||
void minx_CF_24();
|
||||
void minx_CF_25();
|
||||
void minx_CF_26();
|
||||
void minx_CF_27();
|
||||
void minx_CF_28();
|
||||
void minx_CF_29();
|
||||
void minx_CF_2A();
|
||||
void minx_CF_2B();
|
||||
void minx_CF_2C();
|
||||
void minx_CF_2D();
|
||||
void minx_CF_2E();
|
||||
void minx_CF_2F();
|
||||
void minx_CF_30();
|
||||
void minx_CF_31();
|
||||
void minx_CF_32();
|
||||
void minx_CF_33();
|
||||
void minx_CF_34();
|
||||
void minx_CF_35();
|
||||
void minx_CF_36();
|
||||
void minx_CF_37();
|
||||
void minx_CF_38();
|
||||
void minx_CF_39();
|
||||
void minx_CF_3A();
|
||||
void minx_CF_3B();
|
||||
void minx_CF_3C();
|
||||
void minx_CF_3D();
|
||||
void minx_CF_3E();
|
||||
void minx_CF_3F();
|
||||
void minx_CF_40();
|
||||
void minx_CF_41();
|
||||
void minx_CF_42();
|
||||
void minx_CF_43();
|
||||
void minx_CF_44();
|
||||
void minx_CF_45();
|
||||
void minx_CF_46();
|
||||
void minx_CF_47();
|
||||
void minx_CF_48();
|
||||
void minx_CF_49();
|
||||
void minx_CF_4A();
|
||||
void minx_CF_4B();
|
||||
void minx_CF_4C();
|
||||
void minx_CF_4D();
|
||||
void minx_CF_4E();
|
||||
void minx_CF_4F();
|
||||
void minx_CF_50();
|
||||
void minx_CF_51();
|
||||
void minx_CF_52();
|
||||
void minx_CF_53();
|
||||
void minx_CF_54();
|
||||
void minx_CF_55();
|
||||
void minx_CF_56();
|
||||
void minx_CF_57();
|
||||
void minx_CF_58();
|
||||
void minx_CF_59();
|
||||
void minx_CF_5A();
|
||||
void minx_CF_5B();
|
||||
void minx_CF_5C();
|
||||
void minx_CF_5D();
|
||||
void minx_CF_5E();
|
||||
void minx_CF_5F();
|
||||
void minx_CF_60();
|
||||
void minx_CF_61();
|
||||
void minx_CF_62();
|
||||
void minx_CF_63();
|
||||
void minx_CF_64();
|
||||
void minx_CF_65();
|
||||
void minx_CF_66();
|
||||
void minx_CF_67();
|
||||
void minx_CF_68();
|
||||
void minx_CF_69();
|
||||
void minx_CF_6A();
|
||||
void minx_CF_6B();
|
||||
void minx_CF_6C();
|
||||
void minx_CF_6D();
|
||||
void minx_CF_6E();
|
||||
void minx_CF_6F();
|
||||
void minx_CF_70();
|
||||
void minx_CF_71();
|
||||
void minx_CF_72();
|
||||
void minx_CF_73();
|
||||
void minx_CF_74();
|
||||
void minx_CF_75();
|
||||
void minx_CF_76();
|
||||
void minx_CF_77();
|
||||
void minx_CF_78();
|
||||
void minx_CF_79();
|
||||
void minx_CF_7A();
|
||||
void minx_CF_7B();
|
||||
void minx_CF_7C();
|
||||
void minx_CF_7D();
|
||||
void minx_CF_7E();
|
||||
void minx_CF_7F();
|
||||
void minx_CF_80();
|
||||
void minx_CF_81();
|
||||
void minx_CF_82();
|
||||
void minx_CF_83();
|
||||
void minx_CF_84();
|
||||
void minx_CF_85();
|
||||
void minx_CF_86();
|
||||
void minx_CF_87();
|
||||
void minx_CF_88();
|
||||
void minx_CF_89();
|
||||
void minx_CF_8A();
|
||||
void minx_CF_8B();
|
||||
void minx_CF_8C();
|
||||
void minx_CF_8D();
|
||||
void minx_CF_8E();
|
||||
void minx_CF_8F();
|
||||
void minx_CF_90();
|
||||
void minx_CF_91();
|
||||
void minx_CF_92();
|
||||
void minx_CF_93();
|
||||
void minx_CF_94();
|
||||
void minx_CF_95();
|
||||
void minx_CF_96();
|
||||
void minx_CF_97();
|
||||
void minx_CF_98();
|
||||
void minx_CF_99();
|
||||
void minx_CF_9A();
|
||||
void minx_CF_9B();
|
||||
void minx_CF_9C();
|
||||
void minx_CF_9D();
|
||||
void minx_CF_9E();
|
||||
void minx_CF_9F();
|
||||
void minx_CF_A0();
|
||||
void minx_CF_A1();
|
||||
void minx_CF_A2();
|
||||
void minx_CF_A3();
|
||||
void minx_CF_A4();
|
||||
void minx_CF_A5();
|
||||
void minx_CF_A6();
|
||||
void minx_CF_A7();
|
||||
void minx_CF_A8();
|
||||
void minx_CF_A9();
|
||||
void minx_CF_AA();
|
||||
void minx_CF_AB();
|
||||
void minx_CF_AC();
|
||||
void minx_CF_AD();
|
||||
void minx_CF_AE();
|
||||
void minx_CF_AF();
|
||||
void minx_CF_B0();
|
||||
void minx_CF_B1();
|
||||
void minx_CF_B2();
|
||||
void minx_CF_B3();
|
||||
void minx_CF_B4();
|
||||
void minx_CF_B5();
|
||||
void minx_CF_B6();
|
||||
void minx_CF_B7();
|
||||
void minx_CF_B8();
|
||||
void minx_CF_B9();
|
||||
void minx_CF_BA();
|
||||
void minx_CF_BB();
|
||||
void minx_CF_BC();
|
||||
void minx_CF_BD();
|
||||
void minx_CF_BE();
|
||||
void minx_CF_BF();
|
||||
void minx_CF_C0();
|
||||
void minx_CF_C1();
|
||||
void minx_CF_C2();
|
||||
void minx_CF_C3();
|
||||
void minx_CF_C4();
|
||||
void minx_CF_C5();
|
||||
void minx_CF_C6();
|
||||
void minx_CF_C7();
|
||||
void minx_CF_C8();
|
||||
void minx_CF_C9();
|
||||
void minx_CF_CA();
|
||||
void minx_CF_CB();
|
||||
void minx_CF_CC();
|
||||
void minx_CF_CD();
|
||||
void minx_CF_CE();
|
||||
void minx_CF_CF();
|
||||
void minx_CF_D0();
|
||||
void minx_CF_D1();
|
||||
void minx_CF_D2();
|
||||
void minx_CF_D3();
|
||||
void minx_CF_D4();
|
||||
void minx_CF_D5();
|
||||
void minx_CF_D6();
|
||||
void minx_CF_D7();
|
||||
void minx_CF_D8();
|
||||
void minx_CF_D9();
|
||||
void minx_CF_DA();
|
||||
void minx_CF_DB();
|
||||
void minx_CF_DC();
|
||||
void minx_CF_DD();
|
||||
void minx_CF_DE();
|
||||
void minx_CF_DF();
|
||||
void minx_CF_E0();
|
||||
void minx_CF_E1();
|
||||
void minx_CF_E2();
|
||||
void minx_CF_E3();
|
||||
void minx_CF_E4();
|
||||
void minx_CF_E5();
|
||||
void minx_CF_E6();
|
||||
void minx_CF_E7();
|
||||
void minx_CF_E8();
|
||||
void minx_CF_E9();
|
||||
void minx_CF_EA();
|
||||
void minx_CF_EB();
|
||||
void minx_CF_EC();
|
||||
void minx_CF_ED();
|
||||
void minx_CF_EE();
|
||||
void minx_CF_EF();
|
||||
void minx_CF_F0();
|
||||
void minx_CF_F1();
|
||||
void minx_CF_F2();
|
||||
void minx_CF_F3();
|
||||
void minx_CF_F4();
|
||||
void minx_CF_F5();
|
||||
void minx_CF_F6();
|
||||
void minx_CF_F7();
|
||||
void minx_CF_F8();
|
||||
void minx_CF_F9();
|
||||
void minx_CF_FA();
|
||||
void minx_CF_FB();
|
||||
void minx_CF_FC();
|
||||
void minx_CF_FD();
|
||||
void minx_CF_FE();
|
||||
void minx_CF_FF();
|
||||
|
||||
typedef void (minx_cpu_device::*op_func)();
|
||||
static const op_func insnminx[256];
|
||||
static const int insnminx_cycles[256];
|
||||
|
||||
static const op_func insnminx_CE[256];
|
||||
static const int insnminx_cycles_CE[256];
|
||||
|
||||
static const op_func insnminx_CF[256];
|
||||
static const int insnminx_cycles_CF[256];
|
||||
|
||||
};
|
||||
|
||||
|
||||
extern const device_type MINX;
|
||||
|
||||
|
||||
#endif /* __MINX_H__ */
|
||||
|
@ -1,7 +1,7 @@
|
||||
INLINE UINT8 ADD8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
UINT8 minx_cpu_device::ADD8( UINT8 arg1, UINT8 arg2 )
|
||||
{
|
||||
UINT32 res = arg1 + arg2;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( ( arg2 ^ arg1 ^ 0x80 ) & ( arg2 ^ res ) & 0x80 ) ? FLAG_O : 0 )
|
||||
| ( ( res & 0xFF00 ) ? FLAG_C : 0 )
|
||||
@ -11,10 +11,10 @@ INLINE UINT8 ADD8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT16 ADD16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
|
||||
UINT16 minx_cpu_device::ADD16( UINT16 arg1, UINT16 arg2 )
|
||||
{
|
||||
UINT32 res = arg1 + arg2;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x8000 ) ? FLAG_S : 0 )
|
||||
| ( ( ( arg2 ^ arg1 ^ 0x8000 ) & ( arg2 ^ res ) & 0x8000 ) ? FLAG_O : 0 )
|
||||
| ( ( res & 0xFF0000 ) ? FLAG_C : 0 )
|
||||
@ -24,10 +24,10 @@ INLINE UINT16 ADD16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 ADDC8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
UINT8 minx_cpu_device::ADDC8( UINT8 arg1, UINT8 arg2 )
|
||||
{
|
||||
UINT32 res = arg1 + arg2 + ( ( minx->F & FLAG_C ) ? 1 : 0 );
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
UINT32 res = arg1 + arg2 + ( ( m_F & FLAG_C ) ? 1 : 0 );
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( ( arg2 ^ arg1 ^ 0x80 ) & ( arg2 ^ res ) & 0x80 ) ? FLAG_O : 0 )
|
||||
| ( ( res & 0xFF00 ) ? FLAG_C : 0 )
|
||||
@ -37,10 +37,10 @@ INLINE UINT8 ADDC8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT16 ADDC16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
|
||||
UINT16 minx_cpu_device::ADDC16( UINT16 arg1, UINT16 arg2 )
|
||||
{
|
||||
UINT32 res = arg1 + arg2 + ( ( minx->F & FLAG_C ) ? 1 : 0 );
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
UINT32 res = arg1 + arg2 + ( ( m_F & FLAG_C ) ? 1 : 0 );
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x8000 ) ? FLAG_S : 0 )
|
||||
| ( ( ( arg2 ^ arg1 ^ 0x8000 ) & ( arg2 ^ res ) & 0x8000 ) ? FLAG_O : 0 )
|
||||
| ( ( res & 0xFF0000 ) ? FLAG_C : 0 )
|
||||
@ -50,32 +50,32 @@ INLINE UINT16 ADDC16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 INC8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::INC8( UINT8 arg )
|
||||
{
|
||||
UINT8 old_F = minx->F;
|
||||
UINT8 res = ADD8( minx, arg, 1 );
|
||||
minx->F = ( old_F & ~ ( FLAG_Z ) )
|
||||
UINT8 old_F = m_F;
|
||||
UINT8 res = ADD8( arg, 1 );
|
||||
m_F = ( old_F & ~ ( FLAG_Z ) )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
;
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT16 INC16( minx_state *minx, UINT16 arg )
|
||||
UINT16 minx_cpu_device::INC16( UINT16 arg )
|
||||
{
|
||||
UINT8 old_F = minx->F;
|
||||
UINT16 res = ADD16( minx, arg, 1 );
|
||||
minx->F = ( old_F & ~ ( FLAG_Z ) )
|
||||
UINT8 old_F = m_F;
|
||||
UINT16 res = ADD16( arg, 1 );
|
||||
m_F = ( old_F & ~ ( FLAG_Z ) )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
;
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 SUB8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
UINT8 minx_cpu_device::SUB8( UINT8 arg1, UINT8 arg2 )
|
||||
{
|
||||
UINT32 res = arg1 - arg2;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( ( arg2 ^ arg1 ) & ( arg1 ^ res ) & 0x80 ) ? FLAG_O : 0 )
|
||||
| ( ( res & 0xFF00 ) ? FLAG_C : 0 )
|
||||
@ -85,10 +85,10 @@ INLINE UINT8 SUB8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT16 SUB16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
|
||||
UINT16 minx_cpu_device::SUB16( UINT16 arg1, UINT16 arg2 )
|
||||
{
|
||||
UINT32 res = arg1 - arg2;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x8000 ) ? FLAG_S : 0 )
|
||||
| ( ( ( arg2 ^ arg1 ) & ( arg1 ^ res ) & 0x8000 ) ? FLAG_O : 0 )
|
||||
| ( ( res & 0xFF0000 ) ? FLAG_C : 0 )
|
||||
@ -98,10 +98,10 @@ INLINE UINT16 SUB16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 SUBC8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
UINT8 minx_cpu_device::SUBC8( UINT8 arg1, UINT8 arg2 )
|
||||
{
|
||||
UINT32 res = arg1 - arg2 - ( ( minx->F & FLAG_C ) ? 1 : 0 );
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
UINT32 res = arg1 - arg2 - ( ( m_F & FLAG_C ) ? 1 : 0 );
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( ( arg2 ^ arg1 ) & ( arg1 ^ res ) & 0x80 ) ? FLAG_O : 0 )
|
||||
| ( ( res & 0xFF00 ) ? FLAG_C : 0 )
|
||||
@ -111,10 +111,10 @@ INLINE UINT8 SUBC8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT16 SUBC16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
|
||||
UINT16 minx_cpu_device::SUBC16( UINT16 arg1, UINT16 arg2 )
|
||||
{
|
||||
UINT32 res = arg1 - arg2 - ( ( minx->F & FLAG_C ) ? 1 : 0 );
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
UINT32 res = arg1 - arg2 - ( ( m_F & FLAG_C ) ? 1 : 0 );
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x8000 ) ? FLAG_S : 0 )
|
||||
| ( ( ( arg2 ^ arg1 ) & ( arg1 ^ res ) & 0x8000 ) ? FLAG_O : 0 )
|
||||
| ( ( res & 0xFF0000 ) ? FLAG_C : 0 )
|
||||
@ -124,32 +124,32 @@ INLINE UINT16 SUBC16( minx_state *minx, UINT16 arg1, UINT16 arg2 )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 DEC8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::DEC8( UINT8 arg )
|
||||
{
|
||||
UINT8 old_F = minx->F;
|
||||
UINT8 res = SUB8( minx, arg, 1 );
|
||||
minx->F = ( old_F & ~ ( FLAG_Z ) )
|
||||
UINT8 old_F = m_F;
|
||||
UINT8 res = SUB8( arg, 1 );
|
||||
m_F = ( old_F & ~ ( FLAG_Z ) )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
;
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT16 DEC16( minx_state *minx, UINT16 arg )
|
||||
UINT16 minx_cpu_device::DEC16( UINT16 arg )
|
||||
{
|
||||
UINT8 old_F = minx->F;
|
||||
UINT16 res = SUB16( minx, arg, 1 );
|
||||
minx->F = ( old_F & ~ ( FLAG_Z ) )
|
||||
UINT8 old_F = m_F;
|
||||
UINT16 res = SUB16( arg, 1 );
|
||||
m_F = ( old_F & ~ ( FLAG_Z ) )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
;
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 AND8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
UINT8 minx_cpu_device::AND8( UINT8 arg1, UINT8 arg2 )
|
||||
{
|
||||
UINT8 res = arg1 & arg2;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
;
|
||||
@ -157,10 +157,10 @@ INLINE UINT8 AND8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 OR8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
UINT8 minx_cpu_device::OR8( UINT8 arg1, UINT8 arg2 )
|
||||
{
|
||||
UINT8 res = arg1 | arg2;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
;
|
||||
@ -168,10 +168,10 @@ INLINE UINT8 OR8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 XOR8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
UINT8 minx_cpu_device::XOR8( UINT8 arg1, UINT8 arg2 )
|
||||
{
|
||||
UINT8 res = arg1 ^ arg2;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
;
|
||||
@ -179,10 +179,10 @@ INLINE UINT8 XOR8( minx_state *minx, UINT8 arg1, UINT8 arg2 )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 NOT8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::NOT8( UINT8 arg )
|
||||
{
|
||||
UINT8 res = ~arg;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
;
|
||||
@ -190,10 +190,10 @@ INLINE UINT8 NOT8( minx_state *minx, UINT8 arg )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 NEG8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::NEG8( UINT8 arg )
|
||||
{
|
||||
UINT8 res = -arg;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
;
|
||||
@ -201,10 +201,10 @@ INLINE UINT8 NEG8( minx_state *minx, UINT8 arg )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 SAL8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::SAL8( UINT8 arg )
|
||||
{
|
||||
UINT16 res = arg << 1;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( arg != 0 && res == 0 ) ? FLAG_O : 0 )
|
||||
| ( ( arg & 0x80 ) ? FLAG_C : 0 )
|
||||
@ -214,10 +214,10 @@ INLINE UINT8 SAL8( minx_state *minx, UINT8 arg )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 SAR8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::SAR8( UINT8 arg )
|
||||
{
|
||||
UINT16 res = ( arg >> 1 ) | ( arg & 0x80 );
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_O | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( arg != 0x80 && res == 0x80 ) ? FLAG_O : 0 )
|
||||
| ( ( arg & 0x01 ) ? FLAG_C : 0 )
|
||||
@ -227,10 +227,10 @@ INLINE UINT8 SAR8( minx_state *minx, UINT8 arg )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 SHL8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::SHL8( UINT8 arg )
|
||||
{
|
||||
UINT16 res = arg << 1;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( arg & 0x80 ) ? FLAG_C : 0 )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
@ -239,10 +239,10 @@ INLINE UINT8 SHL8( minx_state *minx, UINT8 arg )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 SHR8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::SHR8( UINT8 arg )
|
||||
{
|
||||
UINT16 res = arg >> 1;
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( arg & 0x01 ) ? FLAG_C : 0 )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
@ -251,10 +251,10 @@ INLINE UINT8 SHR8( minx_state *minx, UINT8 arg )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 ROLC8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::ROLC8( UINT8 arg )
|
||||
{
|
||||
UINT16 res = ( arg << 1 ) | ( ( minx->F & FLAG_C ) ? 1 : 0 );
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
UINT16 res = ( arg << 1 ) | ( ( m_F & FLAG_C ) ? 1 : 0 );
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( arg & 0x80 ) ? FLAG_C : 0 )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
@ -263,10 +263,10 @@ INLINE UINT8 ROLC8( minx_state *minx, UINT8 arg )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 RORC8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::RORC8( UINT8 arg )
|
||||
{
|
||||
UINT16 res = ( arg >> 1 ) | ( ( minx->F & FLAG_C ) ? 0x80 : 0 );
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
UINT16 res = ( arg >> 1 ) | ( ( m_F & FLAG_C ) ? 0x80 : 0 );
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( arg & 0x01 ) ? FLAG_C : 0 )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
@ -275,10 +275,10 @@ INLINE UINT8 RORC8( minx_state *minx, UINT8 arg )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 ROL8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::ROL8( UINT8 arg )
|
||||
{
|
||||
UINT16 res = ( arg << 1 ) | ( ( arg & 0x80 ) ? 1 : 0 );
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( arg & 0x80 ) ? FLAG_C : 0 )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
@ -287,10 +287,10 @@ INLINE UINT8 ROL8( minx_state *minx, UINT8 arg )
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 ROR8( minx_state *minx, UINT8 arg )
|
||||
UINT8 minx_cpu_device::ROR8( UINT8 arg )
|
||||
{
|
||||
UINT16 res = ( arg >> 1 ) | ( ( arg & 0x01 ) ? 0x80 : 0 );
|
||||
minx->F = ( minx->F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
m_F = ( m_F & ~ ( FLAG_S | FLAG_C | FLAG_Z ) )
|
||||
| ( ( res & 0x80 ) ? FLAG_S : 0 )
|
||||
| ( ( arg & 0x01 ) ? FLAG_C : 0 )
|
||||
| ( ( res ) ? 0 : FLAG_Z )
|
||||
@ -299,64 +299,64 @@ INLINE UINT8 ROR8( minx_state *minx, UINT8 arg )
|
||||
}
|
||||
|
||||
|
||||
INLINE void PUSH8( minx_state *minx, UINT8 arg )
|
||||
void minx_cpu_device::PUSH8( UINT8 arg )
|
||||
{
|
||||
minx->SP = minx->SP - 1;
|
||||
WR( minx->SP, arg );
|
||||
m_SP = m_SP - 1;
|
||||
WR( m_SP, arg );
|
||||
}
|
||||
|
||||
|
||||
INLINE void PUSH16( minx_state *minx, UINT16 arg )
|
||||
void minx_cpu_device::PUSH16( UINT16 arg )
|
||||
{
|
||||
PUSH8( minx, arg >> 8 );
|
||||
PUSH8( minx, arg & 0x00FF );
|
||||
PUSH8( arg >> 8 );
|
||||
PUSH8( arg & 0x00FF );
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT8 POP8( minx_state *minx )
|
||||
UINT8 minx_cpu_device::POP8()
|
||||
{
|
||||
UINT8 res = RD( minx->SP );
|
||||
minx->SP = minx->SP + 1;
|
||||
UINT8 res = RD( m_SP );
|
||||
m_SP = m_SP + 1;
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
INLINE UINT16 POP16( minx_state *minx )
|
||||
UINT16 minx_cpu_device::POP16()
|
||||
{
|
||||
return POP8(minx) | ( POP8(minx) << 8 );
|
||||
return POP8() | ( POP8() << 8 );
|
||||
}
|
||||
|
||||
|
||||
INLINE void JMP( minx_state *minx, UINT16 arg )
|
||||
void minx_cpu_device::JMP( UINT16 arg )
|
||||
{
|
||||
minx->V = minx->U;
|
||||
minx->PC = arg;
|
||||
m_V = m_U;
|
||||
m_PC = arg;
|
||||
}
|
||||
|
||||
|
||||
INLINE void CALL( minx_state *minx, UINT16 arg )
|
||||
void minx_cpu_device::CALL( UINT16 arg )
|
||||
{
|
||||
PUSH8( minx, minx->V );
|
||||
PUSH16( minx, minx->PC );
|
||||
JMP( minx, arg );
|
||||
PUSH8( m_V );
|
||||
PUSH16( m_PC );
|
||||
JMP( arg );
|
||||
}
|
||||
|
||||
|
||||
#define AD1_IHL UINT32 addr1 = ( minx->I << 16 ) | minx->HL
|
||||
#define AD1_IN8 UINT32 addr1 = ( minx->I << 16 ) | ( minx->N << 8 ) | rdop(minx)
|
||||
#define AD1_I16 UINT32 addr1 = ( minx->I << 16 ) | rdop16(minx)
|
||||
#define AD1_XIX UINT32 addr1 = ( minx->XI << 16 ) | minx->X
|
||||
#define AD1_YIY UINT32 addr1 = ( minx->YI << 16 ) | minx->Y
|
||||
#define AD1_X8 UINT32 addr1 = ( minx->XI << 16 ) | ( minx->X + rdop(minx) )
|
||||
#define AD1_Y8 UINT32 addr1 = ( minx->YI << 16 ) | ( minx->Y + rdop(minx) )
|
||||
#define AD1_XL UINT32 addr1 = ( minx->XI << 16 ) | ( minx->X + ( minx->HL & 0x00FF ) )
|
||||
#define AD1_YL UINT32 addr1 = ( minx->YI << 16 ) | ( minx->Y + ( minx->HL & 0x00FF ) )
|
||||
#define AD2_IHL UINT32 addr2 = ( minx->I << 16 ) | minx->HL
|
||||
#define AD2_IN8 UINT32 addr2 = ( minx->I << 16 ) | ( minx->N << 8 ) | rdop(minx)
|
||||
#define AD2_I16 UINT32 addr2 = ( minx->I << 16 ) | rdop(minx); addr2 |= ( rdop(minx) << 8 )
|
||||
#define AD2_XIX UINT32 addr2 = ( minx->XI << 16 ) | minx->X
|
||||
#define AD2_YIY UINT32 addr2 = ( minx->YI << 16 ) | minx->Y
|
||||
#define AD2_X8 UINT32 addr2 = ( minx->XI << 16 ) | ( minx->X + rdop(minx) )
|
||||
#define AD2_Y8 UINT32 addr2 = ( minx->YI << 16 ) | ( minx->Y + rdop(minx) )
|
||||
#define AD2_XL UINT32 addr2 = ( minx->XI << 16 ) | ( minx->X + ( minx->HL & 0x00FF ) )
|
||||
#define AD2_YL UINT32 addr2 = ( minx->YI << 16 ) | ( minx->Y + ( minx->HL & 0x00FF ) )
|
||||
#define AD1_IHL UINT32 addr1 = ( m_I << 16 ) | m_HL
|
||||
#define AD1_IN8 UINT32 addr1 = ( m_I << 16 ) | ( m_N << 8 ) | rdop()
|
||||
#define AD1_I16 UINT32 addr1 = ( m_I << 16 ) | rdop16()
|
||||
#define AD1_XIX UINT32 addr1 = ( m_XI << 16 ) | m_X
|
||||
#define AD1_YIY UINT32 addr1 = ( m_YI << 16 ) | m_Y
|
||||
#define AD1_X8 UINT32 addr1 = ( m_XI << 16 ) | ( m_X + rdop() )
|
||||
#define AD1_Y8 UINT32 addr1 = ( m_YI << 16 ) | ( m_Y + rdop() )
|
||||
#define AD1_XL UINT32 addr1 = ( m_XI << 16 ) | ( m_X + ( m_HL & 0x00FF ) )
|
||||
#define AD1_YL UINT32 addr1 = ( m_YI << 16 ) | ( m_Y + ( m_HL & 0x00FF ) )
|
||||
#define AD2_IHL UINT32 addr2 = ( m_I << 16 ) | m_HL
|
||||
#define AD2_IN8 UINT32 addr2 = ( m_I << 16 ) | ( m_N << 8 ) | rdop()
|
||||
#define AD2_I16 UINT32 addr2 = ( m_I << 16 ) | rdop(); addr2 |= ( rdop() << 8 )
|
||||
#define AD2_XIX UINT32 addr2 = ( m_XI << 16 ) | m_X
|
||||
#define AD2_YIY UINT32 addr2 = ( m_YI << 16 ) | m_Y
|
||||
#define AD2_X8 UINT32 addr2 = ( m_XI << 16 ) | ( m_X + rdop() )
|
||||
#define AD2_Y8 UINT32 addr2 = ( m_YI << 16 ) | ( m_Y + rdop() )
|
||||
#define AD2_XL UINT32 addr2 = ( m_XI << 16 ) | ( m_X + ( m_HL & 0x00FF ) )
|
||||
#define AD2_YL UINT32 addr2 = ( m_YI << 16 ) | ( m_Y + ( m_HL & 0x00FF ) )
|
||||
|
@ -1,107 +1,107 @@
|
||||
#undef OP
|
||||
#define OP(nn) INLINE void minx_CE_##nn(minx_state *minx)
|
||||
#define OP(nn) void minx_cpu_device::minx_CE_##nn()
|
||||
|
||||
OP(00) { AD2_X8; minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(01) { AD2_Y8; minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(02) { AD2_XL; minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(03) { AD2_YL; minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(04) { AD1_IHL; WR( addr1, ADD8( minx, RD( addr1 ), ( minx->BA & 0x00FF ) ) ); }
|
||||
OP(05) { AD1_IHL; WR( addr1, ADD8( minx, RD( addr1 ), rdop(minx) ) ); }
|
||||
OP(06) { AD1_IHL; AD2_XIX; WR( addr1, ADD8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(07) { AD1_IHL; AD2_YIY; WR( addr1, ADD8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(08) { AD2_X8; minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(09) { AD2_Y8; minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0A) { AD2_XL; minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0B) { AD2_YL; minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0C) { AD1_IHL; WR( addr1, ADDC8( minx, RD( addr1 ), ( minx->BA & 0x00FF ) ) ); }
|
||||
OP(0D) { AD1_IHL; WR( addr1, ADDC8( minx, RD( addr1 ), rdop(minx) ) ); }
|
||||
OP(0E) { AD1_IHL; AD2_XIX; WR( addr1, ADDC8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(0F) { AD1_IHL; AD2_YIY; WR( addr1, ADDC8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(00) { AD2_X8; m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(01) { AD2_Y8; m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(02) { AD2_XL; m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(03) { AD2_YL; m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(04) { AD1_IHL; WR( addr1, ADD8( RD( addr1 ), ( m_BA & 0x00FF ) ) ); }
|
||||
OP(05) { AD1_IHL; WR( addr1, ADD8( RD( addr1 ), rdop() ) ); }
|
||||
OP(06) { AD1_IHL; AD2_XIX; WR( addr1, ADD8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(07) { AD1_IHL; AD2_YIY; WR( addr1, ADD8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(08) { AD2_X8; m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(09) { AD2_Y8; m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0A) { AD2_XL; m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0B) { AD2_YL; m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0C) { AD1_IHL; WR( addr1, ADDC8( RD( addr1 ), ( m_BA & 0x00FF ) ) ); }
|
||||
OP(0D) { AD1_IHL; WR( addr1, ADDC8( RD( addr1 ), rdop() ) ); }
|
||||
OP(0E) { AD1_IHL; AD2_XIX; WR( addr1, ADDC8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(0F) { AD1_IHL; AD2_YIY; WR( addr1, ADDC8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
|
||||
OP(10) { AD2_X8; minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(11) { AD2_Y8; minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(12) { AD2_XL; minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(13) { AD2_YL; minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(14) { AD1_IHL; WR( addr1, SUB8( minx, RD( addr1 ), ( minx->BA & 0x00FF ) ) ); }
|
||||
OP(15) { AD1_IHL; WR( addr1, SUB8( minx, RD( addr1 ), rdop(minx) ) ); }
|
||||
OP(16) { AD1_IHL; AD2_XIX; WR( addr1, SUB8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(17) { AD1_IHL; AD2_YIY; WR( addr1, SUB8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(18) { AD2_X8; minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(19) { AD2_Y8; minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1A) { AD2_XL; minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1B) { AD2_YL; minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1C) { AD1_IHL; WR( addr1, SUBC8( minx, RD( addr1 ), ( minx->BA & 0x00FF ) ) ); }
|
||||
OP(1D) { AD1_IHL; WR( addr1, SUBC8( minx, RD( addr1 ), rdop(minx) ) ); }
|
||||
OP(1E) { AD1_IHL; AD2_XIX; WR( addr1, SUBC8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(1F) { AD1_IHL; AD2_YIY; WR( addr1, SUBC8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(10) { AD2_X8; m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(11) { AD2_Y8; m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(12) { AD2_XL; m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(13) { AD2_YL; m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(14) { AD1_IHL; WR( addr1, SUB8( RD( addr1 ), ( m_BA & 0x00FF ) ) ); }
|
||||
OP(15) { AD1_IHL; WR( addr1, SUB8( RD( addr1 ), rdop() ) ); }
|
||||
OP(16) { AD1_IHL; AD2_XIX; WR( addr1, SUB8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(17) { AD1_IHL; AD2_YIY; WR( addr1, SUB8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(18) { AD2_X8; m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(19) { AD2_Y8; m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1A) { AD2_XL; m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1B) { AD2_YL; m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1C) { AD1_IHL; WR( addr1, SUBC8( RD( addr1 ), ( m_BA & 0x00FF ) ) ); }
|
||||
OP(1D) { AD1_IHL; WR( addr1, SUBC8( RD( addr1 ), rdop() ) ); }
|
||||
OP(1E) { AD1_IHL; AD2_XIX; WR( addr1, SUBC8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(1F) { AD1_IHL; AD2_YIY; WR( addr1, SUBC8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
|
||||
OP(20) { AD2_X8; minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(21) { AD2_Y8; minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(22) { AD2_XL; minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(23) { AD2_YL; minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(24) { AD1_IHL; WR( addr1, AND8( minx, RD( addr1 ), ( minx->BA & 0x00FF ) ) ); }
|
||||
OP(25) { AD1_IHL; WR( addr1, AND8( minx, RD( addr1 ), rdop(minx) ) ); }
|
||||
OP(26) { AD1_IHL; AD2_XIX; WR( addr1, AND8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(27) { AD1_IHL; AD2_YIY; WR( addr1, AND8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(28) { AD2_X8; minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(29) { AD2_Y8; minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2A) { AD2_XL; minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2B) { AD2_YL; minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2C) { AD1_IHL; WR( addr1, OR8( minx, RD( addr1 ), ( minx->BA & 0x00FF ) ) ); }
|
||||
OP(2D) { AD1_IHL; WR( addr1, OR8( minx, RD( addr1 ), rdop(minx) ) ); }
|
||||
OP(2E) { AD1_IHL; AD2_XIX; WR( addr1, OR8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(2F) { AD1_IHL; AD2_YIY; WR( addr1, OR8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(20) { AD2_X8; m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(21) { AD2_Y8; m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(22) { AD2_XL; m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(23) { AD2_YL; m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(24) { AD1_IHL; WR( addr1, AND8( RD( addr1 ), ( m_BA & 0x00FF ) ) ); }
|
||||
OP(25) { AD1_IHL; WR( addr1, AND8( RD( addr1 ), rdop() ) ); }
|
||||
OP(26) { AD1_IHL; AD2_XIX; WR( addr1, AND8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(27) { AD1_IHL; AD2_YIY; WR( addr1, AND8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(28) { AD2_X8; m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(29) { AD2_Y8; m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2A) { AD2_XL; m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2B) { AD2_YL; m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2C) { AD1_IHL; WR( addr1, OR8( RD( addr1 ), ( m_BA & 0x00FF ) ) ); }
|
||||
OP(2D) { AD1_IHL; WR( addr1, OR8( RD( addr1 ), rdop() ) ); }
|
||||
OP(2E) { AD1_IHL; AD2_XIX; WR( addr1, OR8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(2F) { AD1_IHL; AD2_YIY; WR( addr1, OR8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
|
||||
OP(30) { AD2_X8; SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(31) { AD2_Y8; SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(32) { AD2_XL; SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(33) { AD2_YL; SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(34) { AD1_IHL; SUB8( minx, RD( addr1 ), ( minx->BA & 0x00FF ) ); }
|
||||
OP(35) { AD1_IHL; SUB8( minx, RD( addr1 ), rdop(minx) ); }
|
||||
OP(36) { AD1_IHL; AD2_XIX; SUB8( minx, RD( addr1 ), RD( addr2 ) ); }
|
||||
OP(37) { AD1_IHL; AD2_YIY; SUB8( minx, RD( addr1 ), RD( addr2 ) ); }
|
||||
OP(38) { AD2_X8; minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(39) { AD2_Y8; minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3A) { AD2_XL; minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3B) { AD2_YL; minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3C) { AD1_IHL; WR( addr1, XOR8( minx, RD( addr1 ), ( minx->BA & 0x00FF ) ) ); }
|
||||
OP(3D) { AD1_IHL; WR( addr1, XOR8( minx, RD( addr1 ), rdop(minx) ) ); }
|
||||
OP(3E) { AD1_IHL; AD2_XIX; WR( addr1, XOR8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(3F) { AD1_IHL; AD2_YIY; WR( addr1, XOR8( minx, RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(30) { AD2_X8; SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(31) { AD2_Y8; SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(32) { AD2_XL; SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(33) { AD2_YL; SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(34) { AD1_IHL; SUB8( RD( addr1 ), ( m_BA & 0x00FF ) ); }
|
||||
OP(35) { AD1_IHL; SUB8( RD( addr1 ), rdop() ); }
|
||||
OP(36) { AD1_IHL; AD2_XIX; SUB8( RD( addr1 ), RD( addr2 ) ); }
|
||||
OP(37) { AD1_IHL; AD2_YIY; SUB8( RD( addr1 ), RD( addr2 ) ); }
|
||||
OP(38) { AD2_X8; m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(39) { AD2_Y8; m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3A) { AD2_XL; m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3B) { AD2_YL; m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3C) { AD1_IHL; WR( addr1, XOR8( RD( addr1 ), ( m_BA & 0x00FF ) ) ); }
|
||||
OP(3D) { AD1_IHL; WR( addr1, XOR8( RD( addr1 ), rdop() ) ); }
|
||||
OP(3E) { AD1_IHL; AD2_XIX; WR( addr1, XOR8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
OP(3F) { AD1_IHL; AD2_YIY; WR( addr1, XOR8( RD( addr1 ), RD( addr2 ) ) ); }
|
||||
|
||||
OP(40) { AD2_X8; minx->BA = ( minx->BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(41) { AD2_Y8; minx->BA = ( minx->BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(42) { AD2_XL; minx->BA = ( minx->BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(43) { AD2_YL; minx->BA = ( minx->BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(44) { AD1_X8; WR( addr1, ( minx->BA & 0x00FF ) ); }
|
||||
OP(45) { AD1_Y8; WR( addr1, ( minx->BA & 0x00FF ) ); }
|
||||
OP(46) { AD1_XL; WR( addr1, ( minx->BA & 0x00FF ) ); }
|
||||
OP(47) { AD1_YL; WR( addr1, ( minx->BA & 0x00FF ) ); }
|
||||
OP(48) { AD2_X8; minx->BA = ( minx->BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(49) { AD2_Y8; minx->BA = ( minx->BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4A) { AD2_XL; minx->BA = ( minx->BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4B) { AD2_YL; minx->BA = ( minx->BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4C) { AD1_X8; WR( addr1, ( minx->BA >> 8 ) ); }
|
||||
OP(4D) { AD1_Y8; WR( addr1, ( minx->BA >> 8 ) ); }
|
||||
OP(4E) { AD1_XL; WR( addr1, ( minx->BA >> 8 ) ); }
|
||||
OP(4F) { AD1_YL; WR( addr1, ( minx->BA >> 8 ) ); }
|
||||
OP(40) { AD2_X8; m_BA = ( m_BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(41) { AD2_Y8; m_BA = ( m_BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(42) { AD2_XL; m_BA = ( m_BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(43) { AD2_YL; m_BA = ( m_BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(44) { AD1_X8; WR( addr1, ( m_BA & 0x00FF ) ); }
|
||||
OP(45) { AD1_Y8; WR( addr1, ( m_BA & 0x00FF ) ); }
|
||||
OP(46) { AD1_XL; WR( addr1, ( m_BA & 0x00FF ) ); }
|
||||
OP(47) { AD1_YL; WR( addr1, ( m_BA & 0x00FF ) ); }
|
||||
OP(48) { AD2_X8; m_BA = ( m_BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(49) { AD2_Y8; m_BA = ( m_BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4A) { AD2_XL; m_BA = ( m_BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4B) { AD2_YL; m_BA = ( m_BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4C) { AD1_X8; WR( addr1, ( m_BA >> 8 ) ); }
|
||||
OP(4D) { AD1_Y8; WR( addr1, ( m_BA >> 8 ) ); }
|
||||
OP(4E) { AD1_XL; WR( addr1, ( m_BA >> 8 ) ); }
|
||||
OP(4F) { AD1_YL; WR( addr1, ( m_BA >> 8 ) ); }
|
||||
|
||||
OP(50) { AD2_X8; minx->HL = ( minx->HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(51) { AD2_Y8; minx->HL = ( minx->HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(52) { AD2_XL; minx->HL = ( minx->HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(53) { AD2_YL; minx->HL = ( minx->HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(54) { AD1_X8; WR( addr1, ( minx->HL & 0x00FF ) ); }
|
||||
OP(55) { AD1_Y8; WR( addr1, ( minx->HL & 0x00FF ) ); }
|
||||
OP(56) { AD1_XL; WR( addr1, ( minx->HL & 0x00FF ) ); }
|
||||
OP(57) { AD1_YL; WR( addr1, ( minx->HL & 0x00FF ) ); }
|
||||
OP(58) { AD2_X8; minx->HL = ( minx->HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(59) { AD2_Y8; minx->HL = ( minx->HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5A) { AD2_XL; minx->HL = ( minx->HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5B) { AD2_YL; minx->HL = ( minx->HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5C) { AD1_X8; WR( addr1, ( minx->HL >> 8 ) ); }
|
||||
OP(5D) { AD1_Y8; WR( addr1, ( minx->HL >> 8 ) ); }
|
||||
OP(5E) { AD1_XL; WR( addr1, ( minx->HL >> 8 ) ); }
|
||||
OP(5F) { AD1_YL; WR( addr1, ( minx->HL >> 8 ) ); }
|
||||
OP(50) { AD2_X8; m_HL = ( m_HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(51) { AD2_Y8; m_HL = ( m_HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(52) { AD2_XL; m_HL = ( m_HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(53) { AD2_YL; m_HL = ( m_HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(54) { AD1_X8; WR( addr1, ( m_HL & 0x00FF ) ); }
|
||||
OP(55) { AD1_Y8; WR( addr1, ( m_HL & 0x00FF ) ); }
|
||||
OP(56) { AD1_XL; WR( addr1, ( m_HL & 0x00FF ) ); }
|
||||
OP(57) { AD1_YL; WR( addr1, ( m_HL & 0x00FF ) ); }
|
||||
OP(58) { AD2_X8; m_HL = ( m_HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(59) { AD2_Y8; m_HL = ( m_HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5A) { AD2_XL; m_HL = ( m_HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5B) { AD2_YL; m_HL = ( m_HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5C) { AD1_X8; WR( addr1, ( m_HL >> 8 ) ); }
|
||||
OP(5D) { AD1_Y8; WR( addr1, ( m_HL >> 8 ) ); }
|
||||
OP(5E) { AD1_XL; WR( addr1, ( m_HL >> 8 ) ); }
|
||||
OP(5F) { AD1_YL; WR( addr1, ( m_HL >> 8 ) ); }
|
||||
|
||||
OP(60) { AD1_IHL; AD2_X8; WR( addr1, RD( addr2 ) ); }
|
||||
OP(61) { AD1_IHL; AD2_Y8; WR( addr1, RD( addr2 ) ); }
|
||||
@ -137,101 +137,101 @@ OP(7D) { /* illegal operation? */ }
|
||||
OP(7E) { /* illegal operation? */ }
|
||||
OP(7F) { /* illegal operation? */ }
|
||||
|
||||
OP(80) { minx->BA = ( minx->BA & 0xFF00 ) | SAL8( minx, minx->BA & 0x00FF ); }
|
||||
OP(81) { minx->BA = ( minx->BA & 0x00FF ) | ( SAL8( minx, minx->BA >> 8 )<< 8 ); }
|
||||
OP(82) { AD1_IN8; WR( addr1, SAL8( minx, RD( addr1 ) ) ); }
|
||||
OP(83) { AD1_IHL; WR( addr1, SAL8( minx, RD( addr1 ) ) ); }
|
||||
OP(84) { minx->BA = ( minx->BA & 0xFF00 ) | SHL8( minx, minx->BA & 0x00FF ); }
|
||||
OP(85) { minx->BA = ( minx->BA & 0x00FF ) | ( SHL8( minx, minx->BA >> 8 ) << 8 ); }
|
||||
OP(86) { AD1_IN8; WR( addr1, SHL8( minx, RD( addr1 ) ) ); }
|
||||
OP(87) { AD1_IHL; WR( addr1, SHL8( minx, RD( addr1 ) ) ); }
|
||||
OP(88) { minx->BA = ( minx->BA & 0xFF00 ) | SAR8( minx, minx->BA & 0x00FF ); }
|
||||
OP(89) { minx->BA = ( minx->BA & 0x00FF ) | ( SAR8( minx, minx->BA >> 8 ) << 8 ); }
|
||||
OP(8A) { AD1_IN8; WR( addr1, SAR8( minx, RD( addr1 ) ) ); }
|
||||
OP(8B) { AD1_IHL; WR( addr1, SAR8( minx, RD( addr1 ) ) ); }
|
||||
OP(8C) { minx->BA = ( minx->BA & 0xFF00 ) | SHR8( minx, minx->BA & 0x00FF ); }
|
||||
OP(8D) { minx->BA = ( minx->BA & 0x00FF ) | ( SHR8( minx, minx->BA >> 8 ) << 8 ); }
|
||||
OP(8E) { AD1_IN8; WR( addr1, SHR8( minx, RD( addr1 ) ) ); }
|
||||
OP(8F) { AD1_IHL; WR( addr1, SHR8( minx, RD( addr1 ) ) ); }
|
||||
OP(80) { m_BA = ( m_BA & 0xFF00 ) | SAL8( m_BA & 0x00FF ); }
|
||||
OP(81) { m_BA = ( m_BA & 0x00FF ) | ( SAL8( m_BA >> 8 )<< 8 ); }
|
||||
OP(82) { AD1_IN8; WR( addr1, SAL8( RD( addr1 ) ) ); }
|
||||
OP(83) { AD1_IHL; WR( addr1, SAL8( RD( addr1 ) ) ); }
|
||||
OP(84) { m_BA = ( m_BA & 0xFF00 ) | SHL8( m_BA & 0x00FF ); }
|
||||
OP(85) { m_BA = ( m_BA & 0x00FF ) | ( SHL8( m_BA >> 8 ) << 8 ); }
|
||||
OP(86) { AD1_IN8; WR( addr1, SHL8( RD( addr1 ) ) ); }
|
||||
OP(87) { AD1_IHL; WR( addr1, SHL8( RD( addr1 ) ) ); }
|
||||
OP(88) { m_BA = ( m_BA & 0xFF00 ) | SAR8( m_BA & 0x00FF ); }
|
||||
OP(89) { m_BA = ( m_BA & 0x00FF ) | ( SAR8( m_BA >> 8 ) << 8 ); }
|
||||
OP(8A) { AD1_IN8; WR( addr1, SAR8( RD( addr1 ) ) ); }
|
||||
OP(8B) { AD1_IHL; WR( addr1, SAR8( RD( addr1 ) ) ); }
|
||||
OP(8C) { m_BA = ( m_BA & 0xFF00 ) | SHR8( m_BA & 0x00FF ); }
|
||||
OP(8D) { m_BA = ( m_BA & 0x00FF ) | ( SHR8( m_BA >> 8 ) << 8 ); }
|
||||
OP(8E) { AD1_IN8; WR( addr1, SHR8( RD( addr1 ) ) ); }
|
||||
OP(8F) { AD1_IHL; WR( addr1, SHR8( RD( addr1 ) ) ); }
|
||||
|
||||
OP(90) { minx->BA = ( minx->BA & 0xFF00 ) | ROLC8( minx, minx->BA & 0x00FF ); }
|
||||
OP(91) { minx->BA = ( minx->BA & 0x00FF ) | ( ROLC8( minx, minx->BA >> 8 ) << 8 ); }
|
||||
OP(92) { AD1_IN8; WR( addr1, ROLC8( minx, RD( addr1 ) ) ); }
|
||||
OP(93) { AD1_IHL; WR( addr1, ROLC8( minx, RD( addr1 ) ) ); }
|
||||
OP(94) { minx->BA = ( minx->BA & 0xFF00 ) | ROL8( minx, minx->BA & 0x00FF ); }
|
||||
OP(95) { minx->BA = ( minx->BA & 0x00FF ) | ( ROL8( minx, minx->BA >> 8 ) << 8 ); }
|
||||
OP(96) { AD1_IN8; WR( addr1, ROL8( minx, RD( addr1 ) ) ); }
|
||||
OP(97) { AD1_IHL; WR( addr1, ROL8( minx, RD( addr1 ) ) ); }
|
||||
OP(98) { minx->BA = ( minx->BA & 0xFF00 ) | RORC8( minx, minx->BA & 0x00FF ); }
|
||||
OP(99) { minx->BA = ( minx->BA & 0x00FF ) | ( RORC8( minx, minx->BA >> 8 ) << 8 ); }
|
||||
OP(9A) { AD1_IN8; WR( addr1, RORC8( minx, RD( addr1 ) ) ); }
|
||||
OP(9B) { AD1_IHL; WR( addr1, RORC8( minx, RD( addr1 ) ) ); }
|
||||
OP(9C) { minx->BA = ( minx->BA & 0xFF00 ) | ROR8( minx, minx->BA & 0x00FF ); }
|
||||
OP(9D) { minx->BA = ( minx->BA & 0x00FF ) | ( ROR8( minx, minx->BA >> 8 ) << 8 ); }
|
||||
OP(9E) { AD1_IN8; WR( addr1, ROR8( minx, RD( addr1 ) ) ); }
|
||||
OP(9F) { AD1_IHL; WR( addr1, ROR8( minx, RD( addr1 ) ) ); }
|
||||
OP(90) { m_BA = ( m_BA & 0xFF00 ) | ROLC8( m_BA & 0x00FF ); }
|
||||
OP(91) { m_BA = ( m_BA & 0x00FF ) | ( ROLC8( m_BA >> 8 ) << 8 ); }
|
||||
OP(92) { AD1_IN8; WR( addr1, ROLC8( RD( addr1 ) ) ); }
|
||||
OP(93) { AD1_IHL; WR( addr1, ROLC8( RD( addr1 ) ) ); }
|
||||
OP(94) { m_BA = ( m_BA & 0xFF00 ) | ROL8( m_BA & 0x00FF ); }
|
||||
OP(95) { m_BA = ( m_BA & 0x00FF ) | ( ROL8( m_BA >> 8 ) << 8 ); }
|
||||
OP(96) { AD1_IN8; WR( addr1, ROL8( RD( addr1 ) ) ); }
|
||||
OP(97) { AD1_IHL; WR( addr1, ROL8( RD( addr1 ) ) ); }
|
||||
OP(98) { m_BA = ( m_BA & 0xFF00 ) | RORC8( m_BA & 0x00FF ); }
|
||||
OP(99) { m_BA = ( m_BA & 0x00FF ) | ( RORC8( m_BA >> 8 ) << 8 ); }
|
||||
OP(9A) { AD1_IN8; WR( addr1, RORC8( RD( addr1 ) ) ); }
|
||||
OP(9B) { AD1_IHL; WR( addr1, RORC8( RD( addr1 ) ) ); }
|
||||
OP(9C) { m_BA = ( m_BA & 0xFF00 ) | ROR8( m_BA & 0x00FF ); }
|
||||
OP(9D) { m_BA = ( m_BA & 0x00FF ) | ( ROR8( m_BA >> 8 ) << 8 ); }
|
||||
OP(9E) { AD1_IN8; WR( addr1, ROR8( RD( addr1 ) ) ); }
|
||||
OP(9F) { AD1_IHL; WR( addr1, ROR8( RD( addr1 ) ) ); }
|
||||
|
||||
OP(A0) { minx->BA = ( minx->BA & 0xFF00 ) | NOT8( minx, minx->BA & 0x00FF ); }
|
||||
OP(A1) { minx->BA = ( minx->BA & 0x00FF ) | ( NOT8( minx, minx->BA >> 8 ) << 8 ); }
|
||||
OP(A2) { AD1_IN8; WR( addr1, NOT8( minx, RD( addr1 ) ) ); }
|
||||
OP(A3) { AD1_IHL; WR( addr1, NOT8( minx, RD( addr1 ) ) ); }
|
||||
OP(A4) { minx->BA = ( minx->BA & 0xFF00 ) | NEG8( minx, minx->BA & 0x00FF ); }
|
||||
OP(A5) { minx->BA = ( minx->BA & 0x00FF ) | ( NEG8( minx, minx->BA >> 8 ) << 8 ); }
|
||||
OP(A6) { AD1_IN8; WR( addr1, NEG8( minx, RD( addr1 ) ) ); }
|
||||
OP(A7) { AD1_IHL; WR( addr1, NEG8( minx, RD( addr1 ) ) ); }
|
||||
OP(A8) { minx->BA = ( ( minx->BA & 0x0080 ) ? ( 0xFF00 | minx->BA ) : ( minx->BA & 0x00FF ) ); }
|
||||
OP(A0) { m_BA = ( m_BA & 0xFF00 ) | NOT8( m_BA & 0x00FF ); }
|
||||
OP(A1) { m_BA = ( m_BA & 0x00FF ) | ( NOT8( m_BA >> 8 ) << 8 ); }
|
||||
OP(A2) { AD1_IN8; WR( addr1, NOT8( RD( addr1 ) ) ); }
|
||||
OP(A3) { AD1_IHL; WR( addr1, NOT8( RD( addr1 ) ) ); }
|
||||
OP(A4) { m_BA = ( m_BA & 0xFF00 ) | NEG8( m_BA & 0x00FF ); }
|
||||
OP(A5) { m_BA = ( m_BA & 0x00FF ) | ( NEG8( m_BA >> 8 ) << 8 ); }
|
||||
OP(A6) { AD1_IN8; WR( addr1, NEG8( RD( addr1 ) ) ); }
|
||||
OP(A7) { AD1_IHL; WR( addr1, NEG8( RD( addr1 ) ) ); }
|
||||
OP(A8) { m_BA = ( ( m_BA & 0x0080 ) ? ( 0xFF00 | m_BA ) : ( m_BA & 0x00FF ) ); }
|
||||
OP(A9) { /* illegal operation? */ }
|
||||
OP(AA) { /* illegal operation? */ }
|
||||
OP(AB) { /* illegal operation? */ }
|
||||
OP(AC) { /* illegal operation? */ }
|
||||
OP(AD) { /* illegal operation? */ }
|
||||
OP(AE) { /* HALT */ minx->halted = 1; }
|
||||
OP(AE) { /* HALT */ m_halted = 1; }
|
||||
OP(AF) { }
|
||||
|
||||
OP(B0) { minx->BA = ( minx->BA & 0x00FF ) | ( AND8( minx, ( minx->BA >> 8 ), rdop(minx) ) << 8 ); }
|
||||
OP(B1) { minx->HL = ( minx->HL & 0xFF00 ) | AND8( minx, ( minx->HL & 0x00FF ), rdop(minx) ); }
|
||||
OP(B2) { minx->HL = ( minx->HL & 0x00FF ) | ( AND8( minx, ( minx->HL >> 8 ), rdop(minx) ) << 8 ); }
|
||||
OP(B0) { m_BA = ( m_BA & 0x00FF ) | ( AND8( ( m_BA >> 8 ), rdop() ) << 8 ); }
|
||||
OP(B1) { m_HL = ( m_HL & 0xFF00 ) | AND8( ( m_HL & 0x00FF ), rdop() ); }
|
||||
OP(B2) { m_HL = ( m_HL & 0x00FF ) | ( AND8( ( m_HL >> 8 ), rdop() ) << 8 ); }
|
||||
OP(B3) { /* illegal operation? */ }
|
||||
OP(B4) { minx->BA = ( minx->BA & 0x00FF ) | ( OR8( minx, ( minx->BA >> 8 ), rdop(minx) ) << 8 ); }
|
||||
OP(B5) { minx->HL = ( minx->HL & 0xFF00 ) | OR8( minx, ( minx->HL & 0x00FF ), rdop(minx) ); }
|
||||
OP(B6) { minx->HL = ( minx->HL & 0x00FF ) | ( OR8( minx, ( minx->HL >> 8 ), rdop(minx) ) << 8 ); }
|
||||
OP(B4) { m_BA = ( m_BA & 0x00FF ) | ( OR8( ( m_BA >> 8 ), rdop() ) << 8 ); }
|
||||
OP(B5) { m_HL = ( m_HL & 0xFF00 ) | OR8( ( m_HL & 0x00FF ), rdop() ); }
|
||||
OP(B6) { m_HL = ( m_HL & 0x00FF ) | ( OR8( ( m_HL >> 8 ), rdop() ) << 8 ); }
|
||||
OP(B7) { /* illegal operation? */ }
|
||||
OP(B8) { minx->BA = ( minx->BA & 0x00FF ) | ( XOR8( minx, ( minx->BA >> 8 ), rdop(minx) ) << 8 ); }
|
||||
OP(B9) { minx->HL = ( minx->HL & 0xFF00 ) | XOR8( minx, ( minx->HL & 0x00FF ), rdop(minx) ); }
|
||||
OP(BA) { minx->HL = ( minx->HL & 0x00FF ) | ( XOR8( minx, ( minx->HL >> 8 ), rdop(minx) ) << 8 ); }
|
||||
OP(B8) { m_BA = ( m_BA & 0x00FF ) | ( XOR8( ( m_BA >> 8 ), rdop() ) << 8 ); }
|
||||
OP(B9) { m_HL = ( m_HL & 0xFF00 ) | XOR8( ( m_HL & 0x00FF ), rdop() ); }
|
||||
OP(BA) { m_HL = ( m_HL & 0x00FF ) | ( XOR8( ( m_HL >> 8 ), rdop() ) << 8 ); }
|
||||
OP(BB) { /* illegal operation? */ }
|
||||
OP(BC) { SUB8( minx, ( minx->BA >> 8 ), rdop(minx) ); }
|
||||
OP(BD) { SUB8( minx, ( minx->HL & 0x00FF), rdop(minx) ); }
|
||||
OP(BE) { SUB8( minx, ( minx->HL >> 8 ), rdop(minx) ); }
|
||||
OP(BF) { SUB8( minx, minx->N, rdop(minx) ); }
|
||||
OP(BC) { SUB8( ( m_BA >> 8 ), rdop() ); }
|
||||
OP(BD) { SUB8( ( m_HL & 0x00FF), rdop() ); }
|
||||
OP(BE) { SUB8( ( m_HL >> 8 ), rdop() ); }
|
||||
OP(BF) { SUB8( m_N, rdop() ); }
|
||||
|
||||
OP(C0) { minx->BA = ( minx->BA & 0xFF00 ) | minx->N; }
|
||||
OP(C1) { minx->BA = ( minx->BA & 0xFF00 ) | minx->F; }
|
||||
OP(C2) { minx->N = ( minx->BA & 0x00FF ); }
|
||||
OP(C3) { minx->F = ( minx->BA & 0x00FF ); }
|
||||
OP(C4) { minx->U = rdop(minx); }
|
||||
OP(C5) { minx->I = rdop(minx); }
|
||||
OP(C6) { minx->XI = rdop(minx); }
|
||||
OP(C7) { minx->YI = rdop(minx); }
|
||||
OP(C8) { minx->BA = ( minx->BA & 0xFF00 ) | minx->V; }
|
||||
OP(C9) { minx->BA = ( minx->BA & 0xFF00 ) | minx->I; }
|
||||
OP(CA) { minx->BA = ( minx->BA & 0xFF00 ) | minx->XI; }
|
||||
OP(CB) { minx->BA = ( minx->BA & 0xFF00 ) | minx->YI; }
|
||||
OP(CC) { minx->U = ( minx->BA & 0x00FF ); }
|
||||
OP(CD) { minx->I = ( minx->BA & 0x00FF ); }
|
||||
OP(CE) { minx->XI = ( minx->BA & 0x00FF ); }
|
||||
OP(CF) { minx->YI = ( minx->BA & 0x00FF ); }
|
||||
OP(C0) { m_BA = ( m_BA & 0xFF00 ) | m_N; }
|
||||
OP(C1) { m_BA = ( m_BA & 0xFF00 ) | m_F; }
|
||||
OP(C2) { m_N = ( m_BA & 0x00FF ); }
|
||||
OP(C3) { m_F = ( m_BA & 0x00FF ); }
|
||||
OP(C4) { m_U = rdop(); }
|
||||
OP(C5) { m_I = rdop(); }
|
||||
OP(C6) { m_XI = rdop(); }
|
||||
OP(C7) { m_YI = rdop(); }
|
||||
OP(C8) { m_BA = ( m_BA & 0xFF00 ) | m_V; }
|
||||
OP(C9) { m_BA = ( m_BA & 0xFF00 ) | m_I; }
|
||||
OP(CA) { m_BA = ( m_BA & 0xFF00 ) | m_XI; }
|
||||
OP(CB) { m_BA = ( m_BA & 0xFF00 ) | m_YI; }
|
||||
OP(CC) { m_U = ( m_BA & 0x00FF ); }
|
||||
OP(CD) { m_I = ( m_BA & 0x00FF ); }
|
||||
OP(CE) { m_XI = ( m_BA & 0x00FF ); }
|
||||
OP(CF) { m_YI = ( m_BA & 0x00FF ); }
|
||||
|
||||
OP(D0) { AD2_I16; minx->BA = ( minx->BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(D1) { AD2_I16; minx->BA = ( minx->BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(D2) { AD2_I16; minx->HL = ( minx->HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(D3) { AD2_I16; minx->HL = ( minx->HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(D4) { AD1_I16; WR( addr1, ( minx->BA & 0x00FF ) ); }
|
||||
OP(D5) { AD1_I16; WR( addr1, ( minx->BA >> 8 ) ); }
|
||||
OP(D6) { AD1_I16; WR( addr1, ( minx->HL & 0x00FF ) ); }
|
||||
OP(D7) { AD1_I16; WR( addr1, ( minx->HL >> 8 ) ); }
|
||||
OP(D8) { minx->HL = ( minx->HL & 0x00FF ) * ( minx->BA & 0x00FF ); }
|
||||
OP(D9) { int d = minx->HL / ( minx->BA & 0x00FF ); minx->HL = ( ( minx->HL - ( ( minx->BA & 0x00FF ) * d ) ) << 8 ) | d; }
|
||||
OP(D0) { AD2_I16; m_BA = ( m_BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(D1) { AD2_I16; m_BA = ( m_BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(D2) { AD2_I16; m_HL = ( m_HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(D3) { AD2_I16; m_HL = ( m_HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(D4) { AD1_I16; WR( addr1, ( m_BA & 0x00FF ) ); }
|
||||
OP(D5) { AD1_I16; WR( addr1, ( m_BA >> 8 ) ); }
|
||||
OP(D6) { AD1_I16; WR( addr1, ( m_HL & 0x00FF ) ); }
|
||||
OP(D7) { AD1_I16; WR( addr1, ( m_HL >> 8 ) ); }
|
||||
OP(D8) { m_HL = ( m_HL & 0x00FF ) * ( m_BA & 0x00FF ); }
|
||||
OP(D9) { int d = m_HL / ( m_BA & 0x00FF ); m_HL = ( ( m_HL - ( ( m_BA & 0x00FF ) * d ) ) << 8 ) | d; }
|
||||
OP(DA) { /* illegal operation? */ }
|
||||
OP(DB) { /* illegal operation? */ }
|
||||
OP(DC) { /* illegal operation? */ }
|
||||
@ -239,76 +239,76 @@ OP(DD) { /* illegal operation? */ }
|
||||
OP(DE) { /* illegal operation? */ }
|
||||
OP(DF) { /* illegal operation? */ }
|
||||
|
||||
OP(E0) { INT8 d8 = rdop(minx); if ( ( ( minx->F & ( FLAG_S | FLAG_O ) ) == FLAG_S ) || ( ( minx->F & ( FLAG_S | FLAG_O ) ) == FLAG_O ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E1) { INT8 d8 = rdop(minx); if ( ( minx->F & FLAG_Z ) || ( ( minx->F & ( FLAG_S | FLAG_O ) ) == FLAG_S ) || ( ( minx->F & ( FLAG_S | FLAG_O ) ) == FLAG_O ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E2) { INT8 d8 = rdop(minx); if ( !( minx->F & FLAG_Z ) && ( ( ( minx->F & ( FLAG_S | FLAG_O ) ) == 0 ) || ( ( minx->F & ( FLAG_S | FLAG_O ) ) == ( FLAG_S | FLAG_O ) ) ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E3) { INT8 d8 = rdop(minx); if ( ( ( minx->F & ( FLAG_S | FLAG_O ) ) == 0 ) || ( ( minx->F & ( FLAG_S | FLAG_O ) ) == ( FLAG_S | FLAG_O ) ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E4) { INT8 d8 = rdop(minx); if ( ( minx->F & FLAG_O ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E5) { INT8 d8 = rdop(minx); if ( ! ( minx->F & FLAG_O ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E6) { INT8 d8 = rdop(minx); if ( ! ( minx->F & FLAG_S ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E7) { INT8 d8 = rdop(minx); if ( ( minx->F & FLAG_S ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E8) { INT8 d8 = rdop(minx); if ( ! ( minx->E & EXEC_X0 ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E9) { INT8 d8 = rdop(minx); if ( ! ( minx->E & EXEC_X1 ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(EA) { INT8 d8 = rdop(minx); if ( ! ( minx->E & EXEC_X2 ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(EB) { INT8 d8 = rdop(minx); if ( ! ( minx->E & EXEC_DZ ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(EC) { INT8 d8 = rdop(minx); if ( ( minx->E & EXEC_X0 ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(ED) { INT8 d8 = rdop(minx); if ( ( minx->E & EXEC_X1 ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(EE) { INT8 d8 = rdop(minx); if ( ( minx->E & EXEC_X2 ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(EF) { INT8 d8 = rdop(minx); if ( ( minx->E & EXEC_DZ ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E0) { INT8 d8 = rdop(); if ( ( ( m_F & ( FLAG_S | FLAG_O ) ) == FLAG_S ) || ( ( m_F & ( FLAG_S | FLAG_O ) ) == FLAG_O ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E1) { INT8 d8 = rdop(); if ( ( m_F & FLAG_Z ) || ( ( m_F & ( FLAG_S | FLAG_O ) ) == FLAG_S ) || ( ( m_F & ( FLAG_S | FLAG_O ) ) == FLAG_O ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E2) { INT8 d8 = rdop(); if ( !( m_F & FLAG_Z ) && ( ( ( m_F & ( FLAG_S | FLAG_O ) ) == 0 ) || ( ( m_F & ( FLAG_S | FLAG_O ) ) == ( FLAG_S | FLAG_O ) ) ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E3) { INT8 d8 = rdop(); if ( ( ( m_F & ( FLAG_S | FLAG_O ) ) == 0 ) || ( ( m_F & ( FLAG_S | FLAG_O ) ) == ( FLAG_S | FLAG_O ) ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E4) { INT8 d8 = rdop(); if ( ( m_F & FLAG_O ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E5) { INT8 d8 = rdop(); if ( ! ( m_F & FLAG_O ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E6) { INT8 d8 = rdop(); if ( ! ( m_F & FLAG_S ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E7) { INT8 d8 = rdop(); if ( ( m_F & FLAG_S ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E8) { INT8 d8 = rdop(); if ( ! ( m_E & EXEC_X0 ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E9) { INT8 d8 = rdop(); if ( ! ( m_E & EXEC_X1 ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(EA) { INT8 d8 = rdop(); if ( ! ( m_E & EXEC_X2 ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(EB) { INT8 d8 = rdop(); if ( ! ( m_E & EXEC_DZ ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(EC) { INT8 d8 = rdop(); if ( ( m_E & EXEC_X0 ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(ED) { INT8 d8 = rdop(); if ( ( m_E & EXEC_X1 ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(EE) { INT8 d8 = rdop(); if ( ( m_E & EXEC_X2 ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(EF) { INT8 d8 = rdop(); if ( ( m_E & EXEC_DZ ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
|
||||
OP(F0) { INT8 d8 = rdop(minx); if ( ( ( minx->F & ( FLAG_S | FLAG_O ) ) == FLAG_S ) || ( ( minx->F & ( FLAG_S | FLAG_O ) ) == FLAG_O ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(F1) { INT8 d8 = rdop(minx); if ( ( minx->F & FLAG_Z ) || ( ( minx->F & ( FLAG_S | FLAG_O ) ) == FLAG_S ) || ( ( minx->F & ( FLAG_S | FLAG_O ) ) == FLAG_O ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(F2) { INT8 d8 = rdop(minx); if ( !( minx->F & FLAG_Z ) && ( ( ( minx->F & ( FLAG_S | FLAG_O ) ) == 0 ) || ( ( minx->F & ( FLAG_S | FLAG_O ) ) == ( FLAG_S | FLAG_O ) ) ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(F3) { INT8 d8 = rdop(minx); if ( ( ( minx->F & ( FLAG_S | FLAG_O ) ) == 0 ) || ( ( minx->F & ( FLAG_S | FLAG_O ) ) == ( FLAG_S | FLAG_O ) ) ) { CALL( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(F4) { INT8 d8 = rdop(minx); if ( ( minx->F & FLAG_O ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(F5) { INT8 d8 = rdop(minx); if ( ! ( minx->F & FLAG_O ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(F6) { INT8 d8 = rdop(minx); if ( ! ( minx->F & FLAG_S ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(F7) { INT8 d8 = rdop(minx); if ( ( minx->F & FLAG_S ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(F8) { INT8 d8 = rdop(minx); if ( ! ( minx->E & EXEC_X0 ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(F9) { INT8 d8 = rdop(minx); if ( ! ( minx->E & EXEC_X1 ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(FA) { INT8 d8 = rdop(minx); if ( ! ( minx->E & EXEC_X2 ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(FB) { INT8 d8 = rdop(minx); if ( ! ( minx->E & EXEC_DZ ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(FC) { INT8 d8 = rdop(minx); if ( ( minx->E & EXEC_X0 ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(FD) { INT8 d8 = rdop(minx); if ( ( minx->E & EXEC_X1 ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(FE) { INT8 d8 = rdop(minx); if ( ( minx->E & EXEC_X2 ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(FF) { INT8 d8 = rdop(minx); if ( ( minx->E & EXEC_DZ ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(F0) { INT8 d8 = rdop(); if ( ( ( m_F & ( FLAG_S | FLAG_O ) ) == FLAG_S ) || ( ( m_F & ( FLAG_S | FLAG_O ) ) == FLAG_O ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(F1) { INT8 d8 = rdop(); if ( ( m_F & FLAG_Z ) || ( ( m_F & ( FLAG_S | FLAG_O ) ) == FLAG_S ) || ( ( m_F & ( FLAG_S | FLAG_O ) ) == FLAG_O ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(F2) { INT8 d8 = rdop(); if ( !( m_F & FLAG_Z ) && ( ( ( m_F & ( FLAG_S | FLAG_O ) ) == 0 ) || ( ( m_F & ( FLAG_S | FLAG_O ) ) == ( FLAG_S | FLAG_O ) ) ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(F3) { INT8 d8 = rdop(); if ( ( ( m_F & ( FLAG_S | FLAG_O ) ) == 0 ) || ( ( m_F & ( FLAG_S | FLAG_O ) ) == ( FLAG_S | FLAG_O ) ) ) { CALL( m_PC + d8 - 1 ); } }
|
||||
OP(F4) { INT8 d8 = rdop(); if ( ( m_F & FLAG_O ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(F5) { INT8 d8 = rdop(); if ( ! ( m_F & FLAG_O ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(F6) { INT8 d8 = rdop(); if ( ! ( m_F & FLAG_S ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(F7) { INT8 d8 = rdop(); if ( ( m_F & FLAG_S ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(F8) { INT8 d8 = rdop(); if ( ! ( m_E & EXEC_X0 ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(F9) { INT8 d8 = rdop(); if ( ! ( m_E & EXEC_X1 ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(FA) { INT8 d8 = rdop(); if ( ! ( m_E & EXEC_X2 ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(FB) { INT8 d8 = rdop(); if ( ! ( m_E & EXEC_DZ ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(FC) { INT8 d8 = rdop(); if ( ( m_E & EXEC_X0 ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(FD) { INT8 d8 = rdop(); if ( ( m_E & EXEC_X1 ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(FE) { INT8 d8 = rdop(); if ( ( m_E & EXEC_X2 ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(FF) { INT8 d8 = rdop(); if ( ( m_E & EXEC_DZ ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
|
||||
static void (*const insnminx_CE[256])(minx_state *minx) = {
|
||||
minx_CE_00, minx_CE_01, minx_CE_02, minx_CE_03, minx_CE_04, minx_CE_05, minx_CE_06, minx_CE_07,
|
||||
minx_CE_08, minx_CE_09, minx_CE_0A, minx_CE_0B, minx_CE_0C, minx_CE_0D, minx_CE_0E, minx_CE_0F,
|
||||
minx_CE_10, minx_CE_11, minx_CE_12, minx_CE_13, minx_CE_14, minx_CE_15, minx_CE_16, minx_CE_17,
|
||||
minx_CE_18, minx_CE_19, minx_CE_1A, minx_CE_1B, minx_CE_1C, minx_CE_1D, minx_CE_1E, minx_CE_1F,
|
||||
minx_CE_20, minx_CE_21, minx_CE_22, minx_CE_23, minx_CE_24, minx_CE_25, minx_CE_26, minx_CE_27,
|
||||
minx_CE_28, minx_CE_29, minx_CE_2A, minx_CE_2B, minx_CE_2C, minx_CE_2D, minx_CE_2E, minx_CE_2F,
|
||||
minx_CE_30, minx_CE_31, minx_CE_32, minx_CE_33, minx_CE_34, minx_CE_35, minx_CE_36, minx_CE_37,
|
||||
minx_CE_38, minx_CE_39, minx_CE_3A, minx_CE_3B, minx_CE_3C, minx_CE_3D, minx_CE_3E, minx_CE_3F,
|
||||
minx_CE_40, minx_CE_41, minx_CE_42, minx_CE_43, minx_CE_44, minx_CE_45, minx_CE_46, minx_CE_47,
|
||||
minx_CE_48, minx_CE_49, minx_CE_4A, minx_CE_4B, minx_CE_4C, minx_CE_4D, minx_CE_4E, minx_CE_4F,
|
||||
minx_CE_50, minx_CE_51, minx_CE_52, minx_CE_53, minx_CE_54, minx_CE_55, minx_CE_56, minx_CE_57,
|
||||
minx_CE_58, minx_CE_59, minx_CE_5A, minx_CE_5B, minx_CE_5C, minx_CE_5D, minx_CE_5E, minx_CE_5F,
|
||||
minx_CE_60, minx_CE_61, minx_CE_62, minx_CE_63, minx_CE_64, minx_CE_65, minx_CE_66, minx_CE_67,
|
||||
minx_CE_68, minx_CE_69, minx_CE_6A, minx_CE_6B, minx_CE_6C, minx_CE_6D, minx_CE_6E, minx_CE_6F,
|
||||
minx_CE_70, minx_CE_71, minx_CE_72, minx_CE_73, minx_CE_74, minx_CE_75, minx_CE_76, minx_CE_77,
|
||||
minx_CE_78, minx_CE_79, minx_CE_7A, minx_CE_7B, minx_CE_7C, minx_CE_7D, minx_CE_7E, minx_CE_7F,
|
||||
minx_CE_80, minx_CE_81, minx_CE_82, minx_CE_83, minx_CE_84, minx_CE_85, minx_CE_86, minx_CE_87,
|
||||
minx_CE_88, minx_CE_89, minx_CE_8A, minx_CE_8B, minx_CE_8C, minx_CE_8D, minx_CE_8E, minx_CE_8F,
|
||||
minx_CE_90, minx_CE_91, minx_CE_92, minx_CE_93, minx_CE_94, minx_CE_95, minx_CE_96, minx_CE_97,
|
||||
minx_CE_98, minx_CE_99, minx_CE_9A, minx_CE_9B, minx_CE_9C, minx_CE_9D, minx_CE_9E, minx_CE_9F,
|
||||
minx_CE_A0, minx_CE_A1, minx_CE_A2, minx_CE_A3, minx_CE_A4, minx_CE_A5, minx_CE_A6, minx_CE_A7,
|
||||
minx_CE_A8, minx_CE_A9, minx_CE_AA, minx_CE_AB, minx_CE_AC, minx_CE_AD, minx_CE_AE, minx_CE_AF,
|
||||
minx_CE_B0, minx_CE_B1, minx_CE_B2, minx_CE_B3, minx_CE_B4, minx_CE_B5, minx_CE_B6, minx_CE_B7,
|
||||
minx_CE_B8, minx_CE_B9, minx_CE_BA, minx_CE_BB, minx_CE_BC, minx_CE_BD, minx_CE_BE, minx_CE_BF,
|
||||
minx_CE_C0, minx_CE_C1, minx_CE_C2, minx_CE_C3, minx_CE_C4, minx_CE_C5, minx_CE_C6, minx_CE_C7,
|
||||
minx_CE_C8, minx_CE_C9, minx_CE_CA, minx_CE_CB, minx_CE_CC, minx_CE_CD, minx_CE_CE, minx_CE_CF,
|
||||
minx_CE_D0, minx_CE_D1, minx_CE_D2, minx_CE_D3, minx_CE_D4, minx_CE_D5, minx_CE_D6, minx_CE_D7,
|
||||
minx_CE_D8, minx_CE_D9, minx_CE_DA, minx_CE_DB, minx_CE_DC, minx_CE_DD, minx_CE_DE, minx_CE_DF,
|
||||
minx_CE_E0, minx_CE_E1, minx_CE_E2, minx_CE_E3, minx_CE_E4, minx_CE_E5, minx_CE_E6, minx_CE_E7,
|
||||
minx_CE_E8, minx_CE_E9, minx_CE_EA, minx_CE_EB, minx_CE_EC, minx_CE_ED, minx_CE_EE, minx_CE_EF,
|
||||
minx_CE_F0, minx_CE_F1, minx_CE_F2, minx_CE_F3, minx_CE_F4, minx_CE_F5, minx_CE_F6, minx_CE_F7,
|
||||
minx_CE_F8, minx_CE_F9, minx_CE_FA, minx_CE_FB, minx_CE_FC, minx_CE_FD, minx_CE_FE, minx_CE_FF
|
||||
const minx_cpu_device::op_func minx_cpu_device::insnminx_CE[256] = {
|
||||
&minx_cpu_device::minx_CE_00, &minx_cpu_device::minx_CE_01, &minx_cpu_device::minx_CE_02, &minx_cpu_device::minx_CE_03, &minx_cpu_device::minx_CE_04, &minx_cpu_device::minx_CE_05, &minx_cpu_device::minx_CE_06, &minx_cpu_device::minx_CE_07,
|
||||
&minx_cpu_device::minx_CE_08, &minx_cpu_device::minx_CE_09, &minx_cpu_device::minx_CE_0A, &minx_cpu_device::minx_CE_0B, &minx_cpu_device::minx_CE_0C, &minx_cpu_device::minx_CE_0D, &minx_cpu_device::minx_CE_0E, &minx_cpu_device::minx_CE_0F,
|
||||
&minx_cpu_device::minx_CE_10, &minx_cpu_device::minx_CE_11, &minx_cpu_device::minx_CE_12, &minx_cpu_device::minx_CE_13, &minx_cpu_device::minx_CE_14, &minx_cpu_device::minx_CE_15, &minx_cpu_device::minx_CE_16, &minx_cpu_device::minx_CE_17,
|
||||
&minx_cpu_device::minx_CE_18, &minx_cpu_device::minx_CE_19, &minx_cpu_device::minx_CE_1A, &minx_cpu_device::minx_CE_1B, &minx_cpu_device::minx_CE_1C, &minx_cpu_device::minx_CE_1D, &minx_cpu_device::minx_CE_1E, &minx_cpu_device::minx_CE_1F,
|
||||
&minx_cpu_device::minx_CE_20, &minx_cpu_device::minx_CE_21, &minx_cpu_device::minx_CE_22, &minx_cpu_device::minx_CE_23, &minx_cpu_device::minx_CE_24, &minx_cpu_device::minx_CE_25, &minx_cpu_device::minx_CE_26, &minx_cpu_device::minx_CE_27,
|
||||
&minx_cpu_device::minx_CE_28, &minx_cpu_device::minx_CE_29, &minx_cpu_device::minx_CE_2A, &minx_cpu_device::minx_CE_2B, &minx_cpu_device::minx_CE_2C, &minx_cpu_device::minx_CE_2D, &minx_cpu_device::minx_CE_2E, &minx_cpu_device::minx_CE_2F,
|
||||
&minx_cpu_device::minx_CE_30, &minx_cpu_device::minx_CE_31, &minx_cpu_device::minx_CE_32, &minx_cpu_device::minx_CE_33, &minx_cpu_device::minx_CE_34, &minx_cpu_device::minx_CE_35, &minx_cpu_device::minx_CE_36, &minx_cpu_device::minx_CE_37,
|
||||
&minx_cpu_device::minx_CE_38, &minx_cpu_device::minx_CE_39, &minx_cpu_device::minx_CE_3A, &minx_cpu_device::minx_CE_3B, &minx_cpu_device::minx_CE_3C, &minx_cpu_device::minx_CE_3D, &minx_cpu_device::minx_CE_3E, &minx_cpu_device::minx_CE_3F,
|
||||
&minx_cpu_device::minx_CE_40, &minx_cpu_device::minx_CE_41, &minx_cpu_device::minx_CE_42, &minx_cpu_device::minx_CE_43, &minx_cpu_device::minx_CE_44, &minx_cpu_device::minx_CE_45, &minx_cpu_device::minx_CE_46, &minx_cpu_device::minx_CE_47,
|
||||
&minx_cpu_device::minx_CE_48, &minx_cpu_device::minx_CE_49, &minx_cpu_device::minx_CE_4A, &minx_cpu_device::minx_CE_4B, &minx_cpu_device::minx_CE_4C, &minx_cpu_device::minx_CE_4D, &minx_cpu_device::minx_CE_4E, &minx_cpu_device::minx_CE_4F,
|
||||
&minx_cpu_device::minx_CE_50, &minx_cpu_device::minx_CE_51, &minx_cpu_device::minx_CE_52, &minx_cpu_device::minx_CE_53, &minx_cpu_device::minx_CE_54, &minx_cpu_device::minx_CE_55, &minx_cpu_device::minx_CE_56, &minx_cpu_device::minx_CE_57,
|
||||
&minx_cpu_device::minx_CE_58, &minx_cpu_device::minx_CE_59, &minx_cpu_device::minx_CE_5A, &minx_cpu_device::minx_CE_5B, &minx_cpu_device::minx_CE_5C, &minx_cpu_device::minx_CE_5D, &minx_cpu_device::minx_CE_5E, &minx_cpu_device::minx_CE_5F,
|
||||
&minx_cpu_device::minx_CE_60, &minx_cpu_device::minx_CE_61, &minx_cpu_device::minx_CE_62, &minx_cpu_device::minx_CE_63, &minx_cpu_device::minx_CE_64, &minx_cpu_device::minx_CE_65, &minx_cpu_device::minx_CE_66, &minx_cpu_device::minx_CE_67,
|
||||
&minx_cpu_device::minx_CE_68, &minx_cpu_device::minx_CE_69, &minx_cpu_device::minx_CE_6A, &minx_cpu_device::minx_CE_6B, &minx_cpu_device::minx_CE_6C, &minx_cpu_device::minx_CE_6D, &minx_cpu_device::minx_CE_6E, &minx_cpu_device::minx_CE_6F,
|
||||
&minx_cpu_device::minx_CE_70, &minx_cpu_device::minx_CE_71, &minx_cpu_device::minx_CE_72, &minx_cpu_device::minx_CE_73, &minx_cpu_device::minx_CE_74, &minx_cpu_device::minx_CE_75, &minx_cpu_device::minx_CE_76, &minx_cpu_device::minx_CE_77,
|
||||
&minx_cpu_device::minx_CE_78, &minx_cpu_device::minx_CE_79, &minx_cpu_device::minx_CE_7A, &minx_cpu_device::minx_CE_7B, &minx_cpu_device::minx_CE_7C, &minx_cpu_device::minx_CE_7D, &minx_cpu_device::minx_CE_7E, &minx_cpu_device::minx_CE_7F,
|
||||
&minx_cpu_device::minx_CE_80, &minx_cpu_device::minx_CE_81, &minx_cpu_device::minx_CE_82, &minx_cpu_device::minx_CE_83, &minx_cpu_device::minx_CE_84, &minx_cpu_device::minx_CE_85, &minx_cpu_device::minx_CE_86, &minx_cpu_device::minx_CE_87,
|
||||
&minx_cpu_device::minx_CE_88, &minx_cpu_device::minx_CE_89, &minx_cpu_device::minx_CE_8A, &minx_cpu_device::minx_CE_8B, &minx_cpu_device::minx_CE_8C, &minx_cpu_device::minx_CE_8D, &minx_cpu_device::minx_CE_8E, &minx_cpu_device::minx_CE_8F,
|
||||
&minx_cpu_device::minx_CE_90, &minx_cpu_device::minx_CE_91, &minx_cpu_device::minx_CE_92, &minx_cpu_device::minx_CE_93, &minx_cpu_device::minx_CE_94, &minx_cpu_device::minx_CE_95, &minx_cpu_device::minx_CE_96, &minx_cpu_device::minx_CE_97,
|
||||
&minx_cpu_device::minx_CE_98, &minx_cpu_device::minx_CE_99, &minx_cpu_device::minx_CE_9A, &minx_cpu_device::minx_CE_9B, &minx_cpu_device::minx_CE_9C, &minx_cpu_device::minx_CE_9D, &minx_cpu_device::minx_CE_9E, &minx_cpu_device::minx_CE_9F,
|
||||
&minx_cpu_device::minx_CE_A0, &minx_cpu_device::minx_CE_A1, &minx_cpu_device::minx_CE_A2, &minx_cpu_device::minx_CE_A3, &minx_cpu_device::minx_CE_A4, &minx_cpu_device::minx_CE_A5, &minx_cpu_device::minx_CE_A6, &minx_cpu_device::minx_CE_A7,
|
||||
&minx_cpu_device::minx_CE_A8, &minx_cpu_device::minx_CE_A9, &minx_cpu_device::minx_CE_AA, &minx_cpu_device::minx_CE_AB, &minx_cpu_device::minx_CE_AC, &minx_cpu_device::minx_CE_AD, &minx_cpu_device::minx_CE_AE, &minx_cpu_device::minx_CE_AF,
|
||||
&minx_cpu_device::minx_CE_B0, &minx_cpu_device::minx_CE_B1, &minx_cpu_device::minx_CE_B2, &minx_cpu_device::minx_CE_B3, &minx_cpu_device::minx_CE_B4, &minx_cpu_device::minx_CE_B5, &minx_cpu_device::minx_CE_B6, &minx_cpu_device::minx_CE_B7,
|
||||
&minx_cpu_device::minx_CE_B8, &minx_cpu_device::minx_CE_B9, &minx_cpu_device::minx_CE_BA, &minx_cpu_device::minx_CE_BB, &minx_cpu_device::minx_CE_BC, &minx_cpu_device::minx_CE_BD, &minx_cpu_device::minx_CE_BE, &minx_cpu_device::minx_CE_BF,
|
||||
&minx_cpu_device::minx_CE_C0, &minx_cpu_device::minx_CE_C1, &minx_cpu_device::minx_CE_C2, &minx_cpu_device::minx_CE_C3, &minx_cpu_device::minx_CE_C4, &minx_cpu_device::minx_CE_C5, &minx_cpu_device::minx_CE_C6, &minx_cpu_device::minx_CE_C7,
|
||||
&minx_cpu_device::minx_CE_C8, &minx_cpu_device::minx_CE_C9, &minx_cpu_device::minx_CE_CA, &minx_cpu_device::minx_CE_CB, &minx_cpu_device::minx_CE_CC, &minx_cpu_device::minx_CE_CD, &minx_cpu_device::minx_CE_CE, &minx_cpu_device::minx_CE_CF,
|
||||
&minx_cpu_device::minx_CE_D0, &minx_cpu_device::minx_CE_D1, &minx_cpu_device::minx_CE_D2, &minx_cpu_device::minx_CE_D3, &minx_cpu_device::minx_CE_D4, &minx_cpu_device::minx_CE_D5, &minx_cpu_device::minx_CE_D6, &minx_cpu_device::minx_CE_D7,
|
||||
&minx_cpu_device::minx_CE_D8, &minx_cpu_device::minx_CE_D9, &minx_cpu_device::minx_CE_DA, &minx_cpu_device::minx_CE_DB, &minx_cpu_device::minx_CE_DC, &minx_cpu_device::minx_CE_DD, &minx_cpu_device::minx_CE_DE, &minx_cpu_device::minx_CE_DF,
|
||||
&minx_cpu_device::minx_CE_E0, &minx_cpu_device::minx_CE_E1, &minx_cpu_device::minx_CE_E2, &minx_cpu_device::minx_CE_E3, &minx_cpu_device::minx_CE_E4, &minx_cpu_device::minx_CE_E5, &minx_cpu_device::minx_CE_E6, &minx_cpu_device::minx_CE_E7,
|
||||
&minx_cpu_device::minx_CE_E8, &minx_cpu_device::minx_CE_E9, &minx_cpu_device::minx_CE_EA, &minx_cpu_device::minx_CE_EB, &minx_cpu_device::minx_CE_EC, &minx_cpu_device::minx_CE_ED, &minx_cpu_device::minx_CE_EE, &minx_cpu_device::minx_CE_EF,
|
||||
&minx_cpu_device::minx_CE_F0, &minx_cpu_device::minx_CE_F1, &minx_cpu_device::minx_CE_F2, &minx_cpu_device::minx_CE_F3, &minx_cpu_device::minx_CE_F4, &minx_cpu_device::minx_CE_F5, &minx_cpu_device::minx_CE_F6, &minx_cpu_device::minx_CE_F7,
|
||||
&minx_cpu_device::minx_CE_F8, &minx_cpu_device::minx_CE_F9, &minx_cpu_device::minx_CE_FA, &minx_cpu_device::minx_CE_FB, &minx_cpu_device::minx_CE_FC, &minx_cpu_device::minx_CE_FD, &minx_cpu_device::minx_CE_FE, &minx_cpu_device::minx_CE_FF
|
||||
};
|
||||
|
||||
static const int insnminx_cycles_CE[256] = {
|
||||
const int minx_cpu_device::insnminx_cycles_CE[256] = {
|
||||
16, 16, 16, 16, 16, 20, 20, 20, 16, 16, 16, 16, 16, 20, 20, 20,
|
||||
16, 16, 16, 16, 16, 20, 20, 20, 16, 16, 16, 16, 16, 20, 20, 20,
|
||||
16, 16, 16, 16, 16, 20, 20, 20, 16, 16, 16, 16, 16, 20, 20, 20,
|
||||
@ -317,14 +317,14 @@ static const int insnminx_cycles_CE[256] = {
|
||||
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
|
||||
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
|
||||
20, 20, 20, 20, 1, 1, 1, 1, 20, 20, 20, 20, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 20, 20, 20, 20, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 20, 20, 20, 20, 1, 1, 1, 1,
|
||||
|
||||
12, 12, 20, 16, 12, 12, 20, 16, 12, 12, 20, 16, 12, 12, 20, 16,
|
||||
12, 12, 20, 16, 12, 12, 20, 16, 12, 12, 20, 16, 12, 12, 20, 16,
|
||||
12, 12, 20, 16, 12, 12, 20, 16, 12, 1, 1, 1, 1, 1, 8, 8,
|
||||
12, 12, 12, 1, 12, 12, 12, 1, 20, 20, 20, 20, 12, 12, 12, 1,
|
||||
|
||||
8, 8, 8, 12, 16, 12, 12, 12, 8, 8, 8, 8, 12, 8, 8, 8,
|
||||
8, 8, 8, 12, 16, 12, 12, 12, 8, 8, 8, 8, 12, 8, 8, 8,
|
||||
20, 20, 20, 20, 20, 20, 20, 20, 48, 52, 1, 1, 1, 1, 1, 1,
|
||||
12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
|
||||
12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12
|
||||
|
@ -1,22 +1,22 @@
|
||||
#undef OP
|
||||
#define OP(nn) INLINE void minx_CF_##nn(minx_state *minx)
|
||||
#define OP(nn) void minx_cpu_device::minx_CF_##nn()
|
||||
|
||||
OP(00) { minx->BA = ADD16( minx, minx->BA, minx->BA ); }
|
||||
OP(01) { minx->BA = ADD16( minx, minx->BA, minx->HL ); }
|
||||
OP(02) { minx->BA = ADD16( minx, minx->BA, minx->X ); }
|
||||
OP(03) { minx->BA = ADD16( minx, minx->BA, minx->Y ); }
|
||||
OP(04) { minx->BA = ADDC16( minx, minx->BA, minx->BA ); }
|
||||
OP(05) { minx->BA = ADDC16( minx, minx->BA, minx->HL ); }
|
||||
OP(06) { minx->BA = ADDC16( minx, minx->BA, minx->X ); }
|
||||
OP(07) { minx->BA = ADDC16( minx, minx->BA, minx->Y ); }
|
||||
OP(08) { minx->BA = SUB16( minx, minx->BA, minx->BA ); }
|
||||
OP(09) { minx->BA = SUB16( minx, minx->BA, minx->HL ); }
|
||||
OP(0A) { minx->BA = SUB16( minx, minx->BA, minx->X ); }
|
||||
OP(0B) { minx->BA = SUB16( minx, minx->BA, minx->Y ); }
|
||||
OP(0C) { minx->BA = SUBC16( minx, minx->BA, minx->BA ); }
|
||||
OP(0D) { minx->BA = SUBC16( minx, minx->BA, minx->HL ); }
|
||||
OP(0E) { minx->BA = SUBC16( minx, minx->BA, minx->X ); }
|
||||
OP(0F) { minx->BA = SUBC16( minx, minx->BA, minx->Y ); }
|
||||
OP(00) { m_BA = ADD16( m_BA, m_BA ); }
|
||||
OP(01) { m_BA = ADD16( m_BA, m_HL ); }
|
||||
OP(02) { m_BA = ADD16( m_BA, m_X ); }
|
||||
OP(03) { m_BA = ADD16( m_BA, m_Y ); }
|
||||
OP(04) { m_BA = ADDC16( m_BA, m_BA ); }
|
||||
OP(05) { m_BA = ADDC16( m_BA, m_HL ); }
|
||||
OP(06) { m_BA = ADDC16( m_BA, m_X ); }
|
||||
OP(07) { m_BA = ADDC16( m_BA, m_Y ); }
|
||||
OP(08) { m_BA = SUB16( m_BA, m_BA ); }
|
||||
OP(09) { m_BA = SUB16( m_BA, m_HL ); }
|
||||
OP(0A) { m_BA = SUB16( m_BA, m_X ); }
|
||||
OP(0B) { m_BA = SUB16( m_BA, m_Y ); }
|
||||
OP(0C) { m_BA = SUBC16( m_BA, m_BA ); }
|
||||
OP(0D) { m_BA = SUBC16( m_BA, m_HL ); }
|
||||
OP(0E) { m_BA = SUBC16( m_BA, m_X ); }
|
||||
OP(0F) { m_BA = SUBC16( m_BA, m_Y ); }
|
||||
|
||||
OP(10) { /* illegal instruction? */ }
|
||||
OP(11) { /* illegal instruction? */ }
|
||||
@ -26,31 +26,31 @@ OP(14) { /* illegal instruction? */ }
|
||||
OP(15) { /* illegal instruction? */ }
|
||||
OP(16) { /* illegal instruction? */ }
|
||||
OP(17) { /* illegal instruction? */ }
|
||||
OP(18) { SUB16( minx, minx->BA, minx->BA ); }
|
||||
OP(19) { SUB16( minx, minx->BA, minx->HL ); }
|
||||
OP(1A) { SUB16( minx, minx->BA, minx->X ); }
|
||||
OP(1B) { SUB16( minx, minx->BA, minx->Y ); }
|
||||
OP(18) { SUB16( m_BA, m_BA ); }
|
||||
OP(19) { SUB16( m_BA, m_HL ); }
|
||||
OP(1A) { SUB16( m_BA, m_X ); }
|
||||
OP(1B) { SUB16( m_BA, m_Y ); }
|
||||
OP(1C) { /* illegal instruction? */ }
|
||||
OP(1D) { /* illegal instruction? */ }
|
||||
OP(1E) { /* illegal instruction? */ }
|
||||
OP(1F) { /* illegal instruction? */ }
|
||||
|
||||
OP(20) { minx->HL = ADD16( minx, minx->HL, minx->BA ); }
|
||||
OP(21) { minx->HL = ADD16( minx, minx->HL, minx->HL ); }
|
||||
OP(22) { minx->HL = ADD16( minx, minx->HL, minx->X ); }
|
||||
OP(23) { minx->HL = ADD16( minx, minx->HL, minx->Y ); }
|
||||
OP(24) { minx->HL = ADDC16( minx, minx->HL, minx->BA ); }
|
||||
OP(25) { minx->HL = ADDC16( minx, minx->HL, minx->HL ); }
|
||||
OP(26) { minx->HL = ADDC16( minx, minx->HL, minx->X ); }
|
||||
OP(27) { minx->HL = ADDC16( minx, minx->HL, minx->Y ); }
|
||||
OP(28) { minx->HL = SUB16( minx, minx->HL, minx->BA ); }
|
||||
OP(29) { minx->HL = SUB16( minx, minx->HL, minx->HL ); }
|
||||
OP(2A) { minx->HL = SUB16( minx, minx->HL, minx->X ); }
|
||||
OP(2B) { minx->HL = SUB16( minx, minx->HL, minx->Y ); }
|
||||
OP(2C) { minx->HL = SUBC16( minx, minx->HL, minx->BA ); }
|
||||
OP(2D) { minx->HL = SUBC16( minx, minx->HL, minx->HL ); }
|
||||
OP(2E) { minx->HL = SUBC16( minx, minx->HL, minx->X ); }
|
||||
OP(2F) { minx->HL = SUBC16( minx, minx->HL, minx->Y ); }
|
||||
OP(20) { m_HL = ADD16( m_HL, m_BA ); }
|
||||
OP(21) { m_HL = ADD16( m_HL, m_HL ); }
|
||||
OP(22) { m_HL = ADD16( m_HL, m_X ); }
|
||||
OP(23) { m_HL = ADD16( m_HL, m_Y ); }
|
||||
OP(24) { m_HL = ADDC16( m_HL, m_BA ); }
|
||||
OP(25) { m_HL = ADDC16( m_HL, m_HL ); }
|
||||
OP(26) { m_HL = ADDC16( m_HL, m_X ); }
|
||||
OP(27) { m_HL = ADDC16( m_HL, m_Y ); }
|
||||
OP(28) { m_HL = SUB16( m_HL, m_BA ); }
|
||||
OP(29) { m_HL = SUB16( m_HL, m_HL ); }
|
||||
OP(2A) { m_HL = SUB16( m_HL, m_X ); }
|
||||
OP(2B) { m_HL = SUB16( m_HL, m_Y ); }
|
||||
OP(2C) { m_HL = SUBC16( m_HL, m_BA ); }
|
||||
OP(2D) { m_HL = SUBC16( m_HL, m_HL ); }
|
||||
OP(2E) { m_HL = SUBC16( m_HL, m_X ); }
|
||||
OP(2F) { m_HL = SUBC16( m_HL, m_Y ); }
|
||||
|
||||
OP(30) { /* illegal instruction? */ }
|
||||
OP(31) { /* illegal instruction? */ }
|
||||
@ -60,29 +60,29 @@ OP(34) { /* illegal instruction? */ }
|
||||
OP(35) { /* illegal instruction? */ }
|
||||
OP(36) { /* illegal instruction? */ }
|
||||
OP(37) { /* illegal instruction? */ }
|
||||
OP(38) { SUB16( minx, minx->HL, minx->BA ); }
|
||||
OP(39) { SUB16( minx, minx->HL, minx->HL ); }
|
||||
OP(3A) { SUB16( minx, minx->HL, minx->X ); }
|
||||
OP(3B) { SUB16( minx, minx->HL, minx->Y ); }
|
||||
OP(38) { SUB16( m_HL, m_BA ); }
|
||||
OP(39) { SUB16( m_HL, m_HL ); }
|
||||
OP(3A) { SUB16( m_HL, m_X ); }
|
||||
OP(3B) { SUB16( m_HL, m_Y ); }
|
||||
OP(3C) { /* illegal instruction? */ }
|
||||
OP(3D) { /* illegal instruction? */ }
|
||||
OP(3E) { /* illegal instruction? */ }
|
||||
OP(3F) { /* illegal instruction? */ }
|
||||
|
||||
OP(40) { minx->X = ADD16( minx, minx->X, minx->BA ); }
|
||||
OP(41) { minx->X = ADD16( minx, minx->X, minx->HL ); }
|
||||
OP(42) { minx->Y = ADD16( minx, minx->Y, minx->BA ); }
|
||||
OP(43) { minx->Y = ADD16( minx, minx->Y, minx->HL ); }
|
||||
OP(44) { minx->SP = ADD16( minx, minx->SP, minx->BA ); }
|
||||
OP(45) { minx->SP = ADD16( minx, minx->SP, minx->HL ); }
|
||||
OP(40) { m_X = ADD16( m_X, m_BA ); }
|
||||
OP(41) { m_X = ADD16( m_X, m_HL ); }
|
||||
OP(42) { m_Y = ADD16( m_Y, m_BA ); }
|
||||
OP(43) { m_Y = ADD16( m_Y, m_HL ); }
|
||||
OP(44) { m_SP = ADD16( m_SP, m_BA ); }
|
||||
OP(45) { m_SP = ADD16( m_SP, m_HL ); }
|
||||
OP(46) { /* illegal instruction? */ }
|
||||
OP(47) { /* illegal instruction? */ }
|
||||
OP(48) { minx->X = SUB16( minx, minx->X, minx->BA ); }
|
||||
OP(49) { minx->X = SUB16( minx, minx->X, minx->HL ); }
|
||||
OP(4A) { minx->Y = SUB16( minx, minx->Y, minx->BA ); }
|
||||
OP(4B) { minx->Y = SUB16( minx, minx->Y, minx->HL ); }
|
||||
OP(4C) { minx->SP = SUB16( minx, minx->SP, minx->BA ); }
|
||||
OP(4D) { minx->SP = SUB16( minx, minx->SP, minx->HL ); }
|
||||
OP(48) { m_X = SUB16( m_X, m_BA ); }
|
||||
OP(49) { m_X = SUB16( m_X, m_HL ); }
|
||||
OP(4A) { m_Y = SUB16( m_Y, m_BA ); }
|
||||
OP(4B) { m_Y = SUB16( m_Y, m_HL ); }
|
||||
OP(4C) { m_SP = SUB16( m_SP, m_BA ); }
|
||||
OP(4D) { m_SP = SUB16( m_SP, m_HL ); }
|
||||
OP(4E) { /* illegal instruction? */ }
|
||||
OP(4F) { /* illegal instruction? */ }
|
||||
|
||||
@ -98,41 +98,41 @@ OP(58) { /* illegal instruction? */ }
|
||||
OP(59) { /* illegal instruction? */ }
|
||||
OP(5A) { /* illegal instruction? */ }
|
||||
OP(5B) { /* illegal instruction? */ }
|
||||
OP(5C) { SUB16( minx, minx->SP, minx->BA ); }
|
||||
OP(5D) { SUB16( minx, minx->SP, minx->HL ); }
|
||||
OP(5C) { SUB16( m_SP, m_BA ); }
|
||||
OP(5D) { SUB16( m_SP, m_HL ); }
|
||||
OP(5E) { /* illegal instruction? */ }
|
||||
OP(5F) { /* illegal instruction? */ }
|
||||
|
||||
OP(60) { ADDC16( minx, minx->BA, rdop16(minx) ); /* ??? */ }
|
||||
OP(61) { ADDC16( minx, minx->HL, rdop16(minx) ); /* ??? */ }
|
||||
OP(62) { ADDC16( minx, minx->X, rdop16(minx) ); /* ??? */ }
|
||||
OP(63) { ADDC16( minx, minx->Y, rdop16(minx) ); /* ??? */ }
|
||||
OP(60) { ADDC16( m_BA, rdop16() ); /* ??? */ }
|
||||
OP(61) { ADDC16( m_HL, rdop16() ); /* ??? */ }
|
||||
OP(62) { ADDC16( m_X, rdop16() ); /* ??? */ }
|
||||
OP(63) { ADDC16( m_Y, rdop16() ); /* ??? */ }
|
||||
OP(64) { /* illegal instruction? */ }
|
||||
OP(65) { /* illegal instruction? */ }
|
||||
OP(66) { /* illegal instruction? */ }
|
||||
OP(67) { /* illegal instruction? */ }
|
||||
OP(68) { minx->SP = ADD16( minx, minx->SP, rdop16(minx) ); }
|
||||
OP(68) { m_SP = ADD16( m_SP, rdop16() ); }
|
||||
OP(69) { /* illegal instruction? */ }
|
||||
OP(6A) { minx->SP = SUB16( minx, minx->SP, rdop16(minx) ); }
|
||||
OP(6A) { m_SP = SUB16( m_SP, rdop16() ); }
|
||||
OP(6B) { /* illegal instruction? */ }
|
||||
OP(6C) { SUB16( minx, minx->SP, rdop16(minx) ); }
|
||||
OP(6C) { SUB16( m_SP, rdop16() ); }
|
||||
OP(6D) { /* illegal instruction? */ }
|
||||
OP(6E) { minx->SP = rdop16(minx); }
|
||||
OP(6E) { m_SP = rdop16(); }
|
||||
OP(6F) { /* illegal instruction? */ }
|
||||
|
||||
OP(70) { UINT8 ofs8 = rdop(minx); minx->BA = rd16( minx, minx->SP + ofs8 ); }
|
||||
OP(71) { UINT8 ofs8 = rdop(minx); minx->HL = rd16( minx, minx->SP + ofs8 ); }
|
||||
OP(72) { UINT8 ofs8 = rdop(minx); minx->X = rd16( minx, minx->SP + ofs8 ); }
|
||||
OP(73) { UINT8 ofs8 = rdop(minx); minx->Y = rd16( minx, minx->SP + ofs8 ); }
|
||||
OP(74) { UINT8 ofs8 = rdop(minx); wr16( minx, minx->SP + ofs8, minx->BA ); }
|
||||
OP(75) { UINT8 ofs8 = rdop(minx); wr16( minx, minx->SP + ofs8, minx->HL ); }
|
||||
OP(76) { UINT8 ofs8 = rdop(minx); wr16( minx, minx->SP + ofs8, minx->X ); }
|
||||
OP(77) { UINT8 ofs8 = rdop(minx); wr16( minx, minx->SP + ofs8, minx->Y ); }
|
||||
OP(78) { AD2_I16; minx->SP = rd16( minx, addr2 ); }
|
||||
OP(70) { UINT8 ofs8 = rdop(); m_BA = rd16( m_SP + ofs8 ); }
|
||||
OP(71) { UINT8 ofs8 = rdop(); m_HL = rd16( m_SP + ofs8 ); }
|
||||
OP(72) { UINT8 ofs8 = rdop(); m_X = rd16( m_SP + ofs8 ); }
|
||||
OP(73) { UINT8 ofs8 = rdop(); m_Y = rd16( m_SP + ofs8 ); }
|
||||
OP(74) { UINT8 ofs8 = rdop(); wr16( m_SP + ofs8, m_BA ); }
|
||||
OP(75) { UINT8 ofs8 = rdop(); wr16( m_SP + ofs8, m_HL ); }
|
||||
OP(76) { UINT8 ofs8 = rdop(); wr16( m_SP + ofs8, m_X ); }
|
||||
OP(77) { UINT8 ofs8 = rdop(); wr16( m_SP + ofs8, m_Y ); }
|
||||
OP(78) { AD2_I16; m_SP = rd16( addr2 ); }
|
||||
OP(79) { /* illegal instruction? */ }
|
||||
OP(7A) { /* illegal instruction? */ }
|
||||
OP(7B) { /* illegal instruction? */ }
|
||||
OP(7C) { AD1_I16; wr16( minx, addr1, minx->SP ); }
|
||||
OP(7C) { AD1_I16; wr16( addr1, m_SP ); }
|
||||
OP(7D) { /* illegal instruction? */ }
|
||||
OP(7E) { /* illegal instruction? */ }
|
||||
OP(7F) { /* illegal instruction? */ }
|
||||
@ -188,31 +188,31 @@ OP(AD) { /* illegal instruction? */ }
|
||||
OP(AE) { /* illegal instruction? */ }
|
||||
OP(AF) { /* illegal instruction? */ }
|
||||
|
||||
OP(B0) { PUSH8( minx, minx->BA & 0x00FF ); }
|
||||
OP(B1) { PUSH8( minx, minx->BA >> 8 ); }
|
||||
OP(B2) { PUSH8( minx, minx->HL & 0x00FF ); }
|
||||
OP(B3) { PUSH8( minx, minx->HL >> 8 ); }
|
||||
OP(B4) { minx->BA = ( minx->BA & 0xFF00 ) | POP8(minx); }
|
||||
OP(B5) { minx->BA = ( minx->BA & 0x00FF ) | ( POP8(minx) << 8 ); }
|
||||
OP(B6) { minx->HL = ( minx->HL & 0xFF00 ) | POP8(minx); }
|
||||
OP(B7) { minx->HL = ( minx->HL & 0x00FF ) | ( POP8(minx) << 8 ); }
|
||||
OP(B8) { PUSH16( minx, minx->BA ); PUSH16( minx, minx->HL ); PUSH16( minx, minx->X ); PUSH16( minx, minx->Y ); PUSH8( minx, minx->N ); }
|
||||
OP(B9) { PUSH16( minx, minx->BA ); PUSH16( minx, minx->HL ); PUSH16( minx, minx->X ); PUSH16( minx, minx->Y ); PUSH8( minx, minx->N ); PUSH8( minx, minx->I ); PUSH8( minx, minx->XI ); PUSH8( minx, minx->YI ); }
|
||||
OP(B0) { PUSH8( m_BA & 0x00FF ); }
|
||||
OP(B1) { PUSH8( m_BA >> 8 ); }
|
||||
OP(B2) { PUSH8( m_HL & 0x00FF ); }
|
||||
OP(B3) { PUSH8( m_HL >> 8 ); }
|
||||
OP(B4) { m_BA = ( m_BA & 0xFF00 ) | POP8(); }
|
||||
OP(B5) { m_BA = ( m_BA & 0x00FF ) | ( POP8() << 8 ); }
|
||||
OP(B6) { m_HL = ( m_HL & 0xFF00 ) | POP8(); }
|
||||
OP(B7) { m_HL = ( m_HL & 0x00FF ) | ( POP8() << 8 ); }
|
||||
OP(B8) { PUSH16( m_BA ); PUSH16( m_HL ); PUSH16( m_X ); PUSH16( m_Y ); PUSH8( m_N ); }
|
||||
OP(B9) { PUSH16( m_BA ); PUSH16( m_HL ); PUSH16( m_X ); PUSH16( m_Y ); PUSH8( m_N ); PUSH8( m_I ); PUSH8( m_XI ); PUSH8( m_YI ); }
|
||||
OP(BA) { /* illegal instruction? */ }
|
||||
OP(BB) { /* illegal instruction? */ }
|
||||
OP(BC) { minx->N = POP8(minx); minx->Y = POP16(minx); minx->X = POP16(minx); minx->HL = POP16(minx); minx->BA = POP16(minx); }
|
||||
OP(BD) { minx->YI = POP8(minx); minx->XI = POP8(minx); minx->I = POP8(minx); minx->N = POP8(minx); minx->Y = POP16(minx); minx->X = POP16(minx); minx->HL = POP16(minx); minx->BA = POP16(minx); }
|
||||
OP(BC) { m_N = POP8(); m_Y = POP16(); m_X = POP16(); m_HL = POP16(); m_BA = POP16(); }
|
||||
OP(BD) { m_YI = POP8(); m_XI = POP8(); m_I = POP8(); m_N = POP8(); m_Y = POP16(); m_X = POP16(); m_HL = POP16(); m_BA = POP16(); }
|
||||
OP(BE) { /* illegal instruction? */ }
|
||||
OP(BF) { /* illegal instruction? */ }
|
||||
|
||||
OP(C0) { AD2_IHL; minx->BA = rd16( minx, addr2 ); }
|
||||
OP(C1) { AD2_IHL; minx->HL = rd16( minx, addr2 ); }
|
||||
OP(C2) { AD2_IHL; minx->X = rd16( minx, addr2 ); }
|
||||
OP(C3) { AD2_IHL; minx->Y = rd16( minx, addr2 ); }
|
||||
OP(C4) { AD1_IHL; wr16( minx, addr1, minx->BA ); }
|
||||
OP(C5) { AD1_IHL; wr16( minx, addr1, minx->HL ); }
|
||||
OP(C6) { AD1_IHL; wr16( minx, addr1, minx->X ); }
|
||||
OP(C7) { AD1_IHL; wr16( minx, addr1, minx->Y ); }
|
||||
OP(C0) { AD2_IHL; m_BA = rd16( addr2 ); }
|
||||
OP(C1) { AD2_IHL; m_HL = rd16( addr2 ); }
|
||||
OP(C2) { AD2_IHL; m_X = rd16( addr2 ); }
|
||||
OP(C3) { AD2_IHL; m_Y = rd16( addr2 ); }
|
||||
OP(C4) { AD1_IHL; wr16( addr1, m_BA ); }
|
||||
OP(C5) { AD1_IHL; wr16( addr1, m_HL ); }
|
||||
OP(C6) { AD1_IHL; wr16( addr1, m_X ); }
|
||||
OP(C7) { AD1_IHL; wr16( addr1, m_Y ); }
|
||||
OP(C8) { /* illegal instruction? */ }
|
||||
OP(C9) { /* illegal instruction? */ }
|
||||
OP(CA) { /* illegal instruction? */ }
|
||||
@ -222,110 +222,110 @@ OP(CD) { /* illegal instruction? */ }
|
||||
OP(CE) { /* illegal instruction? */ }
|
||||
OP(CF) { /* illegal instruction? */ }
|
||||
|
||||
OP(D0) { AD2_XIX; minx->BA = rd16( minx, addr2 ); }
|
||||
OP(D1) { AD2_XIX; minx->HL = rd16( minx, addr2 ); }
|
||||
OP(D2) { AD2_XIX; minx->X = rd16( minx, addr2 ); }
|
||||
OP(D3) { AD2_XIX; minx->Y = rd16( minx, addr2 ); }
|
||||
OP(D4) { AD1_XIX; wr16( minx, addr1, minx->BA ); }
|
||||
OP(D5) { AD1_XIX; wr16( minx, addr1, minx->HL ); }
|
||||
OP(D6) { AD1_XIX; wr16( minx, addr1, minx->X ); }
|
||||
OP(D7) { AD1_XIX; wr16( minx, addr1, minx->Y ); }
|
||||
OP(D8) { AD2_YIY; minx->BA = rd16( minx, addr2 ); }
|
||||
OP(D9) { AD2_YIY; minx->HL = rd16( minx, addr2 ); }
|
||||
OP(DA) { AD2_YIY; minx->X = rd16( minx, addr2 ); }
|
||||
OP(DB) { AD2_YIY; minx->Y = rd16( minx, addr2 ); }
|
||||
OP(DC) { AD1_YIY; wr16( minx, addr1, minx->BA ); }
|
||||
OP(DD) { AD1_YIY; wr16( minx, addr1, minx->HL ); }
|
||||
OP(DE) { AD1_YIY; wr16( minx, addr1, minx->X ); }
|
||||
OP(DF) { AD1_YIY; wr16( minx, addr1, minx->Y ); }
|
||||
OP(D0) { AD2_XIX; m_BA = rd16( addr2 ); }
|
||||
OP(D1) { AD2_XIX; m_HL = rd16( addr2 ); }
|
||||
OP(D2) { AD2_XIX; m_X = rd16( addr2 ); }
|
||||
OP(D3) { AD2_XIX; m_Y = rd16( addr2 ); }
|
||||
OP(D4) { AD1_XIX; wr16( addr1, m_BA ); }
|
||||
OP(D5) { AD1_XIX; wr16( addr1, m_HL ); }
|
||||
OP(D6) { AD1_XIX; wr16( addr1, m_X ); }
|
||||
OP(D7) { AD1_XIX; wr16( addr1, m_Y ); }
|
||||
OP(D8) { AD2_YIY; m_BA = rd16( addr2 ); }
|
||||
OP(D9) { AD2_YIY; m_HL = rd16( addr2 ); }
|
||||
OP(DA) { AD2_YIY; m_X = rd16( addr2 ); }
|
||||
OP(DB) { AD2_YIY; m_Y = rd16( addr2 ); }
|
||||
OP(DC) { AD1_YIY; wr16( addr1, m_BA ); }
|
||||
OP(DD) { AD1_YIY; wr16( addr1, m_HL ); }
|
||||
OP(DE) { AD1_YIY; wr16( addr1, m_X ); }
|
||||
OP(DF) { AD1_YIY; wr16( addr1, m_Y ); }
|
||||
|
||||
OP(E0) { minx->BA = minx->BA; }
|
||||
OP(E1) { minx->BA = minx->HL; }
|
||||
OP(E2) { minx->BA = minx->X; }
|
||||
OP(E3) { minx->BA = minx->Y; }
|
||||
OP(E4) { minx->HL = minx->BA; }
|
||||
OP(E5) { minx->HL = minx->HL; }
|
||||
OP(E6) { minx->HL = minx->X; }
|
||||
OP(E7) { minx->HL = minx->Y; }
|
||||
OP(E8) { minx->X = minx->BA; }
|
||||
OP(E9) { minx->X = minx->HL; }
|
||||
OP(EA) { minx->X = minx->X; }
|
||||
OP(EB) { minx->X = minx->Y; }
|
||||
OP(EC) { minx->Y = minx->BA; }
|
||||
OP(ED) { minx->Y = minx->HL; }
|
||||
OP(EE) { minx->Y = minx->X; }
|
||||
OP(EF) { minx->Y = minx->Y; }
|
||||
OP(E0) { m_BA = m_BA; }
|
||||
OP(E1) { m_BA = m_HL; }
|
||||
OP(E2) { m_BA = m_X; }
|
||||
OP(E3) { m_BA = m_Y; }
|
||||
OP(E4) { m_HL = m_BA; }
|
||||
OP(E5) { m_HL = m_HL; }
|
||||
OP(E6) { m_HL = m_X; }
|
||||
OP(E7) { m_HL = m_Y; }
|
||||
OP(E8) { m_X = m_BA; }
|
||||
OP(E9) { m_X = m_HL; }
|
||||
OP(EA) { m_X = m_X; }
|
||||
OP(EB) { m_X = m_Y; }
|
||||
OP(EC) { m_Y = m_BA; }
|
||||
OP(ED) { m_Y = m_HL; }
|
||||
OP(EE) { m_Y = m_X; }
|
||||
OP(EF) { m_Y = m_Y; }
|
||||
|
||||
OP(F0) { minx->SP = minx->BA; }
|
||||
OP(F1) { minx->SP = minx->HL; }
|
||||
OP(F2) { minx->SP = minx->X; }
|
||||
OP(F3) { minx->SP = minx->Y; }
|
||||
OP(F4) { minx->HL = minx->SP; }
|
||||
OP(F5) { minx->HL = minx->PC; }
|
||||
OP(F0) { m_SP = m_BA; }
|
||||
OP(F1) { m_SP = m_HL; }
|
||||
OP(F2) { m_SP = m_X; }
|
||||
OP(F3) { m_SP = m_Y; }
|
||||
OP(F4) { m_HL = m_SP; }
|
||||
OP(F5) { m_HL = m_PC; }
|
||||
OP(F6) { /* illegal instruction? */ }
|
||||
OP(F7) { /* illegal instruction? */ }
|
||||
OP(F8) { minx->BA = minx->SP; }
|
||||
OP(F9) { minx->BA = minx->PC; }
|
||||
OP(FA) { minx->X = minx->SP; }
|
||||
OP(F8) { m_BA = m_SP; }
|
||||
OP(F9) { m_BA = m_PC; }
|
||||
OP(FA) { m_X = m_SP; }
|
||||
OP(FB) { /* illegal instruction? */ }
|
||||
OP(FC) { /* illegal instruction? */ }
|
||||
OP(FD) { /* illegal instruction? */ }
|
||||
OP(FE) { minx->Y = minx->SP; }
|
||||
OP(FE) { m_Y = m_SP; }
|
||||
OP(FF) { /* illegal instruction? */ }
|
||||
|
||||
static void (*const insnminx_CF[256])(minx_state *minx) = {
|
||||
minx_CF_00, minx_CF_01, minx_CF_02, minx_CF_03, minx_CF_04, minx_CF_05, minx_CF_06, minx_CF_07,
|
||||
minx_CF_08, minx_CF_09, minx_CF_0A, minx_CF_0B, minx_CF_0C, minx_CF_0D, minx_CF_0E, minx_CF_0F,
|
||||
minx_CF_10, minx_CF_11, minx_CF_12, minx_CF_13, minx_CF_14, minx_CF_15, minx_CF_16, minx_CF_17,
|
||||
minx_CF_18, minx_CF_19, minx_CF_1A, minx_CF_1B, minx_CF_1C, minx_CF_1D, minx_CF_1E, minx_CF_1F,
|
||||
minx_CF_20, minx_CF_21, minx_CF_22, minx_CF_23, minx_CF_24, minx_CF_25, minx_CF_26, minx_CF_27,
|
||||
minx_CF_28, minx_CF_29, minx_CF_2A, minx_CF_2B, minx_CF_2C, minx_CF_2D, minx_CF_2E, minx_CF_2F,
|
||||
minx_CF_30, minx_CF_31, minx_CF_32, minx_CF_33, minx_CF_34, minx_CF_35, minx_CF_36, minx_CF_37,
|
||||
minx_CF_38, minx_CF_39, minx_CF_3A, minx_CF_3B, minx_CF_3C, minx_CF_3D, minx_CF_3E, minx_CF_3F,
|
||||
minx_CF_40, minx_CF_41, minx_CF_42, minx_CF_43, minx_CF_44, minx_CF_45, minx_CF_46, minx_CF_47,
|
||||
minx_CF_48, minx_CF_49, minx_CF_4A, minx_CF_4B, minx_CF_4C, minx_CF_4D, minx_CF_4E, minx_CF_4F,
|
||||
minx_CF_50, minx_CF_51, minx_CF_52, minx_CF_53, minx_CF_54, minx_CF_55, minx_CF_56, minx_CF_57,
|
||||
minx_CF_58, minx_CF_59, minx_CF_5A, minx_CF_5B, minx_CF_5C, minx_CF_5D, minx_CF_5E, minx_CF_5F,
|
||||
minx_CF_60, minx_CF_61, minx_CF_62, minx_CF_63, minx_CF_64, minx_CF_65, minx_CF_66, minx_CF_67,
|
||||
minx_CF_68, minx_CF_69, minx_CF_6A, minx_CF_6B, minx_CF_6C, minx_CF_6D, minx_CF_6E, minx_CF_6F,
|
||||
minx_CF_70, minx_CF_71, minx_CF_72, minx_CF_73, minx_CF_74, minx_CF_75, minx_CF_76, minx_CF_77,
|
||||
minx_CF_78, minx_CF_79, minx_CF_7A, minx_CF_7B, minx_CF_7C, minx_CF_7D, minx_CF_7E, minx_CF_7F,
|
||||
minx_CF_80, minx_CF_81, minx_CF_82, minx_CF_83, minx_CF_84, minx_CF_85, minx_CF_86, minx_CF_87,
|
||||
minx_CF_88, minx_CF_89, minx_CF_8A, minx_CF_8B, minx_CF_8C, minx_CF_8D, minx_CF_8E, minx_CF_8F,
|
||||
minx_CF_90, minx_CF_91, minx_CF_92, minx_CF_93, minx_CF_94, minx_CF_95, minx_CF_96, minx_CF_97,
|
||||
minx_CF_98, minx_CF_99, minx_CF_9A, minx_CF_9B, minx_CF_9C, minx_CF_9D, minx_CF_9E, minx_CF_9F,
|
||||
minx_CF_A0, minx_CF_A1, minx_CF_A2, minx_CF_A3, minx_CF_A4, minx_CF_A5, minx_CF_A6, minx_CF_A7,
|
||||
minx_CF_A8, minx_CF_A9, minx_CF_AA, minx_CF_AB, minx_CF_AC, minx_CF_AD, minx_CF_AE, minx_CF_AF,
|
||||
minx_CF_B0, minx_CF_B1, minx_CF_B2, minx_CF_B3, minx_CF_B4, minx_CF_B5, minx_CF_B6, minx_CF_B7,
|
||||
minx_CF_B8, minx_CF_B9, minx_CF_BA, minx_CF_BB, minx_CF_BC, minx_CF_BD, minx_CF_BE, minx_CF_BF,
|
||||
minx_CF_C0, minx_CF_C1, minx_CF_C2, minx_CF_C3, minx_CF_C4, minx_CF_C5, minx_CF_C6, minx_CF_C7,
|
||||
minx_CF_C8, minx_CF_C9, minx_CF_CA, minx_CF_CB, minx_CF_CC, minx_CF_CD, minx_CF_CE, minx_CF_CF,
|
||||
minx_CF_D0, minx_CF_D1, minx_CF_D2, minx_CF_D3, minx_CF_D4, minx_CF_D5, minx_CF_D6, minx_CF_D7,
|
||||
minx_CF_D8, minx_CF_D9, minx_CF_DA, minx_CF_DB, minx_CF_DC, minx_CF_DD, minx_CF_DE, minx_CF_DF,
|
||||
minx_CF_E0, minx_CF_E1, minx_CF_E2, minx_CF_E3, minx_CF_E4, minx_CF_E5, minx_CF_E6, minx_CF_E7,
|
||||
minx_CF_E8, minx_CF_E9, minx_CF_EA, minx_CF_EB, minx_CF_EC, minx_CF_ED, minx_CF_EE, minx_CF_EF,
|
||||
minx_CF_F0, minx_CF_F1, minx_CF_F2, minx_CF_F3, minx_CF_F4, minx_CF_F5, minx_CF_F6, minx_CF_F7,
|
||||
minx_CF_F8, minx_CF_F9, minx_CF_FA, minx_CF_FB, minx_CF_FC, minx_CF_FD, minx_CF_FE, minx_CF_FF
|
||||
const minx_cpu_device::op_func minx_cpu_device::insnminx_CF[256] = {
|
||||
&minx_cpu_device::minx_CF_00, &minx_cpu_device::minx_CF_01, &minx_cpu_device::minx_CF_02, &minx_cpu_device::minx_CF_03, &minx_cpu_device::minx_CF_04, &minx_cpu_device::minx_CF_05, &minx_cpu_device::minx_CF_06, &minx_cpu_device::minx_CF_07,
|
||||
&minx_cpu_device::minx_CF_08, &minx_cpu_device::minx_CF_09, &minx_cpu_device::minx_CF_0A, &minx_cpu_device::minx_CF_0B, &minx_cpu_device::minx_CF_0C, &minx_cpu_device::minx_CF_0D, &minx_cpu_device::minx_CF_0E, &minx_cpu_device::minx_CF_0F,
|
||||
&minx_cpu_device::minx_CF_10, &minx_cpu_device::minx_CF_11, &minx_cpu_device::minx_CF_12, &minx_cpu_device::minx_CF_13, &minx_cpu_device::minx_CF_14, &minx_cpu_device::minx_CF_15, &minx_cpu_device::minx_CF_16, &minx_cpu_device::minx_CF_17,
|
||||
&minx_cpu_device::minx_CF_18, &minx_cpu_device::minx_CF_19, &minx_cpu_device::minx_CF_1A, &minx_cpu_device::minx_CF_1B, &minx_cpu_device::minx_CF_1C, &minx_cpu_device::minx_CF_1D, &minx_cpu_device::minx_CF_1E, &minx_cpu_device::minx_CF_1F,
|
||||
&minx_cpu_device::minx_CF_20, &minx_cpu_device::minx_CF_21, &minx_cpu_device::minx_CF_22, &minx_cpu_device::minx_CF_23, &minx_cpu_device::minx_CF_24, &minx_cpu_device::minx_CF_25, &minx_cpu_device::minx_CF_26, &minx_cpu_device::minx_CF_27,
|
||||
&minx_cpu_device::minx_CF_28, &minx_cpu_device::minx_CF_29, &minx_cpu_device::minx_CF_2A, &minx_cpu_device::minx_CF_2B, &minx_cpu_device::minx_CF_2C, &minx_cpu_device::minx_CF_2D, &minx_cpu_device::minx_CF_2E, &minx_cpu_device::minx_CF_2F,
|
||||
&minx_cpu_device::minx_CF_30, &minx_cpu_device::minx_CF_31, &minx_cpu_device::minx_CF_32, &minx_cpu_device::minx_CF_33, &minx_cpu_device::minx_CF_34, &minx_cpu_device::minx_CF_35, &minx_cpu_device::minx_CF_36, &minx_cpu_device::minx_CF_37,
|
||||
&minx_cpu_device::minx_CF_38, &minx_cpu_device::minx_CF_39, &minx_cpu_device::minx_CF_3A, &minx_cpu_device::minx_CF_3B, &minx_cpu_device::minx_CF_3C, &minx_cpu_device::minx_CF_3D, &minx_cpu_device::minx_CF_3E, &minx_cpu_device::minx_CF_3F,
|
||||
&minx_cpu_device::minx_CF_40, &minx_cpu_device::minx_CF_41, &minx_cpu_device::minx_CF_42, &minx_cpu_device::minx_CF_43, &minx_cpu_device::minx_CF_44, &minx_cpu_device::minx_CF_45, &minx_cpu_device::minx_CF_46, &minx_cpu_device::minx_CF_47,
|
||||
&minx_cpu_device::minx_CF_48, &minx_cpu_device::minx_CF_49, &minx_cpu_device::minx_CF_4A, &minx_cpu_device::minx_CF_4B, &minx_cpu_device::minx_CF_4C, &minx_cpu_device::minx_CF_4D, &minx_cpu_device::minx_CF_4E, &minx_cpu_device::minx_CF_4F,
|
||||
&minx_cpu_device::minx_CF_50, &minx_cpu_device::minx_CF_51, &minx_cpu_device::minx_CF_52, &minx_cpu_device::minx_CF_53, &minx_cpu_device::minx_CF_54, &minx_cpu_device::minx_CF_55, &minx_cpu_device::minx_CF_56, &minx_cpu_device::minx_CF_57,
|
||||
&minx_cpu_device::minx_CF_58, &minx_cpu_device::minx_CF_59, &minx_cpu_device::minx_CF_5A, &minx_cpu_device::minx_CF_5B, &minx_cpu_device::minx_CF_5C, &minx_cpu_device::minx_CF_5D, &minx_cpu_device::minx_CF_5E, &minx_cpu_device::minx_CF_5F,
|
||||
&minx_cpu_device::minx_CF_60, &minx_cpu_device::minx_CF_61, &minx_cpu_device::minx_CF_62, &minx_cpu_device::minx_CF_63, &minx_cpu_device::minx_CF_64, &minx_cpu_device::minx_CF_65, &minx_cpu_device::minx_CF_66, &minx_cpu_device::minx_CF_67,
|
||||
&minx_cpu_device::minx_CF_68, &minx_cpu_device::minx_CF_69, &minx_cpu_device::minx_CF_6A, &minx_cpu_device::minx_CF_6B, &minx_cpu_device::minx_CF_6C, &minx_cpu_device::minx_CF_6D, &minx_cpu_device::minx_CF_6E, &minx_cpu_device::minx_CF_6F,
|
||||
&minx_cpu_device::minx_CF_70, &minx_cpu_device::minx_CF_71, &minx_cpu_device::minx_CF_72, &minx_cpu_device::minx_CF_73, &minx_cpu_device::minx_CF_74, &minx_cpu_device::minx_CF_75, &minx_cpu_device::minx_CF_76, &minx_cpu_device::minx_CF_77,
|
||||
&minx_cpu_device::minx_CF_78, &minx_cpu_device::minx_CF_79, &minx_cpu_device::minx_CF_7A, &minx_cpu_device::minx_CF_7B, &minx_cpu_device::minx_CF_7C, &minx_cpu_device::minx_CF_7D, &minx_cpu_device::minx_CF_7E, &minx_cpu_device::minx_CF_7F,
|
||||
&minx_cpu_device::minx_CF_80, &minx_cpu_device::minx_CF_81, &minx_cpu_device::minx_CF_82, &minx_cpu_device::minx_CF_83, &minx_cpu_device::minx_CF_84, &minx_cpu_device::minx_CF_85, &minx_cpu_device::minx_CF_86, &minx_cpu_device::minx_CF_87,
|
||||
&minx_cpu_device::minx_CF_88, &minx_cpu_device::minx_CF_89, &minx_cpu_device::minx_CF_8A, &minx_cpu_device::minx_CF_8B, &minx_cpu_device::minx_CF_8C, &minx_cpu_device::minx_CF_8D, &minx_cpu_device::minx_CF_8E, &minx_cpu_device::minx_CF_8F,
|
||||
&minx_cpu_device::minx_CF_90, &minx_cpu_device::minx_CF_91, &minx_cpu_device::minx_CF_92, &minx_cpu_device::minx_CF_93, &minx_cpu_device::minx_CF_94, &minx_cpu_device::minx_CF_95, &minx_cpu_device::minx_CF_96, &minx_cpu_device::minx_CF_97,
|
||||
&minx_cpu_device::minx_CF_98, &minx_cpu_device::minx_CF_99, &minx_cpu_device::minx_CF_9A, &minx_cpu_device::minx_CF_9B, &minx_cpu_device::minx_CF_9C, &minx_cpu_device::minx_CF_9D, &minx_cpu_device::minx_CF_9E, &minx_cpu_device::minx_CF_9F,
|
||||
&minx_cpu_device::minx_CF_A0, &minx_cpu_device::minx_CF_A1, &minx_cpu_device::minx_CF_A2, &minx_cpu_device::minx_CF_A3, &minx_cpu_device::minx_CF_A4, &minx_cpu_device::minx_CF_A5, &minx_cpu_device::minx_CF_A6, &minx_cpu_device::minx_CF_A7,
|
||||
&minx_cpu_device::minx_CF_A8, &minx_cpu_device::minx_CF_A9, &minx_cpu_device::minx_CF_AA, &minx_cpu_device::minx_CF_AB, &minx_cpu_device::minx_CF_AC, &minx_cpu_device::minx_CF_AD, &minx_cpu_device::minx_CF_AE, &minx_cpu_device::minx_CF_AF,
|
||||
&minx_cpu_device::minx_CF_B0, &minx_cpu_device::minx_CF_B1, &minx_cpu_device::minx_CF_B2, &minx_cpu_device::minx_CF_B3, &minx_cpu_device::minx_CF_B4, &minx_cpu_device::minx_CF_B5, &minx_cpu_device::minx_CF_B6, &minx_cpu_device::minx_CF_B7,
|
||||
&minx_cpu_device::minx_CF_B8, &minx_cpu_device::minx_CF_B9, &minx_cpu_device::minx_CF_BA, &minx_cpu_device::minx_CF_BB, &minx_cpu_device::minx_CF_BC, &minx_cpu_device::minx_CF_BD, &minx_cpu_device::minx_CF_BE, &minx_cpu_device::minx_CF_BF,
|
||||
&minx_cpu_device::minx_CF_C0, &minx_cpu_device::minx_CF_C1, &minx_cpu_device::minx_CF_C2, &minx_cpu_device::minx_CF_C3, &minx_cpu_device::minx_CF_C4, &minx_cpu_device::minx_CF_C5, &minx_cpu_device::minx_CF_C6, &minx_cpu_device::minx_CF_C7,
|
||||
&minx_cpu_device::minx_CF_C8, &minx_cpu_device::minx_CF_C9, &minx_cpu_device::minx_CF_CA, &minx_cpu_device::minx_CF_CB, &minx_cpu_device::minx_CF_CC, &minx_cpu_device::minx_CF_CD, &minx_cpu_device::minx_CF_CE, &minx_cpu_device::minx_CF_CF,
|
||||
&minx_cpu_device::minx_CF_D0, &minx_cpu_device::minx_CF_D1, &minx_cpu_device::minx_CF_D2, &minx_cpu_device::minx_CF_D3, &minx_cpu_device::minx_CF_D4, &minx_cpu_device::minx_CF_D5, &minx_cpu_device::minx_CF_D6, &minx_cpu_device::minx_CF_D7,
|
||||
&minx_cpu_device::minx_CF_D8, &minx_cpu_device::minx_CF_D9, &minx_cpu_device::minx_CF_DA, &minx_cpu_device::minx_CF_DB, &minx_cpu_device::minx_CF_DC, &minx_cpu_device::minx_CF_DD, &minx_cpu_device::minx_CF_DE, &minx_cpu_device::minx_CF_DF,
|
||||
&minx_cpu_device::minx_CF_E0, &minx_cpu_device::minx_CF_E1, &minx_cpu_device::minx_CF_E2, &minx_cpu_device::minx_CF_E3, &minx_cpu_device::minx_CF_E4, &minx_cpu_device::minx_CF_E5, &minx_cpu_device::minx_CF_E6, &minx_cpu_device::minx_CF_E7,
|
||||
&minx_cpu_device::minx_CF_E8, &minx_cpu_device::minx_CF_E9, &minx_cpu_device::minx_CF_EA, &minx_cpu_device::minx_CF_EB, &minx_cpu_device::minx_CF_EC, &minx_cpu_device::minx_CF_ED, &minx_cpu_device::minx_CF_EE, &minx_cpu_device::minx_CF_EF,
|
||||
&minx_cpu_device::minx_CF_F0, &minx_cpu_device::minx_CF_F1, &minx_cpu_device::minx_CF_F2, &minx_cpu_device::minx_CF_F3, &minx_cpu_device::minx_CF_F4, &minx_cpu_device::minx_CF_F5, &minx_cpu_device::minx_CF_F6, &minx_cpu_device::minx_CF_F7,
|
||||
&minx_cpu_device::minx_CF_F8, &minx_cpu_device::minx_CF_F9, &minx_cpu_device::minx_CF_FA, &minx_cpu_device::minx_CF_FB, &minx_cpu_device::minx_CF_FC, &minx_cpu_device::minx_CF_FD, &minx_cpu_device::minx_CF_FE, &minx_cpu_device::minx_CF_FF
|
||||
};
|
||||
|
||||
static const int insnminx_cycles_CF[256] = {
|
||||
const int minx_cpu_device::insnminx_cycles_CF[256] = {
|
||||
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 1, 1, 1, 1,
|
||||
16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 1, 1, 1, 1,
|
||||
|
||||
16, 16, 16, 16, 16, 16, 1, 1, 16, 16, 16, 16, 16, 16, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 1, 1,
|
||||
16, 16, 16, 16, 1, 1, 1, 1, 16, 1, 16, 1, 16, 1, 16, 1,
|
||||
24, 24, 24, 24, 24, 24, 24, 24, 24, 1, 1, 1, 24, 1, 1, 1,
|
||||
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
12, 12, 12, 12, 12, 12, 12, 12, 48, 60, 1, 1, 32, 40, 1, 1,
|
||||
|
||||
20, 20, 20, 20, 20, 20, 20, 20, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||
20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 1, 1, 8, 8, 8, 1, 1, 1, 8, 1
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 1, 1, 8, 8, 8, 1, 1, 1, 8, 1
|
||||
};
|
||||
|
@ -1,331 +1,331 @@
|
||||
#undef OP
|
||||
#define OP(nn) INLINE void minx_##nn(minx_state *minx)
|
||||
#define OP(nn) void minx_cpu_device::minx_##nn()
|
||||
|
||||
OP(00) { minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), ( minx->BA & 0xFF ) ); }
|
||||
OP(01) { minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), ( minx->BA >> 8 ) ); }
|
||||
OP(02) { minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), rdop(minx) ); }
|
||||
OP(03) { AD2_IHL; minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(04) { AD2_IN8; minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(05) { AD2_I16; minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(06) { AD2_XIX; minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(07) { AD2_YIY; minx->BA = ( minx->BA & 0xFF00 ) | ADD8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(08) { minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), ( minx->BA & 0xFF ) ); }
|
||||
OP(09) { minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), ( minx->BA >> 8 ) ); }
|
||||
OP(0A) { minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), rdop(minx) ); }
|
||||
OP(0B) { AD2_IHL; minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0C) { AD2_IN8; minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0D) { AD2_I16; minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0E) { AD2_XIX; minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0F) { AD2_YIY; minx->BA = ( minx->BA & 0xFF00 ) | ADDC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(00) { m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), ( m_BA & 0xFF ) ); }
|
||||
OP(01) { m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), ( m_BA >> 8 ) ); }
|
||||
OP(02) { m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), rdop() ); }
|
||||
OP(03) { AD2_IHL; m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(04) { AD2_IN8; m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(05) { AD2_I16; m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(06) { AD2_XIX; m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(07) { AD2_YIY; m_BA = ( m_BA & 0xFF00 ) | ADD8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(08) { m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), ( m_BA & 0xFF ) ); }
|
||||
OP(09) { m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), ( m_BA >> 8 ) ); }
|
||||
OP(0A) { m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), rdop() ); }
|
||||
OP(0B) { AD2_IHL; m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0C) { AD2_IN8; m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0D) { AD2_I16; m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0E) { AD2_XIX; m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(0F) { AD2_YIY; m_BA = ( m_BA & 0xFF00 ) | ADDC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
|
||||
OP(10) { minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), ( minx->BA & 0xFF ) ); }
|
||||
OP(11) { minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), ( minx->BA >> 8 ) ); }
|
||||
OP(12) { minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), rdop(minx) ); }
|
||||
OP(13) { AD2_IHL; minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(14) { AD2_IN8; minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(15) { AD2_I16; minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(16) { AD2_XIX; minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(17) { AD2_YIY; minx->BA = ( minx->BA & 0xFF00 ) | SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(18) { minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), ( minx->BA & 0xFF ) ); }
|
||||
OP(19) { minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), ( minx->BA >> 8 ) ); }
|
||||
OP(1A) { minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), rdop(minx) ); }
|
||||
OP(1B) { AD2_IHL; minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1C) { AD2_IN8; minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1D) { AD2_I16; minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1E) { AD2_XIX; minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1F) { AD2_YIY; minx->BA = ( minx->BA & 0xFF00 ) | SUBC8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(10) { m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), ( m_BA & 0xFF ) ); }
|
||||
OP(11) { m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), ( m_BA >> 8 ) ); }
|
||||
OP(12) { m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), rdop() ); }
|
||||
OP(13) { AD2_IHL; m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(14) { AD2_IN8; m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(15) { AD2_I16; m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(16) { AD2_XIX; m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(17) { AD2_YIY; m_BA = ( m_BA & 0xFF00 ) | SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(18) { m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), ( m_BA & 0xFF ) ); }
|
||||
OP(19) { m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), ( m_BA >> 8 ) ); }
|
||||
OP(1A) { m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), rdop() ); }
|
||||
OP(1B) { AD2_IHL; m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1C) { AD2_IN8; m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1D) { AD2_I16; m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1E) { AD2_XIX; m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(1F) { AD2_YIY; m_BA = ( m_BA & 0xFF00 ) | SUBC8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
|
||||
OP(20) { minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), ( minx->BA & 0xFF ) ); }
|
||||
OP(21) { minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), ( minx->BA >> 8 ) ); }
|
||||
OP(22) { minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), rdop(minx) ); }
|
||||
OP(23) { AD2_IHL; minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(24) { AD2_IN8; minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(25) { AD2_I16; minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(26) { AD2_XIX; minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(27) { AD2_YIY; minx->BA = ( minx->BA & 0xFF00 ) | AND8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(28) { minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), ( minx->BA & 0xFF ) ); }
|
||||
OP(29) { minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), ( minx->BA >> 8 ) ); }
|
||||
OP(2A) { minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), rdop(minx) ); }
|
||||
OP(2B) { AD2_IHL; minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2C) { AD2_IN8; minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2D) { AD2_I16; minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2E) { AD2_XIX; minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2F) { AD2_YIY; minx->BA = ( minx->BA & 0xFF00 ) | OR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(20) { m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), ( m_BA & 0xFF ) ); }
|
||||
OP(21) { m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), ( m_BA >> 8 ) ); }
|
||||
OP(22) { m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), rdop() ); }
|
||||
OP(23) { AD2_IHL; m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(24) { AD2_IN8; m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(25) { AD2_I16; m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(26) { AD2_XIX; m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(27) { AD2_YIY; m_BA = ( m_BA & 0xFF00 ) | AND8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(28) { m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), ( m_BA & 0xFF ) ); }
|
||||
OP(29) { m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), ( m_BA >> 8 ) ); }
|
||||
OP(2A) { m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), rdop() ); }
|
||||
OP(2B) { AD2_IHL; m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2C) { AD2_IN8; m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2D) { AD2_I16; m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2E) { AD2_XIX; m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(2F) { AD2_YIY; m_BA = ( m_BA & 0xFF00 ) | OR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
|
||||
OP(30) { SUB8( minx, ( minx->BA & 0x00FF ), ( minx->BA & 0xFF ) ); }
|
||||
OP(31) { SUB8( minx, ( minx->BA & 0x00FF ), ( minx->BA >> 8 ) ); }
|
||||
OP(32) { SUB8( minx, ( minx->BA & 0x00FF ), rdop(minx) ); }
|
||||
OP(33) { AD2_IHL; SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(34) { AD2_IN8; SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(35) { AD2_I16; SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(36) { AD2_XIX; SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(37) { AD2_YIY; SUB8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(38) { minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), ( minx->BA & 0xFF ) ); }
|
||||
OP(39) { minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), ( minx->BA >> 8 ) ); }
|
||||
OP(3A) { minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), rdop(minx) ); }
|
||||
OP(3B) { AD2_IHL; minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3C) { AD2_IN8; minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3D) { AD2_I16; minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3E) { AD2_XIX; minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3F) { AD2_YIY; minx->BA = ( minx->BA & 0xFF00 ) | XOR8( minx, ( minx->BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(30) { SUB8( ( m_BA & 0x00FF ), ( m_BA & 0xFF ) ); }
|
||||
OP(31) { SUB8( ( m_BA & 0x00FF ), ( m_BA >> 8 ) ); }
|
||||
OP(32) { SUB8( ( m_BA & 0x00FF ), rdop() ); }
|
||||
OP(33) { AD2_IHL; SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(34) { AD2_IN8; SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(35) { AD2_I16; SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(36) { AD2_XIX; SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(37) { AD2_YIY; SUB8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(38) { m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), ( m_BA & 0xFF ) ); }
|
||||
OP(39) { m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), ( m_BA >> 8 ) ); }
|
||||
OP(3A) { m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), rdop() ); }
|
||||
OP(3B) { AD2_IHL; m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3C) { AD2_IN8; m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3D) { AD2_I16; m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3E) { AD2_XIX; m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
OP(3F) { AD2_YIY; m_BA = ( m_BA & 0xFF00 ) | XOR8( ( m_BA & 0x00FF ), RD( addr2 ) ); }
|
||||
|
||||
OP(40) { minx->BA = ( minx->BA & 0xFF00 ) | ( minx->BA & 0x00FF); }
|
||||
OP(41) { minx->BA = ( minx->BA & 0xFF00 ) | ( minx->BA >> 8 ); }
|
||||
OP(42) { minx->BA = ( minx->BA & 0xFF00 ) | ( minx->HL & 0x00FF); }
|
||||
OP(43) { minx->BA = ( minx->BA & 0xFF00 ) | ( minx->HL >> 8 ); }
|
||||
OP(44) { AD2_IN8; minx->BA = ( minx->BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(45) { AD2_IHL; minx->BA = ( minx->BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(46) { AD2_XIX; minx->BA = ( minx->BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(47) { AD2_YIY; minx->BA = ( minx->BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(48) { minx->BA = ( minx->BA & 0x00FF ) | ( ( minx->BA & 0x00FF) << 8 ); }
|
||||
OP(49) { minx->BA = ( minx->BA & 0x00FF ) | ( ( minx->BA >> 8 ) << 8 ); }
|
||||
OP(4A) { minx->BA = ( minx->BA & 0x00FF ) | ( ( minx->HL & 0x00FF) << 8 ); }
|
||||
OP(4B) { minx->BA = ( minx->BA & 0x00FF ) | ( ( minx->HL >> 8 ) << 8 ); }
|
||||
OP(4C) { AD2_IN8; minx->BA = ( minx->BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4D) { AD2_IHL; minx->BA = ( minx->BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4E) { AD2_XIX; minx->BA = ( minx->BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4F) { AD2_YIY; minx->BA = ( minx->BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(40) { m_BA = ( m_BA & 0xFF00 ) | ( m_BA & 0x00FF); }
|
||||
OP(41) { m_BA = ( m_BA & 0xFF00 ) | ( m_BA >> 8 ); }
|
||||
OP(42) { m_BA = ( m_BA & 0xFF00 ) | ( m_HL & 0x00FF); }
|
||||
OP(43) { m_BA = ( m_BA & 0xFF00 ) | ( m_HL >> 8 ); }
|
||||
OP(44) { AD2_IN8; m_BA = ( m_BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(45) { AD2_IHL; m_BA = ( m_BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(46) { AD2_XIX; m_BA = ( m_BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(47) { AD2_YIY; m_BA = ( m_BA & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(48) { m_BA = ( m_BA & 0x00FF ) | ( ( m_BA & 0x00FF) << 8 ); }
|
||||
OP(49) { m_BA = ( m_BA & 0x00FF ) | ( ( m_BA >> 8 ) << 8 ); }
|
||||
OP(4A) { m_BA = ( m_BA & 0x00FF ) | ( ( m_HL & 0x00FF) << 8 ); }
|
||||
OP(4B) { m_BA = ( m_BA & 0x00FF ) | ( ( m_HL >> 8 ) << 8 ); }
|
||||
OP(4C) { AD2_IN8; m_BA = ( m_BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4D) { AD2_IHL; m_BA = ( m_BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4E) { AD2_XIX; m_BA = ( m_BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(4F) { AD2_YIY; m_BA = ( m_BA & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
|
||||
OP(50) { minx->HL = ( minx->HL & 0xFF00 ) | ( minx->BA & 0x00FF); }
|
||||
OP(51) { minx->HL = ( minx->HL & 0xFF00 ) | ( minx->BA >> 8 ); }
|
||||
OP(52) { minx->HL = ( minx->HL & 0xFF00 ) | ( minx->HL & 0x00FF); }
|
||||
OP(53) { minx->HL = ( minx->HL & 0xFF00 ) | ( minx->HL >> 8 ); }
|
||||
OP(54) { AD2_IN8; minx->HL = ( minx->HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(55) { AD2_IHL; minx->HL = ( minx->HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(56) { AD2_XIX; minx->HL = ( minx->HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(57) { AD2_YIY; minx->HL = ( minx->HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(58) { minx->HL = ( minx->HL & 0x00FF ) | ( ( minx->BA & 0x00FF) << 8 ); }
|
||||
OP(59) { minx->HL = ( minx->HL & 0x00FF ) | ( ( minx->BA >> 8 ) << 8 ); }
|
||||
OP(5A) { minx->HL = ( minx->HL & 0x00FF ) | ( ( minx->HL & 0x00FF) << 8 ); }
|
||||
OP(5B) { minx->HL = ( minx->HL & 0x00FF ) | ( ( minx->HL >> 8 ) << 8 ); }
|
||||
OP(5C) { AD2_IN8; minx->HL = ( minx->HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5D) { AD2_IHL; minx->HL = ( minx->HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5E) { AD2_XIX; minx->HL = ( minx->HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5F) { AD2_YIY; minx->HL = ( minx->HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(50) { m_HL = ( m_HL & 0xFF00 ) | ( m_BA & 0x00FF); }
|
||||
OP(51) { m_HL = ( m_HL & 0xFF00 ) | ( m_BA >> 8 ); }
|
||||
OP(52) { m_HL = ( m_HL & 0xFF00 ) | ( m_HL & 0x00FF); }
|
||||
OP(53) { m_HL = ( m_HL & 0xFF00 ) | ( m_HL >> 8 ); }
|
||||
OP(54) { AD2_IN8; m_HL = ( m_HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(55) { AD2_IHL; m_HL = ( m_HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(56) { AD2_XIX; m_HL = ( m_HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(57) { AD2_YIY; m_HL = ( m_HL & 0xFF00 ) | RD( addr2 ); }
|
||||
OP(58) { m_HL = ( m_HL & 0x00FF ) | ( ( m_BA & 0x00FF) << 8 ); }
|
||||
OP(59) { m_HL = ( m_HL & 0x00FF ) | ( ( m_BA >> 8 ) << 8 ); }
|
||||
OP(5A) { m_HL = ( m_HL & 0x00FF ) | ( ( m_HL & 0x00FF) << 8 ); }
|
||||
OP(5B) { m_HL = ( m_HL & 0x00FF ) | ( ( m_HL >> 8 ) << 8 ); }
|
||||
OP(5C) { AD2_IN8; m_HL = ( m_HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5D) { AD2_IHL; m_HL = ( m_HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5E) { AD2_XIX; m_HL = ( m_HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
OP(5F) { AD2_YIY; m_HL = ( m_HL & 0x00FF ) | ( RD( addr2 ) << 8 ); }
|
||||
|
||||
OP(60) { AD1_XIX; WR( addr1, ( minx->BA & 0x00FF ) ); }
|
||||
OP(61) { AD1_XIX; WR( addr1, ( minx->BA >> 8 ) ); }
|
||||
OP(62) { AD1_XIX; WR( addr1, ( minx->HL & 0x00FF ) ); }
|
||||
OP(63) { AD1_XIX; WR( addr1, ( minx->HL >> 8 ) ); }
|
||||
OP(60) { AD1_XIX; WR( addr1, ( m_BA & 0x00FF ) ); }
|
||||
OP(61) { AD1_XIX; WR( addr1, ( m_BA >> 8 ) ); }
|
||||
OP(62) { AD1_XIX; WR( addr1, ( m_HL & 0x00FF ) ); }
|
||||
OP(63) { AD1_XIX; WR( addr1, ( m_HL >> 8 ) ); }
|
||||
OP(64) { AD1_XIX; AD2_IN8; WR( addr1, RD( addr2 ) ); }
|
||||
OP(65) { AD1_XIX; AD2_IHL; WR( addr1, RD( addr2 ) ); }
|
||||
OP(66) { AD1_XIX; AD2_XIX; WR( addr1, RD( addr2 ) ); }
|
||||
OP(67) { AD1_XIX; AD2_YIY; WR( addr1, RD( addr2 ) ); }
|
||||
OP(68) { AD1_IHL; WR( addr1, ( minx->BA & 0x00FF ) ); }
|
||||
OP(69) { AD1_IHL; WR( addr1, ( minx->BA >> 8 ) ); }
|
||||
OP(6A) { AD1_IHL; WR( addr1, ( minx->HL & 0x00FF ) ); }
|
||||
OP(6B) { AD1_IHL; WR( addr1, ( minx->HL >> 8 ) ); }
|
||||
OP(68) { AD1_IHL; WR( addr1, ( m_BA & 0x00FF ) ); }
|
||||
OP(69) { AD1_IHL; WR( addr1, ( m_BA >> 8 ) ); }
|
||||
OP(6A) { AD1_IHL; WR( addr1, ( m_HL & 0x00FF ) ); }
|
||||
OP(6B) { AD1_IHL; WR( addr1, ( m_HL >> 8 ) ); }
|
||||
OP(6C) { AD1_IHL; AD2_IN8; WR( addr1, RD( addr2 ) ); }
|
||||
OP(6D) { AD1_IHL; AD2_IHL; WR( addr1, RD( addr2 ) ); }
|
||||
OP(6E) { AD1_IHL; AD2_XIX; WR( addr1, RD( addr2 ) ); }
|
||||
OP(6F) { AD1_IHL; AD2_YIY; WR( addr1, RD( addr2 ) ); }
|
||||
|
||||
OP(70) { AD1_YIY; WR( addr1, ( minx->BA & 0x00FF ) ); }
|
||||
OP(71) { AD1_YIY; WR( addr1, ( minx->BA >> 8 ) ); }
|
||||
OP(72) { AD1_YIY; WR( addr1, ( minx->HL & 0x00FF ) ); }
|
||||
OP(73) { AD1_YIY; WR( addr1, ( minx->HL >> 8 ) ); }
|
||||
OP(70) { AD1_YIY; WR( addr1, ( m_BA & 0x00FF ) ); }
|
||||
OP(71) { AD1_YIY; WR( addr1, ( m_BA >> 8 ) ); }
|
||||
OP(72) { AD1_YIY; WR( addr1, ( m_HL & 0x00FF ) ); }
|
||||
OP(73) { AD1_YIY; WR( addr1, ( m_HL >> 8 ) ); }
|
||||
OP(74) { AD1_YIY; AD2_IN8; WR( addr1, RD( addr2 ) ); }
|
||||
OP(75) { AD1_YIY; AD2_IHL; WR( addr1, RD( addr2 ) ); }
|
||||
OP(76) { AD1_YIY; AD2_XIX; WR( addr1, RD( addr2 ) ); }
|
||||
OP(77) { AD1_YIY; AD2_YIY; WR( addr1, RD( addr2 ) ); }
|
||||
OP(78) { AD1_IN8; WR( addr1, ( minx->BA & 0x00FF ) ); }
|
||||
OP(79) { AD1_IN8; WR( addr1, ( minx->BA >> 8 ) ); }
|
||||
OP(7A) { AD1_IN8; WR( addr1, ( minx->HL & 0x00FF ) ); }
|
||||
OP(7B) { AD1_IN8; WR( addr1, ( minx->HL >> 8 ) ); }
|
||||
OP(78) { AD1_IN8; WR( addr1, ( m_BA & 0x00FF ) ); }
|
||||
OP(79) { AD1_IN8; WR( addr1, ( m_BA >> 8 ) ); }
|
||||
OP(7A) { AD1_IN8; WR( addr1, ( m_HL & 0x00FF ) ); }
|
||||
OP(7B) { AD1_IN8; WR( addr1, ( m_HL >> 8 ) ); }
|
||||
OP(7C) { /* illegal operation? */ }
|
||||
OP(7D) { AD1_IN8; AD2_IHL; WR( addr1, RD( addr2 ) ); }
|
||||
OP(7E) { AD1_IN8; AD2_XIX; WR( addr1, RD( addr2 ) ); }
|
||||
OP(7F) { AD1_IN8; AD2_YIY; WR( addr1, RD( addr2 ) ); }
|
||||
|
||||
OP(80) { minx->BA = ( minx->BA & 0xFF00 ) | INC8( minx, minx->BA & 0x00FF ); }
|
||||
OP(81) { minx->BA = ( minx->BA & 0x00FF ) | ( INC8( minx, minx->BA >> 8 ) << 8 ); }
|
||||
OP(82) { minx->HL = ( minx->HL & 0xFF00 ) | INC8( minx, minx->HL & 0x00FF ); }
|
||||
OP(83) { minx->HL = ( minx->HL & 0x00FF ) | ( INC8( minx, minx->HL >> 8 ) << 8 ); }
|
||||
OP(84) { minx->N = INC8( minx, minx->N ); }
|
||||
OP(85) { AD1_IN8; WR( addr1, INC8( minx, RD( addr1 ) ) ); }
|
||||
OP(86) { AD1_IHL; WR( addr1, INC8( minx, RD( addr1 ) ) ); }
|
||||
OP(87) { minx->SP = INC16( minx, minx->SP ); }
|
||||
OP(88) { minx->BA = ( minx->BA & 0xFF00 ) | DEC8( minx, minx->BA & 0x00FF ); }
|
||||
OP(89) { minx->BA = ( minx->BA & 0x00FF ) | ( DEC8( minx, minx->BA >> 8 ) << 8 ); }
|
||||
OP(8A) { minx->HL = ( minx->HL & 0xFF00 ) | DEC8( minx, minx->HL & 0x00FF ); }
|
||||
OP(8B) { minx->HL = ( minx->HL & 0x00FF ) | ( DEC8( minx, minx->HL >> 8 ) << 8 ); }
|
||||
OP(8C) { minx->N = DEC8( minx, minx->N ); }
|
||||
OP(8D) { AD1_IN8; WR( addr1, DEC8( minx, RD( addr1 ) ) ); }
|
||||
OP(8E) { AD1_IHL; WR( addr1, DEC8( minx, RD( addr1 ) ) ); }
|
||||
OP(8F) { minx->SP = DEC8( minx, minx->SP ); }
|
||||
OP(80) { m_BA = ( m_BA & 0xFF00 ) | INC8( m_BA & 0x00FF ); }
|
||||
OP(81) { m_BA = ( m_BA & 0x00FF ) | ( INC8( m_BA >> 8 ) << 8 ); }
|
||||
OP(82) { m_HL = ( m_HL & 0xFF00 ) | INC8( m_HL & 0x00FF ); }
|
||||
OP(83) { m_HL = ( m_HL & 0x00FF ) | ( INC8( m_HL >> 8 ) << 8 ); }
|
||||
OP(84) { m_N = INC8( m_N ); }
|
||||
OP(85) { AD1_IN8; WR( addr1, INC8( RD( addr1 ) ) ); }
|
||||
OP(86) { AD1_IHL; WR( addr1, INC8( RD( addr1 ) ) ); }
|
||||
OP(87) { m_SP = INC16( m_SP ); }
|
||||
OP(88) { m_BA = ( m_BA & 0xFF00 ) | DEC8( m_BA & 0x00FF ); }
|
||||
OP(89) { m_BA = ( m_BA & 0x00FF ) | ( DEC8( m_BA >> 8 ) << 8 ); }
|
||||
OP(8A) { m_HL = ( m_HL & 0xFF00 ) | DEC8( m_HL & 0x00FF ); }
|
||||
OP(8B) { m_HL = ( m_HL & 0x00FF ) | ( DEC8( m_HL >> 8 ) << 8 ); }
|
||||
OP(8C) { m_N = DEC8( m_N ); }
|
||||
OP(8D) { AD1_IN8; WR( addr1, DEC8( RD( addr1 ) ) ); }
|
||||
OP(8E) { AD1_IHL; WR( addr1, DEC8( RD( addr1 ) ) ); }
|
||||
OP(8F) { m_SP = DEC8( m_SP ); }
|
||||
|
||||
OP(90) { minx->BA = INC16( minx, minx->BA ); }
|
||||
OP(91) { minx->HL = INC16( minx, minx->HL ); }
|
||||
OP(92) { minx->X = INC16( minx, minx->X ); }
|
||||
OP(93) { minx->Y = INC16( minx, minx->Y ); }
|
||||
OP(94) { minx->F = ( AND8( minx, ( minx->BA & 0x00FF ), ( minx->BA >> 8 ) ) ) ? minx->F & ~FLAG_Z : minx->F | FLAG_Z;}
|
||||
OP(95) { AD1_IHL; minx->F = ( AND8( minx, RD( addr1 ), rdop(minx) ) ) ? minx->F & ~FLAG_Z : minx->F | FLAG_Z; }
|
||||
OP(96) { minx->F = ( AND8( minx, ( minx->BA & 0x00FF ), rdop(minx) ) ) ? minx->F & ~FLAG_Z : minx->F | FLAG_Z; }
|
||||
OP(97) { minx->F = ( AND8( minx, ( minx->BA >> 8 ), rdop(minx) ) ) ? minx->F & ~FLAG_Z : minx->F | FLAG_Z; }
|
||||
OP(98) { minx->BA = DEC16( minx, minx->BA ); }
|
||||
OP(99) { minx->HL = DEC16( minx, minx->HL ); }
|
||||
OP(9A) { minx->X = DEC16( minx, minx->X ); }
|
||||
OP(9B) { minx->Y = DEC16( minx, minx->Y ); }
|
||||
OP(9C) { minx->F = minx->F & rdop(minx); }
|
||||
OP(9D) { minx->F = minx->F | rdop(minx); }
|
||||
OP(9E) { minx->F = minx->F ^ rdop(minx); }
|
||||
OP(9F) { minx->F = rdop(minx); }
|
||||
OP(90) { m_BA = INC16( m_BA ); }
|
||||
OP(91) { m_HL = INC16( m_HL ); }
|
||||
OP(92) { m_X = INC16( m_X ); }
|
||||
OP(93) { m_Y = INC16( m_Y ); }
|
||||
OP(94) { m_F = ( AND8( ( m_BA & 0x00FF ), ( m_BA >> 8 ) ) ) ? m_F & ~FLAG_Z : m_F | FLAG_Z;}
|
||||
OP(95) { AD1_IHL; m_F = ( AND8( RD( addr1 ), rdop() ) ) ? m_F & ~FLAG_Z : m_F | FLAG_Z; }
|
||||
OP(96) { m_F = ( AND8( ( m_BA & 0x00FF ), rdop() ) ) ? m_F & ~FLAG_Z : m_F | FLAG_Z; }
|
||||
OP(97) { m_F = ( AND8( ( m_BA >> 8 ), rdop() ) ) ? m_F & ~FLAG_Z : m_F | FLAG_Z; }
|
||||
OP(98) { m_BA = DEC16( m_BA ); }
|
||||
OP(99) { m_HL = DEC16( m_HL ); }
|
||||
OP(9A) { m_X = DEC16( m_X ); }
|
||||
OP(9B) { m_Y = DEC16( m_Y ); }
|
||||
OP(9C) { m_F = m_F & rdop(); }
|
||||
OP(9D) { m_F = m_F | rdop(); }
|
||||
OP(9E) { m_F = m_F ^ rdop(); }
|
||||
OP(9F) { m_F = rdop(); }
|
||||
|
||||
OP(A0) { PUSH16( minx, minx->BA ); }
|
||||
OP(A1) { PUSH16( minx, minx->HL ); }
|
||||
OP(A2) { PUSH16( minx, minx->X ); }
|
||||
OP(A3) { PUSH16( minx, minx->Y ); }
|
||||
OP(A4) { PUSH8( minx, minx->N ); }
|
||||
OP(A5) { PUSH8( minx, minx->I ); }
|
||||
OP(A6) { PUSH8( minx, minx->XI ); PUSH8( minx, minx->YI ); }
|
||||
OP(A7) { PUSH8( minx, minx->F ); }
|
||||
OP(A8) { minx->BA = POP16(minx); }
|
||||
OP(A9) { minx->HL = POP16(minx);}
|
||||
OP(AA) { minx->X = POP16(minx); }
|
||||
OP(AB) { minx->Y = POP16(minx); }
|
||||
OP(AC) { minx->N = POP8(minx); }
|
||||
OP(AD) { minx->I = POP8(minx); }
|
||||
OP(AE) { minx->YI = POP8(minx); minx->XI = POP8(minx); }
|
||||
OP(AF) { minx->F = POP8(minx); }
|
||||
OP(A0) { PUSH16( m_BA ); }
|
||||
OP(A1) { PUSH16( m_HL ); }
|
||||
OP(A2) { PUSH16( m_X ); }
|
||||
OP(A3) { PUSH16( m_Y ); }
|
||||
OP(A4) { PUSH8( m_N ); }
|
||||
OP(A5) { PUSH8( m_I ); }
|
||||
OP(A6) { PUSH8( m_XI ); PUSH8( m_YI ); }
|
||||
OP(A7) { PUSH8( m_F ); }
|
||||
OP(A8) { m_BA = POP16(); }
|
||||
OP(A9) { m_HL = POP16();}
|
||||
OP(AA) { m_X = POP16(); }
|
||||
OP(AB) { m_Y = POP16(); }
|
||||
OP(AC) { m_N = POP8(); }
|
||||
OP(AD) { m_I = POP8(); }
|
||||
OP(AE) { m_YI = POP8(); m_XI = POP8(); }
|
||||
OP(AF) { m_F = POP8(); }
|
||||
|
||||
OP(B0) { UINT8 op = rdop(minx); minx->BA = ( minx->BA & 0xFF00 ) | op; }
|
||||
OP(B1) { UINT8 op = rdop(minx); minx->BA = ( minx->BA & 0x00FF ) | ( op << 8 ); }
|
||||
OP(B2) { UINT8 op = rdop(minx); minx->HL = ( minx->HL & 0xFF00 ) | op; }
|
||||
OP(B3) { UINT8 op = rdop(minx); minx->HL = ( minx->HL & 0x00FF ) | ( op << 8 ); }
|
||||
OP(B4) { UINT8 op = rdop(minx); minx->N = op; }
|
||||
OP(B5) { AD1_IHL; UINT8 op = rdop(minx); WR( addr1, op); }
|
||||
OP(B6) { AD1_XIX; UINT8 op = rdop(minx); WR( addr1, op ); }
|
||||
OP(B7) { AD1_YIY; UINT8 op = rdop(minx); WR( addr1, op ); }
|
||||
OP(B8) { AD2_I16; minx->BA = rd16( minx, addr2 ); }
|
||||
OP(B9) { AD2_I16; minx->HL = rd16( minx, addr2 ); }
|
||||
OP(BA) { AD2_I16; minx->X = rd16( minx, addr2 ); }
|
||||
OP(BB) { AD2_I16; minx->Y = rd16( minx, addr2 ); }
|
||||
OP(BC) { AD1_I16; wr16( minx, addr1, minx->BA ); }
|
||||
OP(BD) { AD1_I16; wr16( minx, addr1, minx->HL ); }
|
||||
OP(BE) { AD1_I16; wr16( minx, addr1, minx->X ); }
|
||||
OP(BF) { AD1_I16; wr16( minx, addr1, minx->Y ); }
|
||||
OP(B0) { UINT8 op = rdop(); m_BA = ( m_BA & 0xFF00 ) | op; }
|
||||
OP(B1) { UINT8 op = rdop(); m_BA = ( m_BA & 0x00FF ) | ( op << 8 ); }
|
||||
OP(B2) { UINT8 op = rdop(); m_HL = ( m_HL & 0xFF00 ) | op; }
|
||||
OP(B3) { UINT8 op = rdop(); m_HL = ( m_HL & 0x00FF ) | ( op << 8 ); }
|
||||
OP(B4) { UINT8 op = rdop(); m_N = op; }
|
||||
OP(B5) { AD1_IHL; UINT8 op = rdop(); WR( addr1, op); }
|
||||
OP(B6) { AD1_XIX; UINT8 op = rdop(); WR( addr1, op ); }
|
||||
OP(B7) { AD1_YIY; UINT8 op = rdop(); WR( addr1, op ); }
|
||||
OP(B8) { AD2_I16; m_BA = rd16( addr2 ); }
|
||||
OP(B9) { AD2_I16; m_HL = rd16( addr2 ); }
|
||||
OP(BA) { AD2_I16; m_X = rd16( addr2 ); }
|
||||
OP(BB) { AD2_I16; m_Y = rd16( addr2 ); }
|
||||
OP(BC) { AD1_I16; wr16( addr1, m_BA ); }
|
||||
OP(BD) { AD1_I16; wr16( addr1, m_HL ); }
|
||||
OP(BE) { AD1_I16; wr16( addr1, m_X ); }
|
||||
OP(BF) { AD1_I16; wr16( addr1, m_Y ); }
|
||||
|
||||
OP(C0) { minx->BA = ADD16( minx, minx->BA, rdop16(minx) ); }
|
||||
OP(C1) { minx->HL = ADD16( minx, minx->HL, rdop16(minx) ); }
|
||||
OP(C2) { minx->X = ADD16( minx, minx->X, rdop16(minx) ); }
|
||||
OP(C3) { minx->Y = ADD16( minx, minx->Y, rdop16(minx) ); }
|
||||
OP(C4) { minx->BA = rdop16(minx); }
|
||||
OP(C5) { minx->HL = rdop16(minx); }
|
||||
OP(C6) { minx->X = rdop16(minx); }
|
||||
OP(C7) { minx->Y = rdop16(minx); }
|
||||
OP(C8) { UINT16 t = minx->BA; minx->BA = minx->HL; minx->HL = t; }
|
||||
OP(C9) { UINT16 t = minx->BA; minx->BA = minx->X; minx->X = t; }
|
||||
OP(CA) { UINT16 t = minx->BA; minx->BA = minx->Y; minx->Y = t; }
|
||||
OP(CB) { UINT16 t = minx->BA; minx->BA = minx->SP; minx->SP = t; }
|
||||
OP(CC) { minx->BA = ( minx->BA >> 8 ) | ( ( minx->BA & 0x00FF ) << 8 ); }
|
||||
OP(CD) { UINT8 t; AD2_IHL; t = RD( addr2 ); WR( addr2, ( minx->BA & 0x00FF ) ); minx->BA = ( minx->BA & 0xFF00 ) | t; }
|
||||
OP(CE) { UINT8 op = rdop(minx); insnminx_CE[op](minx); minx->icount -= insnminx_cycles_CE[op]; }
|
||||
OP(CF) { UINT8 op = rdop(minx); insnminx_CF[op](minx); minx->icount -= insnminx_cycles_CF[op]; }
|
||||
OP(C0) { m_BA = ADD16( m_BA, rdop16() ); }
|
||||
OP(C1) { m_HL = ADD16( m_HL, rdop16() ); }
|
||||
OP(C2) { m_X = ADD16( m_X, rdop16() ); }
|
||||
OP(C3) { m_Y = ADD16( m_Y, rdop16() ); }
|
||||
OP(C4) { m_BA = rdop16(); }
|
||||
OP(C5) { m_HL = rdop16(); }
|
||||
OP(C6) { m_X = rdop16(); }
|
||||
OP(C7) { m_Y = rdop16(); }
|
||||
OP(C8) { UINT16 t = m_BA; m_BA = m_HL; m_HL = t; }
|
||||
OP(C9) { UINT16 t = m_BA; m_BA = m_X; m_X = t; }
|
||||
OP(CA) { UINT16 t = m_BA; m_BA = m_Y; m_Y = t; }
|
||||
OP(CB) { UINT16 t = m_BA; m_BA = m_SP; m_SP = t; }
|
||||
OP(CC) { m_BA = ( m_BA >> 8 ) | ( ( m_BA & 0x00FF ) << 8 ); }
|
||||
OP(CD) { UINT8 t; AD2_IHL; t = RD( addr2 ); WR( addr2, ( m_BA & 0x00FF ) ); m_BA = ( m_BA & 0xFF00 ) | t; }
|
||||
OP(CE) { UINT8 op = rdop(); (this->*insnminx_CE[op])(); m_icount -= insnminx_cycles_CE[op]; }
|
||||
OP(CF) { UINT8 op = rdop(); (this->*insnminx_CF[op])(); m_icount -= insnminx_cycles_CF[op]; }
|
||||
|
||||
OP(D0) { minx->BA = SUB16( minx, minx->BA, rdop16(minx) ); }
|
||||
OP(D1) { minx->HL = SUB16( minx, minx->HL, rdop16(minx) ); }
|
||||
OP(D2) { minx->X = SUB16( minx, minx->X, rdop16(minx) ); }
|
||||
OP(D3) { minx->Y = SUB16( minx, minx->Y, rdop16(minx) ); }
|
||||
OP(D4) { SUB16( minx, minx->BA, rdop16(minx) ); }
|
||||
OP(D5) { SUB16( minx, minx->HL, rdop16(minx) ); }
|
||||
OP(D6) { SUB16( minx, minx->X, rdop16(minx) ); }
|
||||
OP(D7) { SUB16( minx, minx->Y, rdop16(minx) ); }
|
||||
OP(D8) { AD1_IN8; WR( addr1, AND8( minx, RD( addr1 ), rdop(minx) ) ); }
|
||||
OP(D9) { AD1_IN8; WR( addr1, OR8( minx, RD( addr1 ), rdop(minx) ) ); }
|
||||
OP(DA) { AD1_IN8; WR( addr1, XOR8( minx, RD( addr1 ), rdop(minx) ) ); }
|
||||
OP(DB) { AD1_IN8; SUB8( minx, RD( addr1 ), rdop(minx) ); }
|
||||
OP(DC) { AD1_IN8; minx->F = ( AND8( minx, RD( addr1 ), rdop(minx) ) ) ? minx->F & ~FLAG_Z : minx->F | FLAG_Z; }
|
||||
OP(DD) { AD1_IN8; WR( addr1, rdop(minx) ); }
|
||||
OP(DE) { minx->BA = ( minx->BA & 0xFF00 ) | ( ( minx->BA & 0x000F ) | ( ( minx->BA & 0x0F00 ) >> 4 ) ); }
|
||||
OP(DF) { minx->BA = ( ( minx->BA & 0x0080 ) ? 0xFF00 : 0x0000 ) | ( minx->BA & 0x000F ); }
|
||||
OP(D0) { m_BA = SUB16( m_BA, rdop16() ); }
|
||||
OP(D1) { m_HL = SUB16( m_HL, rdop16() ); }
|
||||
OP(D2) { m_X = SUB16( m_X, rdop16() ); }
|
||||
OP(D3) { m_Y = SUB16( m_Y, rdop16() ); }
|
||||
OP(D4) { SUB16( m_BA, rdop16() ); }
|
||||
OP(D5) { SUB16( m_HL, rdop16() ); }
|
||||
OP(D6) { SUB16( m_X, rdop16() ); }
|
||||
OP(D7) { SUB16( m_Y, rdop16() ); }
|
||||
OP(D8) { AD1_IN8; WR( addr1, AND8( RD( addr1 ), rdop() ) ); }
|
||||
OP(D9) { AD1_IN8; WR( addr1, OR8( RD( addr1 ), rdop() ) ); }
|
||||
OP(DA) { AD1_IN8; WR( addr1, XOR8( RD( addr1 ), rdop() ) ); }
|
||||
OP(DB) { AD1_IN8; SUB8( RD( addr1 ), rdop() ); }
|
||||
OP(DC) { AD1_IN8; m_F = ( AND8( RD( addr1 ), rdop() ) ) ? m_F & ~FLAG_Z : m_F | FLAG_Z; }
|
||||
OP(DD) { AD1_IN8; WR( addr1, rdop() ); }
|
||||
OP(DE) { m_BA = ( m_BA & 0xFF00 ) | ( ( m_BA & 0x000F ) | ( ( m_BA & 0x0F00 ) >> 4 ) ); }
|
||||
OP(DF) { m_BA = ( ( m_BA & 0x0080 ) ? 0xFF00 : 0x0000 ) | ( m_BA & 0x000F ); }
|
||||
|
||||
OP(E0) { INT8 d8 = rdop(minx); if ( minx->F & FLAG_C ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(E1) { INT8 d8 = rdop(minx); if ( ! ( minx->F & FLAG_C ) ) { CALL( minx, minx->PC + d8- 1 ); minx->icount -= 12; } }
|
||||
OP(E2) { INT8 d8 = rdop(minx); if ( minx->F & FLAG_Z ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(E3) { INT8 d8 = rdop(minx); if ( ! ( minx->F & FLAG_Z ) ) { CALL( minx, minx->PC + d8 - 1 ); minx->icount -= 12; } }
|
||||
OP(E4) { INT8 d8 = rdop(minx); if ( minx->F & FLAG_C ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E5) { INT8 d8 = rdop(minx); if ( ! ( minx->F & FLAG_C ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E6) { INT8 d8 = rdop(minx); if ( minx->F & FLAG_Z ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E7) { INT8 d8 = rdop(minx); if ( ! ( minx->F & FLAG_Z ) ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(E8) { UINT16 d16 = rdop16(minx); if ( minx->F & FLAG_C ) { CALL( minx, minx->PC + d16 - 1 ); minx->icount -= 12; } }
|
||||
OP(E9) { UINT16 d16 = rdop16(minx); if ( ! ( minx->F & FLAG_C ) ) { CALL( minx, minx->PC + d16 - 1 ); minx->icount -= 12; } }
|
||||
OP(EA) { UINT16 d16 = rdop16(minx); if ( minx->F & FLAG_Z ) { CALL( minx, minx->PC + d16 - 1 ); minx->icount -= 12; } }
|
||||
OP(EB) { UINT16 d16 = rdop16(minx); if ( ! ( minx->F & FLAG_Z ) ) { CALL( minx, minx->PC + d16 - 1 ); minx->icount -= 12; } }
|
||||
OP(EC) { UINT16 d16 = rdop16(minx); if ( minx->F & FLAG_C ) { JMP( minx, minx->PC + d16 - 1 ); } }
|
||||
OP(ED) { UINT16 d16 = rdop16(minx); if ( ! ( minx->F & FLAG_C ) ) { JMP( minx, minx->PC + d16 - 1 ); } }
|
||||
OP(EE) { UINT16 d16 = rdop16(minx); if ( minx->F & FLAG_Z ) { JMP( minx, minx->PC + d16 - 1 ); } }
|
||||
OP(EF) { UINT16 d16 = rdop16(minx); if ( ! ( minx->F & FLAG_Z ) ) { JMP( minx, minx->PC + d16 - 1 ); } }
|
||||
OP(E0) { INT8 d8 = rdop(); if ( m_F & FLAG_C ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(E1) { INT8 d8 = rdop(); if ( ! ( m_F & FLAG_C ) ) { CALL( m_PC + d8- 1 ); m_icount -= 12; } }
|
||||
OP(E2) { INT8 d8 = rdop(); if ( m_F & FLAG_Z ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(E3) { INT8 d8 = rdop(); if ( ! ( m_F & FLAG_Z ) ) { CALL( m_PC + d8 - 1 ); m_icount -= 12; } }
|
||||
OP(E4) { INT8 d8 = rdop(); if ( m_F & FLAG_C ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E5) { INT8 d8 = rdop(); if ( ! ( m_F & FLAG_C ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E6) { INT8 d8 = rdop(); if ( m_F & FLAG_Z ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E7) { INT8 d8 = rdop(); if ( ! ( m_F & FLAG_Z ) ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(E8) { UINT16 d16 = rdop16(); if ( m_F & FLAG_C ) { CALL( m_PC + d16 - 1 ); m_icount -= 12; } }
|
||||
OP(E9) { UINT16 d16 = rdop16(); if ( ! ( m_F & FLAG_C ) ) { CALL( m_PC + d16 - 1 ); m_icount -= 12; } }
|
||||
OP(EA) { UINT16 d16 = rdop16(); if ( m_F & FLAG_Z ) { CALL( m_PC + d16 - 1 ); m_icount -= 12; } }
|
||||
OP(EB) { UINT16 d16 = rdop16(); if ( ! ( m_F & FLAG_Z ) ) { CALL( m_PC + d16 - 1 ); m_icount -= 12; } }
|
||||
OP(EC) { UINT16 d16 = rdop16(); if ( m_F & FLAG_C ) { JMP( m_PC + d16 - 1 ); } }
|
||||
OP(ED) { UINT16 d16 = rdop16(); if ( ! ( m_F & FLAG_C ) ) { JMP( m_PC + d16 - 1 ); } }
|
||||
OP(EE) { UINT16 d16 = rdop16(); if ( m_F & FLAG_Z ) { JMP( m_PC + d16 - 1 ); } }
|
||||
OP(EF) { UINT16 d16 = rdop16(); if ( ! ( m_F & FLAG_Z ) ) { JMP( m_PC + d16 - 1 ); } }
|
||||
|
||||
OP(F0) { INT8 d8 = rdop(minx); CALL( minx, minx->PC + d8 - 1 ); }
|
||||
OP(F1) { INT8 d8 = rdop(minx); JMP( minx, minx->PC + d8 - 1 ); }
|
||||
OP(F2) { UINT16 d16 = rdop16(minx); CALL( minx, minx->PC + d16 - 1 ); }
|
||||
OP(F3) { UINT16 d16 = rdop16(minx); JMP( minx, minx->PC + d16 - 1 ); }
|
||||
OP(F4) { JMP( minx, minx->HL ); }
|
||||
OP(F5) { INT8 d8 = rdop(minx); minx->BA = minx->BA - 0x0100; if ( minx->BA & 0xFF00 ) { JMP( minx, minx->PC + d8 - 1 ); } }
|
||||
OP(F6) { minx->BA = ( minx->BA & 0xFF00 ) | ( ( minx->BA & 0x00F0 ) >> 4 ) | ( ( minx->BA & 0x000F ) << 4 ); }
|
||||
OP(F0) { INT8 d8 = rdop(); CALL( m_PC + d8 - 1 ); }
|
||||
OP(F1) { INT8 d8 = rdop(); JMP( m_PC + d8 - 1 ); }
|
||||
OP(F2) { UINT16 d16 = rdop16(); CALL( m_PC + d16 - 1 ); }
|
||||
OP(F3) { UINT16 d16 = rdop16(); JMP( m_PC + d16 - 1 ); }
|
||||
OP(F4) { JMP( m_HL ); }
|
||||
OP(F5) { INT8 d8 = rdop(); m_BA = m_BA - 0x0100; if ( m_BA & 0xFF00 ) { JMP( m_PC + d8 - 1 ); } }
|
||||
OP(F6) { m_BA = ( m_BA & 0xFF00 ) | ( ( m_BA & 0x00F0 ) >> 4 ) | ( ( m_BA & 0x000F ) << 4 ); }
|
||||
OP(F7) { UINT8 d; AD1_IHL; d = RD( addr1 ); WR( addr1, ( ( d & 0xF0 ) >> 4 ) | ( ( d & 0x0F ) << 4 ) ); }
|
||||
OP(F8) { minx->PC = POP16(minx); minx->V = POP8(minx); minx->U = minx->V; }
|
||||
OP(F9) { minx->F = POP8(minx); minx->PC = POP16(minx); minx->V = POP8(minx); minx->U = minx->V; }
|
||||
OP(FA) { minx->PC = POP16(minx) + 2; minx->V = POP8(minx); minx->U = minx->V; }
|
||||
OP(FB) { AD1_I16; CALL( minx, rd16( minx, addr1 ) ); }
|
||||
OP(FC) { UINT8 i = rdop(minx) & 0xFE; CALL( minx, rd16( minx, i ) ); PUSH8( minx, minx->F ); }
|
||||
OP(FD) { UINT8 i = rdop(minx) & 0xFE; JMP( minx, rd16( minx, i ) ); /* PUSH8( minx, minx->F );?? */ }
|
||||
OP(F8) { m_PC = POP16(); m_V = POP8(); m_U = m_V; }
|
||||
OP(F9) { m_F = POP8(); m_PC = POP16(); m_V = POP8(); m_U = m_V; }
|
||||
OP(FA) { m_PC = POP16() + 2; m_V = POP8(); m_U = m_V; }
|
||||
OP(FB) { AD1_I16; CALL( rd16( addr1 ) ); }
|
||||
OP(FC) { UINT8 i = rdop() & 0xFE; CALL( rd16( i ) ); PUSH8( m_F ); }
|
||||
OP(FD) { UINT8 i = rdop() & 0xFE; JMP( rd16( i ) ); /* PUSH8( m_F );?? */ }
|
||||
OP(FE) { /* illegal operation? */ }
|
||||
OP(FF) { }
|
||||
|
||||
static void (*const insnminx[256])(minx_state *minx) = {
|
||||
minx_00, minx_01, minx_02, minx_03, minx_04, minx_05, minx_06, minx_07,
|
||||
minx_08, minx_09, minx_0A, minx_0B, minx_0C, minx_0D, minx_0E, minx_0F,
|
||||
minx_10, minx_11, minx_12, minx_13, minx_14, minx_15, minx_16, minx_17,
|
||||
minx_18, minx_19, minx_1A, minx_1B, minx_1C, minx_1D, minx_1E, minx_1F,
|
||||
minx_20, minx_21, minx_22, minx_23, minx_24, minx_25, minx_26, minx_27,
|
||||
minx_28, minx_29, minx_2A, minx_2B, minx_2C, minx_2D, minx_2E, minx_2F,
|
||||
minx_30, minx_31, minx_32, minx_33, minx_34, minx_35, minx_36, minx_37,
|
||||
minx_38, minx_39, minx_3A, minx_3B, minx_3C, minx_3D, minx_3E, minx_3F,
|
||||
minx_40, minx_41, minx_42, minx_43, minx_44, minx_45, minx_46, minx_47,
|
||||
minx_48, minx_49, minx_4A, minx_4B, minx_4C, minx_4D, minx_4E, minx_4F,
|
||||
minx_50, minx_51, minx_52, minx_53, minx_54, minx_55, minx_56, minx_57,
|
||||
minx_58, minx_59, minx_5A, minx_5B, minx_5C, minx_5D, minx_5E, minx_5F,
|
||||
minx_60, minx_61, minx_62, minx_63, minx_64, minx_65, minx_66, minx_67,
|
||||
minx_68, minx_69, minx_6A, minx_6B, minx_6C, minx_6D, minx_6E, minx_6F,
|
||||
minx_70, minx_71, minx_72, minx_73, minx_74, minx_75, minx_76, minx_77,
|
||||
minx_78, minx_79, minx_7A, minx_7B, minx_7C, minx_7D, minx_7E, minx_7F,
|
||||
minx_80, minx_81, minx_82, minx_83, minx_84, minx_85, minx_86, minx_87,
|
||||
minx_88, minx_89, minx_8A, minx_8B, minx_8C, minx_8D, minx_8E, minx_8F,
|
||||
minx_90, minx_91, minx_92, minx_93, minx_94, minx_95, minx_96, minx_97,
|
||||
minx_98, minx_99, minx_9A, minx_9B, minx_9C, minx_9D, minx_9E, minx_9F,
|
||||
minx_A0, minx_A1, minx_A2, minx_A3, minx_A4, minx_A5, minx_A6, minx_A7,
|
||||
minx_A8, minx_A9, minx_AA, minx_AB, minx_AC, minx_AD, minx_AE, minx_AF,
|
||||
minx_B0, minx_B1, minx_B2, minx_B3, minx_B4, minx_B5, minx_B6, minx_B7,
|
||||
minx_B8, minx_B9, minx_BA, minx_BB, minx_BC, minx_BD, minx_BE, minx_BF,
|
||||
minx_C0, minx_C1, minx_C2, minx_C3, minx_C4, minx_C5, minx_C6, minx_C7,
|
||||
minx_C8, minx_C9, minx_CA, minx_CB, minx_CC, minx_CD, minx_CE, minx_CF,
|
||||
minx_D0, minx_D1, minx_D2, minx_D3, minx_D4, minx_D5, minx_D6, minx_D7,
|
||||
minx_D8, minx_D9, minx_DA, minx_DB, minx_DC, minx_DD, minx_DE, minx_DF,
|
||||
minx_E0, minx_E1, minx_E2, minx_E3, minx_E4, minx_E5, minx_E6, minx_E7,
|
||||
minx_E8, minx_E9, minx_EA, minx_EB, minx_EC, minx_ED, minx_EE, minx_EF,
|
||||
minx_F0, minx_F1, minx_F2, minx_F3, minx_F4, minx_F5, minx_F6, minx_F7,
|
||||
minx_F8, minx_F9, minx_FA, minx_FB, minx_FC, minx_FD, minx_FE, minx_FF
|
||||
const minx_cpu_device::op_func minx_cpu_device::insnminx[256] = {
|
||||
&minx_cpu_device::minx_00, &minx_cpu_device::minx_01, &minx_cpu_device::minx_02, &minx_cpu_device::minx_03, &minx_cpu_device::minx_04, &minx_cpu_device::minx_05, &minx_cpu_device::minx_06, &minx_cpu_device::minx_07,
|
||||
&minx_cpu_device::minx_08, &minx_cpu_device::minx_09, &minx_cpu_device::minx_0A, &minx_cpu_device::minx_0B, &minx_cpu_device::minx_0C, &minx_cpu_device::minx_0D, &minx_cpu_device::minx_0E, &minx_cpu_device::minx_0F,
|
||||
&minx_cpu_device::minx_10, &minx_cpu_device::minx_11, &minx_cpu_device::minx_12, &minx_cpu_device::minx_13, &minx_cpu_device::minx_14, &minx_cpu_device::minx_15, &minx_cpu_device::minx_16, &minx_cpu_device::minx_17,
|
||||
&minx_cpu_device::minx_18, &minx_cpu_device::minx_19, &minx_cpu_device::minx_1A, &minx_cpu_device::minx_1B, &minx_cpu_device::minx_1C, &minx_cpu_device::minx_1D, &minx_cpu_device::minx_1E, &minx_cpu_device::minx_1F,
|
||||
&minx_cpu_device::minx_20, &minx_cpu_device::minx_21, &minx_cpu_device::minx_22, &minx_cpu_device::minx_23, &minx_cpu_device::minx_24, &minx_cpu_device::minx_25, &minx_cpu_device::minx_26, &minx_cpu_device::minx_27,
|
||||
&minx_cpu_device::minx_28, &minx_cpu_device::minx_29, &minx_cpu_device::minx_2A, &minx_cpu_device::minx_2B, &minx_cpu_device::minx_2C, &minx_cpu_device::minx_2D, &minx_cpu_device::minx_2E, &minx_cpu_device::minx_2F,
|
||||
&minx_cpu_device::minx_30, &minx_cpu_device::minx_31, &minx_cpu_device::minx_32, &minx_cpu_device::minx_33, &minx_cpu_device::minx_34, &minx_cpu_device::minx_35, &minx_cpu_device::minx_36, &minx_cpu_device::minx_37,
|
||||
&minx_cpu_device::minx_38, &minx_cpu_device::minx_39, &minx_cpu_device::minx_3A, &minx_cpu_device::minx_3B, &minx_cpu_device::minx_3C, &minx_cpu_device::minx_3D, &minx_cpu_device::minx_3E, &minx_cpu_device::minx_3F,
|
||||
&minx_cpu_device::minx_40, &minx_cpu_device::minx_41, &minx_cpu_device::minx_42, &minx_cpu_device::minx_43, &minx_cpu_device::minx_44, &minx_cpu_device::minx_45, &minx_cpu_device::minx_46, &minx_cpu_device::minx_47,
|
||||
&minx_cpu_device::minx_48, &minx_cpu_device::minx_49, &minx_cpu_device::minx_4A, &minx_cpu_device::minx_4B, &minx_cpu_device::minx_4C, &minx_cpu_device::minx_4D, &minx_cpu_device::minx_4E, &minx_cpu_device::minx_4F,
|
||||
&minx_cpu_device::minx_50, &minx_cpu_device::minx_51, &minx_cpu_device::minx_52, &minx_cpu_device::minx_53, &minx_cpu_device::minx_54, &minx_cpu_device::minx_55, &minx_cpu_device::minx_56, &minx_cpu_device::minx_57,
|
||||
&minx_cpu_device::minx_58, &minx_cpu_device::minx_59, &minx_cpu_device::minx_5A, &minx_cpu_device::minx_5B, &minx_cpu_device::minx_5C, &minx_cpu_device::minx_5D, &minx_cpu_device::minx_5E, &minx_cpu_device::minx_5F,
|
||||
&minx_cpu_device::minx_60, &minx_cpu_device::minx_61, &minx_cpu_device::minx_62, &minx_cpu_device::minx_63, &minx_cpu_device::minx_64, &minx_cpu_device::minx_65, &minx_cpu_device::minx_66, &minx_cpu_device::minx_67,
|
||||
&minx_cpu_device::minx_68, &minx_cpu_device::minx_69, &minx_cpu_device::minx_6A, &minx_cpu_device::minx_6B, &minx_cpu_device::minx_6C, &minx_cpu_device::minx_6D, &minx_cpu_device::minx_6E, &minx_cpu_device::minx_6F,
|
||||
&minx_cpu_device::minx_70, &minx_cpu_device::minx_71, &minx_cpu_device::minx_72, &minx_cpu_device::minx_73, &minx_cpu_device::minx_74, &minx_cpu_device::minx_75, &minx_cpu_device::minx_76, &minx_cpu_device::minx_77,
|
||||
&minx_cpu_device::minx_78, &minx_cpu_device::minx_79, &minx_cpu_device::minx_7A, &minx_cpu_device::minx_7B, &minx_cpu_device::minx_7C, &minx_cpu_device::minx_7D, &minx_cpu_device::minx_7E, &minx_cpu_device::minx_7F,
|
||||
&minx_cpu_device::minx_80, &minx_cpu_device::minx_81, &minx_cpu_device::minx_82, &minx_cpu_device::minx_83, &minx_cpu_device::minx_84, &minx_cpu_device::minx_85, &minx_cpu_device::minx_86, &minx_cpu_device::minx_87,
|
||||
&minx_cpu_device::minx_88, &minx_cpu_device::minx_89, &minx_cpu_device::minx_8A, &minx_cpu_device::minx_8B, &minx_cpu_device::minx_8C, &minx_cpu_device::minx_8D, &minx_cpu_device::minx_8E, &minx_cpu_device::minx_8F,
|
||||
&minx_cpu_device::minx_90, &minx_cpu_device::minx_91, &minx_cpu_device::minx_92, &minx_cpu_device::minx_93, &minx_cpu_device::minx_94, &minx_cpu_device::minx_95, &minx_cpu_device::minx_96, &minx_cpu_device::minx_97,
|
||||
&minx_cpu_device::minx_98, &minx_cpu_device::minx_99, &minx_cpu_device::minx_9A, &minx_cpu_device::minx_9B, &minx_cpu_device::minx_9C, &minx_cpu_device::minx_9D, &minx_cpu_device::minx_9E, &minx_cpu_device::minx_9F,
|
||||
&minx_cpu_device::minx_A0, &minx_cpu_device::minx_A1, &minx_cpu_device::minx_A2, &minx_cpu_device::minx_A3, &minx_cpu_device::minx_A4, &minx_cpu_device::minx_A5, &minx_cpu_device::minx_A6, &minx_cpu_device::minx_A7,
|
||||
&minx_cpu_device::minx_A8, &minx_cpu_device::minx_A9, &minx_cpu_device::minx_AA, &minx_cpu_device::minx_AB, &minx_cpu_device::minx_AC, &minx_cpu_device::minx_AD, &minx_cpu_device::minx_AE, &minx_cpu_device::minx_AF,
|
||||
&minx_cpu_device::minx_B0, &minx_cpu_device::minx_B1, &minx_cpu_device::minx_B2, &minx_cpu_device::minx_B3, &minx_cpu_device::minx_B4, &minx_cpu_device::minx_B5, &minx_cpu_device::minx_B6, &minx_cpu_device::minx_B7,
|
||||
&minx_cpu_device::minx_B8, &minx_cpu_device::minx_B9, &minx_cpu_device::minx_BA, &minx_cpu_device::minx_BB, &minx_cpu_device::minx_BC, &minx_cpu_device::minx_BD, &minx_cpu_device::minx_BE, &minx_cpu_device::minx_BF,
|
||||
&minx_cpu_device::minx_C0, &minx_cpu_device::minx_C1, &minx_cpu_device::minx_C2, &minx_cpu_device::minx_C3, &minx_cpu_device::minx_C4, &minx_cpu_device::minx_C5, &minx_cpu_device::minx_C6, &minx_cpu_device::minx_C7,
|
||||
&minx_cpu_device::minx_C8, &minx_cpu_device::minx_C9, &minx_cpu_device::minx_CA, &minx_cpu_device::minx_CB, &minx_cpu_device::minx_CC, &minx_cpu_device::minx_CD, &minx_cpu_device::minx_CE, &minx_cpu_device::minx_CF,
|
||||
&minx_cpu_device::minx_D0, &minx_cpu_device::minx_D1, &minx_cpu_device::minx_D2, &minx_cpu_device::minx_D3, &minx_cpu_device::minx_D4, &minx_cpu_device::minx_D5, &minx_cpu_device::minx_D6, &minx_cpu_device::minx_D7,
|
||||
&minx_cpu_device::minx_D8, &minx_cpu_device::minx_D9, &minx_cpu_device::minx_DA, &minx_cpu_device::minx_DB, &minx_cpu_device::minx_DC, &minx_cpu_device::minx_DD, &minx_cpu_device::minx_DE, &minx_cpu_device::minx_DF,
|
||||
&minx_cpu_device::minx_E0, &minx_cpu_device::minx_E1, &minx_cpu_device::minx_E2, &minx_cpu_device::minx_E3, &minx_cpu_device::minx_E4, &minx_cpu_device::minx_E5, &minx_cpu_device::minx_E6, &minx_cpu_device::minx_E7,
|
||||
&minx_cpu_device::minx_E8, &minx_cpu_device::minx_E9, &minx_cpu_device::minx_EA, &minx_cpu_device::minx_EB, &minx_cpu_device::minx_EC, &minx_cpu_device::minx_ED, &minx_cpu_device::minx_EE, &minx_cpu_device::minx_EF,
|
||||
&minx_cpu_device::minx_F0, &minx_cpu_device::minx_F1, &minx_cpu_device::minx_F2, &minx_cpu_device::minx_F3, &minx_cpu_device::minx_F4, &minx_cpu_device::minx_F5, &minx_cpu_device::minx_F6, &minx_cpu_device::minx_F7,
|
||||
&minx_cpu_device::minx_F8, &minx_cpu_device::minx_F9, &minx_cpu_device::minx_FA, &minx_cpu_device::minx_FB, &minx_cpu_device::minx_FC, &minx_cpu_device::minx_FD, &minx_cpu_device::minx_FE, &minx_cpu_device::minx_FF
|
||||
};
|
||||
|
||||
static const int insnminx_cycles[256] = {
|
||||
8, 8, 8, 8, 12, 16, 8, 8, 8, 8, 8, 8, 12, 16, 8, 8,
|
||||
8, 8, 8, 8, 12, 16, 8, 8, 8, 8, 8, 8, 12, 16, 8, 8,
|
||||
8, 8, 8, 8, 12, 16, 8, 8, 8, 8, 8, 8, 12, 16, 8, 8,
|
||||
8, 8, 8, 8, 12, 16, 8, 8, 8, 8, 8, 8, 12, 16, 8, 8,
|
||||
const int minx_cpu_device::insnminx_cycles[256] = {
|
||||
8, 8, 8, 8, 12, 16, 8, 8, 8, 8, 8, 8, 12, 16, 8, 8,
|
||||
8, 8, 8, 8, 12, 16, 8, 8, 8, 8, 8, 8, 12, 16, 8, 8,
|
||||
8, 8, 8, 8, 12, 16, 8, 8, 8, 8, 8, 8, 12, 16, 8, 8,
|
||||
8, 8, 8, 8, 12, 16, 8, 8, 8, 8, 8, 8, 12, 16, 8, 8,
|
||||
|
||||
4, 4, 4, 4, 12, 8, 8, 8, 4, 4, 4, 4, 12, 8, 8, 8,
|
||||
4, 4, 4, 4, 12, 8, 8, 8, 4, 4, 4, 4, 12, 8, 8, 8,
|
||||
8, 8, 8, 8, 16, 12, 12, 12, 8, 8, 8, 8, 16, 12, 12, 12,
|
||||
8, 8, 8, 8, 16, 12, 12, 12, 12, 12, 12, 12, 1, 16, 16, 16,
|
||||
4, 4, 4, 4, 12, 8, 8, 8, 4, 4, 4, 4, 12, 8, 8, 8,
|
||||
4, 4, 4, 4, 12, 8, 8, 8, 4, 4, 4, 4, 12, 8, 8, 8,
|
||||
8, 8, 8, 8, 16, 12, 12, 12, 8, 8, 8, 8, 16, 12, 12, 12,
|
||||
8, 8, 8, 8, 16, 12, 12, 12, 12, 12, 12, 12, 1, 16, 16, 16,
|
||||
|
||||
8, 8, 8, 8, 8, 16, 12, 8, 8, 8, 8, 8, 8, 16, 12, 8,
|
||||
8, 8, 8, 8, 8, 12, 8, 8, 8, 8, 8, 8, 12, 12, 12, 12,
|
||||
8, 8, 8, 8, 8, 16, 12, 8, 8, 8, 8, 8, 8, 16, 12, 8,
|
||||
8, 8, 8, 8, 8, 12, 8, 8, 8, 8, 8, 8, 12, 12, 12, 12,
|
||||
16, 16, 16, 16, 12, 12, 16, 12, 12, 12, 12, 12, 8, 8, 12, 8,
|
||||
8, 8, 8, 8, 8, 12, 12, 12, 20, 20, 20, 20, 1, 1, 1, 1,
|
||||
8, 8, 8, 8, 8, 12, 12, 12, 20, 20, 20, 20, 1, 1, 1, 1,
|
||||
|
||||
12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 8, 12, 0, 0,
|
||||
12, 12, 12, 12, 12, 12, 12, 12, 20, 20, 20, 16, 16, 16, 8, 8,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 12, 12, 12, 12, 12, 12, 12, 12,
|
||||
8, 8, 8, 8, 8, 8, 8, 8, 12, 12, 12, 12, 12, 12, 12, 12,
|
||||
20, 8, 24, 12, 8, 1, 8, 12, 8, 8, 8, 20, 20, 1, 1, 8
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user