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