diff options
author | Couriersud <couriersud@users.noreply.github.com> | 2009-08-29 19:40:02 +0000 |
---|---|---|
committer | Couriersud <couriersud@users.noreply.github.com> | 2009-08-29 19:40:02 +0000 |
commit | 1955450c39d265ed7a7dbbbdf66a34d540497400 (patch) | |
tree | e9c5d00e2f9173eb8f91d635e91aac26a86d0245 | |
parent | eb801be6cbe2fd7c9ff944e911db3c71d0ffef54 (diff) |
discrete sound system
- use DISCRETE_INPUT(_num) instead of (*(node->input[_num]))
-rw-r--r-- | src/emu/sound/disc_dev.c | 56 | ||||
-rw-r--r-- | src/emu/sound/disc_flt.c | 176 | ||||
-rw-r--r-- | src/emu/sound/disc_inp.c | 26 | ||||
-rw-r--r-- | src/emu/sound/disc_mth.c | 224 | ||||
-rw-r--r-- | src/emu/sound/disc_wav.c | 140 | ||||
-rw-r--r-- | src/emu/sound/discrete.c | 4 | ||||
-rw-r--r-- | src/emu/sound/discrete.h | 6 | ||||
-rw-r--r-- | src/mame/audio/dkong.c | 16 | ||||
-rw-r--r-- | src/mame/audio/mario.c | 14 |
9 files changed, 331 insertions, 331 deletions
diff --git a/src/emu/sound/disc_dev.c b/src/emu/sound/disc_dev.c index 4520ee7b018..ed664e1d9e0 100644 --- a/src/emu/sound/disc_dev.c +++ b/src/emu/sound/disc_dev.c @@ -141,11 +141,11 @@ struct dsd_ls624_context * * Jan 2004, D Renaud. ************************************************************************/ -#define DSD_555_ASTBL__RESET (! *(node->input[0])) -#define DSD_555_ASTBL__R1 (*(node->input[1])) -#define DSD_555_ASTBL__R2 (*(node->input[2])) -#define DSD_555_ASTBL__C (*(node->input[3])) -#define DSD_555_ASTBL__CTRLV (*(node->input[4])) +#define DSD_555_ASTBL__RESET (! DISCRETE_INPUT(0)) +#define DSD_555_ASTBL__R1 DISCRETE_INPUT(1) +#define DSD_555_ASTBL__R2 DISCRETE_INPUT(2) +#define DSD_555_ASTBL__C DISCRETE_INPUT(3) +#define DSD_555_ASTBL__CTRLV DISCRETE_INPUT(4) /* bit mask of the above RC inputs */ #define DSD_555_ASTBL_RC_MASK 0x0e @@ -450,10 +450,10 @@ static DISCRETE_RESET(dsd_555_astbl) * * Oct 2004, D Renaud. ************************************************************************/ -#define DSD_555_MSTBL__RESET (! *(node->input[0])) -#define DSD_555_MSTBL__TRIGGER (*(node->input[1])) -#define DSD_555_MSTBL__R (*(node->input[2])) -#define DSD_555_MSTBL__C (*(node->input[3])) +#define DSD_555_MSTBL__RESET (! DISCRETE_INPUT(0)) +#define DSD_555_MSTBL__TRIGGER DISCRETE_INPUT(1) +#define DSD_555_MSTBL__R DISCRETE_INPUT(2) +#define DSD_555_MSTBL__C DISCRETE_INPUT(3) static DISCRETE_STEP(dsd_555_mstbl) { @@ -590,13 +590,13 @@ static DISCRETE_RESET(dsd_555_mstbl) * * Mar 2004, D Renaud. ************************************************************************/ -#define DSD_555_CC__RESET (! *(node->input[0])) -#define DSD_555_CC__VIN (*(node->input[1])) -#define DSD_555_CC__R (*(node->input[2])) -#define DSD_555_CC__C (*(node->input[3])) -#define DSD_555_CC__RBIAS (*(node->input[4])) -#define DSD_555_CC__RGND (*(node->input[5])) -#define DSD_555_CC__RDIS (*(node->input[6])) +#define DSD_555_CC__RESET (! DISCRETE_INPUT(0)) +#define DSD_555_CC__VIN DISCRETE_INPUT(1) +#define DSD_555_CC__R DISCRETE_INPUT(2) +#define DSD_555_CC__C DISCRETE_INPUT(3) +#define DSD_555_CC__RBIAS DISCRETE_INPUT(4) +#define DSD_555_CC__RGND DISCRETE_INPUT(5) +#define DSD_555_CC__RDIS DISCRETE_INPUT(6) /* bit mask of the above RC inputs not including DSD_555_CC__R */ #define DSD_555_CC_RC_MASK 0x78 @@ -1155,9 +1155,9 @@ static DISCRETE_RESET(dsd_555_cc) * * Apr 2006, D Renaud. ************************************************************************/ -#define DSD_555_VCO1__RESET (*(node->input[0])) /* reset active low */ -#define DSD_555_VCO1__VIN1 (*(node->input[1])) -#define DSD_555_VCO1__VIN2 (*(node->input[2])) +#define DSD_555_VCO1__RESET DISCRETE_INPUT(0) /* reset active low */ +#define DSD_555_VCO1__VIN1 DISCRETE_INPUT(1) +#define DSD_555_VCO1__VIN2 DISCRETE_INPUT(2) static DISCRETE_STEP(dsd_555_vco1) { @@ -1385,10 +1385,10 @@ static DISCRETE_RESET(dsd_555_vco1) * * Mar 2004, D Renaud. ************************************************************************/ -#define DSD_566__ENABLE (*(node->input[0])) -#define DSD_566__VMOD (*(node->input[1])) -#define DSD_566__R (*(node->input[2])) -#define DSD_566__C (*(node->input[3])) +#define DSD_566__ENABLE DISCRETE_INPUT(0) +#define DSD_566__VMOD DISCRETE_INPUT(1) +#define DSD_566__R DISCRETE_INPUT(2) +#define DSD_566__C DISCRETE_INPUT(3) static DISCRETE_STEP(dsd_566) { @@ -1575,11 +1575,11 @@ static DISCRETE_RESET(dsd_566) * * Dec 2007, Couriersud ************************************************************************/ -#define DSD_LS624__ENABLE (*(node->input[0])) -#define DSD_LS624__VMOD (*(node->input[1])) -#define DSD_LS624__VRNG (*(node->input[2])) -#define DSD_LS624__C (*(node->input[3])) -#define DSD_LS624__OUTTYPE (*(node->input[4])) +#define DSD_LS624__ENABLE DISCRETE_INPUT(0) +#define DSD_LS624__VMOD DISCRETE_INPUT(1) +#define DSD_LS624__VRNG DISCRETE_INPUT(2) +#define DSD_LS624__C DISCRETE_INPUT(3) +#define DSD_LS624__OUTTYPE DISCRETE_INPUT(4) /* * The datasheet mentions a 600 ohm discharge. It also gives diff --git a/src/emu/sound/disc_flt.c b/src/emu/sound/disc_flt.c index 8d40dad1b94..3625068b74c 100644 --- a/src/emu/sound/disc_flt.c +++ b/src/emu/sound/disc_flt.c @@ -135,11 +135,11 @@ struct dst_rcintegrate_context * input[4] - Voltage reference. Usually 0V. * ************************************************************************/ -#define DST_CRFILTER__ENABLE (*(node->input[0])) -#define DST_CRFILTER__IN (*(node->input[1])) -#define DST_CRFILTER__R (*(node->input[2])) -#define DST_CRFILTER__C (*(node->input[3])) -#define DST_CRFILTER__VREF (*(node->input[4])) +#define DST_CRFILTER__ENABLE DISCRETE_INPUT(0) +#define DST_CRFILTER__IN DISCRETE_INPUT(1) +#define DST_CRFILTER__R DISCRETE_INPUT(2) +#define DST_CRFILTER__C DISCRETE_INPUT(3) +#define DST_CRFILTER__VREF DISCRETE_INPUT(4) static DISCRETE_STEP(dst_crfilter) { @@ -176,10 +176,10 @@ static DISCRETE_RESET(dst_crfilter) * input[3] - Filter type (initialization only) * ************************************************************************/ -#define DST_FILTER1__ENABLE (*(node->input[0])) -#define DST_FILTER1__IN (*(node->input[1])) -#define DST_FILTER1__FREQ (*(node->input[2])) -#define DST_FILTER1__TYPE (*(node->input[3])) +#define DST_FILTER1__ENABLE DISCRETE_INPUT(0) +#define DST_FILTER1__IN DISCRETE_INPUT(1) +#define DST_FILTER1__FREQ DISCRETE_INPUT(2) +#define DST_FILTER1__TYPE DISCRETE_INPUT(3) static void calculate_filter1_coefficients(const discrete_info *disc_info, double fc, double type, double *a1, double *b0, double *b1) @@ -245,11 +245,11 @@ static DISCRETE_RESET(dst_filter1) * input[4] - Filter type (initialization only) * ************************************************************************/ -#define DST_FILTER2__ENABLE (*(node->input[0])) -#define DST_FILTER2__IN (*(node->input[1])) -#define DST_FILTER2__FREQ (*(node->input[2])) -#define DST_FILTER2__DAMP (*(node->input[3])) -#define DST_FILTER2__TYPE (*(node->input[4])) +#define DST_FILTER2__ENABLE DISCRETE_INPUT(0) +#define DST_FILTER2__IN DISCRETE_INPUT(1) +#define DST_FILTER2__FREQ DISCRETE_INPUT(2) +#define DST_FILTER2__DAMP DISCRETE_INPUT(3) +#define DST_FILTER2__TYPE DISCRETE_INPUT(4) static void calculate_filter2_coefficients(const discrete_info *disc_info, double fc, double d, double type, @@ -338,10 +338,10 @@ static DISCRETE_RESET(dst_filter2) * * Mar 2004, D Renaud. ************************************************************************/ -#define DST_OP_AMP_FILT__ENABLE (*(node->input[0])) -#define DST_OP_AMP_FILT__INP1 (*(node->input[1])) -#define DST_OP_AMP_FILT__INP2 (*(node->input[2])) -#define DST_OP_AMP_FILT__TYPE (*(node->input[3])) +#define DST_OP_AMP_FILT__ENABLE DISCRETE_INPUT(0) +#define DST_OP_AMP_FILT__INP1 DISCRETE_INPUT(1) +#define DST_OP_AMP_FILT__INP2 DISCRETE_INPUT(2) +#define DST_OP_AMP_FILT__TYPE DISCRETE_INPUT(3) static DISCRETE_STEP(dst_op_amp_filt) { @@ -553,10 +553,10 @@ static DISCRETE_RESET(dst_op_amp_filt) * input[3] - Capacitor Value (initialization only) * ************************************************************************/ -#define DST_RCDISC__ENABLE (*(node->input[0])) -#define DST_RCDISC__IN (*(node->input[1])) -#define DST_RCDISC__R (*(node->input[2])) -#define DST_RCDISC__C (*(node->input[3])) +#define DST_RCDISC__ENABLE DISCRETE_INPUT(0) +#define DST_RCDISC__IN DISCRETE_INPUT(1) +#define DST_RCDISC__R DISCRETE_INPUT(2) +#define DST_RCDISC__C DISCRETE_INPUT(3) static DISCRETE_STEP(dst_rcdisc) { @@ -610,12 +610,12 @@ static DISCRETE_RESET(dst_rcdisc) * input[5] - Capacitor Value (initialization only) * ************************************************************************/ -#define DST_RCDISC2__ENABLE (*(node->input[0])) -#define DST_RCDISC2__IN0 (*(node->input[1])) -#define DST_RCDISC2__R0 (*(node->input[2])) -#define DST_RCDISC2__IN1 (*(node->input[3])) -#define DST_RCDISC2__R1 (*(node->input[4])) -#define DST_RCDISC2__C (*(node->input[5])) +#define DST_RCDISC2__ENABLE DISCRETE_INPUT(0) +#define DST_RCDISC2__IN0 DISCRETE_INPUT(1) +#define DST_RCDISC2__R0 DISCRETE_INPUT(2) +#define DST_RCDISC2__IN1 DISCRETE_INPUT(3) +#define DST_RCDISC2__R1 DISCRETE_INPUT(4) +#define DST_RCDISC2__C DISCRETE_INPUT(5) static DISCRETE_STEP(dst_rcdisc2) { @@ -656,12 +656,12 @@ static DISCRETE_RESET(dst_rcdisc2) * input[6] - Diode Junction voltage (initialization only) * ************************************************************************/ -#define DST_RCDISC3__ENABLE (*(node->input[0])) -#define DST_RCDISC3__IN (*(node->input[1])) -#define DST_RCDISC3__R1 (*(node->input[2])) -#define DST_RCDISC3__R2 (*(node->input[3])) -#define DST_RCDISC3__C (*(node->input[4])) -#define DST_RCDISC3__DJV (*(node->input[6])) +#define DST_RCDISC3__ENABLE DISCRETE_INPUT(0) +#define DST_RCDISC3__IN DISCRETE_INPUT(1) +#define DST_RCDISC3__R1 DISCRETE_INPUT(2) +#define DST_RCDISC3__R2 DISCRETE_INPUT(3) +#define DST_RCDISC3__C DISCRETE_INPUT(4) +#define DST_RCDISC3__DJV DISCRETE_INPUT(6) static DISCRETE_STEP(dst_rcdisc3) { @@ -735,14 +735,14 @@ static DISCRETE_RESET(dst_rcdisc3) * input[4] - circuit type (initialization only) * ************************************************************************/ -#define DST_RCDISC4__ENABLE (*(node->input[0])) -#define DST_RCDISC4__IN (*(node->input[1])) -#define DST_RCDISC4__R1 (*(node->input[2])) -#define DST_RCDISC4__R2 (*(node->input[3])) -#define DST_RCDISC4__R3 (*(node->input[4])) -#define DST_RCDISC4__C1 (*(node->input[5])) -#define DST_RCDISC4__VP (*(node->input[6])) -#define DST_RCDISC4__TYPE (*(node->input[7])) +#define DST_RCDISC4__ENABLE DISCRETE_INPUT(0) +#define DST_RCDISC4__IN DISCRETE_INPUT(1) +#define DST_RCDISC4__R1 DISCRETE_INPUT(2) +#define DST_RCDISC4__R2 DISCRETE_INPUT(3) +#define DST_RCDISC4__R3 DISCRETE_INPUT(4) +#define DST_RCDISC4__C1 DISCRETE_INPUT(5) +#define DST_RCDISC4__VP DISCRETE_INPUT(6) +#define DST_RCDISC4__TYPE DISCRETE_INPUT(7) static DISCRETE_STEP(dst_rcdisc4) { @@ -851,10 +851,10 @@ static DISCRETE_RESET( dst_rcdisc4) * input[3] - Capacitor Value (initialization only) * ************************************************************************/ -#define DST_RCDISC5__ENABLE (*(node->input[0])) -#define DST_RCDISC5__IN (*(node->input[1])) -#define DST_RCDISC5__R (*(node->input[2])) -#define DST_RCDISC5__C (*(node->input[3])) +#define DST_RCDISC5__ENABLE DISCRETE_INPUT(0) +#define DST_RCDISC5__IN DISCRETE_INPUT(1) +#define DST_RCDISC5__R DISCRETE_INPUT(2) +#define DST_RCDISC5__C DISCRETE_INPUT(3) static DISCRETE_STEP( dst_rcdisc5) { @@ -915,14 +915,14 @@ static DISCRETE_RESET( dst_rcdisc5) * input[8] - Voltage Value (initialization only) * ************************************************************************/ -#define DST_RCDISC_MOD__IN1 (*(node->input[0])) -#define DST_RCDISC_MOD__IN2 (*(node->input[1])) -#define DST_RCDISC_MOD__R1 (*(node->input[2])) -#define DST_RCDISC_MOD__R2 (*(node->input[3])) -#define DST_RCDISC_MOD__R3 (*(node->input[4])) -#define DST_RCDISC_MOD__R4 (*(node->input[5])) -#define DST_RCDISC_MOD__C (*(node->input[6])) -#define DST_RCDISC_MOD__VP (*(node->input[7])) +#define DST_RCDISC_MOD__IN1 DISCRETE_INPUT(0) +#define DST_RCDISC_MOD__IN2 DISCRETE_INPUT(1) +#define DST_RCDISC_MOD__R1 DISCRETE_INPUT(2) +#define DST_RCDISC_MOD__R2 DISCRETE_INPUT(3) +#define DST_RCDISC_MOD__R3 DISCRETE_INPUT(4) +#define DST_RCDISC_MOD__R4 DISCRETE_INPUT(5) +#define DST_RCDISC_MOD__C DISCRETE_INPUT(6) +#define DST_RCDISC_MOD__VP DISCRETE_INPUT(7) static DISCRETE_STEP(dst_rcdisc_mod) { @@ -1008,11 +1008,11 @@ static DISCRETE_RESET(dst_rcdisc_mod) * input[4] - Voltage reference. Usually 0V. * ************************************************************************/ -#define DST_RCFILTER__ENABLE (*(node->input[0])) -#define DST_RCFILTER__VIN (*(node->input[1])) -#define DST_RCFILTER__R (*(node->input[2])) -#define DST_RCFILTER__C (*(node->input[3])) -#define DST_RCFILTER__VREF (*(node->input[4])) +#define DST_RCFILTER__ENABLE DISCRETE_INPUT(0) +#define DST_RCFILTER__VIN DISCRETE_INPUT(1) +#define DST_RCFILTER__R DISCRETE_INPUT(2) +#define DST_RCFILTER__C DISCRETE_INPUT(3) +#define DST_RCFILTER__VREF DISCRETE_INPUT(4) static DISCRETE_STEP(dst_rcfilter) { @@ -1053,11 +1053,11 @@ static DISCRETE_RESET(dst_rcfilter) * input[4] - Voltage reference. Usually 0V. * ************************************************************************/ -#define DST_RCFILTER_SW__ENABLE (*(node->input[0])) -#define DST_RCFILTER_SW__VIN (*(node->input[1])) -#define DST_RCFILTER_SW__SWITCH (*(node->input[2])) -#define DST_RCFILTER_SW__R (*(node->input[3])) -#define DST_RCFILTER_SW__C(x) (*(node->input[4+x])) +#define DST_RCFILTER_SW__ENABLE DISCRETE_INPUT(0) +#define DST_RCFILTER_SW__VIN DISCRETE_INPUT(1) +#define DST_RCFILTER_SW__SWITCH DISCRETE_INPUT(2) +#define DST_RCFILTER_SW__R DISCRETE_INPUT(3) +#define DST_RCFILTER_SW__C(x) DISCRETE_INPUT(4+x) #define CD4066_ON_RES 270 #define DST_RCFILTER_SW_ITERATIONS (10) @@ -1173,13 +1173,13 @@ static DISCRETE_RESET(dst_rcfilter_sw) * input[5] - Capacitor Value (initialization only) * ************************************************************************/ -#define DST_RCINTEGRATE__IN1 (*(node->input[0])) -#define DST_RCINTEGRATE__R1 (*(node->input[1])) -#define DST_RCINTEGRATE__R2 (*(node->input[2])) -#define DST_RCINTEGRATE__R3 (*(node->input[3])) -#define DST_RCINTEGRATE__C (*(node->input[4])) -#define DST_RCINTEGRATE__VP (*(node->input[5])) -#define DST_RCINTEGRATE__TYPE (*(node->input[6])) +#define DST_RCINTEGRATE__IN1 DISCRETE_INPUT(0) +#define DST_RCINTEGRATE__R1 DISCRETE_INPUT(1) +#define DST_RCINTEGRATE__R2 DISCRETE_INPUT(2) +#define DST_RCINTEGRATE__R3 DISCRETE_INPUT(3) +#define DST_RCINTEGRATE__C DISCRETE_INPUT(4) +#define DST_RCINTEGRATE__VP DISCRETE_INPUT(5) +#define DST_RCINTEGRATE__TYPE DISCRETE_INPUT(6) /* Ebers-Moll large signal model * Couriersud: @@ -1298,9 +1298,9 @@ static DISCRETE_RESET(dst_rcintegrate) * * 2008, couriersud ************************************************************************/ -#define DST_SALLEN_KEY__ENABLE (*(node->input[0])) -#define DST_SALLEN_KEY__INP0 (*(node->input[1])) -#define DST_SALLEN_KEY__TYPE (*(node->input[2])) +#define DST_SALLEN_KEY__ENABLE DISCRETE_INPUT(0) +#define DST_SALLEN_KEY__INP0 DISCRETE_INPUT(1) +#define DST_SALLEN_KEY__TYPE DISCRETE_INPUT(2) static DISCRETE_STEP(dst_sallen_key) { @@ -1359,10 +1359,10 @@ static DISCRETE_RESET(dst_sallen_key) * input[3] - Capacitor Value (initialization only) * ************************************************************************/ -#define DST_RCFILTERN__ENABLE (*(node->input[0])) -#define DST_RCFILTERN__IN (*(node->input[1])) -#define DST_RCFILTERN__R (*(node->input[2])) -#define DST_RCFILTERN__C (*(node->input[3])) +#define DST_RCFILTERN__ENABLE DISCRETE_INPUT(0) +#define DST_RCFILTERN__IN DISCRETE_INPUT(1) +#define DST_RCFILTERN__R DISCRETE_INPUT(2) +#define DST_RCFILTERN__C DISCRETE_INPUT(3) static DISCRETE_RESET(dst_rcfilterN) { @@ -1392,10 +1392,10 @@ static DISCRETE_RESET(dst_rcfilterN) * input[3] - Capacitor Value (initialization only) * ************************************************************************/ -#define DST_RCDISCN__ENABLE (*(node->input[0])) -#define DST_RCDISCN__IN (*(node->input[1])) -#define DST_RCDISCN__R (*(node->input[2])) -#define DST_RCDISCN__C (*(node->input[3])) +#define DST_RCDISCN__ENABLE DISCRETE_INPUT(0) +#define DST_RCDISCN__IN DISCRETE_INPUT(1) +#define DST_RCDISCN__R DISCRETE_INPUT(2) +#define DST_RCDISCN__C DISCRETE_INPUT(3) static DISCRETE_RESET(dst_rcdiscN) { @@ -1449,12 +1449,12 @@ static DISCRETE_STEP(dst_rcdiscN) * input[5] - Capacitor Value (initialization only) * ************************************************************************/ -#define DST_RCDISC2N__ENABLE (*(node->input[0])) -#define DST_RCDISC2N__IN0 (*(node->input[1])) -#define DST_RCDISC2N__R0 (*(node->input[2])) -#define DST_RCDISC2N__IN1 (*(node->input[3])) -#define DST_RCDISC2N__R1 (*(node->input[4])) -#define DST_RCDISC2N__C (*(node->input[5])) +#define DST_RCDISC2N__ENABLE DISCRETE_INPUT(0) +#define DST_RCDISC2N__IN0 DISCRETE_INPUT(1) +#define DST_RCDISC2N__R0 DISCRETE_INPUT(2) +#define DST_RCDISC2N__IN1 DISCRETE_INPUT(3) +#define DST_RCDISC2N__R1 DISCRETE_INPUT(4) +#define DST_RCDISC2N__C DISCRETE_INPUT(5) struct dss_rcdisc2_context { diff --git a/src/emu/sound/disc_inp.c b/src/emu/sound/disc_inp.c index 8258d6b3fd4..af7d028d27d 100644 --- a/src/emu/sound/disc_inp.c +++ b/src/emu/sound/disc_inp.c @@ -16,9 +16,9 @@ ************************************************************************/ -#define DSS_INPUT__GAIN (*(node->input[0])) -#define DSS_INPUT__OFFSET (*(node->input[1])) -#define DSS_INPUT__INIT (*(node->input[2])) +#define DSS_INPUT__GAIN DISCRETE_INPUT(0) +#define DSS_INPUT__OFFSET DISCRETE_INPUT(1) +#define DSS_INPUT__INIT DISCRETE_INPUT(2) struct dss_adjustment_context @@ -134,12 +134,12 @@ WRITE8_DEVICE_HANDLER(discrete_sound_w) * input[6] - * ************************************************************************/ -#define DSS_ADJUSTMENT__MIN (*(node->input[0])) -#define DSS_ADJUSTMENT__MAX (*(node->input[1])) -#define DSS_ADJUSTMENT__LOG (*(node->input[2])) -#define DSS_ADJUSTMENT__PORT (*(node->input[3])) -#define DSS_ADJUSTMENT__PMIN (*(node->input[4])) -#define DSS_ADJUSTMENT__PMAX (*(node->input[5])) +#define DSS_ADJUSTMENT__MIN DISCRETE_INPUT(0) +#define DSS_ADJUSTMENT__MAX DISCRETE_INPUT(1) +#define DSS_ADJUSTMENT__LOG DISCRETE_INPUT(2) +#define DSS_ADJUSTMENT__PORT DISCRETE_INPUT(3) +#define DSS_ADJUSTMENT__PMIN DISCRETE_INPUT(4) +#define DSS_ADJUSTMENT__PMAX DISCRETE_INPUT(5) static DISCRETE_STEP(dss_adjustment) { @@ -208,7 +208,7 @@ static DISCRETE_RESET(dss_adjustment) * input[0] - Constant value * ************************************************************************/ -#define DSS_CONSTANT__INIT (*(node->input[0])) +#define DSS_CONSTANT__INIT DISCRETE_INPUT(0) static DISCRETE_RESET(dss_constant) { @@ -272,9 +272,9 @@ static DISCRETE_STEP(dss_input_pulse) * input[2] - Offset value * ************************************************************************/ -#define DSS_INPUT_STREAM__STREAM (*(node->input[0])) -#define DSS_INPUT_STREAM__GAIN (*(node->input[1])) -#define DSS_INPUT_STREAM__OFFSET (*(node->input[2])) +#define DSS_INPUT_STREAM__STREAM DISCRETE_INPUT(0) +#define DSS_INPUT_STREAM__GAIN DISCRETE_INPUT(1) +#define DSS_INPUT_STREAM__OFFSET DISCRETE_INPUT(2) static DISCRETE_STEP(dss_input_stream) { diff --git a/src/emu/sound/disc_mth.c b/src/emu/sound/disc_mth.c index 09bd83518a3..24098d107a5 100644 --- a/src/emu/sound/disc_mth.c +++ b/src/emu/sound/disc_mth.c @@ -180,11 +180,11 @@ struct dst_tvca_op_amp_context * input[4] - Channel3 input value * ************************************************************************/ -#define DST_ADDER__ENABLE (*(node->input[0])) -#define DST_ADDER__IN0 (*(node->input[1])) -#define DST_ADDER__IN1 (*(node->input[2])) -#define DST_ADDER__IN2 (*(node->input[3])) -#define DST_ADDER__IN3 (*(node->input[4])) +#define DST_ADDER__ENABLE DISCRETE_INPUT(0) +#define DST_ADDER__IN0 DISCRETE_INPUT(1) +#define DST_ADDER__IN1 DISCRETE_INPUT(2) +#define DST_ADDER__IN2 DISCRETE_INPUT(3) +#define DST_ADDER__IN3 DISCRETE_INPUT(4) static DISCRETE_STEP(dst_adder) { @@ -209,7 +209,7 @@ static DISCRETE_STEP(dst_adder) * * Mar 2004, D Renaud. ************************************************************************/ -#define DST_COMP_ADDER__SELECT (*(node->input[0])) +#define DST_COMP_ADDER__SELECT DISCRETE_INPUT(0) static DISCRETE_STEP(dst_comp_adder) { @@ -267,11 +267,11 @@ static DISCRETE_RESET(dst_comp_adder) * input[4] - Clamp output when disabled * ************************************************************************/ -#define DST_CLAMP__ENABLE (*(node->input[0])) -#define DST_CLAMP__IN (*(node->input[1])) -#define DST_CLAMP__MIN (*(node->input[2])) -#define DST_CLAMP__MAX (*(node->input[3])) -#define DST_CLAMP__CLAMP (*(node->input[4])) +#define DST_CLAMP__ENABLE DISCRETE_INPUT(0) +#define DST_CLAMP__IN DISCRETE_INPUT(1) +#define DST_CLAMP__MIN DISCRETE_INPUT(2) +#define DST_CLAMP__MAX DISCRETE_INPUT(3) +#define DST_CLAMP__CLAMP DISCRETE_INPUT(4) static DISCRETE_STEP(dst_clamp) { @@ -300,9 +300,9 @@ static DISCRETE_STEP(dst_clamp) * * Mar 2004, D Renaud. ************************************************************************/ -#define DST_DAC_R1__ENABLE (*(node->input[0])) -#define DST_DAC_R1__DATA (*(node->input[1])) -#define DST_DAC_R1__VON (*(node->input[2])) +#define DST_DAC_R1__ENABLE DISCRETE_INPUT(0) +#define DST_DAC_R1__DATA DISCRETE_INPUT(1) +#define DST_DAC_R1__VON DISCRETE_INPUT(2) static DISCRETE_STEP(dst_dac_r1) { @@ -426,7 +426,7 @@ static DISCRETE_RESET(dst_dac_r1) * Dec 2004, D Renaud. ************************************************************************/ #define DST_DIODE_MIX_INP_OFFSET 0 -#define DST_DIODE_MIX__INP(addr) (*(node->input[DST_DIODE_MIX_INP_OFFSET + addr])) +#define DST_DIODE_MIX__INP(addr) DISCRETE_INPUT(DST_DIODE_MIX_INP_OFFSET + addr) static DISCRETE_STEP(dst_diode_mix) { @@ -480,9 +480,9 @@ static DISCRETE_RESET(dst_diode_mix) * input[2] - Divisor * ************************************************************************/ -#define DST_DIVIDE__ENABLE (*(node->input[0])) -#define DST_DIVIDE__IN (*(node->input[1])) -#define DST_DIVIDE__DIV (*(node->input[2])) +#define DST_DIVIDE__ENABLE DISCRETE_INPUT(0) +#define DST_DIVIDE__IN DISCRETE_INPUT(1) +#define DST_DIVIDE__DIV DISCRETE_INPUT(2) static DISCRETE_STEP(dst_divide) { @@ -515,10 +515,10 @@ static DISCRETE_STEP(dst_divide) * input[3] - Final addition offset * ************************************************************************/ -#define DST_GAIN__ENABLE (*(node->input[0])) -#define DST_GAIN__IN (*(node->input[1])) -#define DST_GAIN__GAIN (*(node->input[2])) -#define DST_GAIN__OFFSET (*(node->input[3])) +#define DST_GAIN__ENABLE DISCRETE_INPUT(0) +#define DST_GAIN__IN DISCRETE_INPUT(1) +#define DST_GAIN__GAIN DISCRETE_INPUT(2) +#define DST_GAIN__OFFSET DISCRETE_INPUT(3) static DISCRETE_STEP(dst_gain) { @@ -545,8 +545,8 @@ static DISCRETE_STEP(dst_gain) * * Mar 2004, D Renaud. ************************************************************************/ -#define DST_INTEGRATE__TRG0 (*(node->input[0])) -#define DST_INTEGRATE__TRG1 (*(node->input[1])) +#define DST_INTEGRATE__TRG0 DISCRETE_INPUT(0) +#define DST_INTEGRATE__TRG1 DISCRETE_INPUT(1) static int dst_trigger_function(int trig0, int trig1, int trig2, int function) { @@ -660,8 +660,8 @@ static DISCRETE_RESET(dst_integrate) * input[1] - input[0] value * ************************************************************************/ -#define DST_LOGIC_INV__ENABLE (*(node->input[0])) -#define DST_LOGIC_INV__IN (*(node->input[1])) +#define DST_LOGIC_INV__ENABLE DISCRETE_INPUT(0) +#define DST_LOGIC_INV__IN DISCRETE_INPUT(1) static DISCRETE_STEP(dst_logic_inv) { @@ -684,10 +684,10 @@ static DISCRETE_STEP(dst_logic_inv) * input[2] - To bit * ************************************************************************/ -#define DST_BITS_DECODE__IN (*(node->input[0])) -#define DST_BITS_DECODE__FROM (*(node->input[1])) -#define DST_BITS_DECODE__TO (*(node->input[2])) -#define DST_BITS_DECODE__VOUT (*(node->input[3])) +#define DST_BITS_DECODE__IN DISCRETE_INPUT(0) +#define DST_BITS_DECODE__FROM DISCRETE_INPUT(1) +#define DST_BITS_DECODE__TO DISCRETE_INPUT(2) +#define DST_BITS_DECODE__VOUT DISCRETE_INPUT(3) static DISCRETE_STEP(dst_bits_decode) { @@ -724,11 +724,11 @@ static DISCRETE_RESET(dst_bits_decode) * input[4] - input[3] value * ************************************************************************/ -#define DST_LOGIC_AND__ENABLE (*(node->input[0])) -#define DST_LOGIC_AND__IN0 (*(node->input[1])) -#define DST_LOGIC_AND__IN1 (*(node->input[2])) -#define DST_LOGIC_AND__IN2 (*(node->input[3])) -#define DST_LOGIC_AND__IN3 (*(node->input[4])) +#define DST_LOGIC_AND__ENABLE DISCRETE_INPUT(0) +#define DST_LOGIC_AND__IN0 DISCRETE_INPUT(1) +#define DST_LOGIC_AND__IN1 DISCRETE_INPUT(2) +#define DST_LOGIC_AND__IN2 DISCRETE_INPUT(3) +#define DST_LOGIC_AND__IN3 DISCRETE_INPUT(4) static DISCRETE_STEP(dst_logic_and) { @@ -753,11 +753,11 @@ static DISCRETE_STEP(dst_logic_and) * input[4] - input[3] value * ************************************************************************/ -#define DST_LOGIC_NAND__ENABLE (*(node->input[0])) -#define DST_LOGIC_NAND__IN0 (*(node->input[1])) -#define DST_LOGIC_NAND__IN1 (*(node->input[2])) -#define DST_LOGIC_NAND__IN2 (*(node->input[3])) -#define DST_LOGIC_NAND__IN3 (*(node->input[4])) +#define DST_LOGIC_NAND__ENABLE DISCRETE_INPUT(0) +#define DST_LOGIC_NAND__IN0 DISCRETE_INPUT(1) +#define DST_LOGIC_NAND__IN1 DISCRETE_INPUT(2) +#define DST_LOGIC_NAND__IN2 DISCRETE_INPUT(3) +#define DST_LOGIC_NAND__IN3 DISCRETE_INPUT(4) static DISCRETE_STEP(dst_logic_nand) { @@ -782,11 +782,11 @@ static DISCRETE_STEP(dst_logic_nand) * input[4] - input[3] value * ************************************************************************/ -#define DST_LOGIC_OR__ENABLE (*(node->input[0])) -#define DST_LOGIC_OR__IN0 (*(node->input[1])) -#define DST_LOGIC_OR__IN1 (*(node->input[2])) -#define DST_LOGIC_OR__IN2 (*(node->input[3])) -#define DST_LOGIC_OR__IN3 (*(node->input[4])) +#define DST_LOGIC_OR__ENABLE DISCRETE_INPUT(0) +#define DST_LOGIC_OR__IN0 DISCRETE_INPUT(1) +#define DST_LOGIC_OR__IN1 DISCRETE_INPUT(2) +#define DST_LOGIC_OR__IN2 DISCRETE_INPUT(3) +#define DST_LOGIC_OR__IN3 DISCRETE_INPUT(4) static DISCRETE_STEP(dst_logic_or) { @@ -811,11 +811,11 @@ static DISCRETE_STEP(dst_logic_or) * input[4] - input[3] value * ************************************************************************/ -#define DST_LOGIC_NOR__ENABLE (*(node->input[0])) -#define DST_LOGIC_NOR__IN0 (*(node->input[1])) -#define DST_LOGIC_NOR__IN1 (*(node->input[2])) -#define DST_LOGIC_NOR__IN2 (*(node->input[3])) -#define DST_LOGIC_NOR__IN3 (*(node->input[4])) +#define DST_LOGIC_NOR__ENABLE DISCRETE_INPUT(0) +#define DST_LOGIC_NOR__IN0 DISCRETE_INPUT(1) +#define DST_LOGIC_NOR__IN1 DISCRETE_INPUT(2) +#define DST_LOGIC_NOR__IN2 DISCRETE_INPUT(3) +#define DST_LOGIC_NOR__IN3 DISCRETE_INPUT(4) static DISCRETE_STEP(dst_logic_nor) { @@ -838,9 +838,9 @@ static DISCRETE_STEP(dst_logic_nor) * input[2] - input[1] value * ************************************************************************/ -#define DST_LOGIC_XOR__ENABLE (*(node->input[0])) -#define DST_LOGIC_XOR__IN0 (*(node->input[1])) -#define DST_LOGIC_XOR__IN1 (*(node->input[2])) +#define DST_LOGIC_XOR__ENABLE DISCRETE_INPUT(0) +#define DST_LOGIC_XOR__IN0 DISCRETE_INPUT(1) +#define DST_LOGIC_XOR__IN1 DISCRETE_INPUT(2) static DISCRETE_STEP(dst_logic_xor) { @@ -863,9 +863,9 @@ static DISCRETE_STEP(dst_logic_xor) * input[2] - input[1] value * ************************************************************************/ -#define DST_LOGIC_XNOR__ENABLE (*(node->input[0])) -#define DST_LOGIC_XNOR__IN0 (*(node->input[1])) -#define DST_LOGIC_XNOR__IN1 (*(node->input[2])) +#define DST_LOGIC_XNOR__ENABLE DISCRETE_INPUT(0) +#define DST_LOGIC_XNOR__IN0 DISCRETE_INPUT(1) +#define DST_LOGIC_XNOR__IN1 DISCRETE_INPUT(2) static DISCRETE_STEP(dst_logic_nxor) { @@ -891,11 +891,11 @@ static DISCRETE_STEP(dst_logic_nxor) * input[4] - data * ************************************************************************/ -#define DST_LOGIC_DFF__ENABLE (*(node->input[0])) -#define DST_LOGIC_DFF__RESET !(*(node->input[1])) -#define DST_LOGIC_DFF__SET !(*(node->input[2])) -#define DST_LOGIC_DFF__CLOCK (*(node->input[3])) -#define DST_LOGIC_DFF__DATA (*(node->input[4])) +#define DST_LOGIC_DFF__ENABLE DISCRETE_INPUT(0) +#define DST_LOGIC_DFF__RESET !DISCRETE_INPUT(1) +#define DST_LOGIC_DFF__SET !DISCRETE_INPUT(2) +#define DST_LOGIC_DFF__CLOCK DISCRETE_INPUT(3) +#define DST_LOGIC_DFF__DATA DISCRETE_INPUT(4) static DISCRETE_STEP(dst_logic_dff) { @@ -940,12 +940,12 @@ static DISCRETE_RESET(dst_logic_ff) * input[5] - K * ************************************************************************/ -#define DST_LOGIC_JKFF__ENABLE (*(node->input[0])) -#define DST_LOGIC_JKFF__RESET !(*(node->input[1])) -#define DST_LOGIC_JKFF__SET !(*(node->input[2])) -#define DST_LOGIC_JKFF__CLOCK (*(node->input[3])) -#define DST_LOGIC_JKFF__J (*(node->input[4])) -#define DST_LOGIC_JKFF__K (*(node->input[5])) +#define DST_LOGIC_JKFF__ENABLE DISCRETE_INPUT(0) +#define DST_LOGIC_JKFF__RESET !DISCRETE_INPUT(1) +#define DST_LOGIC_JKFF__SET !DISCRETE_INPUT(2) +#define DST_LOGIC_JKFF__CLOCK DISCRETE_INPUT(3) +#define DST_LOGIC_JKFF__J DISCRETE_INPUT(4) +#define DST_LOGIC_JKFF__K DISCRETE_INPUT(5) static DISCRETE_STEP(dst_logic_jkff) { @@ -1001,9 +1001,9 @@ static DISCRETE_STEP(dst_logic_jkff) * * Feb 2007, D Renaud. ************************************************************************/ -#define DST_LOOKUP_TABLE__ENABLE (*(node->input[0])) -#define DST_LOOKUP_TABLE__IN (*(node->input[1])) -#define DST_LOOKUP_TABLE__SIZE (*(node->input[2])) +#define DST_LOOKUP_TABLE__ENABLE DISCRETE_INPUT(0) +#define DST_LOOKUP_TABLE__IN DISCRETE_INPUT(1) +#define DST_LOOKUP_TABLE__SIZE DISCRETE_INPUT(2) static DISCRETE_STEP(dst_lookup_table) { @@ -1068,8 +1068,8 @@ static DISCRETE_STEP(dst_lookup_table) * The voltage is then modified by an inverting amp formula. * v = vRef + (rF/rI) * (vRef - (i * r)) */ -#define DST_MIXER__ENABLE (*(node->input[0])) -#define DST_MIXER__IN(bit) (*(node->input[bit + 1])) +#define DST_MIXER__ENABLE DISCRETE_INPUT(0) +#define DST_MIXER__IN(bit) DISCRETE_INPUT(bit + 1) static DISCRETE_STEP(dst_mixer) { @@ -1334,9 +1334,9 @@ static DISCRETE_RESET(dst_mixer) * * Dec 2004, D Renaud. ************************************************************************/ -#define DST_MULTIPLEX__ENABLE (*(node->input[0])) -#define DST_MULTIPLEX__ADDR (*(node->input[1])) -#define DST_MULTIPLEX__INP(addr) (*(node->input[2 + addr])) +#define DST_MULTIPLEX__ENABLE DISCRETE_INPUT(0) +#define DST_MULTIPLEX__ADDR DISCRETE_INPUT(1) +#define DST_MULTIPLEX__INP(addr) DISCRETE_INPUT(2 + addr) static DISCRETE_STEP(dst_multiplex) { @@ -1385,11 +1385,11 @@ static DISCRETE_RESET(dst_multiplex) * * Complete re-write Jan 2004, D Renaud. ************************************************************************/ -#define DST_ONESHOT__RESET (*(node->input[0])) -#define DST_ONESHOT__TRIG (*(node->input[1])) -#define DST_ONESHOT__AMP (*(node->input[2])) -#define DST_ONESHOT__WIDTH (*(node->input[3])) -#define DST_ONESHOT__TYPE (int)(*(node->input[4])) +#define DST_ONESHOT__RESET DISCRETE_INPUT(0) +#define DST_ONESHOT__TRIG DISCRETE_INPUT(1) +#define DST_ONESHOT__AMP DISCRETE_INPUT(2) +#define DST_ONESHOT__WIDTH DISCRETE_INPUT(3) +#define DST_ONESHOT__TYPE (int)DISCRETE_INPUT(4) static DISCRETE_STEP(dst_oneshot) { @@ -1475,12 +1475,12 @@ static DISCRETE_RESET(dst_oneshot) * input[5] - Clamp value when disabled * ************************************************************************/ -#define DST_RAMP__ENABLE (*(node->input[0])) -#define DST_RAMP__DIR (*(node->input[1])) -#define DST_RAMP__GRAD (*(node->input[2])) -#define DST_RAMP__START (*(node->input[3])) -#define DST_RAMP__END (*(node->input[4])) -#define DST_RAMP__CLAMP (*(node->input[5])) +#define DST_RAMP__ENABLE DISCRETE_INPUT(0) +#define DST_RAMP__DIR DISCRETE_INPUT(1) +#define DST_RAMP__GRAD DISCRETE_INPUT(2) +#define DST_RAMP__START DISCRETE_INPUT(3) +#define DST_RAMP__END DISCRETE_INPUT(4) +#define DST_RAMP__CLAMP DISCRETE_INPUT(5) static DISCRETE_STEP(dst_ramp) { @@ -1530,10 +1530,10 @@ static DISCRETE_RESET(dst_ramp) * input[3] - clock type * ************************************************************************/ -#define DST_SAMPHOLD__ENABLE (*(node->input[0])) -#define DST_SAMPHOLD__IN0 (*(node->input[1])) -#define DST_SAMPHOLD__CLOCK (*(node->input[2])) -#define DST_SAMPHOLD__TYPE (*(node->input[3])) +#define DST_SAMPHOLD__ENABLE DISCRETE_INPUT(0) +#define DST_SAMPHOLD__IN0 DISCRETE_INPUT(1) +#define DST_SAMPHOLD__CLOCK DISCRETE_INPUT(2) +#define DST_SAMPHOLD__TYPE DISCRETE_INPUT(3) static DISCRETE_STEP(dst_samphold) { @@ -1594,10 +1594,10 @@ static DISCRETE_RESET(dst_samphold) * input[3] - input[1] * ************************************************************************/ -#define DSS_SWITCH__ENABLE (*(node->input[0])) -#define DSS_SWITCH__SWITCH (*(node->input[1])) -#define DSS_SWITCH__IN0 (*(node->input[2])) -#define DSS_SWITCH__IN1 (*(node->input[3])) +#define DSS_SWITCH__ENABLE DISCRETE_INPUT(0) +#define DSS_SWITCH__SWITCH DISCRETE_INPUT(1) +#define DSS_SWITCH__IN0 DISCRETE_INPUT(2) +#define DSS_SWITCH__IN1 DISCRETE_INPUT(3) static DISCRETE_STEP(dst_switch) { @@ -1621,10 +1621,10 @@ static DISCRETE_STEP(dst_switch) * input[3] - Threshold for enable * ************************************************************************/ -#define DSS_ASWITCH__ENABLE (*(node->input[0])) -#define DSS_ASWITCH__CTRL (*(node->input[1])) -#define DSS_ASWITCH__IN (*(node->input[2])) -#define DSS_ASWITCH__THRESHOLD (*(node->input[3])) +#define DSS_ASWITCH__ENABLE DISCRETE_INPUT(0) +#define DSS_ASWITCH__CTRL DISCRETE_INPUT(1) +#define DSS_ASWITCH__IN DISCRETE_INPUT(2) +#define DSS_ASWITCH__THRESHOLD DISCRETE_INPUT(3) static DISCRETE_STEP(dst_aswitch) @@ -1651,11 +1651,11 @@ static DISCRETE_STEP(dst_aswitch) * input[5] - Channel4 input value * ************************************************************************/ -#define DST_TRANSFORM__IN0 (*(node->input[0])) -#define DST_TRANSFORM__IN1 (*(node->input[1])) -#define DST_TRANSFORM__IN2 (*(node->input[2])) -#define DST_TRANSFORM__IN3 (*(node->input[3])) -#define DST_TRANSFORM__IN4 (*(node->input[4])) +#define DST_TRANSFORM__IN0 DISCRETE_INPUT(0) +#define DST_TRANSFORM__IN1 DISCRETE_INPUT(1) +#define DST_TRANSFORM__IN2 DISCRETE_INPUT(2) +#define DST_TRANSFORM__IN3 DISCRETE_INPUT(3) +#define DST_TRANSFORM__IN4 DISCRETE_INPUT(4) #define MAX_TRANS_STACK 16 @@ -1783,9 +1783,9 @@ static DISCRETE_STEP(dst_transform) * * Mar 2007, D Renaud. ************************************************************************/ -#define DST_OP_AMP__ENABLE (*(node->input[0])) -#define DST_OP_AMP__INP0 (*(node->input[1])) -#define DST_OP_AMP__INP1 (*(node->input[2])) +#define DST_OP_AMP__ENABLE DISCRETE_INPUT(0) +#define DST_OP_AMP__INP0 DISCRETE_INPUT(1) +#define DST_OP_AMP__INP1 DISCRETE_INPUT(2) static DISCRETE_STEP(dst_op_amp) { @@ -1889,7 +1889,7 @@ static DISCRETE_RESET(dst_op_amp) * * Mar 2007, D Renaud. ************************************************************************/ -#define DST_OP_AMP_1SHT__TRIGGER (*(node->input[0])) +#define DST_OP_AMP_1SHT__TRIGGER DISCRETE_INPUT(0) static DISCRETE_STEP(dst_op_amp_1sht) { @@ -1960,11 +1960,11 @@ static DISCRETE_RESET(dst_op_amp_1sht) * * Mar 2004, D Renaud. ************************************************************************/ -#define DST_TVCA_OP_AMP__TRG0 (*(node->input[0])) -#define DST_TVCA_OP_AMP__TRG1 (*(node->input[1])) -#define DST_TVCA_OP_AMP__TRG2 (*(node->input[2])) -#define DST_TVCA_OP_AMP__INP0 (*(node->input[3])) -#define DST_TVCA_OP_AMP__INP1 (*(node->input[4])) +#define DST_TVCA_OP_AMP__TRG0 DISCRETE_INPUT(0) +#define DST_TVCA_OP_AMP__TRG1 DISCRETE_INPUT(1) +#define DST_TVCA_OP_AMP__TRG2 DISCRETE_INPUT(2) +#define DST_TVCA_OP_AMP__INP0 DISCRETE_INPUT(3) +#define DST_TVCA_OP_AMP__INP1 DISCRETE_INPUT(4) static DISCRETE_STEP(dst_tvca_op_amp) { diff --git a/src/emu/sound/disc_wav.c b/src/emu/sound/disc_wav.c index 33d698fc94d..fc88ccc8f7a 100644 --- a/src/emu/sound/disc_wav.c +++ b/src/emu/sound/disc_wav.c @@ -170,13 +170,13 @@ struct dss_trianglewave_context * * Jan 2004, D Renaud. ************************************************************************/ -#define DSS_COUNTER__ENABLE (*(node->input[0])) -#define DSS_COUNTER__RESET (*(node->input[1])) -#define DSS_COUNTER__CLOCK (*(node->input[2])) -#define DSS_COUNTER__MAX (*(node->input[3])) -#define DSS_COUNTER__DIR (*(node->input[4])) -#define DSS_COUNTER__INIT (*(node->input[5])) -#define DSS_COUNTER__CLOCK_TYPE (*(node->input[6])) +#define DSS_COUNTER__ENABLE DISCRETE_INPUT(0) +#define DSS_COUNTER__RESET DISCRETE_INPUT(1) +#define DSS_COUNTER__CLOCK DISCRETE_INPUT(2) +#define DSS_COUNTER__MAX DISCRETE_INPUT(3) +#define DSS_COUNTER__DIR DISCRETE_INPUT(4) +#define DSS_COUNTER__INIT DISCRETE_INPUT(5) +#define DSS_COUNTER__CLOCK_TYPE DISCRETE_INPUT(6) #define DSS_7492__CLOCK_TYPE DSS_COUNTER__MAX static const int disc_7492_count[6] = {0x00, 0x01, 0x02, 0x04, 0x05, 0x06}; @@ -318,12 +318,12 @@ static DISCRETE_RESET(dss_counter) * also passed dss_lfsr_context structure * ************************************************************************/ -#define DSS_LFSR_NOISE__ENABLE (*(node->input[0])) -#define DSS_LFSR_NOISE__RESET (*(node->input[1])) -#define DSS_LFSR_NOISE__CLOCK (*(node->input[2])) -#define DSS_LFSR_NOISE__AMP (*(node->input[3])) -#define DSS_LFSR_NOISE__FEED (*(node->input[4])) -#define DSS_LFSR_NOISE__BIAS (*(node->input[5])) +#define DSS_LFSR_NOISE__ENABLE DISCRETE_INPUT(0) +#define DSS_LFSR_NOISE__RESET DISCRETE_INPUT(1) +#define DSS_LFSR_NOISE__CLOCK DISCRETE_INPUT(2) +#define DSS_LFSR_NOISE__AMP DISCRETE_INPUT(3) +#define DSS_LFSR_NOISE__FEED DISCRETE_INPUT(4) +#define DSS_LFSR_NOISE__BIAS DISCRETE_INPUT(5) INLINE int dss_lfsr_function(const discrete_info *disc_info, int myfunc, int in0, int in1, int bitmask) { @@ -539,10 +539,10 @@ static DISCRETE_RESET(dss_lfsr) * input3 - DC Bias value * ************************************************************************/ -#define DSS_NOISE__ENABLE (*(node->input[0])) -#define DSS_NOISE__FREQ (*(node->input[1])) -#define DSS_NOISE__AMP (*(node->input[2])) -#define DSS_NOISE__BIAS (*(node->input[3])) +#define DSS_NOISE__ENABLE DISCRETE_INPUT(0) +#define DSS_NOISE__FREQ DISCRETE_INPUT(1) +#define DSS_NOISE__AMP DISCRETE_INPUT(2) +#define DSS_NOISE__BIAS DISCRETE_INPUT(3) static DISCRETE_STEP(dss_noise) { @@ -603,12 +603,12 @@ static DISCRETE_RESET(dss_noise) * * Mar 2004, D Renaud. ************************************************************************/ - #define DSS_NOTE__ENABLE (*(node->input[0])) - #define DSS_NOTE__CLOCK (*(node->input[1])) - #define DSS_NOTE__DATA (*(node->input[2])) - #define DSS_NOTE__MAX1 (*(node->input[3])) - #define DSS_NOTE__MAX2 (*(node->input[4])) - #define DSS_NOTE__CLOCK_TYPE (*(node->input[5])) + #define DSS_NOTE__ENABLE DISCRETE_INPUT(0) + #define DSS_NOTE__CLOCK DISCRETE_INPUT(1) + #define DSS_NOTE__DATA DISCRETE_INPUT(2) + #define DSS_NOTE__MAX1 DISCRETE_INPUT(3) + #define DSS_NOTE__MAX2 DISCRETE_INPUT(4) + #define DSS_NOTE__CLOCK_TYPE DISCRETE_INPUT(5) static DISCRETE_STEP(dss_note) { @@ -730,9 +730,9 @@ static DISCRETE_RESET(dss_note) * * Mar 2004, D Renaud. ************************************************************************/ -#define DSS_OP_AMP_OSC__ENABLE (*(node->input[0])) -#define DSS_OP_AMP_OSC__VMOD1 (*(node->input[1])) -#define DSS_OP_AMP_OSC__VMOD2 (*(node->input[2])) +#define DSS_OP_AMP_OSC__ENABLE DISCRETE_INPUT(0) +#define DSS_OP_AMP_OSC__VMOD1 DISCRETE_INPUT(1) +#define DSS_OP_AMP_OSC__VMOD2 DISCRETE_INPUT(2) /* The inputs on a norton op-amp are (info->vP - OP_AMP_NORTON_VBE) */ /* which is the same as the output high voltage. We will define them */ @@ -1048,12 +1048,12 @@ static DISCRETE_RESET(dss_op_amp_osc) * input5 - Initial Phase * ************************************************************************/ -#define DSS_SAWTOOTHWAVE__ENABLE (*(node->input[0])) -#define DSS_SAWTOOTHWAVE__FREQ (*(node->input[1])) -#define DSS_SAWTOOTHWAVE__AMP (*(node->input[2])) -#define DSS_SAWTOOTHWAVE__BIAS (*(node->input[3])) -#define DSS_SAWTOOTHWAVE__GRAD (*(node->input[4])) -#define DSS_SAWTOOTHWAVE__PHASE (*(node->input[5])) +#define DSS_SAWTOOTHWAVE__ENABLE DISCRETE_INPUT(0) +#define DSS_SAWTOOTHWAVE__FREQ DISCRETE_INPUT(1) +#define DSS_SAWTOOTHWAVE__AMP DISCRETE_INPUT(2) +#define DSS_SAWTOOTHWAVE__BIAS DISCRETE_INPUT(3) +#define DSS_SAWTOOTHWAVE__GRAD DISCRETE_INPUT(4) +#define DSS_SAWTOOTHWAVE__PHASE DISCRETE_INPUT(5) static DISCRETE_STEP(dss_sawtoothwave) { @@ -1111,9 +1111,9 @@ static DISCRETE_RESET(dss_sawtoothwave) * * Mar 2004, D Renaud. ************************************************************************/ -#define DSS_SCHMITT_OSC__ENABLE (int)(*(node->input[0])) -#define DSS_SCHMITT_OSC__VIN (*(node->input[1])) -#define DSS_SCHMITT_OSC__AMP (*(node->input[2])) +#define DSS_SCHMITT_OSC__ENABLE (int)DISCRETE_INPUT(0) +#define DSS_SCHMITT_OSC__VIN DISCRETE_INPUT(1) +#define DSS_SCHMITT_OSC__AMP DISCRETE_INPUT(2) static DISCRETE_STEP(dss_schmitt_osc) { @@ -1228,11 +1228,11 @@ static DISCRETE_RESET(dss_schmitt_osc) * input4 - Starting phase * ************************************************************************/ -#define DSS_SINEWAVE__ENABLE (*(node->input[0])) -#define DSS_SINEWAVE__FREQ (*(node->input[1])) -#define DSS_SINEWAVE__AMPL (*(node->input[2])) -#define DSS_SINEWAVE__BIAS (*(node->input[3])) -#define DSS_SINEWAVE__PHASE (*(node->input[4])) +#define DSS_SINEWAVE__ENABLE DISCRETE_INPUT(0) +#define DSS_SINEWAVE__FREQ DISCRETE_INPUT(1) +#define DSS_SINEWAVE__AMPL DISCRETE_INPUT(2) +#define DSS_SINEWAVE__BIAS DISCRETE_INPUT(3) +#define DSS_SINEWAVE__PHASE DISCRETE_INPUT(4) static DISCRETE_STEP(dss_sinewave) { @@ -1286,12 +1286,12 @@ static DISCRETE_RESET(dss_sinewave) * input5 - Start Phase * ************************************************************************/ -#define DSS_SQUAREWAVE__ENABLE (*(node->input[0])) -#define DSS_SQUAREWAVE__FREQ (*(node->input[1])) -#define DSS_SQUAREWAVE__AMP (*(node->input[2])) -#define DSS_SQUAREWAVE__DUTY (*(node->input[3])) -#define DSS_SQUAREWAVE__BIAS (*(node->input[4])) -#define DSS_SQUAREWAVE__PHASE (*(node->input[5])) +#define DSS_SQUAREWAVE__ENABLE DISCRETE_INPUT(0) +#define DSS_SQUAREWAVE__FREQ DISCRETE_INPUT(1) +#define DSS_SQUAREWAVE__AMP DISCRETE_INPUT(2) +#define DSS_SQUAREWAVE__DUTY DISCRETE_INPUT(3) +#define DSS_SQUAREWAVE__BIAS DISCRETE_INPUT(4) +#define DSS_SQUAREWAVE__PHASE DISCRETE_INPUT(5) static DISCRETE_STEP(dss_squarewave) { @@ -1352,12 +1352,12 @@ static DISCRETE_RESET(dss_squarewave) * input5 - Start Phase * ************************************************************************/ -#define DSS_SQUAREWFIX__ENABLE (*(node->input[0])) -#define DSS_SQUAREWFIX__FREQ (*(node->input[1])) -#define DSS_SQUAREWFIX__AMP (*(node->input[2])) -#define DSS_SQUAREWFIX__DUTY (*(node->input[3])) -#define DSS_SQUAREWFIX__BIAS (*(node->input[4])) -#define DSS_SQUAREWFIX__PHASE (*(node->input[5])) +#define DSS_SQUAREWFIX__ENABLE DISCRETE_INPUT(0) +#define DSS_SQUAREWFIX__FREQ DISCRETE_INPUT(1) +#define DSS_SQUAREWFIX__AMP DISCRETE_INPUT(2) +#define DSS_SQUAREWFIX__DUTY DISCRETE_INPUT(3) +#define DSS_SQUAREWFIX__BIAS DISCRETE_INPUT(4) +#define DSS_SQUAREWFIX__PHASE DISCRETE_INPUT(5) static DISCRETE_STEP(dss_squarewfix) { @@ -1430,12 +1430,12 @@ static DISCRETE_RESET(dss_squarewfix) * input5 - Initial Time Shift * ************************************************************************/ -#define DSS_SQUAREWAVE2__ENABLE (*(node->input[0])) -#define DSS_SQUAREWAVE2__AMP (*(node->input[1])) -#define DSS_SQUAREWAVE2__T_OFF (*(node->input[2])) -#define DSS_SQUAREWAVE2__T_ON (*(node->input[3])) -#define DSS_SQUAREWAVE2__BIAS (*(node->input[4])) -#define DSS_SQUAREWAVE2__SHIFT (*(node->input[5])) +#define DSS_SQUAREWAVE2__ENABLE DISCRETE_INPUT(0) +#define DSS_SQUAREWAVE2__AMP DISCRETE_INPUT(1) +#define DSS_SQUAREWAVE2__T_OFF DISCRETE_INPUT(2) +#define DSS_SQUAREWAVE2__T_ON DISCRETE_INPUT(3) +#define DSS_SQUAREWAVE2__BIAS DISCRETE_INPUT(4) +#define DSS_SQUAREWAVE2__SHIFT DISCRETE_INPUT(5) static DISCRETE_STEP(dss_squarewave2) { @@ -1501,12 +1501,12 @@ static DISCRETE_RESET(dss_squarewave2) * input4 - Desc * ************************************************************************/ -#define DSS_INVERTER_OSC__ENABLE (*(node->input[0])) -#define DSS_INVERTER_OSC__MOD (*(node->input[1])) -#define DSS_INVERTER_OSC__RC (*(node->input[2])) -#define DSS_INVERTER_OSC__RP (*(node->input[3])) -#define DSS_INVERTER_OSC__C (*(node->input[4])) -#define DSS_INVERTER_OSC__R2 (*(node->input[5])) +#define DSS_INVERTER_OSC__ENABLE DISCRETE_INPUT(0) +#define DSS_INVERTER_OSC__MOD DISCRETE_INPUT(1) +#define DSS_INVERTER_OSC__RC DISCRETE_INPUT(2) +#define DSS_INVERTER_OSC__RP DISCRETE_INPUT(3) +#define DSS_INVERTER_OSC__C DISCRETE_INPUT(4) +#define DSS_INVERTER_OSC__R2 DISCRETE_INPUT(5) INLINE double dss_inverter_tftab(node_description *node, double x) { @@ -1678,11 +1678,11 @@ static DISCRETE_RESET(dss_inverter_osc) * input4 - Initial Phase * ************************************************************************/ -#define DSS_TRIANGLEWAVE__ENABLE (*(node->input[0])) -#define DSS_TRIANGLEWAVE__FREQ (*(node->input[1])) -#define DSS_TRIANGLEWAVE__AMP (*(node->input[2])) -#define DSS_TRIANGLEWAVE__BIAS (*(node->input[3])) -#define DSS_TRIANGLEWAVE__PHASE (*(node->input[4])) +#define DSS_TRIANGLEWAVE__ENABLE DISCRETE_INPUT(0) +#define DSS_TRIANGLEWAVE__FREQ DISCRETE_INPUT(1) +#define DSS_TRIANGLEWAVE__AMP DISCRETE_INPUT(2) +#define DSS_TRIANGLEWAVE__BIAS DISCRETE_INPUT(3) +#define DSS_TRIANGLEWAVE__PHASE DISCRETE_INPUT(4) static DISCRETE_STEP(dss_trianglewave) { @@ -1735,7 +1735,7 @@ static DISCRETE_RESET(dss_trianglewave) * input2 - gain scaling factor * ************************************************************************/ -#define DSS_ADSR__ENABLE (*(node->input[0])) +#define DSS_ADSR__ENABLE DISCRETE_INPUT(0) static DISCRETE_STEP(dss_adsrenv) { diff --git a/src/emu/sound/discrete.c b/src/emu/sound/discrete.c index c7e35012339..360c469c308 100644 --- a/src/emu/sound/discrete.c +++ b/src/emu/sound/discrete.c @@ -144,7 +144,7 @@ static void *task_callback(void *param, int threadid) static DISCRETE_STEP( dso_task ) { discrete_task_context *ctx = (discrete_task_context *) node->context; - *(ctx->ptr++) = (double) *(node->input[0]); + *(ctx->ptr++) = (double) DISCRETE_INPUT(0); } static DISCRETE_RESET( dso_task ) @@ -159,7 +159,7 @@ static DISCRETE_STEP( dso_output ) /* Add gain to the output and put into the buffers */ /* Clipping will be handled by the main sound system */ - val = (*node->input[0]) * (*node->input[1]); + val = DISCRETE_INPUT(0) * DISCRETE_INPUT(1); **output = val; (*output)++; } diff --git a/src/emu/sound/discrete.h b/src/emu/sound/discrete.h index 4c208bd3842..73246b643fa 100644 --- a/src/emu/sound/discrete.h +++ b/src/emu/sound/discrete.h @@ -3367,6 +3367,8 @@ #define DISCRETE_CUSTOM_MODULE(_basename, _context_type) \ { DST_CUSTOM, "CUSTOM", 1, sizeof(_context_type), DISCRETE_RESET_NAME(_basename), DISCRETE_STEP_NAME(_basename) } +#define DISCRETE_INPUT(_num) (*(node->input[_num])) + /************************************* * * Core constants @@ -4085,6 +4087,7 @@ enum { #define NODE_START NODE_00 #define NODE_END NODE_SPECIAL +#define IS_VALUE_A_NODE(val) (((val) > NODE_START) && ((val) <= NODE_END)) /************************************* @@ -4415,9 +4418,6 @@ enum #define DISCRETE_OUTPUT(OPNODE,GAIN) { NODE_SPECIAL, DSO_OUTPUT , 2, { OPNODE,NODE_NC }, { 0,GAIN }, NULL, "DISCRETE_OUTPUT" }, - -#define IS_VALUE_A_NODE(val) (((val) > NODE_START) && ((val) <= NODE_END)) - /************************************* * * Interface to the external world diff --git a/src/mame/audio/dkong.c b/src/mame/audio/dkong.c index 576e6e6325a..7ca85899e37 100644 --- a/src/mame/audio/dkong.c +++ b/src/mame/audio/dkong.c @@ -284,14 +284,14 @@ static const discrete_op_amp_filt_info dkong_sallen_key_info = * Gnd Gnd * ************************************************************************/ -#define DKONG_CUSTOM_IN1 (*(node->input[0])) -#define DKONG_CUSTOM_IN2 (*(node->input[1])) -#define DKONG_CUSTOM_R1 (*(node->input[2])) -#define DKONG_CUSTOM_R2 (*(node->input[3])) -#define DKONG_CUSTOM_R3 (*(node->input[4])) -#define DKONG_CUSTOM_R4 (*(node->input[5])) -#define DKONG_CUSTOM_C (*(node->input[6])) -#define DKONG_CUSTOM_V (*(node->input[7])) +#define DKONG_CUSTOM_IN1 DISCRETE_INPUT(0) +#define DKONG_CUSTOM_IN2 DISCRETE_INPUT(1) +#define DKONG_CUSTOM_R1 DISCRETE_INPUT(2) +#define DKONG_CUSTOM_R2 DISCRETE_INPUT(3) +#define DKONG_CUSTOM_R3 DISCRETE_INPUT(4) +#define DKONG_CUSTOM_R4 DISCRETE_INPUT(5) +#define DKONG_CUSTOM_C DISCRETE_INPUT(6) +#define DKONG_CUSTOM_V DISCRETE_INPUT(7) struct dkong_custom_mixer_context { diff --git a/src/mame/audio/mario.c b/src/mame/audio/mario.c index 247c7dc1559..575d6d35db1 100644 --- a/src/mame/audio/mario.c +++ b/src/mame/audio/mario.c @@ -169,13 +169,13 @@ * -||- * C2 ************************************************************************/ -#define MARIO_CUSTOM_VOUT (*(node->input[0])) -#define MARIO_CUSTOM_IN1 (*(node->input[1])) -#define MARIO_CUSTOM_IN2 (*(node->input[2])) -#define MARIO_CUSTOM_C1 (*(node->input[3])) -#define MARIO_CUSTOM_C2 (*(node->input[4])) -#define MARIO_CUSTOM_R1 (*(node->input[5])) -#define MARIO_CUSTOM_C3 (*(node->input[6])) +#define MARIO_CUSTOM_VOUT DISCRETE_INPUT(0) +#define MARIO_CUSTOM_IN1 DISCRETE_INPUT(1) +#define MARIO_CUSTOM_IN2 DISCRETE_INPUT(2) +#define MARIO_CUSTOM_C1 DISCRETE_INPUT(3) +#define MARIO_CUSTOM_C2 DISCRETE_INPUT(4) +#define MARIO_CUSTOM_R1 DISCRETE_INPUT(5) +#define MARIO_CUSTOM_C3 DISCRETE_INPUT(6) struct mario_custom_run_context { |