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