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