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