diff options
Diffstat (limited to 'src/devices/machine/mb8795.h')
-rw-r--r-- | src/devices/machine/mb8795.h | 25 |
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); |