diff options
Diffstat (limited to 'src/devices/machine/mos6551.h')
-rw-r--r-- | src/devices/machine/mos6551.h | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/devices/machine/mos6551.h b/src/devices/machine/mos6551.h index 07d1f7069ba..319f00e803d 100644 --- a/src/devices/machine/mos6551.h +++ b/src/devices/machine/mos6551.h @@ -34,19 +34,19 @@ downcast<mos6551_device &>(*device).set_xtal(_xtal); #define MCFG_MOS6551_IRQ_HANDLER(_devcb) \ - devcb = &downcast<mos6551_device &>(*device).set_irq_handler(DEVCB_##_devcb); + downcast<mos6551_device &>(*device).set_irq_handler(DEVCB_##_devcb); #define MCFG_MOS6551_TXD_HANDLER(_devcb) \ - devcb = &downcast<mos6551_device &>(*device).set_txd_handler(DEVCB_##_devcb); + downcast<mos6551_device &>(*device).set_txd_handler(DEVCB_##_devcb); #define MCFG_MOS6551_RXC_HANDLER(_devcb) \ - devcb = &downcast<mos6551_device &>(*device).set_rxc_handler(DEVCB_##_devcb); + downcast<mos6551_device &>(*device).set_rxc_handler(DEVCB_##_devcb); #define MCFG_MOS6551_RTS_HANDLER(_devcb) \ - devcb = &downcast<mos6551_device &>(*device).set_rts_handler(DEVCB_##_devcb); + downcast<mos6551_device &>(*device).set_rts_handler(DEVCB_##_devcb); #define MCFG_MOS6551_DTR_HANDLER(_devcb) \ - devcb = &downcast<mos6551_device &>(*device).set_dtr_handler(DEVCB_##_devcb); + downcast<mos6551_device &>(*device).set_dtr_handler(DEVCB_##_devcb); class mos6551_device : public device_t { @@ -58,6 +58,11 @@ public: 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_rts_handler(Object &&cb) { return m_rts_handler.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_dtr_handler(Object &&cb) { return m_dtr_handler.set_callback(std::forward<Object>(cb)); } + auto irq_handler() { return m_irq_handler.bind(); } + auto txd_handler() { return m_txd_handler.bind(); } + auto rxc_handler() { return m_rxc_handler.bind(); } + auto rts_handler() { return m_rts_handler.bind(); } + auto dtr_handler() { return m_dtr_handler.bind(); } DECLARE_READ8_MEMBER(read); DECLARE_WRITE8_MEMBER(write); |