diff options
Diffstat (limited to 'trunk/src/emu/cpu/m6800/m6800.h')
-rw-r--r-- | trunk/src/emu/cpu/m6800/m6800.h | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/trunk/src/emu/cpu/m6800/m6800.h b/trunk/src/emu/cpu/m6800/m6800.h new file mode 100644 index 00000000000..7cdce37592d --- /dev/null +++ b/trunk/src/emu/cpu/m6800/m6800.h @@ -0,0 +1,76 @@ +/*** m6800: Portable 6800 class emulator *************************************/ + +#pragma once + +#ifndef __M6800_H__ +#define __M6800_H__ + + +typedef struct _m6801_interface m6801_interface; +struct _m6801_interface +{ + devcb_write_line out_sc2_func; +}; +#define M6801_INTERFACE(name) const m6801_interface (name) = + + +enum +{ + M6800_PC=1, M6800_S, M6800_A, M6800_B, M6800_X, M6800_CC, + M6800_WAI_STATE +}; + +enum +{ + M6800_IRQ_LINE = 0, /* IRQ line number */ + M6801_TIN_LINE, /* P20/Tin Input Capture line (eddge sense) */ + /* Active eddge is selecrable by internal reg. */ + /* raise eddge : CLEAR_LINE -> ASSERT_LINE */ + /* fall eddge : ASSERT_LINE -> CLEAR_LINE */ + /* it is usuali to use PULSE_LINE state */ + M6801_SC1_LINE +}; + +enum +{ + M6801_MODE_0 = 0, + M6801_MODE_1, + M6801_MODE_2, + M6801_MODE_3, + M6801_MODE_4, + M6801_MODE_5, + M6801_MODE_6, + M6801_MODE_7 +}; + +enum +{ + M6801_PORT1 = 0x100, + M6801_PORT2, + M6801_PORT3, + M6801_PORT4 +}; + +DECLARE_LEGACY_CPU_DEVICE(M6800, m6800); +DECLARE_LEGACY_CPU_DEVICE(M6801, m6801); +DECLARE_LEGACY_CPU_DEVICE(M6802, m6802); +DECLARE_LEGACY_CPU_DEVICE(M6803, m6803); +DECLARE_LEGACY_CPU_DEVICE(M6808, m6808); +DECLARE_LEGACY_CPU_DEVICE(HD6301, hd6301); +DECLARE_LEGACY_CPU_DEVICE(HD63701, hd63701); +DECLARE_LEGACY_CPU_DEVICE(NSC8105, nsc8105); + +READ8_HANDLER( m6801_io_r ); +WRITE8_HANDLER( m6801_io_w ); + +CPU_DISASSEMBLE( m6800 ); +CPU_DISASSEMBLE( m6801 ); +CPU_DISASSEMBLE( m6802 ); +CPU_DISASSEMBLE( m6803 ); +CPU_DISASSEMBLE( m6808 ); +CPU_DISASSEMBLE( hd6301 ); +CPU_DISASSEMBLE( hd63701 ); +CPU_DISASSEMBLE( nsc8105 ); + +#endif /* __M6800_H__ */ + |