summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/tms5501.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/tms5501.h')
-rw-r--r--src/devices/machine/tms5501.h28
1 files changed, 5 insertions, 23 deletions
diff --git a/src/devices/machine/tms5501.h b/src/devices/machine/tms5501.h
index 8510ccaced3..17a1cd19b87 100644
--- a/src/devices/machine/tms5501.h
+++ b/src/devices/machine/tms5501.h
@@ -39,24 +39,6 @@
//**************************************************************************
-// INTERFACE CONFIGURATION MACROS
-//**************************************************************************
-
-#define MCFG_TMS5501_IRQ_CALLBACK(_write) \
- downcast<tms5501_device &>(*device).set_irq_wr_callback(DEVCB_##_write);
-
-#define MCFG_TMS5501_XMT_CALLBACK(_write) \
- downcast<tms5501_device &>(*device).set_xmt_wr_callback(DEVCB_##_write);
-
-#define MCFG_TMS5501_XI_CALLBACK(_read) \
- downcast<tms5501_device &>(*device).set_xi_rd_callback(DEVCB_##_read);
-
-#define MCFG_TMS5501_XO_CALLBACK(_write) \
- downcast<tms5501_device &>(*device).set_xo_wr_callback(DEVCB_##_write);
-
-
-
-//**************************************************************************
// TYPE DEFINITIONS
//**************************************************************************
@@ -69,10 +51,10 @@ public:
// construction/destruction
tms5501_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <class Object> devcb_base &set_irq_wr_callback(Object &&cb) { return m_write_irq.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_xmt_wr_callback(Object &&cb) { return m_write_xmt.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_xi_rd_callback(Object &&cb) { return m_read_xi.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_xo_wr_callback(Object &&cb) { return m_write_xo.set_callback(std::forward<Object>(cb)); }
+ auto int_callback() { return m_write_int.bind(); }
+ auto xmt_callback() { return m_write_xmt.bind(); }
+ auto xi_callback() { return m_read_xi.bind(); }
+ auto xo_callback() { return m_write_xo.bind(); }
DECLARE_WRITE_LINE_MEMBER( rcv_w );
@@ -167,7 +149,7 @@ private:
void set_interrupt(uint8_t mask);
void check_interrupt();
- devcb_write_line m_write_irq;
+ devcb_write_line m_write_int;
devcb_write_line m_write_xmt;
devcb_read8 m_read_xi;
devcb_write8 m_write_xo;