diff options
Diffstat (limited to 'src/emu/sound/discrete.h')
-rw-r--r-- | src/emu/sound/discrete.h | 59 |
1 files changed, 31 insertions, 28 deletions
diff --git a/src/emu/sound/discrete.h b/src/emu/sound/discrete.h index 6403a01e223..cd863c74f9c 100644 --- a/src/emu/sound/discrete.h +++ b/src/emu/sound/discrete.h @@ -285,8 +285,8 @@ * DISCRETE_FILTER1(NODE,ENAB,INP0,FREQ,TYPE) * DISCRETE_FILTER2(NODE,ENAB,INP0,FREQ,DAMP,TYPE) * - * DISCRETE_CRFILTER(NODE,ENAB,IN0,RVAL,CVAL) - * DISCRETE_CRFILTER_VREF(NODE,ENAB,IN0,RVAL,CVAL,VREF) + * DISCRETE_CRFILTER(NODE,IN0,RVAL,CVAL) + * DISCRETE_CRFILTER_VREF(NODE,IN0,RVAL,CVAL,VREF) * DISCRETE_OP_AMP_FILTER(NODE,ENAB,INP0,INP1,TYPE,INFO) * DISCRETE_RCDISC(NODE,ENAB,IN0,RVAL,CVAL) * DISCRETE_RCDISC2(NODE,SWITCH,INP0,RVAL0,INP1,RVAL1,CVAL) @@ -295,8 +295,8 @@ * DISCRETE_RCDISC5(NODE,ENAB,IN0,RVAL,CVAL) * DISCRETE_RCINTEGRATE(NODE,INP0,RVAL0,RVAL1,RVAL2,CVAL,vP,TYPE) * DISCRETE_RCDISC_MODULATED(NODE,INP0,INP1,RVAL0,RVAL1,RVAL2,RVAL3,CVAL,VP) - * DISCRETE_RCFILTER(NODE,ENAB,IN0,RVAL,CVAL) - * DISCRETE_RCFILTER_VREF(NODE,ENAB,IN0,RVAL,CVAL,VREF) + * DISCRETE_RCFILTER(NODE,IN0,RVAL,CVAL) + * DISCRETE_RCFILTER_VREF(NODE,IN0,RVAL,CVAL,VREF) * * DISCRETE_555_ASTABLE(NODE,RESET,R1,R2,C,OPTIONS) * DISCRETE_555_ASTABLE_CV(NODE,RESET,R1,R2,C,CTRLV,OPTIONS) @@ -2223,36 +2223,34 @@ * * .------------. * | | - * ENAB -0------}| CR FILTER | + * | CR FILTER | * | | - * INPUT1 -1------}| --| |-+-- | + * INPUT1 -0------}| --| |-+-- | * | C | |----} Netlist node - * RVAL -2------}| Z | + * RVAL -1------}| Z | * | Z R | - * CVAL -3------}| | | + * CVAL -2------}| | | * | vRef | * '------------' * * Declaration syntax * * DISCRETE_CRFILTER(name of node, - * enable * input node (or value) - * resistor value in OHMS - * capacitor value in FARADS) + * resistor node or static value in OHMS + * capacitor node or static value in FARADS) * * DISCRETE_CRFILTER_VREF(name of node, - * enable * input node (or value) * resistor value in OHMS * capacitor value in FARADS, - * vRef static value) + * vRef node or static value) * * Example config line * - * DISCRETE_CRFILTER(NODE_11,1,NODE_10,100,CAP_U(1)) + * DISCRETE_CRFILTER(NODE_11,NODE_10,100,CAP_U(1)) * - * Defines an always enabled CR filter with a 100R & 1uF network + * Defines a CR filter with a 100R & 1uF network * the input is fed from NODE_10. * * This can be also thought of as a high pass filter with a 3dB cutoff @@ -2478,33 +2476,38 @@ *********************************************************************** * * DISCRETE_RCDISC - Simple single pole RC discharge network + * DISCRETE_RCFILTER_VREF - Same but refrenced to vRef not 0V * * .------------. * | | - * ENAB -0------>| RC | + * | RC | * | | - * INPUT1 -1------>| -ZZZZ-+-- | + * INPUT1 -0------>| -ZZZZ-+-- | * | R | |----> Netlist node - * RVAL -2------>| --- | + * RVAL -1------>| --- | * | ---C | - * CVAL -3------>| | | - * | | + * CVAL -2------>| | | + * | vref | * '------------' * * Declaration syntax * * DISCRETE_RCFILTER(name of node, - * enable, * input node (or value), * resistor value in OHMS, * capacitor value in FARADS) * + * DISCRETE_RCFILTER_VREF(name of node, + * input node (or value) + * resistor value in OHMS + * capacitor value in FARADS, + * vRef node or static value) + * * Example config line * - * DISCRETE_RCDISC(NODE_11,NODE_10,10,100,CAP_U(1)) + * DISCRETE_RCDISC(NODE_11,10,100,CAP_U(1)) * - * When enabled by NODE_10, C discharges from 10v as indicated by RC - * of 100R & 1uF. + * C discharges from 10v as indicated by RC of 100R & 1uF. * *********************************************************************** * @@ -4437,8 +4440,8 @@ enum #define DISCRETE_FILTER2(NODE,ENAB,INP0,FREQ,DAMP,TYPE) { NODE, DST_FILTER2 , 5, { ENAB,INP0,NODE_NC,NODE_NC,NODE_NC }, { ENAB,INP0,FREQ,DAMP,TYPE }, NULL, "DISCRETE_FILTER2" }, /* Component specific */ #define DISCRETE_SALLEN_KEY_FILTER(NODE,ENAB,INP0,TYPE,INFO) { NODE, DST_SALLEN_KEY , 3, { ENAB,INP0,NODE_NC }, { ENAB,INP0,TYPE }, INFO, "DISCRETE_SALLEN_KEY_FILTER" }, -#define DISCRETE_CRFILTER(NODE,INP0,RVAL,CVAL) { NODE, DST_CRFILTER , 4, { INP0,NODE_NC,NODE_NC }, { INP0,RVAL,CVAL }, NULL, "DISCRETE_CRFILTER" }, -#define DISCRETE_CRFILTER_VREF(NODE,INP0,RVAL,CVAL,VREF) { NODE, DST_CRFILTER , 5, { INP0,NODE_NC,NODE_NC,NODE_NC }, { INP0,RVAL,CVAL,VREF }, NULL, "DISCRETE_CRFILTER_VREF" }, +#define DISCRETE_CRFILTER(NODE,INP0,RVAL,CVAL) { NODE, DST_CRFILTER , 4, { INP0,RVAL,CVAL }, { INP0,RVAL,CVAL }, NULL, "DISCRETE_CRFILTER" }, +#define DISCRETE_CRFILTER_VREF(NODE,INP0,RVAL,CVAL,VREF) { NODE, DST_CRFILTER , 5, { INP0,RVAL,CVAL,VREF }, { INP0,RVAL,CVAL,VREF }, NULL, "DISCRETE_CRFILTER_VREF" }, #define DISCRETE_OP_AMP_FILTER(NODE,ENAB,INP0,INP1,TYPE,INFO) { NODE, DST_OP_AMP_FILT , 4, { ENAB,INP0,INP1,NODE_NC }, { ENAB,INP0,INP1,TYPE }, INFO, "DISCRETE_OP_AMP_FILTER" }, #define DISCRETE_RCDISC(NODE,ENAB,INP0,RVAL,CVAL) { NODE, DST_RCDISC , 4, { ENAB,INP0,NODE_NC,NODE_NC }, { ENAB,INP0,RVAL,CVAL }, NULL, "DISCRETE_RCDISC" }, #define DISCRETE_RCDISC2(NODE,SWITCH,INP0,RVAL0,INP1,RVAL1,CVAL) { NODE, DST_RCDISC2 , 6, { SWITCH,INP0,NODE_NC,INP1,NODE_NC,NODE_NC }, { SWITCH,INP0,RVAL0,INP1,RVAL1,CVAL }, NULL, "DISCRETE_RCDISC2" }, @@ -4446,8 +4449,8 @@ enum #define DISCRETE_RCDISC4(NODE,ENAB,INP0,RVAL0,RVAL1,RVAL2,CVAL,VP,TYPE) { NODE, DST_RCDISC4 , 8, { ENAB,INP0,NODE_NC,NODE_NC,NODE_NC,NODE_NC,NODE_NC,NODE_NC }, { ENAB,INP0,RVAL0,RVAL1,RVAL2,CVAL,VP,TYPE }, NULL, "DISCRETE_RCDISC4" }, #define DISCRETE_RCDISC5(NODE,ENAB,INP0,RVAL,CVAL) { NODE, DST_RCDISC5 , 4, { ENAB,INP0,NODE_NC,NODE_NC }, { ENAB,INP0,RVAL,CVAL }, NULL, "DISCRETE_RCDISC5" }, #define DISCRETE_RCDISC_MODULATED(NODE,INP0,INP1,RVAL0,RVAL1,RVAL2,RVAL3,CVAL,VP) { NODE, DST_RCDISC_MOD, 8, { INP0,INP1,NODE_NC,NODE_NC,NODE_NC,NODE_NC,NODE_NC,NODE_NC }, { INP0,INP1,RVAL0,RVAL1,RVAL2,RVAL3,CVAL,VP }, NULL, "DISCRETE_RCDISC_MODULATED" }, -#define DISCRETE_RCFILTER(NODE,INP0,RVAL,CVAL) { NODE, DST_RCFILTER , 3, { INP0,NODE_NC,NODE_NC }, { INP0,RVAL,CVAL }, NULL, "DISCRETE_RCFILTER" }, -#define DISCRETE_RCFILTER_VREF(NODE,INP0,RVAL,CVAL,VREF) { NODE, DST_RCFILTER , 4, { INP0,NODE_NC,NODE_NC,NODE_NC }, { INP0,RVAL,CVAL,VREF }, NULL, "DISCRETE_RCFILTER_VREF" }, +#define DISCRETE_RCFILTER(NODE,INP0,RVAL,CVAL) { NODE, DST_RCFILTER , 3, { INP0,RVAL,CVAL }, { INP0,RVAL,CVAL }, NULL, "DISCRETE_RCFILTER" }, +#define DISCRETE_RCFILTER_VREF(NODE,INP0,RVAL,CVAL,VREF) { NODE, DST_RCFILTER , 4, { INP0,RVAL,CVAL,VREF }, { INP0,RVAL,CVAL,VREF }, NULL, "DISCRETE_RCFILTER_VREF" }, #define DISCRETE_RCFILTER_SW(NODE,ENAB,INP0,SW,RVAL,CVAL1,CVAL2,CVAL3,CVAL4) { NODE, DST_RCFILTER_SW, 8, { ENAB,INP0,SW,NODE_NC,NODE_NC,NODE_NC,NODE_NC,NODE_NC }, { ENAB,INP0,SW,RVAL,CVAL1,CVAL2,CVAL3,CVAL4 }, NULL, "DISCRETE_RCFILTER_SW" }, #define DISCRETE_RCINTEGRATE(NODE,INP0,RVAL0,RVAL1,RVAL2,CVAL,vP,TYPE) { NODE, DST_RCINTEGRATE , 7, { INP0,NODE_NC,NODE_NC,NODE_NC,NODE_NC,NODE_NC,NODE_NC }, { INP0,RVAL0,RVAL1,RVAL2,CVAL,vP,TYPE }, NULL, "DISCRETE_RCINTEGRATE" }, /* For testing - seem to be buggered. Use versions not ending in N. */ |