summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/dp8390.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/dp8390.h')
-rw-r--r--src/devices/machine/dp8390.h33
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 );