summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/hp_taco.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/hp_taco.h')
-rw-r--r--src/devices/machine/hp_taco.h15
1 files changed, 3 insertions, 12 deletions
diff --git a/src/devices/machine/hp_taco.h b/src/devices/machine/hp_taco.h
index 42682aa76a4..bb20bd464d3 100644
--- a/src/devices/machine/hp_taco.h
+++ b/src/devices/machine/hp_taco.h
@@ -15,15 +15,6 @@
#include "formats/hti_tape.h"
-#define MCFG_TACO_IRQ_HANDLER(_devcb) \
- downcast<hp_taco_device &>(*device).set_irq_handler(DEVCB_##_devcb);
-
-#define MCFG_TACO_FLG_HANDLER(_devcb) \
- downcast<hp_taco_device &>(*device).set_flg_handler(DEVCB_##_devcb);
-
-#define MCFG_TACO_STS_HANDLER(_devcb) \
- downcast<hp_taco_device &>(*device).set_sts_handler(DEVCB_##_devcb);
-
class hp_taco_device : public device_t ,
public device_image_interface
{
@@ -32,9 +23,9 @@ public:
hp_taco_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
// configuration helpers
- template <class Object> devcb_base &set_irq_handler(Object &&cb) { return m_irq_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_flg_handler(Object &&cb) { return m_flg_handler.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_sts_handler(Object &&cb) { return m_sts_handler.set_callback(std::forward<Object>(cb)); }
+ auto irq() { return m_irq_handler.bind(); }
+ auto flg() { return m_flg_handler.bind(); }
+ auto sts() { return m_sts_handler.bind(); }
// Register read/write
DECLARE_WRITE16_MEMBER(reg_w);