summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/mos6551.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/mos6551.h')
-rw-r--r--src/devices/machine/mos6551.h15
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);