diff options
Diffstat (limited to 'src/devices/cpu/tms9900/tms9995.h')
-rw-r--r-- | src/devices/cpu/tms9900/tms9995.h | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/src/devices/cpu/tms9900/tms9995.h b/src/devices/cpu/tms9900/tms9995.h index 9550cff94e4..e623c1573af 100644 --- a/src/devices/cpu/tms9900/tms9995.h +++ b/src/devices/cpu/tms9900/tms9995.h @@ -28,19 +28,19 @@ enum }; #define MCFG_TMS9995_EXTOP_HANDLER( _extop) \ - devcb = &tms9995_device::static_set_extop_callback( *device, DEVCB_##_extop ); + devcb = &downcast<tms9995_device &>(*device).set_extop_callback(DEVCB_##_extop); #define MCFG_TMS9995_IAQ_HANDLER( _iaq ) \ - devcb = &tms9995_device::static_set_iaq_callback( *device, DEVCB_##_iaq ); + devcb = &downcast<tms9995_device &>(*device).set_iaq_callback(DEVCB_##_iaq); #define MCFG_TMS9995_CLKOUT_HANDLER( _clkout ) \ - devcb = &tms9995_device::static_set_clkout_callback( *device, DEVCB_##_clkout ); + devcb = &downcast<tms9995_device &>(*device).set_clkout_callback(DEVCB_##_clkout); #define MCFG_TMS9995_HOLDA_HANDLER( _holda ) \ - devcb = &tms9995_device::static_set_holda_callback( *device, DEVCB_##_holda ); + devcb = &downcast<tms9995_device &>(*device).set_holda_callback(DEVCB_##_holda); #define MCFG_TMS9995_DBIN_HANDLER( _dbin ) \ - devcb = &tms9995_device::static_set_dbin_callback( *device, DEVCB_##_dbin ); + devcb = &downcast<tms9995_device &>(*device).set_dbin_callback(DEVCB_##_dbin); #define MCFG_TMS9995_ENABLE_OVINT( _ovint ) \ downcast<tms9995_device*>(device)->set_overflow_interrupt( _ovint ); @@ -66,11 +66,11 @@ public: DECLARE_WRITE_LINE_MEMBER( reset_line ); // Callbacks - template<class _Object> static devcb_base &static_set_extop_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_external_operation.set_callback(object); } - template<class _Object> static devcb_base &static_set_iaq_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_iaq_line.set_callback(object); } - template<class _Object> static devcb_base &static_set_clkout_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_clock_out_line.set_callback(object); } - template<class _Object> static devcb_base &static_set_holda_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_holda_line.set_callback(object); } - template<class _Object> static devcb_base &static_set_dbin_callback(device_t &device, _Object object) { return downcast<tms9995_device &>(device).m_dbin_line.set_callback(object); } + template<class Object> devcb_base &set_extop_callback(Object &&cb) { return m_external_operation.set_callback(std::forward<Object>(cb)); } + template<class Object> devcb_base &set_iaq_callback(Object &&cb) { return m_iaq_line.set_callback(std::forward<Object>(cb)); } + template<class Object> devcb_base &set_clkout_callback(Object &&cb) { return m_clock_out_line.set_callback(std::forward<Object>(cb)); } + template<class Object> devcb_base &set_holda_callback(Object &&cb) { return m_holda_line.set_callback(std::forward<Object>(cb)); } + template<class Object> devcb_base &set_dbin_callback(Object &&cb) { return m_dbin_line.set_callback(std::forward<Object>(cb)); } // For debugger access uint8_t debug_read_onchip_memory(offs_t addr) { return m_onchip_memory[addr & 0xff]; }; |