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