diff options
Diffstat (limited to 'src/devices/machine/mc68681.h')
-rw-r--r-- | src/devices/machine/mc68681.h | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/devices/machine/mc68681.h b/src/devices/machine/mc68681.h index 9b907ab703d..9a706ee6087 100644 --- a/src/devices/machine/mc68681.h +++ b/src/devices/machine/mc68681.h @@ -8,30 +8,30 @@ #include "diserial.h" #define MCFG_MC68681_IRQ_CALLBACK(_cb) \ - devcb = &downcast<duart_base_device &>(*device).set_irq_cb(DEVCB_##_cb); + downcast<duart_base_device &>(*device).set_irq_cb(DEVCB_##_cb); #define MCFG_MC68681_A_TX_CALLBACK(_cb) \ - devcb = &downcast<duart_base_device &>(*device).set_a_tx_cb(DEVCB_##_cb); + downcast<duart_base_device &>(*device).set_a_tx_cb(DEVCB_##_cb); #define MCFG_MC68681_B_TX_CALLBACK(_cb) \ - devcb = &downcast<duart_base_device &>(*device).set_b_tx_cb(DEVCB_##_cb); + downcast<duart_base_device &>(*device).set_b_tx_cb(DEVCB_##_cb); // deprecated: use ipX_w() instead #define MCFG_MC68681_INPORT_CALLBACK(_cb) \ - devcb = &downcast<duart_base_device &>(*device).set_inport_cb(DEVCB_##_cb); + downcast<duart_base_device &>(*device).set_inport_cb(DEVCB_##_cb); #define MCFG_MC68681_OUTPORT_CALLBACK(_cb) \ - devcb = &downcast<duart_base_device &>(*device).set_outport_cb(DEVCB_##_cb); + downcast<duart_base_device &>(*device).set_outport_cb(DEVCB_##_cb); #define MCFG_MC68681_SET_EXTERNAL_CLOCKS(_a, _b, _c, _d) \ downcast<duart_base_device &>(*device).set_clocks(_a, _b, _c, _d); // SC28C94 specific callbacks #define MCFG_SC28C94_C_TX_CALLBACK(_cb) \ - devcb = &downcast<sc28c94_device &>(*device).set_c_tx_cb(DEVCB_##_cb); + downcast<sc28c94_device &>(*device).set_c_tx_cb(DEVCB_##_cb); #define MCFG_SC28C94_D_TX_CALLBACK(_cb) \ - devcb = &downcast<sc28c94_device &>(*device).set_d_tx_cb(DEVCB_##_cb); + downcast<sc28c94_device &>(*device).set_d_tx_cb(DEVCB_##_cb); #define MC68681_RX_FIFO_SIZE 3 @@ -131,6 +131,11 @@ public: template <class Object> devcb_base &set_b_tx_cb(Object &&cb) { return write_b_tx.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_inport_cb(Object &&cb) { return read_inport.set_callback(std::forward<Object>(cb)); } template <class Object> devcb_base &set_outport_cb(Object &&cb) { return write_outport.set_callback(std::forward<Object>(cb)); } + auto irq_cb() { return write_irq.bind(); } + auto a_tx_cb() { return write_a_tx.bind(); } + auto b_tx_cb() { return write_b_tx.bind(); } + auto inport_cb() { return read_inport.bind(); } + auto outport_cb() { return write_outport.bind(); } // new-style push handlers for input port bits DECLARE_WRITE_LINE_MEMBER( ip0_w ); |