diff options
Diffstat (limited to 'src/devices/machine/tube.h')
-rw-r--r-- | src/devices/machine/tube.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/devices/machine/tube.h b/src/devices/machine/tube.h index 71e7693a8ba..17223d22f84 100644 --- a/src/devices/machine/tube.h +++ b/src/devices/machine/tube.h @@ -21,16 +21,16 @@ MCFG_DEVICE_ADD(_tag, TUBE, 0); #define MCFG_TUBE_HIRQ_HANDLER(_devcb) \ - devcb = &downcast<tube_device &>(*device).set_hirq_handler(DEVCB_##_devcb); + downcast<tube_device &>(*device).set_hirq_handler(DEVCB_##_devcb); #define MCFG_TUBE_PNMI_HANDLER(_devcb) \ - devcb = &downcast<tube_device &>(*device).set_pnmi_handler(DEVCB_##_devcb); + downcast<tube_device &>(*device).set_pnmi_handler(DEVCB_##_devcb); #define MCFG_TUBE_PIRQ_HANDLER(_devcb) \ - devcb = &downcast<tube_device &>(*device).set_pirq_handler(DEVCB_##_devcb); + downcast<tube_device &>(*device).set_pirq_handler(DEVCB_##_devcb); #define MCFG_TUBE_DRQ_HANDLER(_devcb) \ - devcb = &downcast<tube_device &>(*device).set_drq_handler(DEVCB_##_devcb); + downcast<tube_device &>(*device).set_drq_handler(DEVCB_##_devcb); @@ -52,6 +52,10 @@ public: template <class Object> devcb_base &set_pnmi_handler(Object &&cb) { return m_pnmi_handler.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_pirq_handler(Object &&cb) { return m_pirq_handler.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_drq_handler(Object &&cb) { return m_drq_handler.set_callback(std::forward<Object>(cb)); } + auto hirq_handler() { return m_hirq_handler.bind(); } + auto pnmi_handler() { return m_pnmi_handler.bind(); } + auto pirq_handler() { return m_pirq_handler.bind(); } + auto drq_handler() { return m_drq_handler.bind(); } DECLARE_READ8_MEMBER(host_r); DECLARE_WRITE8_MEMBER(host_w); |