diff options
Diffstat (limited to 'src/devices/cpu/i86/i286.h')
-rw-r--r-- | src/devices/cpu/i86/i286.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/devices/cpu/i86/i286.h b/src/devices/cpu/i86/i286.h index 8136b0128ce..dbf5e245673 100644 --- a/src/devices/cpu/i86/i286.h +++ b/src/devices/cpu/i86/i286.h @@ -72,8 +72,8 @@ public: virtual space_config_vector memory_space_config() const override; typedef delegate<uint32_t (bool)> a20_cb; - static void static_set_a20_callback(device_t &device, a20_cb object) { downcast<i80286_cpu_device &>(device).m_a20_callback = object; } - template <class Object> static devcb_base &static_set_shutdown_callback(device_t &device, Object &&cb) { return downcast<i80286_cpu_device &>(device).m_out_shutdown_func.set_callback(std::forward<Object>(cb)); } + template <typename Object> void set_a20_callback(Object &&cb) { m_a20_callback = std::forward<Object>(cb); } + template <class Object> devcb_base &set_shutdown_callback(Object &&cb) { return m_out_shutdown_func.set_callback(std::forward<Object>(cb)); } protected: virtual void execute_run() override; @@ -162,9 +162,9 @@ private: }; #define MCFG_80286_A20(_class, _a20_cb) \ - i80286_cpu_device::static_set_a20_callback(*device, i80286_cpu_device::a20_cb(&_class::_a20_cb, this)); + downcast<i80286_cpu_device &>(*device).set_a20_callback(i80286_cpu_device::a20_cb(&_class::_a20_cb, this)); #define MCFG_80286_SHUTDOWN(_devcb) \ - devcb = &i80286_cpu_device::static_set_shutdown_callback(*device, DEVCB_##_devcb); + devcb = &downcast<i80286_cpu_device &>(*device).set_shutdown_callback(DEVCB_##_devcb); #endif // MAME_CPU_I86_I286_H |