diff options
Diffstat (limited to 'src/devices/machine/adc0844.h')
-rw-r--r-- | src/devices/machine/adc0844.h | 62 |
1 files changed, 9 insertions, 53 deletions
diff --git a/src/devices/machine/adc0844.h b/src/devices/machine/adc0844.h index d7133695128..cdb98d13701 100644 --- a/src/devices/machine/adc0844.h +++ b/src/devices/machine/adc0844.h @@ -27,50 +27,6 @@ //************************************************************************** -// INTERFACE CONFIGURATION MACROS -//************************************************************************** - -#define MCFG_ADC0844_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, ADC0844, 0) - -#define MCFG_ADC0844_INTR_CB(_devcb) \ - downcast<adc0844_device &>(*device).set_intr_callback(DEVCB_##_devcb); - -#define MCFG_ADC0844_CH1_CB(_devcb) \ - downcast<adc0844_device &>(*device).set_ch1_callback(DEVCB_##_devcb); - -#define MCFG_ADC0844_CH2_CB(_devcb) \ - downcast<adc0844_device &>(*device).set_ch2_callback(DEVCB_##_devcb); - -#define MCFG_ADC0844_CH3_CB(_devcb) \ - downcast<adc0844_device &>(*device).set_ch3_callback(DEVCB_##_devcb); - -#define MCFG_ADC0844_CH4_CB(_devcb) \ - downcast<adc0844_device &>(*device).set_ch4_callback(DEVCB_##_devcb); - -#define MCFG_ADC0848_ADD(_tag) \ - MCFG_DEVICE_ADD(_tag, ADC0848, 0) - -#define MCFG_ADC0848_INTR_CB MCFG_ADC0844_INTR_CB -#define MCFG_ADC0848_CH1_CB MCFG_ADC0844_CH1_CB -#define MCFG_ADC0848_CH2_CB MCFG_ADC0844_CH2_CB -#define MCFG_ADC0848_CH3_CB MCFG_ADC0844_CH3_CB -#define MCFG_ADC0848_CH4_CB MCFG_ADC0844_CH4_CB - -#define MCFG_ADC0848_CH5_CB(_devcb) \ - downcast<adc0848_device &>(*device).set_ch5_callback(DEVCB_##_devcb); - -#define MCFG_ADC0848_CH6_CB(_devcb) \ - downcast<adc0848_device &>(*device).set_ch6_callback(DEVCB_##_devcb); - -#define MCFG_ADC0848_CH7_CB(_devcb) \ - downcast<adc0848_device &>(*device).set_ch7_callback(DEVCB_##_devcb); - -#define MCFG_ADC0848_CH8_CB(_devcb) \ - downcast<adc0848_device &>(*device).set_ch8_callback(DEVCB_##_devcb); - - -//************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -81,11 +37,11 @@ public: adc0844_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // configuration - template <class Object> devcb_base &set_intr_callback(Object &&cb) { return m_intr_cb.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_ch1_callback(Object &&cb) { return m_ch1_cb.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_ch2_callback(Object &&cb) { return m_ch2_cb.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_ch3_callback(Object &&cb) { return m_ch3_cb.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_ch4_callback(Object &&cb) { return m_ch4_cb.set_callback(std::forward<Object>(cb)); } + auto intr_callback() { return m_intr_cb.bind(); } + auto ch1_callback() { return m_ch1_cb.bind(); } + auto ch2_callback() { return m_ch2_cb.bind(); } + auto ch3_callback() { return m_ch3_cb.bind(); } + auto ch4_callback() { return m_ch4_cb.bind(); } DECLARE_READ8_MEMBER(read); virtual DECLARE_WRITE8_MEMBER(write); @@ -117,10 +73,10 @@ public: adc0848_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); // configuration - template <class Object> devcb_base &set_ch5_callback(Object &&cb) { return m_ch5_cb.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_ch6_callback(Object &&cb) { return m_ch6_cb.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_ch7_callback(Object &&cb) { return m_ch7_cb.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_ch8_callback(Object &&cb) { return m_ch8_cb.set_callback(std::forward<Object>(cb)); } + auto ch5_callback() { return m_ch5_cb.bind(); } + auto ch6_callback() { return m_ch6_cb.bind(); } + auto ch7_callback() { return m_ch7_cb.bind(); } + auto ch8_callback() { return m_ch8_cb.bind(); } virtual DECLARE_WRITE8_MEMBER(write) override; |