diff options
author | 2019-03-25 23:13:40 +0100 | |
---|---|---|
committer | 2019-03-25 23:13:40 +0100 | |
commit | b380514764cf857469bae61c11143a19f79a74c5 (patch) | |
tree | 63c8012e262618f08a332da31dd714281aa2c5ed /src/devices/bus/isa/gus.h | |
parent | c24473ddff715ecec2e258a6eb38960cf8c8e98e (diff) |
Revert "conflict resolution (nw)"
This reverts commit c24473ddff715ecec2e258a6eb38960cf8c8e98e, reversing
changes made to 009cba4fb8102102168ef32870892438327f3705.
Diffstat (limited to 'src/devices/bus/isa/gus.h')
-rw-r--r-- | src/devices/bus/isa/gus.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/src/devices/bus/isa/gus.h b/src/devices/bus/isa/gus.h index 0009510b81f..493893a62e0 100644 --- a/src/devices/bus/isa/gus.h +++ b/src/devices/bus/isa/gus.h @@ -45,6 +45,38 @@ #include "isa.h" #include "machine/6850acia.h" +#define MCFG_GF1_TXIRQ_HANDLER(_devcb) \ + downcast<gf1_device &>(*device).set_txirq_handler(DEVCB_##_devcb); + +#define MCFG_GF1_RXIRQ_HANDLER(_devcb) \ + downcast<gf1_device &>(*device).set_rxirq_handler(DEVCB_##_devcb); + +#define MCFG_GF1_WAVE_IRQ_HANDLER(_devcb) \ + downcast<gf1_device &>(*device).set_wave_irq_handler(DEVCB_##_devcb); + +#define MCFG_GF1_RAMP_IRQ_HANDLER(_devcb) \ + downcast<gf1_device &>(*device).set_ramp_irq_handler(DEVCB_##_devcb); + +#define MCFG_GF1_TIMER1_IRQ_HANDLER(_devcb) \ + downcast<gf1_device &>(*device).set_timer1_irq_handler(DEVCB_##_devcb); + +#define MCFG_GF1_TIMER2_IRQ_HANDLER(_devcb) \ + downcast<gf1_device &>(*device).set_timer2_irq_handler(DEVCB_##_devcb); + +#define MCFG_GF1_SB_IRQ_HANDLER(_devcb) \ + downcast<gf1_device &>(*device).set_sb_irq_handler(DEVCB_##_devcb); + +#define MCFG_GF1_DMA_IRQ_HANDLER(_devcb) \ + downcast<gf1_device &>(*device).set_dma_irq_handler(DEVCB_##_devcb); + +#define MCFG_GF1_DRQ1_HANDLER(_devcb) \ + downcast<gf1_device &>(*device).set_drq1_handler(DEVCB_##_devcb); + +#define MCFG_GF1_DRQ2_HANDLER(_devcb) \ + downcast<gf1_device &>(*device).set_drq2_handler(DEVCB_##_devcb); + +#define MCFG_GF1_NMI_HANDLER(_devcb) \ + downcast<gf1_device &>(*device).set_nmi_handler(DEVCB_##_devcb); //************************************************************************** // TYPE DEFINITIONS @@ -80,6 +112,17 @@ public: // construction/destruction gf1_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + template <class Object> devcb_base &set_txirq_handler(Object &&cb) { return m_txirq_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_rxirq_handler(Object &&cb) { return m_rxirq_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_wave_irq_handler(Object &&cb) { return m_wave_irq_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_ramp_irq_handler(Object &&cb) { return m_ramp_irq_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_timer1_irq_handler(Object &&cb) { return m_timer1_irq_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_timer2_irq_handler(Object &&cb) { return m_timer2_irq_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_sb_irq_handler(Object &&cb) { return m_sb_irq_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_dma_irq_handler(Object &&cb) { return m_dma_irq_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_drq1_handler(Object &&cb) { return m_drq1_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_drq2_handler(Object &&cb) { return m_drq2_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_nmi_handler(Object &&cb) { return m_nmi_handler.set_callback(std::forward<Object>(cb)); } auto txirq_handler() { return m_txirq_handler.bind(); } auto rxirq_handler() { return m_rxirq_handler.bind(); } auto wave_irq_handler() { return m_wave_irq_handler.bind(); } |