diff options
Diffstat (limited to 'src/devices/cpu/hcd62121/hcd62121.h')
-rw-r--r-- | src/devices/cpu/hcd62121/hcd62121.h | 21 |
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 |