diff --git a/src/emu/machine/adc083x.c b/src/emu/machine/adc083x.c index 2f379335e71..fdd3ccc07fd 100644 --- a/src/emu/machine/adc083x.c +++ b/src/emu/machine/adc083x.c @@ -52,7 +52,6 @@ struct _adc0831_state { adc083x_input_convert_func input_callback_r; - int type; INT32 cs; INT32 clk; INT32 di; @@ -111,7 +110,7 @@ WRITE8_DEVICE_HANDLER( adc083x_cs_write ) if (adc083x->cs == 0 && data != 0) { adc083x->state = STATE_IDLE; - if (adc083x->type == TYPE_ADC0834 || adc083x->type == TYPE_ADC0838) + if (device->type == ADC0834 || device->type == ADC0838) { adc083x->sars = 1; } @@ -119,7 +118,7 @@ WRITE8_DEVICE_HANDLER( adc083x_cs_write ) } if (adc083x->cs != 0 && data == 0) { - if (adc083x->type == TYPE_ADC0831) + if (device->type == ADC0831) { adc083x->state = STATE_MUX_SETTLE; } @@ -128,7 +127,7 @@ WRITE8_DEVICE_HANDLER( adc083x_cs_write ) adc083x->state = STATE_WAIT_FOR_START; } - if (adc083x->type == TYPE_ADC0834 || adc083x->type == TYPE_ADC0838) + if (device->type == ADC0834 || device->type == ADC0838) { adc083x->sars = 1; } @@ -153,13 +152,14 @@ static UINT8 adc083x_conversion( const device_config *device ) double vref = adc083x->input_callback_r(device, ADC083X_VREF); double gnd = adc083x->input_callback_r(device, ADC083X_VREF); - switch (adc083x->type) + if (device->type == ADC0831) { - case TYPE_ADC0831: positive_channel = ADC083X_CH0; negative_channel = ADC083X_CH1; - break; - case TYPE_ADC0832: + } + + else if (device->type == ADC0832) + { positive_channel = ADC083X_CH0 + adc083x->odd; if (adc083x->sgl == 0) { @@ -169,8 +169,9 @@ static UINT8 adc083x_conversion( const device_config *device ) { negative_channel = ADC083X_AGND; } - break; - case TYPE_ADC0834: + } + else if (device->type == ADC0834) + { positive_channel = ADC083X_CH0 + adc083x->odd + (adc083x->sel1 * 2); if (adc083x->sgl == 0) { @@ -180,8 +181,9 @@ static UINT8 adc083x_conversion( const device_config *device ) { negative_channel = ADC083X_AGND; } - break; - case TYPE_ADC0838: + } + else if (device->type == ADC0838) + { positive_channel = ADC083X_CH0 + adc083x->odd + (adc083x->sel0 * 2) + (adc083x->sel1 * 4); if (adc083x->sgl == 0) { @@ -191,7 +193,6 @@ static UINT8 adc083x_conversion( const device_config *device ) { negative_channel = ADC083X_COM; } - break; } if (positive_channel != ADC083X_AGND) @@ -293,7 +294,7 @@ WRITE8_DEVICE_HANDLER( adc083x_clk_write ) break; case STATE_WAIT_FOR_SE: adc083x->sars = 0; - if (adc083x->type == TYPE_ADC0838 && adc083x->se != 0) + if (device->type == ADC0838 && adc083x->se != 0) { verboselog(device->machine, 1, "adc083x %s not se\n", device->tag); } @@ -315,7 +316,7 @@ WRITE8_DEVICE_HANDLER( adc083x_clk_write ) adc083x->output = adc083x_conversion(device); adc083x->state = STATE_OUTPUT_MSB_FIRST; adc083x->bit = 7; - if (adc083x->type == TYPE_ADC0834 || adc083x->type == TYPE_ADC0838) + if (device->type == ADC0834 || device->type == ADC0838) { adc083x->sars = 1; } @@ -327,7 +328,7 @@ WRITE8_DEVICE_HANDLER( adc083x_clk_write ) adc083x->bit--; if (adc083x->bit < 0) { - if (adc083x->type == TYPE_ADC0831) + if (device->type == ADC0831) { adc083x->state = STATE_FINISHED; } @@ -418,29 +419,30 @@ READ8_DEVICE_HANDLER( adc083x_do_read ) DEVICE_START( adc083x ) -------------------------------------------------*/ -static void adc083x_common_start( const device_config *device ) +static DEVICE_START( adc0831 ) { adc0831_state *adc083x = get_safe_token(device); const adc0831_interface *intf = get_interface(device); - switch (adc083x->type) + if (device->type == ADC0831) + { + adc083x->sars = 1; + adc083x->mux_bits = 0; + } + else if (device->type == ADC0832) { - case TYPE_ADC0831: - adc083x->sars = 1; - adc083x->mux_bits = 0; - break; - case TYPE_ADC0832: adc083x->sars = 1; adc083x->mux_bits = 2; - break; - case TYPE_ADC0834: + } + else if (device->type == ADC0834) + { adc083x->sars = 0; adc083x->mux_bits = 3; - break; - case TYPE_ADC0838: + } + else if (device->type == ADC0838) + { adc083x->sars = 0; adc083x->mux_bits = 4; - break; } /* resolve callbacks */ @@ -463,37 +465,6 @@ static void adc083x_common_start( const device_config *device ) state_save_register_device_item(device, 0, adc083x->mux_bits); } -static DEVICE_START( adc0831 ) -{ - adc0831_state *adc083x = get_safe_token(device); - - adc083x->type = TYPE_ADC0831; - adc083x_common_start(device); -} - -static DEVICE_START( adc0832 ) -{ - adc0831_state *adc083x = get_safe_token(device); - - adc083x->type = TYPE_ADC0832; - adc083x_common_start(device); -} - -static DEVICE_START( adc0834 ) -{ - adc0831_state *adc083x = get_safe_token(device); - - adc083x->type = TYPE_ADC0834; - adc083x_common_start(device); -} - -static DEVICE_START( adc0838 ) -{ - adc0831_state *adc083x = get_safe_token(device); - - adc083x->type = TYPE_ADC0838; - adc083x_common_start(device); -} /*------------------------------------------------- DEVICE_RESET( adc083x ) @@ -531,16 +502,16 @@ static const char *DEVTEMPLATE_SOURCE = __FILE__; #include "devtempl.h" #define DEVTEMPLATE_DERIVED_ID(p,s) p##adc0832##s -#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START +#define DEVTEMPLATE_DERIVED_FEATURES 0 #define DEVTEMPLATE_DERIVED_NAME "A/D Converters 0832" #include "devtempl.h" #define DEVTEMPLATE_DERIVED_ID(p,s) p##adc0834##s -#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START +#define DEVTEMPLATE_DERIVED_FEATURES 0 #define DEVTEMPLATE_DERIVED_NAME "A/D Converters 0834" #include "devtempl.h" #define DEVTEMPLATE_DERIVED_ID(p,s) p##adc0838##s -#define DEVTEMPLATE_DERIVED_FEATURES DT_HAS_START +#define DEVTEMPLATE_DERIVED_FEATURES 0 #define DEVTEMPLATE_DERIVED_NAME "A/D Converters 0838" #include "devtempl.h" diff --git a/src/emu/machine/adc083x.h b/src/emu/machine/adc083x.h index 3a6bb4229c3..7ce6db6ce2d 100644 --- a/src/emu/machine/adc083x.h +++ b/src/emu/machine/adc083x.h @@ -15,15 +15,6 @@ CONSTANTS ***************************************************************************/ -/* enumeration specifying which model we are emulating */ -enum -{ - TYPE_ADC0831, - TYPE_ADC0832, - TYPE_ADC0834, - TYPE_ADC0838 -}; - #define ADC083X_CH0 0 #define ADC083X_CH1 1 #define ADC083X_CH2 2 diff --git a/src/emu/machine/adc1213x.c b/src/emu/machine/adc1213x.c index abec809f643..f16262b2d07 100644 --- a/src/emu/machine/adc1213x.c +++ b/src/emu/machine/adc1213x.c @@ -25,7 +25,6 @@ struct _adc12138_state { adc1213x_input_convert_func input_callback_r; - int type; int cycle; int data_out; int data_in; @@ -312,7 +311,7 @@ READ8_DEVICE_HANDLER( adc1213x_eoc_r ) DEVICE_START( adc1213x ) -------------------------------------------------*/ -static void adc1213x_common_start( const device_config *device ) +static DEVICE_START( adc12138 ) { adc12138_state *adc1213x = get_safe_token(device); const adc12138_interface *intf = get_interface(device); @@ -335,13 +334,6 @@ static void adc1213x_common_start( const device_config *device ) state_save_register_device_item(device, 0, adc1213x->end_conv); } -static DEVICE_START( adc12138 ) -{ - adc12138_state *adc1213x = get_safe_token(device); - - adc1213x->type = TYPE_ADC12138; - adc1213x_common_start(device); -} /*------------------------------------------------- DEVICE_RESET( adc1213x ) diff --git a/src/emu/machine/adc1213x.h b/src/emu/machine/adc1213x.h index 9286b8a0dc6..51527395869 100644 --- a/src/emu/machine/adc1213x.h +++ b/src/emu/machine/adc1213x.h @@ -12,18 +12,6 @@ #include "devcb.h" -/*************************************************************************** - CONSTANTS -***************************************************************************/ - -/* enumeration specifying which model we are emulating */ -enum -{ - TYPE_ADC12130, - TYPE_ADC12132, - TYPE_ADC12138 -}; - /*************************************************************************** MACROS / CONSTANTS ***************************************************************************/