diff options
Diffstat (limited to 'src/devices/machine/adc083x.h')
-rw-r--r-- | src/devices/machine/adc083x.h | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/src/devices/machine/adc083x.h b/src/devices/machine/adc083x.h index 202c0ba94f5..db8ad681471 100644 --- a/src/devices/machine/adc083x.h +++ b/src/devices/machine/adc083x.h @@ -40,28 +40,20 @@ public: typedef device_delegate<double (uint8_t input)> input_delegate; // configuration helpers - void set_input_callback(input_delegate callback) { m_input_callback = callback; } - template <class FunctionClass> void set_input_callback(const char *devname, double (FunctionClass::*callback)(uint8_t), const char *name) - { - set_input_callback(input_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr))); - } - template <class FunctionClass> void set_input_callback(double (FunctionClass::*callback)(uint8_t), const char *name) - { - set_input_callback(input_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr))); - } - - DECLARE_WRITE_LINE_MEMBER( cs_write ); - DECLARE_WRITE_LINE_MEMBER( clk_write ); - DECLARE_WRITE_LINE_MEMBER( di_write ); - DECLARE_WRITE_LINE_MEMBER( se_write ); - DECLARE_READ_LINE_MEMBER( sars_read ); - DECLARE_READ_LINE_MEMBER( do_read ); + template <typename... T> void set_input_callback(T &&... args) { m_input_callback.set(std::forward<T>(args)...); } + + void cs_write(int state); + void clk_write(int state); + void di_write(int state); + void se_write(int state); + int sars_read(); + int do_read(); protected: adc083x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t mux_bits); // device-level overrides - virtual void device_start() override; + virtual void device_start() override ATTR_COLD; const int32_t m_mux_bits; |