diff options
Diffstat (limited to 'src/devices/machine/ins8250.h')
-rw-r--r-- | src/devices/machine/ins8250.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/devices/machine/ins8250.h b/src/devices/machine/ins8250.h index 7bd6753b391..af68f36887b 100644 --- a/src/devices/machine/ins8250.h +++ b/src/devices/machine/ins8250.h @@ -17,8 +17,7 @@ CLASS DEFINITIONS ***************************************************************************/ -class ins8250_uart_device : public device_t, - public device_serial_interface +class ins8250_uart_device : public device_t, public device_serial_interface { public: template <class Object> devcb_base &set_out_tx_callback(Object &&cb) { return m_out_tx_cb.set_callback(std::forward<Object>(cb)); } @@ -27,6 +26,12 @@ public: template <class Object> devcb_base &set_out_int_callback(Object &&cb) { return m_out_int_cb.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_out_out1_callback(Object &&cb) { return m_out_out1_cb.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_out_out2_callback(Object &&cb) { return m_out_out2_cb.set_callback(std::forward<Object>(cb)); } + auto out_tx_callback() { return m_out_tx_cb.bind(); } + auto out_dtr_callback() { return m_out_dtr_cb.bind(); } + auto out_rts_callback() { return m_out_rts_cb.bind(); } + auto out_int_callback() { return m_out_int_cb.bind(); } + auto out_out1_callback() { return m_out_out1_cb.bind(); } + auto out_out2_callback() { return m_out_out2_cb.bind(); } DECLARE_WRITE8_MEMBER( ins8250_w ); DECLARE_READ8_MEMBER( ins8250_r ); @@ -159,21 +164,21 @@ DECLARE_DEVICE_TYPE(NS16550, ns16550_device) ***************************************************************************/ #define MCFG_INS8250_OUT_TX_CB(_devcb) \ - devcb = &downcast<ins8250_uart_device &>(*device).set_out_tx_callback(DEVCB_##_devcb); + downcast<ins8250_uart_device &>(*device).set_out_tx_callback(DEVCB_##_devcb); #define MCFG_INS8250_OUT_DTR_CB(_devcb) \ - devcb = &downcast<ins8250_uart_device &>(*device).set_out_dtr_callback(DEVCB_##_devcb); + downcast<ins8250_uart_device &>(*device).set_out_dtr_callback(DEVCB_##_devcb); #define MCFG_INS8250_OUT_RTS_CB(_devcb) \ - devcb = &downcast<ins8250_uart_device &>(*device).set_out_rts_callback(DEVCB_##_devcb); + downcast<ins8250_uart_device &>(*device).set_out_rts_callback(DEVCB_##_devcb); #define MCFG_INS8250_OUT_INT_CB(_devcb) \ - devcb = &downcast<ins8250_uart_device &>(*device).set_out_int_callback(DEVCB_##_devcb); + downcast<ins8250_uart_device &>(*device).set_out_int_callback(DEVCB_##_devcb); #define MCFG_INS8250_OUT_OUT1_CB(_devcb) \ - devcb = &downcast<ins8250_uart_device &>(*device).set_out_out1_callback(DEVCB_##_devcb); + downcast<ins8250_uart_device &>(*device).set_out_out1_callback(DEVCB_##_devcb); #define MCFG_INS8250_OUT_OUT2_CB(_devcb) \ - devcb = &downcast<ins8250_uart_device &>(*device).set_out_out2_callback(DEVCB_##_devcb); + downcast<ins8250_uart_device &>(*device).set_out_out2_callback(DEVCB_##_devcb); #endif // MAME_MACHINE_INS8250_H |