diff options
Diffstat (limited to 'src/devices/machine/msm6253.h')
-rw-r--r-- | src/devices/machine/msm6253.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/devices/machine/msm6253.h b/src/devices/machine/msm6253.h index 4f617b29a4e..25a17585221 100644 --- a/src/devices/machine/msm6253.h +++ b/src/devices/machine/msm6253.h @@ -72,6 +72,15 @@ public: // configuration template <unsigned P> void set_input_tag(const char *tag) { m_analog_ports[P].set_tag(tag); } template <unsigned P, typename... T> void set_input_cb(T &&... args) { m_analog_input_cb[P] = port_read_delegate(std::forward<T>(args)...); } + 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))); + } // write handlers WRITE8_MEMBER(address_w); |