diff options
Diffstat (limited to 'src/devices/machine/msm6253.h')
-rw-r--r-- | src/devices/machine/msm6253.h | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/src/devices/machine/msm6253.h b/src/devices/machine/msm6253.h index bfb5920ef16..8830c7dc969 100644 --- a/src/devices/machine/msm6253.h +++ b/src/devices/machine/msm6253.h @@ -39,15 +39,7 @@ public: // configuration template <unsigned P> void set_input_tag(const char *tag) { m_analog_ports[P].set_tag(tag); } - template <unsigned P> void set_input_cb(port_read_delegate callback) { m_analog_input_cb[P] = callback; } - template <unsigned P, class FunctionClass> void set_input_cb(const char *devname, ioport_value (FunctionClass::*callback)(), const char *name) - { - set_input_cb<P>(port_read_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr))); - } - template <unsigned P, class FunctionClass> void set_input_cb(ioport_value (FunctionClass::*callback)(), const char *name) - { - set_input_cb<P>(port_read_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr))); - } + template <unsigned P, typename... T> void set_input_cb(T &&... args) { m_analog_input_cb[P].set(std::forward<T>(args)...); } // write handlers WRITE8_MEMBER(address_w); @@ -68,7 +60,7 @@ private: // input configuration optional_ioport_array<4> m_analog_ports; - port_read_delegate m_analog_input_cb[4]; + port_read_delegate::array<4> m_analog_input_cb; // private data u8 m_shift_register; |