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