summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/adc1038.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/emu/machine/adc1038.h')
-rw-r--r--src/emu/machine/adc1038.h36
1 files changed, 20 insertions, 16 deletions
diff --git a/src/emu/machine/adc1038.h b/src/emu/machine/adc1038.h
index 931b323a071..06ab61e3e7a 100644
--- a/src/emu/machine/adc1038.h
+++ b/src/emu/machine/adc1038.h
@@ -21,7 +21,7 @@ typedef int (*adc1038_input_read_func)(device_t *device, int input);
struct adc1038_interface
{
- int gticlub_hack;
+ int m_gticlub_hack;
adc1038_input_read_func input_callback_r;
};
@@ -30,22 +30,35 @@ struct adc1038_interface
MACROS / CONSTANTS
***************************************************************************/
-class adc1038_device : public device_t
+class adc1038_device : public device_t,
+ public adc1038_interface
{
public:
adc1038_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- ~adc1038_device() { global_free(m_token); }
+ ~adc1038_device() {}
+
+ DECLARE_READ_LINE_MEMBER( do_read );
+ DECLARE_READ_LINE_MEMBER( sars_read );
+ DECLARE_WRITE_LINE_MEMBER( di_write );
+ DECLARE_WRITE_LINE_MEMBER( clk_write );
- // access to legacy token
- void *token() const { assert(m_token != NULL); return m_token; }
protected:
// device-level overrides
virtual void device_config_complete();
virtual void device_start();
virtual void device_reset();
-private:
+
+ adc1038_input_read_func m_input_callback_r_func;
+
+ private:
// internal state
- void *m_token;
+ int m_cycle;
+ int m_clk;
+ int m_adr;
+ int m_data_in;
+ int m_data_out;
+ int m_adc_data;
+ int m_sars;
};
extern const device_type ADC1038;
@@ -56,13 +69,4 @@ extern const device_type ADC1038;
MCFG_DEVICE_CONFIG(_config)
-/***************************************************************************
- DEVICE I/O FUNCTIONS
-***************************************************************************/
-
-extern READ_LINE_DEVICE_HANDLER( adc1038_do_read );
-extern READ_LINE_DEVICE_HANDLER( adc1038_sars_read );
-extern WRITE_LINE_DEVICE_HANDLER( adc1038_di_write );
-extern WRITE_LINE_DEVICE_HANDLER( adc1038_clk_write );
-
#endif /* __ADC1038_H__ */