INLINE void abx(m68_state_t *m68_state); INLINE void adca_di(m68_state_t *m68_state); INLINE void adca_ex(m68_state_t *m68_state); INLINE void adca_im(m68_state_t *m68_state); INLINE void adca_ix(m68_state_t *m68_state); INLINE void adcb_di(m68_state_t *m68_state); INLINE void adcb_ex(m68_state_t *m68_state); INLINE void adcb_im(m68_state_t *m68_state); INLINE void adcb_ix(m68_state_t *m68_state); INLINE void adcd_di(m68_state_t *m68_state); INLINE void adcd_ex(m68_state_t *m68_state); INLINE void adcd_im(m68_state_t *m68_state); INLINE void adcd_ix(m68_state_t *m68_state); INLINE void adcr(m68_state_t *m68_state); INLINE void adda_di(m68_state_t *m68_state); INLINE void adda_ex(m68_state_t *m68_state); INLINE void adda_im(m68_state_t *m68_state); INLINE void adda_ix(m68_state_t *m68_state); INLINE void addb_di(m68_state_t *m68_state); INLINE void addb_ex(m68_state_t *m68_state); INLINE void addb_im(m68_state_t *m68_state); INLINE void addb_ix(m68_state_t *m68_state); INLINE void addd_di(m68_state_t *m68_state); INLINE void addd_ex(m68_state_t *m68_state); INLINE void addd_im(m68_state_t *m68_state); INLINE void addd_ix(m68_state_t *m68_state); INLINE void adde_di(m68_state_t *m68_state); INLINE void adde_ex(m68_state_t *m68_state); INLINE void adde_im(m68_state_t *m68_state); INLINE void adde_ix(m68_state_t *m68_state); INLINE void addf_di(m68_state_t *m68_state); INLINE void addf_ex(m68_state_t *m68_state); INLINE void addf_im(m68_state_t *m68_state); INLINE void addf_ix(m68_state_t *m68_state); INLINE void addr_r(m68_state_t *m68_state); INLINE void addw_di(m68_state_t *m68_state); INLINE void addw_ex(m68_state_t *m68_state); INLINE void addw_im(m68_state_t *m68_state); INLINE void addw_ix(m68_state_t *m68_state); INLINE void aim_di(m68_state_t *m68_state); INLINE void aim_ex(m68_state_t *m68_state); INLINE void aim_ix(m68_state_t *m68_state); INLINE void anda_di(m68_state_t *m68_state); INLINE void anda_ex(m68_state_t *m68_state); INLINE void anda_im(m68_state_t *m68_state); INLINE void anda_ix(m68_state_t *m68_state); INLINE void andb_di(m68_state_t *m68_state); INLINE void andb_ex(m68_state_t *m68_state); INLINE void andb_im(m68_state_t *m68_state); INLINE void andb_ix(m68_state_t *m68_state); INLINE void andcc(m68_state_t *m68_state); INLINE void andd_di(m68_state_t *m68_state); INLINE void andd_ex(m68_state_t *m68_state); INLINE void andd_im(m68_state_t *m68_state); INLINE void andd_ix(m68_state_t *m68_state); INLINE void andr(m68_state_t *m68_state); INLINE void asla(m68_state_t *m68_state); INLINE void aslb(m68_state_t *m68_state); INLINE void asl_di(m68_state_t *m68_state); INLINE void asld(m68_state_t *m68_state); INLINE void asl_ex(m68_state_t *m68_state); INLINE void asl_ix(m68_state_t *m68_state); INLINE void asra(m68_state_t *m68_state); INLINE void asrb(m68_state_t *m68_state); INLINE void asr_di(m68_state_t *m68_state); INLINE void asrd(m68_state_t *m68_state); INLINE void asr_ex(m68_state_t *m68_state); INLINE void asr_ix(m68_state_t *m68_state); INLINE void band(m68_state_t *m68_state); INLINE void bcc(m68_state_t *m68_state); INLINE void bcs(m68_state_t *m68_state); INLINE void beor(m68_state_t *m68_state); INLINE void beq(m68_state_t *m68_state); INLINE void bge(m68_state_t *m68_state); INLINE void bgt(m68_state_t *m68_state); INLINE void bhi(m68_state_t *m68_state); INLINE void biand(m68_state_t *m68_state); INLINE void bieor(m68_state_t *m68_state); INLINE void bior(m68_state_t *m68_state); INLINE void bita_di(m68_state_t *m68_state); INLINE void bita_ex(m68_state_t *m68_state); INLINE void bita_im(m68_state_t *m68_state); INLINE void bita_ix(m68_state_t *m68_state); INLINE void bitb_di(m68_state_t *m68_state); INLINE void bitb_ex(m68_state_t *m68_state); INLINE void bitb_im(m68_state_t *m68_state); INLINE void bitb_ix(m68_state_t *m68_state); INLINE void bitd_di(m68_state_t *m68_state); INLINE void bitd_ex(m68_state_t *m68_state); INLINE void bitd_im(m68_state_t *m68_state); INLINE void bitd_ix(m68_state_t *m68_state); INLINE void bitmd_im(m68_state_t *m68_state); INLINE void ble(m68_state_t *m68_state); INLINE void bls(m68_state_t *m68_state); INLINE void blt(m68_state_t *m68_state); INLINE void bmi(m68_state_t *m68_state); INLINE void bne(m68_state_t *m68_state); INLINE void bor(m68_state_t *m68_state); INLINE void bpl(m68_state_t *m68_state); INLINE void bra(m68_state_t *m68_state); INLINE void brn(m68_state_t *m68_state); INLINE void bsr(m68_state_t *m68_state); INLINE void bvc(m68_state_t *m68_state); INLINE void bvs(m68_state_t *m68_state); INLINE void clra(m68_state_t *m68_state); INLINE void clrb(m68_state_t *m68_state); INLINE void clr_di(m68_state_t *m68_state); INLINE void clrd(m68_state_t *m68_state); INLINE void clre(m68_state_t *m68_state); INLINE void clr_ex(m68_state_t *m68_state); INLINE void clrf(m68_state_t *m68_state); INLINE void clr_ix(m68_state_t *m68_state); INLINE void clrw(m68_state_t *m68_state); INLINE void cmpa_di(m68_state_t *m68_state); INLINE void cmpa_ex(m68_state_t *m68_state); INLINE void cmpa_im(m68_state_t *m68_state); INLINE void cmpa_ix(m68_state_t *m68_state); INLINE void cmpb_di(m68_state_t *m68_state); INLINE void cmpb_ex(m68_state_t *m68_state); INLINE void cmpb_im(m68_state_t *m68_state); INLINE void cmpb_ix(m68_state_t *m68_state); INLINE void cmpd_di(m68_state_t *m68_state); INLINE void cmpd_ex(m68_state_t *m68_state); INLINE void cmpd_im(m68_state_t *m68_state); INLINE void cmpd_ix(m68_state_t *m68_state); INLINE void cmpe_di(m68_state_t *m68_state); INLINE void cmpe_ex(m68_state_t *m68_state); INLINE void cmpe_im(m68_state_t *m68_state); INLINE void cmpe_ix(m68_state_t *m68_state); INLINE void cmpf_di(m68_state_t *m68_state); INLINE void cmpf_ex(m68_state_t *m68_state); INLINE void cmpf_im(m68_state_t *m68_state); INLINE void cmpf_ix(m68_state_t *m68_state); INLINE void cmpr(m68_state_t *m68_state); INLINE void cmps_di(m68_state_t *m68_state); INLINE void cmps_ex(m68_state_t *m68_state); INLINE void cmps_im(m68_state_t *m68_state); INLINE void cmps_ix(m68_state_t *m68_state); INLINE void cmpu_di(m68_state_t *m68_state); INLINE void cmpu_ex(m68_state_t *m68_state); INLINE void cmpu_im(m68_state_t *m68_state); INLINE void cmpu_ix(m68_state_t *m68_state); INLINE void cmpw_di(m68_state_t *m68_state); INLINE void cmpw_ex(m68_state_t *m68_state); INLINE void cmpw_im(m68_state_t *m68_state); INLINE void cmpw_ix(m68_state_t *m68_state); INLINE void cmpx_di(m68_state_t *m68_state); INLINE void cmpx_ex(m68_state_t *m68_state); INLINE void cmpx_im(m68_state_t *m68_state); INLINE void cmpx_ix(m68_state_t *m68_state); INLINE void cmpy_di(m68_state_t *m68_state); INLINE void cmpy_ex(m68_state_t *m68_state); INLINE void cmpy_im(m68_state_t *m68_state); INLINE void cmpy_ix(m68_state_t *m68_state); INLINE void coma(m68_state_t *m68_state); INLINE void comb(m68_state_t *m68_state); INLINE void com_di(m68_state_t *m68_state); INLINE void comd(m68_state_t *m68_state); INLINE void come(m68_state_t *m68_state); INLINE void com_ex(m68_state_t *m68_state); INLINE void comf(m68_state_t *m68_state); INLINE void com_ix(m68_state_t *m68_state); INLINE void comw(m68_state_t *m68_state); INLINE void cwai(m68_state_t *m68_state); INLINE void daa(m68_state_t *m68_state); INLINE void daa(m68_state_t *m68_state); INLINE void deca(m68_state_t *m68_state); INLINE void decb(m68_state_t *m68_state); INLINE void dec_di(m68_state_t *m68_state); INLINE void decd(m68_state_t *m68_state); INLINE void dece(m68_state_t *m68_state); INLINE void dec_ex(m68_state_t *m68_state); INLINE void decf(m68_state_t *m68_state); INLINE void dec_ix(m68_state_t *m68_state); INLINE void decw(m68_state_t *m68_state); INLINE void divd_di(m68_state_t *m68_state); INLINE void divd_ex(m68_state_t *m68_state); INLINE void divd_im(m68_state_t *m68_state); INLINE void divd_ix(m68_state_t *m68_state); INLINE void divq_di(m68_state_t *m68_state); INLINE void divq_ex(m68_state_t *m68_state); INLINE void divq_im(m68_state_t *m68_state); INLINE void divq_ix(m68_state_t *m68_state); INLINE void eim_di(m68_state_t *m68_state); INLINE void eim_ex(m68_state_t *m68_state); INLINE void eim_ix(m68_state_t *m68_state); INLINE void eora_di(m68_state_t *m68_state); INLINE void eora_ex(m68_state_t *m68_state); INLINE void eora_im(m68_state_t *m68_state); INLINE void eora_ix(m68_state_t *m68_state); INLINE void eorb_di(m68_state_t *m68_state); INLINE void eorb_ex(m68_state_t *m68_state); INLINE void eorb_im(m68_state_t *m68_state); INLINE void eorb_ix(m68_state_t *m68_state); INLINE void eord_di(m68_state_t *m68_state); INLINE void eord_ex(m68_state_t *m68_state); INLINE void eord_im(m68_state_t *m68_state); INLINE void eord_ix(m68_state_t *m68_state); INLINE void eorr(m68_state_t *m68_state); INLINE void exg(m68_state_t *m68_state); INLINE void illegal(m68_state_t *m68_state); INLINE void inca(m68_state_t *m68_state); INLINE void incb(m68_state_t *m68_state); INLINE void inc_di(m68_state_t *m68_state); INLINE void incd(m68_state_t *m68_state); INLINE void ince(m68_state_t *m68_state); INLINE void inc_ex(m68_state_t *m68_state); INLINE void incf(m68_state_t *m68_state); INLINE void inc_ix(m68_state_t *m68_state); INLINE void incw(m68_state_t *m68_state); INLINE void jmp_di(m68_state_t *m68_state); INLINE void jmp_ex(m68_state_t *m68_state); INLINE void jmp_ix(m68_state_t *m68_state); INLINE void jsr_di(m68_state_t *m68_state); INLINE void jsr_ex(m68_state_t *m68_state); INLINE void jsr_ix(m68_state_t *m68_state); INLINE void lbcc(m68_state_t *m68_state); INLINE void lbcs(m68_state_t *m68_state); INLINE void lbeq(m68_state_t *m68_state); INLINE void lbge(m68_state_t *m68_state); INLINE void lbgt(m68_state_t *m68_state); INLINE void lbhi(m68_state_t *m68_state); INLINE void lble(m68_state_t *m68_state); INLINE void lbls(m68_state_t *m68_state); INLINE void lblt(m68_state_t *m68_state); INLINE void lbmi(m68_state_t *m68_state); INLINE void lbne(m68_state_t *m68_state); INLINE void lbpl(m68_state_t *m68_state); INLINE void lbra(m68_state_t *m68_state); INLINE void lbrn(m68_state_t *m68_state); INLINE void lbsr(m68_state_t *m68_state); INLINE void lbvc(m68_state_t *m68_state); INLINE void lbvs(m68_state_t *m68_state); INLINE void lda_di(m68_state_t *m68_state); INLINE void lda_ex(m68_state_t *m68_state); INLINE void lda_im(m68_state_t *m68_state); INLINE void lda_ix(m68_state_t *m68_state); INLINE void ldb_di(m68_state_t *m68_state); INLINE void ldb_ex(m68_state_t *m68_state); INLINE void ldb_im(m68_state_t *m68_state); INLINE void ldb_ix(m68_state_t *m68_state); INLINE void ldbt(m68_state_t *m68_state); INLINE void ldd_di(m68_state_t *m68_state); INLINE void ldd_ex(m68_state_t *m68_state); INLINE void ldd_im(m68_state_t *m68_state); INLINE void ldd_ix(m68_state_t *m68_state); INLINE void lde_di(m68_state_t *m68_state); INLINE void lde_ex(m68_state_t *m68_state); INLINE void lde_im(m68_state_t *m68_state); INLINE void lde_ix(m68_state_t *m68_state); INLINE void ldf_di(m68_state_t *m68_state); INLINE void ldf_ex(m68_state_t *m68_state); INLINE void ldf_im(m68_state_t *m68_state); INLINE void ldf_ix(m68_state_t *m68_state); INLINE void ldmd_im(m68_state_t *m68_state); INLINE void ldq_di(m68_state_t *m68_state); INLINE void ldq_ex(m68_state_t *m68_state); INLINE void ldq_im(m68_state_t *m68_state); INLINE void ldq_ix(m68_state_t *m68_state); INLINE void lds_di(m68_state_t *m68_state); INLINE void lds_ex(m68_state_t *m68_state); INLINE void lds_im(m68_state_t *m68_state); INLINE void lds_ix(m68_state_t *m68_state); INLINE void ldu_di(m68_state_t *m68_state); INLINE void ldu_ex(m68_state_t *m68_state); INLINE void ldu_im(m68_state_t *m68_state); INLINE void ldu_ix(m68_state_t *m68_state); INLINE void ldw_di(m68_state_t *m68_state); INLINE void ldw_ex(m68_state_t *m68_state); INLINE void ldw_im(m68_state_t *m68_state); INLINE void ldw_ix(m68_state_t *m68_state); INLINE void ldx_di(m68_state_t *m68_state); INLINE void ldx_ex(m68_state_t *m68_state); INLINE void ldx_im(m68_state_t *m68_state); INLINE void ldx_ix(m68_state_t *m68_state); INLINE void ldy_di(m68_state_t *m68_state); INLINE void ldy_ex(m68_state_t *m68_state); INLINE void ldy_im(m68_state_t *m68_state); INLINE void ldy_ix(m68_state_t *m68_state); INLINE void leas(m68_state_t *m68_state); INLINE void leau(m68_state_t *m68_state); INLINE void leax(m68_state_t *m68_state); INLINE void leay(m68_state_t *m68_state); INLINE void lsra(m68_state_t *m68_state); INLINE void lsrb(m68_state_t *m68_state); INLINE void lsr_di(m68_state_t *m68_state); INLINE void lsrd(m68_state_t *m68_state); INLINE void lsr_ex(m68_state_t *m68_state); INLINE void lsr_ix(m68_state_t *m68_state); INLINE void lsrw(m68_state_t *m68_state); INLINE void muld_di(m68_state_t *m68_state); INLINE void muld_ex(m68_state_t *m68_state); INLINE void muld_im(m68_state_t *m68_state); INLINE void muld_ix(m68_state_t *m68_state); INLINE void mul(m68_state_t *m68_state); INLINE void nega(m68_state_t *m68_state); INLINE void negb(m68_state_t *m68_state); INLINE void neg_di(m68_state_t *m68_state); INLINE void negd(m68_state_t *m68_state); INLINE void neg_ex(m68_state_t *m68_state); INLINE void neg_ix(m68_state_t *m68_state); INLINE void nop(m68_state_t *m68_state); INLINE void oim_di(m68_state_t *m68_state); INLINE void oim_ex(m68_state_t *m68_state); INLINE void oim_ix(m68_state_t *m68_state); INLINE void ora_di(m68_state_t *m68_state); INLINE void ora_ex(m68_state_t *m68_state); INLINE void ora_im(m68_state_t *m68_state); INLINE void ora_ix(m68_state_t *m68_state); INLINE void orb_di(m68_state_t *m68_state); INLINE void orb_ex(m68_state_t *m68_state); INLINE void orb_im(m68_state_t *m68_state); INLINE void orb_ix(m68_state_t *m68_state); INLINE void orcc(m68_state_t *m68_state); INLINE void ord_di(m68_state_t *m68_state); INLINE void ord_ex(m68_state_t *m68_state); INLINE void ord_im(m68_state_t *m68_state); INLINE void ord_ix(m68_state_t *m68_state); INLINE void orr(m68_state_t *m68_state); INLINE void pref10(m68_state_t *m68_state); INLINE void pref11(m68_state_t *m68_state); INLINE void pshs(m68_state_t *m68_state); INLINE void pshsw(m68_state_t *m68_state); INLINE void pshu(m68_state_t *m68_state); INLINE void pshuw(m68_state_t *m68_state); INLINE void puls(m68_state_t *m68_state); INLINE void pulsw(m68_state_t *m68_state); INLINE void pulu(m68_state_t *m68_state); INLINE void puluw(m68_state_t *m68_state); INLINE void rola(m68_state_t *m68_state); INLINE void rolb(m68_state_t *m68_state); INLINE void rol_di(m68_state_t *m68_state); INLINE void rold(m68_state_t *m68_state); INLINE void rol_ex(m68_state_t *m68_state); INLINE void rol_ix(m68_state_t *m68_state); INLINE void rolw(m68_state_t *m68_state); INLINE void rora(m68_state_t *m68_state); INLINE void rorb(m68_state_t *m68_state); INLINE void ror_di(m68_state_t *m68_state); INLINE void rord(m68_state_t *m68_state); INLINE void ror_ex(m68_state_t *m68_state); INLINE void ror_ix(m68_state_t *m68_state); INLINE void rorw(m68_state_t *m68_state); INLINE void rti(m68_state_t *m68_state); INLINE void rts(m68_state_t *m68_state); INLINE void sbca_di(m68_state_t *m68_state); INLINE void sbca_ex(m68_state_t *m68_state); INLINE void sbca_im(m68_state_t *m68_state); INLINE void sbca_ix(m68_state_t *m68_state); INLINE void sbcb_di(m68_state_t *m68_state); INLINE void sbcb_ex(m68_state_t *m68_state); INLINE void sbcb_im(m68_state_t *m68_state); INLINE void sbcb_ix(m68_state_t *m68_state); INLINE void sbcd_di(m68_state_t *m68_state); INLINE void sbcd_ex(m68_state_t *m68_state); INLINE void sbcd_im(m68_state_t *m68_state); INLINE void sbcd_ix(m68_state_t *m68_state); INLINE void sbcr(m68_state_t *m68_state); INLINE void sex(m68_state_t *m68_state); INLINE void sexw(m68_state_t *m68_state); INLINE void sta_di(m68_state_t *m68_state); INLINE void sta_ex(m68_state_t *m68_state); INLINE void sta_ix(m68_state_t *m68_state); INLINE void stb_di(m68_state_t *m68_state); INLINE void stb_ex(m68_state_t *m68_state); INLINE void stb_ix(m68_state_t *m68_state); INLINE void stbt(m68_state_t *m68_state); INLINE void std_di(m68_state_t *m68_state); INLINE void std_ex(m68_state_t *m68_state); INLINE void std_ix(m68_state_t *m68_state); INLINE void ste_di(m68_state_t *m68_state); INLINE void ste_ex(m68_state_t *m68_state); INLINE void ste_ix(m68_state_t *m68_state); INLINE void stf_di(m68_state_t *m68_state); INLINE void stf_ex(m68_state_t *m68_state); INLINE void stf_ix(m68_state_t *m68_state); INLINE void stq_di(m68_state_t *m68_state); INLINE void stq_ex(m68_state_t *m68_state); INLINE void stq_ix(m68_state_t *m68_state); INLINE void sts_di(m68_state_t *m68_state); INLINE void sts_ex(m68_state_t *m68_state); INLINE void sts_ix(m68_state_t *m68_state); INLINE void stu_di(m68_state_t *m68_state); INLINE void stu_ex(m68_state_t *m68_state); INLINE void stu_ix(m68_state_t *m68_state); INLINE void stw_di(m68_state_t *m68_state); INLINE void stw_ex(m68_state_t *m68_state); INLINE void stw_ix(m68_state_t *m68_state); INLINE void stx_di(m68_state_t *m68_state); INLINE void stx_ex(m68_state_t *m68_state); INLINE void stx_ix(m68_state_t *m68_state); INLINE void sty_di(m68_state_t *m68_state); INLINE void sty_ex(m68_state_t *m68_state); INLINE void sty_ix(m68_state_t *m68_state); INLINE void suba_di(m68_state_t *m68_state); INLINE void suba_ex(m68_state_t *m68_state); INLINE void suba_im(m68_state_t *m68_state); INLINE void suba_ix(m68_state_t *m68_state); INLINE void subb_di(m68_state_t *m68_state); INLINE void subb_ex(m68_state_t *m68_state); INLINE void subb_im(m68_state_t *m68_state); INLINE void subb_ix(m68_state_t *m68_state); INLINE void subd_di(m68_state_t *m68_state); INLINE void subd_ex(m68_state_t *m68_state); INLINE void subd_im(m68_state_t *m68_state); INLINE void subd_ix(m68_state_t *m68_state); INLINE void sube_di(m68_state_t *m68_state); INLINE void sube_ex(m68_state_t *m68_state); INLINE void sube_im(m68_state_t *m68_state); INLINE void sube_ix(m68_state_t *m68_state); INLINE void subf_di(m68_state_t *m68_state); INLINE void subf_ex(m68_state_t *m68_state); INLINE void subf_im(m68_state_t *m68_state); INLINE void subf_ix(m68_state_t *m68_state); INLINE void subr(m68_state_t *m68_state); INLINE void subw_di(m68_state_t *m68_state); INLINE void subw_ex(m68_state_t *m68_state); INLINE void subw_im(m68_state_t *m68_state); INLINE void subw_ix(m68_state_t *m68_state); INLINE void swi2(m68_state_t *m68_state); INLINE void swi3(m68_state_t *m68_state); INLINE void swi(m68_state_t *m68_state); INLINE void sync(m68_state_t *m68_state); INLINE void tfmcp(m68_state_t *m68_state); INLINE void tfmmm(m68_state_t *m68_state); INLINE void tfmpc(m68_state_t *m68_state); INLINE void tfmpp(m68_state_t *m68_state); INLINE void tfr(m68_state_t *m68_state); INLINE void tim_di(m68_state_t *m68_state); INLINE void tim_ex(m68_state_t *m68_state); INLINE void tim_ix(m68_state_t *m68_state); INLINE void tsta(m68_state_t *m68_state); INLINE void tstb(m68_state_t *m68_state); INLINE void tst_di(m68_state_t *m68_state); INLINE void tstd(m68_state_t *m68_state); INLINE void tste(m68_state_t *m68_state); INLINE void tst_ex(m68_state_t *m68_state); INLINE void tstf(m68_state_t *m68_state); INLINE void tst_ix(m68_state_t *m68_state); INLINE void tstw(m68_state_t *m68_state); static const UINT8 flags8i[256]= /* increment */ { CC_Z,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, CC_N|CC_V,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N }; static const UINT8 flags8d[256]= /* decrement */ { CC_Z,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,CC_V, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N, CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N,CC_N }; static const UINT8 index_cycle_em[256] = { /* Index Loopup cycle counts, emulated 6809 */ /* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7, 0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */ /* 0x0X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x1X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x2X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x3X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x4X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x5X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x6X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x7X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x8X */ 2, 3, 2, 3, 0, 1, 1, 1, 1, 4, 1, 4, 1, 5, 4, 0, /* 0x9X */ 3, 6, 20, 6, 3, 4, 4, 4, 4, 7, 4, 7, 4, 8, 7, 5, /* 0xAX */ 2, 3, 2, 3, 0, 1, 1, 1, 1, 4, 1, 4, 1, 5, 4, 5, /* 0xBX */ 5, 6, 20, 6, 3, 4, 4, 4, 4, 7, 4, 7, 4, 8, 7, 20, /* 0xCX */ 2, 3, 2, 3, 0, 1, 1, 1, 1, 4, 1, 4, 1, 5, 4, 3, /* 0xDX */ 4, 6, 20, 6, 3, 4, 4, 4, 4, 7, 4, 7, 4, 8, 7, 20, /* 0xEX */ 2, 3, 2, 3, 0, 1, 1, 1, 1, 4, 1, 4, 1, 5, 4, 3, /* 0xFX */ 4, 6, 20, 6, 3, 4, 4, 4, 4, 7, 4, 7, 4, 8, 7, 20 }; static const UINT8 index_cycle_na[256] = { /* Index Loopup cycle counts, native 6309 */ /* X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, XA, XB, XC, XD, XE, XF */ /* 0x0X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x1X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x2X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x3X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x4X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x5X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x6X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x7X */ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0x8X */ 1, 2, 1, 2, 0, 1, 1, 1, 1, 3, 1, 2, 1, 3, 1, 0, /* 0x9X */ 3, 5, 19, 5, 3, 4, 4, 4, 4, 7, 4, 5, 4, 6, 4, 5, /* 0xAX */ 1, 2, 1, 2, 0, 1, 1, 1, 1, 3, 1, 2, 1, 3, 1, 2, /* 0xBX */ 5, 5, 19, 5, 3, 4, 4, 4, 4, 7, 4, 5, 4, 6, 4, 19, /* 0xCX */ 1, 2, 1, 2, 0, 1, 1, 1, 1, 3, 1, 2, 1, 3, 1, 1, /* 0xDX */ 4, 5, 19, 5, 3, 4, 4, 4, 4, 7, 4, 5, 4, 6, 4, 19, /* 0xEX */ 1, 2, 1, 2, 0, 1, 1, 1, 1, 3, 1, 2, 1, 3, 1, 1, /* 0xFX */ 4, 5, 19, 5, 3, 4, 4, 4, 4, 7, 4, 5, 4, 6, 4, 19 }; #define IIP0 19 /* Illegal instruction cycle count page 0 */ #define IIP1 20 /* Illegal instruction cycle count page 01 & 11 */ static const UINT8 ccounts_page0_em[256] = /* Cycle Counts Page zero, Emulated 6809 */ { /* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7, 0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */ /* 0x0X */ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 3, 6, /* 0x1X */ 0, 0, 2, 4, 4, IIP0, 5, 9, IIP0, 2, 3, IIP0, 3, 2, 8, 6, /* 0x2X */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, /* 0x3X */ 4, 4, 4, 4, 5, 5, 5, 5, IIP0, 5, 3, 6, 20, 11, IIP0, 19, /* 0x4X */ 2, IIP0, IIP0, 2, 2, IIP0, 2, 2, 2, 2, 2, IIP0, 2, 2, IIP0, 2, /* 0x5X */ 2, IIP0, IIP0, 2, 2, IIP0, 2, 2, 2, 2, 2, IIP0, 2, 2, IIP0, 2, /* 0x6X */ 6, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 6, 3, 6, /* 0x7X */ 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 5, 7, 7, 4, 7, /* 0x8X */ 2, 2, 2, 4, 2, 2, 2, IIP0, 2, 2, 2, 2, 4, 7, 3, IIP0, /* 0x9X */ 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, 4, 4, 6, 7, 5, 5, /* 0xAX */ 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, 4, 4, 6, 7, 5, 5, /* 0xBX */ 5, 5, 5, 7, 5, 5, 5, 5, 5, 5, 5, 5, 7, 8, 6, 6, /* 0xCX */ 2, 2, 2, 4, 2, 2, 2, IIP0, 2, 2, 2, 2, 3, 5, 3, IIP0, /* 0xDX */ 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, /* 0xEX */ 4, 4, 4, 6, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, /* 0xFX */ 5, 5, 5, 7, 5, 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, 6 }; static const UINT8 ccounts_page0_na[256] = /* Cycle Counts Page zero, Native 6309 */ { /* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7, 0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */ /* 0x0X */ 5, 6, 6, 5, 5, 6, 5, 5, 5, 5, 5, 6, 5, 4, 2, 5, /* 0x1X */ 0, 0, 1, 4, 4, IIP0, 4, 7, IIP0, 1, 2, IIP0, 3, 1, 5, 4, /* 0x2X */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, /* 0x3X */ 4, 4, 4, 4, 4, 4, 4, 4, IIP0, 4, 1, 6, 22, 10, IIP0, 21, /* 0x4X */ 1, IIP0, IIP0, 1, 1, IIP0, 1, 1, 1, 1, 1, IIP0, 1, 1, IIP0, 1, /* 0x5X */ 1, IIP0, IIP0, 1, 1, IIP0, 1, 1, 1, 1, 1, IIP0, 1, 1, IIP0, 1, /* 0x6X */ 6, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 5, 3, 6, /* 0x7X */ 6, 7, 7, 6, 6, 7, 6, 6, 6, 6, 6, 5, 6, 5, 3, 6, /* 0x8X */ 2, 2, 2, 3, 2, 2, 2, IIP0, 2, 2, 2, 2, 3, 6, 3, IIP0, /* 0x9X */ 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 4, 6, 4, 4, /* 0xAX */ 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 5, 6, 5, 5, /* 0xBX */ 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 5, 7, 5, 5, /* 0xCX */ 2, 2, 2, 3, 2, 2, 2, IIP0, 2, 2, 2, 2, 3, 5, 3, IIP0, /* 0xDX */ 3, 3, 3, 4, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, /* 0xEX */ 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, /* 0xFX */ 4, 4, 4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5 }; static const UINT8 ccounts_page01_em[256] = /* Cycle Counts Page 01, Emulated 6809 */ { /* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7, 0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */ /* 0x0X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x1X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x2X */ IIP1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, /* 0x3X */ 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, IIP1, IIP1, IIP1, 20, /* 0x4X */ 2, IIP1,IIP1, 2, 2, IIP1, 2, 2, 2, 2, 2, IIP1, 2, 2, IIP1, 2, /* 0x5X */ IIP1, IIP1, IIP1, 3, 3, IIP1, 3, IIP1, IIP1, 3, 3, IIP1, 3, 3, IIP1, 3, /* 0x6X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x7X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x8X */ 5, 5, 5, 5, 5, 5, 4, IIP1, 5, 5, 5, 5, 5, IIP1, 4, IIP1, /* 0x9X */ 7, 7, 7, 7, 7, 7, 6, 6, 7, 7, 7, 7, 7, IIP1, 6, 6, /* 0xAX */ 7, 7, 7, 7, 7, 7, 6, 6, 7, 7, 7, 7, 7, IIP1, 6, 6, /* 0xBX */ 8, 8, 8, 8, 8, 8, 7, 7, 8, 8, 8, 8, 8, IIP1, 7, 7, /* 0xCX */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 4, IIP1, /* 0xDX */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 8, 8, 6, 6, /* 0xEX */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 8, 8, 6, 6, /* 0xFX */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 9, 9, 7, 7 }; static const UINT8 ccounts_page01_na[256] = /* Cycle Counts Page 01, Native 6309 */ { /* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7, 0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */ /* 0x0X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x1X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x2X */ IIP1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, /* 0x3X */ 4, 4, 4, 4, 4, 4, 4, 4, 6, 6, 6, 6, IIP1, IIP1, IIP1, 22, /* 0x4X */ 1, IIP1, IIP1, 1, 1, IIP1, 1, 1, 1, 1, 1, IIP1, 1, 1, IIP1, 1, /* 0x5X */ IIP1, IIP1, IIP1, 2, 2, IIP1, 2, IIP1, IIP1, 2, 2, IIP1, 2, 2, IIP1, 1, /* 0x6X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x7X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x8X */ 4, 4, 4, 4, 4, 4, 4, IIP1, 4, 4, 4, 4, 4, IIP1, 4, IIP1, /* 0x9X */ 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, IIP1, 5, 5, /* 0xAX */ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, IIP1, 6, 6, /* 0xBX */ 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, IIP1, 6, 6, /* 0xCX */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 4, IIP1, /* 0xDX */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 7, 7, 5, 5, /* 0xEX */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 8, 8, 6, 6, /* 0xFX */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 8, 8, 6, 6 }; static const UINT8 ccounts_page11_em[256] = /* Cycle Counts Page 11, Emulated 6809 */ { /* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7, 0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */ /* 0x0X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x1X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x2X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x3X */ 7, 7, 7, 7, 7, 7, 7, 8, 3, 3, 3, 3, 4, 5, IIP1, 20, /* 0x4X */ IIP1, IIP1, IIP1, 2, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 2, IIP1, 2, 2, IIP1, 2, /* 0x5X */ IIP1, IIP1, IIP1, 2, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 2, IIP1, 2, 2, IIP1, 2, /* 0x6X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x7X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x8X */ 3, 3, IIP1, 5, IIP1, IIP1, 3, IIP1, IIP1, IIP1, IIP1, 3, 5, 25, 34, 28, /* 0x9X */ 5, 5, IIP1, 7, IIP1, IIP1, 5, 5, IIP1, IIP1, IIP1, 5, 7, 27, 36, 30, /* 0xAX */ 5, 5, IIP1, 7, IIP1, IIP1, 5, 5, IIP1, IIP1, IIP1, 5, 7, 27, 36, 30, /* 0xBX */ 6, 6, IIP1, 8, IIP1, IIP1, 6, 6, IIP1, IIP1, IIP1, 6, 8, 28, 37, 31, /* 0xCX */ 3, 3, IIP1, IIP1, IIP1, IIP1, 3, IIP1, IIP1, IIP1, IIP1, 3, IIP1, IIP1, IIP1, IIP1, /* 0xDX */ 5, 5, IIP1, IIP1, IIP1, IIP1, 5, 5, IIP1, IIP1, IIP1, 5, IIP1, IIP1, IIP1, IIP1, /* 0xEX */ 5, 5, IIP1, IIP1, IIP1, IIP1, 5, 5, IIP1, IIP1, IIP1, 5, IIP1, IIP1, IIP1, IIP1, /* 0xFX */ 6, 6, IIP1, IIP1, IIP1, IIP1, 6, 6, IIP1, IIP1, IIP1, 6, IIP1, IIP1, IIP1, IIP1 }; static const UINT8 ccounts_page11_na[256] = /* Cycle Counts Page 11, Native 6309 */ { /* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7, 0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */ /* 0x0X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x1X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x2X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x3X */ 6, 6, 6, 6, 6, 6, 6, 7, 3, 3, 3, 3, 4, 5, IIP1, 22, /* 0x4X */ IIP1, IIP1, IIP1, 2, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 2, IIP1, 2, 2, IIP1, 2, /* 0x5X */ IIP1, IIP1, IIP1, 2, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, 2, IIP1, 2, 2, IIP1, 2, /* 0x6X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x7X */ IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, IIP1, /* 0x8X */ 3, 3, IIP1, 4, IIP1, IIP1, 3, IIP1, IIP1, IIP1, IIP1, 3, 4, 25, 34, 28, /* 0x9X */ 4, 4, IIP1, 5, IIP1, IIP1, 4, 4, IIP1, IIP1, IIP1, 4, 5, 26, 35, 29, /* 0xAX */ 5, 5, IIP1, 6, IIP1, IIP1, 5, 5, IIP1, IIP1, IIP1, 5, 6, 27, 36, 30, /* 0xBX */ 5, 5, IIP1, 6, IIP1, IIP1, 5, 5, IIP1, IIP1, IIP1, 5, 6, 27, 36, 30, /* 0xCX */ 3, 3, IIP1, IIP1, IIP1, IIP1, 3, IIP1, IIP1, IIP1, IIP1, 3, IIP1, IIP1, IIP1, IIP1, /* 0xDX */ 4, 4, IIP1, IIP1, IIP1, IIP1, 4, 4, IIP1, IIP1, IIP1, 4, IIP1, IIP1, IIP1, IIP1, /* 0xEX */ 5, 5, IIP1, IIP1, IIP1, IIP1, 5, 5, IIP1, IIP1, IIP1, 5, IIP1, IIP1, IIP1, IIP1, /* 0xFX */ 5, 5, IIP1, IIP1, IIP1, IIP1, 5, 5, IIP1, IIP1, IIP1, 5, IIP1, IIP1, IIP1, IIP1 }; #if !BIG_SWITCH static void (*const hd6309_main[0x100])(m68_state_t *) = { /* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7, 0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */ /* 0x0X */ neg_di, oim_di, aim_di, com_di, lsr_di, eim_di, ror_di, asr_di, asl_di, rol_di, dec_di, tim_di, inc_di, tst_di, jmp_di, clr_di, /* 0x1X */ pref10, pref11, nop, sync, sexw, IIError, lbra, lbsr, IIError, daa, orcc, IIError, andcc, sex, exg, tfr, /* 0x2X */ bra, brn, bhi, bls, bcc, bcs, bne, beq, bvc, bvs, bpl, bmi, bge, blt, bgt, ble, /* 0x3X */ leax, leay, leas, leau, pshs, puls, pshu, pulu, IIError, rts, abx, rti, cwai, mul, IIError, swi, /* 0x4X */ nega, IIError, IIError, coma, lsra, IIError, rora, asra, asla, rola, deca, IIError, inca, tsta, IIError, clra, /* 0x5X */ negb, IIError, IIError, comb, lsrb, IIError, rorb, asrb, aslb, rolb, decb, IIError, incb, tstb, IIError, clrb, /* 0x6X */ neg_ix, oim_ix, aim_ix, com_ix, lsr_ix, eim_ix, ror_ix, asr_ix, asl_ix, rol_ix, dec_ix, tim_ix, inc_ix, tst_ix, jmp_ix, clr_ix, /* 0x7X */ neg_ex, oim_ex, aim_ex, com_ex, lsr_ex, eim_ex, ror_ex, asr_ex, asl_ex, rol_ex, dec_ex, tim_ex, inc_ex, tst_ex, jmp_ex, clr_ex, /* 0x8X */ suba_im, cmpa_im, sbca_im, subd_im, anda_im, bita_im, lda_im, IIError, eora_im, adca_im, ora_im, adda_im, cmpx_im, bsr, ldx_im, IIError, /* 0x9X */ suba_di, cmpa_di, sbca_di, subd_di, anda_di, bita_di, lda_di, sta_di, eora_di, adca_di, ora_di, adda_di, cmpx_di, jsr_di, ldx_di, stx_di, /* 0xAX */ suba_ix, cmpa_ix, sbca_ix, subd_ix, anda_ix, bita_ix, lda_ix, sta_ix, eora_ix, adca_ix, ora_ix, adda_ix, cmpx_ix, jsr_ix, ldx_ix, stx_ix, /* 0xBX */ suba_ex, cmpa_ex, sbca_ex, subd_ex, anda_ex, bita_ex, lda_ex, sta_ex, eora_ex, adca_ex, ora_ex, adda_ex, cmpx_ex, jsr_ex, ldx_ex, stx_ex, /* 0xCX */ subb_im, cmpb_im, sbcb_im, addd_im, andb_im, bitb_im, ldb_im, IIError, eorb_im, adcb_im, orb_im, addb_im, ldd_im, ldq_im, ldu_im, IIError, /* 0xDX */ subb_di, cmpb_di, sbcb_di, addd_di, andb_di, bitb_di, ldb_di, stb_di, eorb_di, adcb_di, orb_di, addb_di, ldd_di, std_di, ldu_di, stu_di, /* 0xEX */ subb_ix, cmpb_ix, sbcb_ix, addd_ix, andb_ix, bitb_ix, ldb_ix, stb_ix, eorb_ix, adcb_ix, orb_ix, addb_ix, ldd_ix, std_ix, ldu_ix, stu_ix, /* 0xFX */ subb_ex, cmpb_ex, sbcb_ex, addd_ex, andb_ex, bitb_ex, ldb_ex, stb_ex, eorb_ex, adcb_ex, orb_ex, addb_ex, ldd_ex, std_ex, ldu_ex, stu_ex }; static void (*const hd6309_page01[0x100])(m68_state_t *) = { /* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7, 0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */ /* 0x0X */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, /* 0x1X */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, /* 0x2X */ IIError, lbrn, lbhi, lbls, lbcc, lbcs, lbne, lbeq, lbvc, lbvs, lbpl, lbmi, lbge, lblt, lbgt, lble, /* 0x3X */ addr_r, adcr, subr, sbcr, andr, orr, eorr, cmpr, pshsw, pulsw, pshuw, puluw, IIError, IIError, IIError, swi2, /* 0x4X */ negd, IIError, IIError, comd, lsrd, IIError, rord, asrd, asld, rold, decd, IIError, incd, tstd, IIError, clrd, /* 0x5X */ IIError, IIError, IIError, comw, lsrw, IIError, rorw, IIError, IIError, rolw, decw, IIError, incw, tstw, IIError, clrw, /* 0x6X */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, /* 0x7X */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, /* 0x8X */ subw_im, cmpw_im, sbcd_im, cmpd_im, andd_im, bitd_im, ldw_im, IIError, eord_im, adcd_im, ord_im, addw_im, cmpy_im, IIError, ldy_im, IIError, /* 0x9X */ subw_di, cmpw_di, sbcd_di, cmpd_di, andd_di, bitd_di, ldw_di, stw_di, eord_di, adcd_di, ord_di, addw_di, cmpy_di, IIError, ldy_di, sty_di, /* 0xAX */ subw_ix, cmpw_ix, sbcd_ix, cmpd_ix, andd_ix, bitd_ix, ldw_ix, stw_ix, eord_ix, adcd_ix, ord_ix, addw_ix, cmpy_ix, IIError, ldy_ix, sty_ix, /* 0xBX */ subw_ex, cmpw_ex, sbcd_ex, cmpd_ex, andd_ex, bitd_ex, ldw_ex, stw_ex, eord_ex, adcd_ex, ord_ex, addw_ex, cmpy_ex, IIError, ldy_ex, sty_ex, /* 0xCX */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, lds_im, IIError, /* 0xDX */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, ldq_di, stq_di, lds_di, sts_di, /* 0xEX */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, ldq_ix, stq_ix, lds_ix, sts_ix, /* 0xFX */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, ldq_ex, stq_ex, lds_ex, sts_ex }; static void (*const hd6309_page11[0x100])(m68_state_t *) = { /* 0xX0, 0xX1, 0xX2, 0xX3, 0xX4, 0xX5, 0xX6, 0xX7, 0xX8, 0xX9, 0xXA, 0xXB, 0xXC, 0xXD, 0xXE, 0xXF */ /* 0x0X */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, /* 0x1X */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, /* 0x2X */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, /* 0x3X */ band, biand, bor, bior, beor, bieor, ldbt, stbt, tfmpp, tfmmm, tfmpc, tfmcp, bitmd_im,ldmd_im, IIError, swi3, /* 0x4X */ IIError, IIError, IIError, come, IIError, IIError, IIError, IIError, IIError, IIError, dece, IIError, ince, tste, IIError, clre, /* 0x5X */ IIError, IIError, IIError, comf, IIError, IIError, IIError, IIError, IIError, IIError, decf, IIError, incf, tstf, IIError, clrf, /* 0x6X */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, /* 0x7X */ IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, IIError, /* 0x8X */ sube_im, cmpe_im, IIError, cmpu_im, IIError, IIError, lde_im, IIError, IIError, IIError, IIError, adde_im, cmps_im, divd_im, divq_im, muld_im, /* 0x9X */ sube_di, cmpe_di, IIError, cmpu_di, IIError, IIError, lde_di, ste_di, IIError, IIError, IIError, adde_di, cmps_di, divd_di, divq_di, muld_di, /* 0xAX */ sube_ix, cmpe_ix, IIError, cmpu_ix, IIError, IIError, lde_ix, ste_ix, IIError, IIError, IIError, adde_ix, cmps_ix, divd_ix, divq_ix, muld_ix, /* 0xBX */ sube_ex, cmpe_ex, IIError, cmpu_ex, IIError, IIError, lde_ex, ste_ex, IIError, IIError, IIError, adde_ex, cmps_ex, divd_ex, divq_ex, muld_ex, /* 0xCX */ subf_im, cmpf_im, IIError, IIError, IIError, IIError, ldf_im, IIError, IIError, IIError, IIError, addf_im, IIError, IIError, IIError, IIError, /* 0xDX */ subf_di, cmpf_di, IIError, IIError, IIError, IIError, ldf_di, stf_di, IIError, IIError, IIError, addf_di, IIError, IIError, IIError, IIError, /* 0xEX */ subf_ix, cmpf_ix, IIError, IIError, IIError, IIError, ldf_ix, stf_ix, IIError, IIError, IIError, addf_ix, IIError, IIError, IIError, IIError, /* 0xFX */ subf_ex, cmpf_ex, IIError, IIError, IIError, IIError, ldf_ex, stf_ex, IIError, IIError, IIError, addf_ex, IIError, IIError, IIError, IIError }; #endif /* BIG_SWITCH */