summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/rs232/rs232.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/rs232/rs232.h')
-rw-r--r--src/devices/bus/rs232/rs232.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/devices/bus/rs232/rs232.h b/src/devices/bus/rs232/rs232.h
index dbd372418d2..cc11cc76a85 100644
--- a/src/devices/bus/rs232/rs232.h
+++ b/src/devices/bus/rs232/rs232.h
@@ -22,6 +22,9 @@
#define MCFG_RS232_RI_HANDLER(_devcb) \
devcb = &downcast<rs232_port_device &>(*device).set_ri_handler(DEVCB_##_devcb);
+#define MCFG_RS232_SI_HANDLER(_devcb) \
+ devcb = &downcast<rs232_port_device &>(*device).set_si_handler(DEVCB_##_devcb);
+
#define MCFG_RS232_CTS_HANDLER(_devcb) \
devcb = &downcast<rs232_port_device &>(*device).set_cts_handler(DEVCB_##_devcb);
@@ -130,6 +133,7 @@ public:
template <class Object> devcb_base &set_dcd_handler(Object &&cb) { return m_dcd_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_dsr_handler(Object &&cb) { return m_dsr_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_ri_handler(Object &&cb) { return m_ri_handler.set_callback(std::forward<Object>(cb)); }
+ template <class Object> devcb_base &set_si_handler(Object &&cb) { return m_si_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_cts_handler(Object &&cb) { return m_cts_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_rxc_handler(Object &&cb) { return m_rxc_handler.set_callback(std::forward<Object>(cb)); }
template <class Object> devcb_base &set_txc_handler(Object &&cb) { return m_txc_handler.set_callback(std::forward<Object>(cb)); }
@@ -143,6 +147,7 @@ public:
DECLARE_READ_LINE_MEMBER( dcd_r ) { return m_dcd; }
DECLARE_READ_LINE_MEMBER( dsr_r ) { return m_dsr; }
DECLARE_READ_LINE_MEMBER( ri_r ) { return m_ri; }
+ DECLARE_READ_LINE_MEMBER( si_r ) { return m_si; }
DECLARE_READ_LINE_MEMBER( cts_r ) { return m_cts; }
DECLARE_READ_LINE_MEMBER( rxc_r ) { return m_dce_rxc; }
DECLARE_READ_LINE_MEMBER( txc_r ) { return m_dce_txc; }
@@ -158,6 +163,7 @@ protected:
int m_dcd;
int m_dsr;
int m_ri;
+ int m_si;
int m_cts;
int m_dce_rxc;
int m_dce_txc;
@@ -166,6 +172,7 @@ protected:
devcb_write_line m_dcd_handler;
devcb_write_line m_dsr_handler;
devcb_write_line m_ri_handler;
+ devcb_write_line m_si_handler;
devcb_write_line m_cts_handler;
devcb_write_line m_rxc_handler;
devcb_write_line m_txc_handler;
@@ -190,6 +197,7 @@ public:
DECLARE_WRITE_LINE_MEMBER( output_dcd ) { m_port->m_dcd = state; m_port->m_dcd_handler(state); }
DECLARE_WRITE_LINE_MEMBER( output_dsr ) { m_port->m_dsr = state; m_port->m_dsr_handler(state); }
DECLARE_WRITE_LINE_MEMBER( output_ri ) { m_port->m_ri = state; m_port->m_ri_handler(state); }
+ DECLARE_WRITE_LINE_MEMBER( output_si ) { m_port->m_si = state; m_port->m_si_handler(state); }
DECLARE_WRITE_LINE_MEMBER( output_cts ) { m_port->m_cts = state; m_port->m_cts_handler(state); }
DECLARE_WRITE_LINE_MEMBER( output_rxc ) { m_port->m_dce_rxc = state; m_port->m_rxc_handler(state); }
DECLARE_WRITE_LINE_MEMBER( output_txc ) { m_port->m_dce_txc = state; m_port->m_txc_handler(state); }