summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/mb8795.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/mb8795.h')
-rw-r--r--src/devices/machine/mb8795.h25
1 files changed, 4 insertions, 21 deletions
diff --git a/src/devices/machine/mb8795.h b/src/devices/machine/mb8795.h
index a3b6e6244cc..6662cd96ebc 100644
--- a/src/devices/machine/mb8795.h
+++ b/src/devices/machine/mb8795.h
@@ -3,33 +3,16 @@
#ifndef MAME_MACHINE_MB8795_H
#define MAME_MACHINE_MB8795_H
-#define MCFG_MB8795_ADD(_tag, _tx_irq, _rx_irq, _tx_drq, _rx_drq) \
- MCFG_DEVICE_ADD(_tag, MB8795, 0) \
- downcast<mb8795_device *>(device)->set_irq_cb(_tx_irq, _rx_irq); \
- downcast<mb8795_device *>(device)->set_drq_cb(_tx_drq, _rx_drq);
-
-#define MCFG_MB8795_TX_IRQ_CALLBACK(_write) \
- downcast<mb8795_device &>(*device).set_tx_irq_wr_callback(DEVCB_##_write);
-
-#define MCFG_MB8795_RX_IRQ_CALLBACK(_write) \
- downcast<mb8795_device &>(*device).set_rx_irq_wr_callback(DEVCB_##_write);
-
-#define MCFG_MB8795_TX_DRQ_CALLBACK(_write) \
- downcast<mb8795_device &>(*device).set_tx_drq_wr_callback(DEVCB_##_write);
-
-#define MCFG_MB8795_RX_DRQ_CALLBACK(_write) \
- downcast<mb8795_device &>(*device).set_rx_drq_wr_callback(DEVCB_##_write);
-
class mb8795_device : public device_t,
public device_network_interface
{
public:
mb8795_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <class Object> devcb_base &set_tx_irq_wr_callback(Object &&cb) { return irq_tx_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_rx_irq_wr_callback(Object &&cb) { return irq_rx_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_tx_drq_wr_callback(Object &&cb) { return drq_tx_cb.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_rx_drq_wr_callback(Object &&cb) { return drq_rx_cb.set_callback(std::forward<Object>(cb)); }
+ auto tx_irq() { return irq_tx_cb.bind(); }
+ auto rx_irq() { return irq_rx_cb.bind(); }
+ auto tx_drq() { return drq_tx_cb.bind(); }
+ auto rx_drq() { return drq_rx_cb.bind(); }
void tx_dma_w(uint8_t data, bool eof);
void rx_dma_r(uint8_t &data, bool &eof);