diff options
Diffstat (limited to 'src/devices/machine/dp8390.h')
-rw-r--r-- | src/devices/machine/dp8390.h | 33 |
1 files changed, 4 insertions, 29 deletions
diff --git a/src/devices/machine/dp8390.h b/src/devices/machine/dp8390.h index 74b57f027d1..c13fe53e1d3 100644 --- a/src/devices/machine/dp8390.h +++ b/src/devices/machine/dp8390.h @@ -8,38 +8,13 @@ // device stuff -#define MCFG_DP8390D_IRQ_CB(_devcb) \ - downcast<dp8390_device &>(*device).set_irq_callback(DEVCB_##_devcb); - -#define MCFG_DP8390D_BREQ_CB(_devcb) \ - downcast<dp8390_device &>(*device).set_breq_callback(DEVCB_##_devcb); - -#define MCFG_DP8390D_MEM_READ_CB(_devcb) \ - downcast<dp8390_device &>(*device).set_mem_read_callback(DEVCB_##_devcb); - -#define MCFG_DP8390D_MEM_WRITE_CB(_devcb) \ - downcast<dp8390_device &>(*device).set_mem_write_callback(DEVCB_##_devcb); - -#define MCFG_RTL8019A_IRQ_CB(_devcb) \ - downcast<rtl8019a_device &>(*device).set_irq_callback(DEVCB_##_devcb); - -#define MCFG_RTL8019A_BREQ_CB(_devcb) \ - downcast<rtl8019a_device &>(*device).set_breq_callback(DEVCB_##_devcb); - -#define MCFG_RTL8019A_MEM_READ_CB(_devcb) \ - downcast<rtl8019a_device &>(*device).set_mem_read_callback(DEVCB_##_devcb); - -#define MCFG_RTL8019A_MEM_WRITE_CB(_devcb) \ - downcast<rtl8019a_device &>(*device).set_mem_write_callback(DEVCB_##_devcb); - - class dp8390_device : public device_t, public device_network_interface { public: - template <class Object> devcb_base &set_irq_callback(Object &&cb) { return m_irq_cb.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_breq_callback(Object &&cb) { return m_breq_cb.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_mem_read_callback(Object &&cb) { return m_mem_read_cb.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_mem_write_callback(Object &&cb) { return m_mem_write_cb.set_callback(std::forward<Object>(cb)); } + auto irq_callback() { return m_irq_cb.bind(); } + auto breq_callback() { return m_breq_cb.bind(); } + auto mem_read_callback() { return m_mem_read_cb.bind(); } + auto mem_write_callback() { return m_mem_write_cb.bind(); } DECLARE_WRITE16_MEMBER( dp8390_w ); DECLARE_READ16_MEMBER( dp8390_r ); |