diff options
Diffstat (limited to 'src/devices/machine/mc2661.h')
-rw-r--r-- | src/devices/machine/mc2661.h | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/src/devices/machine/mc2661.h b/src/devices/machine/mc2661.h deleted file mode 100644 index 4c7e52ded1e..00000000000 --- a/src/devices/machine/mc2661.h +++ /dev/null @@ -1,101 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:Curt Coder -/*************************************************************************** - - Motorola MC2661/MC68661 Enhanced Programmable Communications Interface - -**************************************************************************** - _____ _____ - D2 1 |* \_/ | 28 D1 - D3 2 | | 27 D0 - RxD 3 | | 26 Vcc - GND 4 | | 25 _RxC/BKDET - D4 5 | | 24 _DTR - D5 6 | | 23 _RTS - D6 7 | MC2661 | 22 _DSR - D7 8 | MC68661 | 21 RESET - _TxC/XSYNC 9 | | 20 BRCLK - A1 10 | | 19 TxD - _CE 11 | | 18 _TxEMT/DSCHG - A0 12 | | 17 _CTS - _R/W 13 | | 16 _DCD - _RxRDY 14 |_____________| 15 _TxRDY - -***************************************************************************/ - -#ifndef MAME_MACHINE_MC2661_H -#define MAME_MACHINE_MC2661_H - -#pragma once - -#include "diserial.h" - - -class mc2661_device : public device_t, - public device_serial_interface -{ -public: - // construction/destruction - mc2661_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); - - void set_rxc(int clock) { m_rxc = clock; } - void set_txc(int clock) { m_txc = clock; } - - auto txd_handler() { return m_write_txd.bind(); } - auto rxrdy_handler() { return m_write_rxrdy.bind(); } - auto txrdy_handler() { return m_write_txrdy.bind(); } - auto rts_handler() { return m_write_rts.bind(); } - auto dtr_handler() { return m_write_dtr.bind(); } - auto txemt_dschg_handler() { return m_write_txemt_dschg.bind(); } - auto bkdet_handler() { return m_write_bkdet.bind(); } - auto xsync_handler() { return m_write_xsync.bind(); } - - uint8_t read(offs_t offset); - void write(offs_t offset, uint8_t data); - - DECLARE_WRITE_LINE_MEMBER( dsr_w ); - DECLARE_WRITE_LINE_MEMBER( dcd_w ); - DECLARE_WRITE_LINE_MEMBER( cts_w ); - - DECLARE_READ_LINE_MEMBER( rxrdy_r ); - DECLARE_READ_LINE_MEMBER( txemt_r ); - - DECLARE_WRITE_LINE_MEMBER( rx_w ) { device_serial_interface::rx_w(state); } - -protected: - // device-level overrides - virtual void device_start() override; - virtual void device_reset() override; - - // device_serial_interface overrides - virtual void tra_callback() override; - virtual void tra_complete() override; - virtual void rcv_complete() override; - -private: - devcb_write_line m_write_txd; - devcb_write_line m_write_rxrdy; - devcb_write_line m_write_txrdy; - devcb_write_line m_write_rts; - devcb_write_line m_write_dtr; - devcb_write_line m_write_txemt_dschg; - devcb_write_line m_write_bkdet; - devcb_write_line m_write_xsync; - - int m_rxc; - int m_txc; - - uint8_t m_rhr; - uint8_t m_thr; - uint8_t m_cr; - uint8_t m_sr; - uint8_t m_mr[2]; - uint8_t m_sync[3]; - - int m_mode_index; - int m_sync_index; -}; - -DECLARE_DEVICE_TYPE(MC2661, mc2661_device) - -#endif // MAME_MACHINE_MC2661_H |