summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/6850acia.h
diff options
context:
space:
mode:
author smf- <smf-@users.noreply.github.com>2013-12-22 12:00:26 +0000
committer smf- <smf-@users.noreply.github.com>2013-12-22 12:00:26 +0000
commitb4c7b67ff9a1b12dd414502864cee66628b3bd19 (patch)
treed056e8e53b0778cde38a817def2c19eded32c18d /src/emu/machine/6850acia.h
parent8b0c23f055c9d6869f3a909072941f5c9025bb50 (diff)
replaced read rx/cts/dcd callbacks in ACIA6850 write write handlers, which allows multiple chips to be connected together without using glue methods. [smf]
Diffstat (limited to 'src/emu/machine/6850acia.h')
-rw-r--r--src/emu/machine/6850acia.h15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/emu/machine/6850acia.h b/src/emu/machine/6850acia.h
index 2f188b1e11b..07853c13972 100644
--- a/src/emu/machine/6850acia.h
+++ b/src/emu/machine/6850acia.h
@@ -54,13 +54,8 @@ struct acia6850_interface
int m_tx_clock;
int m_rx_clock;
- devcb_read_line m_in_rx_cb;
devcb_write_line m_out_tx_cb;
-
- devcb_read_line m_in_cts_cb;
devcb_write_line m_out_rts_cb;
- devcb_read_line m_in_dcd_cb;
-
devcb_write_line m_out_irq_cb;
};
@@ -83,6 +78,10 @@ public:
DECLARE_WRITE8_MEMBER( data_write );
DECLARE_READ8_MEMBER( data_read );
+ DECLARE_WRITE_LINE_MEMBER( write_rx );
+ DECLARE_WRITE_LINE_MEMBER( write_dcd );
+ DECLARE_WRITE_LINE_MEMBER( write_cts );
+
void tx_clock_in();
void rx_clock_in();
@@ -131,11 +130,8 @@ private:
EVEN
};
- devcb_resolved_read_line m_in_rx_func;
devcb_resolved_write_line m_out_tx_func;
- devcb_resolved_read_line m_in_cts_func;
devcb_resolved_write_line m_out_rts_func;
- devcb_resolved_read_line m_in_dcd_func;
devcb_resolved_write_line m_out_irq_func;
UINT8 m_ctrl;
@@ -174,6 +170,9 @@ private:
serial_state m_tx_state;
int m_irq;
bool m_dcd_triggered;
+ int m_rxd;
+ int m_dcd;
+ int m_cts;
emu_timer *m_rx_timer;
emu_timer *m_tx_timer;