diff options
Diffstat (limited to 'src/devices/cpu/psx/sio.h')
-rw-r--r-- | src/devices/cpu/psx/sio.h | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/src/devices/cpu/psx/sio.h b/src/devices/cpu/psx/sio.h index 0548480abeb..7e02b57330f 100644 --- a/src/devices/cpu/psx/sio.h +++ b/src/devices/cpu/psx/sio.h @@ -16,21 +16,6 @@ DECLARE_DEVICE_TYPE(PSX_SIO0, psxsio0_device) DECLARE_DEVICE_TYPE(PSX_SIO1, psxsio1_device) -#define MCFG_PSX_SIO_IRQ_HANDLER(_devcb) \ - downcast<psxsio_device &>(*device).set_irq_handler(DEVCB_##_devcb); - -#define MCFG_PSX_SIO_SCK_HANDLER(_devcb) \ - downcast<psxsio_device &>(*device).set_sck_handler(DEVCB_##_devcb); - -#define MCFG_PSX_SIO_TXD_HANDLER(_devcb) \ - downcast<psxsio_device &>(*device).set_txd_handler(DEVCB_##_devcb); - -#define MCFG_PSX_SIO_DTR_HANDLER(_devcb) \ - downcast<psxsio_device &>(*device).set_dtr_handler(DEVCB_##_devcb); - -#define MCFG_PSX_SIO_RTS_HANDLER(_devcb) \ - downcast<psxsio_device &>(*device).set_rts_handler(DEVCB_##_devcb); - #define SIO_BUF_SIZE ( 8 ) #define SIO_STATUS_TX_RDY ( 1 << 0 ) @@ -52,11 +37,11 @@ class psxsio_device : public device_t { public: // configuration helpers - template <class Object> devcb_base &set_irq_handler(Object &&cb) { return m_irq_handler.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_sck_handler(Object &&cb) { return m_sck_handler.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_txd_handler(Object &&cb) { return m_txd_handler.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_dtr_handler(Object &&cb) { return m_dtr_handler.set_callback(std::forward<Object>(cb)); } - template <class Object> devcb_base &set_rts_handler(Object &&cb) { return m_rts_handler.set_callback(std::forward<Object>(cb)); } + auto irq_handler() { return m_irq_handler.bind(); } + auto sck_handler() { return m_sck_handler.bind(); } + auto txd_handler() { return m_txd_handler.bind(); } + auto dtr_handler() { return m_dtr_handler.bind(); } + auto rts_handler() { return m_rts_handler.bind(); } DECLARE_WRITE32_MEMBER( write ); DECLARE_READ32_MEMBER( read ); |