--- xmil/z80c/z80c_ix.c 2004/08/01 05:31:32 1.1 +++ xmil/z80c/z80c_ix.c 2008/06/02 20:07:32 1.3 @@ -1,16 +1,14 @@ -//---------------------------------------------------------------------------- -// -// Z80C : Z80 Engine - GENERIC -// -// Copyright by Studio Milmake 1999-2000,2004 -// -//---------------------------------------------------------------------------- - +/* ----------------------------------------------------------------------- + * + * Z80C : Z80 Engine - GENERIC + * + * Copyright by Studio Milmake 1999-2000,2004 + * + *------------------------------------------------------------------------ */ #include "compiler.h" #include "z80core.h" #include "z80c.h" -#include "x1_io.h" #include "z80c.mcr" #include "z80c_i.mcr" @@ -123,85 +121,85 @@ Z80FN _ld_sp_ix(void) MCR_LD_W(R_Z80SP, static const Z80OP z80c_ixp[256] = { - _no_op, _no_op, _no_op, _no_op, // 00 - _no_op, _no_op, _no_op, _no_op, - _no_op, _add_ix_bc, _no_op, _no_op, - _no_op, _no_op, _no_op, _no_op, - - _no_op, _no_op, _no_op, _no_op, // 10 - _no_op, _no_op, _no_op, _no_op, - _no_op, _add_ix_de, _no_op, _no_op, - _no_op, _no_op, _no_op, _no_op, - - _no_op, _ld_ix_word, _ld_xword_ix, _inc_ix, // 20 - _inc_ixh, _dec_ixh, _ld_ixh_byte, _no_op, - _no_op, _add_ix_ix, _ld_ix_xword, _dec_ix, - _inc_ixl, _dec_ixl, _ld_ixl_byte, _no_op, - - _no_op, _no_op, _no_op, _no_op, // 30 - _inc_xix, _dec_xix, _ld_xix_byte, _no_op, - _no_op, _add_ix_sp, _no_op, _no_op, - _no_op, _no_op, _no_op, _no_op, - - _no_op, _no_op, _no_op, _no_op, // 40 - _ld_b_ixh, _ld_b_ixl, _ld_b_xix, _no_op, - _no_op, _no_op, _no_op, _no_op, - _ld_c_ixh, _ld_c_ixl, _ld_c_xix, _no_op, - - _no_op, _no_op, _no_op, _no_op, // 50 - _ld_d_ixh, _ld_d_ixl, _ld_d_xix, _no_op, - _no_op, _no_op, _no_op, _no_op, - _ld_e_ixh, _ld_e_ixl, _ld_e_xix, _no_op, - - _ld_ixh_b, _ld_ixh_c, _ld_ixh_d, _ld_ixh_e, // 60 - _ld_nop, _ld_ixh_ixl, _ld_h_xix, _ld_ixh_a, - _ld_ixl_b, _ld_ixl_c, _ld_ixl_d, _ld_ixl_e, - _ld_ixl_ixh, _ld_nop, _ld_l_xix, _ld_ixl_a, - - _ld_xix_b, _ld_xix_c, _ld_xix_d, _ld_xix_e, // 70 - _ld_xix_h, _ld_xix_l, _no_op, _ld_xix_a, - _no_op, _no_op, _no_op, _no_op, - _ld_a_ixh, _ld_a_ixl, _ld_a_xix, _no_op, - - _no_op, _no_op, _no_op, _no_op, // 80 - _add_a_ixh, _add_a_ixl, _add_a_xix, _no_op, - _no_op, _no_op, _no_op, _no_op, - _adc_a_ixh, _adc_a_ixl, _adc_a_xix, _no_op, - - _no_op, _no_op, _no_op, _no_op, // 90 - _sub_ixh, _sub_ixl, _sub_xix, _no_op, - _no_op, _no_op, _no_op, _no_op, - _sbc_a_ixh, _sbc_a_ixl, _sbc_a_xix, _no_op, - - _no_op, _no_op, _no_op, _no_op, // a0 - _and_ixh, _and_ixl, _and_xix, _no_op, - _no_op, _no_op, _no_op, _no_op, - _xor_ixh, _xor_ixl, _xor_xix, _no_op, - - _no_op, _no_op, _no_op, _no_op, // b0 - _or_ixh, _or_ixl, _or_xix, _no_op, - _no_op, _no_op, _no_op, _no_op, - _cp_ixh, _cp_ixl, _cp_xix, _no_op, - - _no_op, _no_op, _no_op, _no_op, // c0 - _no_op, _no_op, _no_op, _no_op, - _no_op, _no_op, _no_op, z80c_ixcb, - _no_op, _no_op, _no_op, _no_op, - - _no_op, _no_op, _no_op, _no_op, // d0 - _no_op, _no_op, _no_op, _no_op, - _no_op, _no_op, _no_op, _no_op, - _no_op, _no_op, _no_op, _no_op, - - _no_op, _pop_ix, _no_op, _ex_xsp_ix, // e0 - _no_op, _push_ix, _no_op, _no_op, - _no_op, _jp_ix, _no_op, _no_op, - _no_op, _no_op, _no_op, _no_op, - - _no_op, _no_op, _no_op, _no_op, // f0 - _no_op, _no_op, _no_op, _no_op, - _no_op, _ld_sp_ix, _no_op, _no_op, - _no_op, _no_op, _no_op, _no_op + _no_op, _no_op, _no_op, _no_op, /* 00 */ + _no_op, _no_op, _no_op, _no_op, + _no_op, _add_ix_bc, _no_op, _no_op, + _no_op, _no_op, _no_op, _no_op, + + _no_op, _no_op, _no_op, _no_op, /* 10 */ + _no_op, _no_op, _no_op, _no_op, + _no_op, _add_ix_de, _no_op, _no_op, + _no_op, _no_op, _no_op, _no_op, + + _no_op, _ld_ix_word, _ld_xword_ix, _inc_ix, /* 20 */ + _inc_ixh, _dec_ixh, _ld_ixh_byte, _no_op, + _no_op, _add_ix_ix, _ld_ix_xword, _dec_ix, + _inc_ixl, _dec_ixl, _ld_ixl_byte, _no_op, + + _no_op, _no_op, _no_op, _no_op, /* 30 */ + _inc_xix, _dec_xix, _ld_xix_byte, _no_op, + _no_op, _add_ix_sp, _no_op, _no_op, + _no_op, _no_op, _no_op, _no_op, + + _no_op, _no_op, _no_op, _no_op, /* 40 */ + _ld_b_ixh, _ld_b_ixl, _ld_b_xix, _no_op, + _no_op, _no_op, _no_op, _no_op, + _ld_c_ixh, _ld_c_ixl, _ld_c_xix, _no_op, + + _no_op, _no_op, _no_op, _no_op, /* 50 */ + _ld_d_ixh, _ld_d_ixl, _ld_d_xix, _no_op, + _no_op, _no_op, _no_op, _no_op, + _ld_e_ixh, _ld_e_ixl, _ld_e_xix, _no_op, + + _ld_ixh_b, _ld_ixh_c, _ld_ixh_d, _ld_ixh_e, /* 60 */ + _ld_nop, _ld_ixh_ixl, _ld_h_xix, _ld_ixh_a, + _ld_ixl_b, _ld_ixl_c, _ld_ixl_d, _ld_ixl_e, + _ld_ixl_ixh, _ld_nop, _ld_l_xix, _ld_ixl_a, + + _ld_xix_b, _ld_xix_c, _ld_xix_d, _ld_xix_e, /* 70 */ + _ld_xix_h, _ld_xix_l, _no_op, _ld_xix_a, + _no_op, _no_op, _no_op, _no_op, + _ld_a_ixh, _ld_a_ixl, _ld_a_xix, _no_op, + + _no_op, _no_op, _no_op, _no_op, /* 80 */ + _add_a_ixh, _add_a_ixl, _add_a_xix, _no_op, + _no_op, _no_op, _no_op, _no_op, + _adc_a_ixh, _adc_a_ixl, _adc_a_xix, _no_op, + + _no_op, _no_op, _no_op, _no_op, /* 90 */ + _sub_ixh, _sub_ixl, _sub_xix, _no_op, + _no_op, _no_op, _no_op, _no_op, + _sbc_a_ixh, _sbc_a_ixl, _sbc_a_xix, _no_op, + + _no_op, _no_op, _no_op, _no_op, /* a0 */ + _and_ixh, _and_ixl, _and_xix, _no_op, + _no_op, _no_op, _no_op, _no_op, + _xor_ixh, _xor_ixl, _xor_xix, _no_op, + + _no_op, _no_op, _no_op, _no_op, /* b0 */ + _or_ixh, _or_ixl, _or_xix, _no_op, + _no_op, _no_op, _no_op, _no_op, + _cp_ixh, _cp_ixl, _cp_xix, _no_op, + + _no_op, _no_op, _no_op, _no_op, /* c0 */ + _no_op, _no_op, _no_op, _no_op, + _no_op, _no_op, _no_op, z80c_ixcb, + _no_op, _no_op, _no_op, _no_op, + + _no_op, _no_op, _no_op, _no_op, /* d0 */ + _no_op, _no_op, _no_op, _no_op, + _no_op, _no_op, _no_op, _no_op, + _no_op, _no_op, _no_op, _no_op, + + _no_op, _pop_ix, _no_op, _ex_xsp_ix, /* e0 */ + _no_op, _push_ix, _no_op, _no_op, + _no_op, _jp_ix, _no_op, _no_op, + _no_op, _no_op, _no_op, _no_op, + + _no_op, _no_op, _no_op, _no_op, /* f0 */ + _no_op, _no_op, _no_op, _no_op, + _no_op, _ld_sp_ix, _no_op, _no_op, + _no_op, _no_op, _no_op, _no_op };