summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/hcd62121/hcd62121.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/cpu/hcd62121/hcd62121.h')
-rw-r--r--src/devices/cpu/hcd62121/hcd62121.h21
1 files changed, 6 insertions, 15 deletions
diff --git a/src/devices/cpu/hcd62121/hcd62121.h b/src/devices/cpu/hcd62121/hcd62121.h
index 7e85bc2af96..27399de7494 100644
--- a/src/devices/cpu/hcd62121/hcd62121.h
+++ b/src/devices/cpu/hcd62121/hcd62121.h
@@ -5,27 +5,18 @@
#pragma once
-
-#define MCFG_HCD62121_KOL_CB(_devcb) downcast<hcd62121_cpu_device &>(*device).set_kol_callback(DEVCB_##_devcb);
-#define MCFG_HCD62121_KOH_CB(_devcb) downcast<hcd62121_cpu_device &>(*device).set_koh_callback(DEVCB_##_devcb);
-#define MCFG_HCD62121_PORT_CB(_devcb) downcast<hcd62121_cpu_device &>(*device).set_port_callback(DEVCB_##_devcb);
-#define MCFG_HCD62121_OPT_CB(_devcb) downcast<hcd62121_cpu_device &>(*device).set_opt_callback(DEVCB_##_devcb);
-#define MCFG_HCD62121_KI_CB(_devcb) downcast<hcd62121_cpu_device &>(*device).set_ki_callback(DEVCB_##_devcb);
-#define MCFG_HCD62121_IN0_CB(_devcb) downcast<hcd62121_cpu_device &>(*device).set_in0_callback(DEVCB_##_devcb);
-
-
class hcd62121_cpu_device : public cpu_device
{
public:
// construction/destruction
hcd62121_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <class Object> devcb_base &set_kol_callback(Object &&cb) { return m_kol_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_koh_callback(Object &&cb) { return m_koh_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_port_callback(Object &&cb) { return m_port_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_opt_callback(Object &&cb) { return m_opt_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_ki_callback(Object &&cb) { return m_ki_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_in0_callback(Object &&cb) { return m_in0_cb.set_callback(std::forward<Object>(cb)); }
+ auto kol_cb() { return m_kol_cb.bind(); }
+ auto koh_cb() { return m_koh_cb.bind(); }
+ auto port_cb() { return m_port_cb.bind(); }
+ auto opt_cb() { return m_opt_cb.bind(); }
+ auto ki_cb() { return m_ki_cb.bind(); }
+ auto in0_cb() { return m_in0_cb.bind(); }
protected:
enum