diff options
Diffstat (limited to 'src/devices/bus/vtech/memexp/memexp.h')
-rw-r--r-- | src/devices/bus/vtech/memexp/memexp.h | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/src/devices/bus/vtech/memexp/memexp.h b/src/devices/bus/vtech/memexp/memexp.h index 692f10c819a..91737e003bc 100644 --- a/src/devices/bus/vtech/memexp/memexp.h +++ b/src/devices/bus/vtech/memexp/memexp.h @@ -47,13 +47,13 @@ MCFG_DEVICE_SLOT_INTERFACE(vtech_memexp_carts, nullptr, false) #define MCFG_MEMEXP_SLOT_INT_HANDLER(_devcb) \ - devcb = &vtech_memexp_device::set_int_handler(*device, DEVCB_##_devcb); + devcb = &downcast<vtech_memexp_device &>(*device).set_int_handler(DEVCB_##_devcb); #define MCFG_MEMEXP_SLOT_NMI_HANDLER(_devcb) \ - devcb = &vtech_memexp_device::set_nmi_handler(*device, DEVCB_##_devcb); + devcb = &downcast<vtech_memexp_device &>(*device).set_nmi_handler(DEVCB_##_devcb); #define MCFG_MEMEXP_SLOT_RESET_HANDLER(_devcb) \ - devcb = &vtech_memexp_device::set_reset_handler(*device, DEVCB_##_devcb); + devcb = &downcast<vtech_memexp_device &>(*device).set_reset_handler(DEVCB_##_devcb); //************************************************************************** @@ -74,14 +74,9 @@ public: void set_io_space(address_space *io); // callbacks - template <class Object> static devcb_base &set_int_handler(device_t &device, Object &&cb) - { return downcast<vtech_memexp_slot_device &>(device).m_int_handler.set_callback(std::forward<Object>(cb)); } - - template <class Object> static devcb_base &set_nmi_handler(device_t &device, Object &&cb) - { return downcast<vtech_memexp_slot_device &>(device).m_nmi_handler.set_callback(std::forward<Object>(cb)); } - - template <class Object> static devcb_base &set_reset_handler(device_t &device, Object &&cb) - { return downcast<vtech_memexp_slot_device &>(device).m_reset_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_int_handler(Object &&cb) { return m_int_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_nmi_handler(Object &&cb) { return m_nmi_handler.set_callback(std::forward<Object>(cb)); } + template <class Object> devcb_base &set_reset_handler(Object &&cb) { return m_reset_handler.set_callback(std::forward<Object>(cb)); } // called from cart device DECLARE_WRITE_LINE_MEMBER( int_w ) { m_int_handler(state); } |