diff options
Diffstat (limited to 'src/devices/machine/adc083x.cpp')
-rw-r--r-- | src/devices/machine/adc083x.cpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/src/devices/machine/adc083x.cpp b/src/devices/machine/adc083x.cpp index 26323a1d146..8759cabe095 100644 --- a/src/devices/machine/adc083x.cpp +++ b/src/devices/machine/adc083x.cpp @@ -11,6 +11,8 @@ #include "emu.h" #include "adc083x.h" +#include <cstdarg> + #define VERBOSE_LEVEL ( 0 ) static inline void ATTR_PRINTF( 3, 4 ) verboselog( int n_level, device_t &device, const char *s_fmt, ... ) @@ -51,8 +53,8 @@ DEFINE_DEVICE_TYPE(ADC0832, adc0832_device, "adc0832", "ADC0832 A/D Converter") DEFINE_DEVICE_TYPE(ADC0834, adc0834_device, "adc0834", "ADC0834 A/D Converter") DEFINE_DEVICE_TYPE(ADC0838, adc0838_device, "adc0838", "ADC0838 A/D Converter") -adc083x_device::adc083x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t mux_bits) - : device_t(mconfig, type, tag, owner, clock), +adc083x_device::adc083x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock, uint32_t mux_bits) : + device_t(mconfig, type, tag, owner, clock), m_mux_bits(mux_bits), m_cs(0), m_clk(0), @@ -65,7 +67,8 @@ adc083x_device::adc083x_device(const machine_config &mconfig, device_type type, m_sel0(0), m_state(STATE_IDLE), m_bit(0), - m_output(0) + m_output(0), + m_input_callback(*this) { } @@ -97,10 +100,10 @@ void adc083x_device::device_start() { clear_sars(); - /* resolve callbacks */ - m_input_callback.bind_relative_to(*owner()); + // resolve callbacks + m_input_callback.resolve(); - /* register for state saving */ + // register for state saving save_item( NAME(m_cs) ); save_item( NAME(m_clk) ); save_item( NAME(m_di) ); @@ -136,7 +139,7 @@ void adc083x_device::clear_sars() adc083x_device::cs_write -------------------------------------------------*/ -WRITE_LINE_MEMBER( adc083x_device::cs_write ) +void adc083x_device::cs_write(int state) { if( m_cs != state ) { @@ -251,7 +254,7 @@ uint8_t adc083x_device::conversion() adc083x_device::clk_write -------------------------------------------------*/ -WRITE_LINE_MEMBER( adc083x_device::clk_write ) +void adc083x_device::clk_write(int state) { if( m_clk != state ) { @@ -399,7 +402,7 @@ WRITE_LINE_MEMBER( adc083x_device::clk_write ) adc083x_device::di_write -------------------------------------------------*/ -WRITE_LINE_MEMBER( adc083x_device::di_write ) +void adc083x_device::di_write(int state) { if( m_di != state ) { @@ -413,7 +416,7 @@ WRITE_LINE_MEMBER( adc083x_device::di_write ) adc083x_device::se_write -------------------------------------------------*/ -WRITE_LINE_MEMBER( adc083x_device::se_write ) +void adc083x_device::se_write(int state) { if( m_se != state ) { @@ -427,7 +430,7 @@ WRITE_LINE_MEMBER( adc083x_device::se_write ) adc083x_device::sars_read -------------------------------------------------*/ -READ_LINE_MEMBER( adc083x_device::sars_read ) +int adc083x_device::sars_read() { verboselog( 1, *this, "adc083x_sars_read( %s ) %d\n", tag(), m_sars ); return m_sars; @@ -437,7 +440,7 @@ READ_LINE_MEMBER( adc083x_device::sars_read ) adc083x_device::do_read -------------------------------------------------*/ -READ_LINE_MEMBER( adc083x_device::do_read ) +int adc083x_device::do_read() { verboselog( 1, *this, "adc083x_do_read( %s ) %d\n", tag(), m_do ); return m_do; |