diff options
Diffstat (limited to 'src/mame/audio/mw8080bw.c')
-rw-r--r-- | src/mame/audio/mw8080bw.c | 3476 |
1 files changed, 1738 insertions, 1738 deletions
diff --git a/src/mame/audio/mw8080bw.c b/src/mame/audio/mw8080bw.c index 7955279bf35..0690e566a1a 100644 --- a/src/mame/audio/mw8080bw.c +++ b/src/mame/audio/mw8080bw.c @@ -56,24 +56,24 @@ static SOUND_START( samples ) /* most common values based on clowns schematic */ static const discrete_op_amp_tvca_info midway_music_tvca_info = { - RES_M(3.3), /* r502 */ - RES_K(10) + RES_K(680), /* r505 + r506 */ + RES_M(3.3), /* r502 */ + RES_K(10) + RES_K(680), /* r505 + r506 */ 0, - RES_K(680), /* r503 */ - RES_K(10), /* r500 */ + RES_K(680), /* r503 */ + RES_K(10), /* r500 */ 0, - RES_K(680), /* r501 */ + RES_K(680), /* r501 */ 0, 0, 0, 0, - CAP_U(.001), /* c500 */ + CAP_U(.001), /* c500 */ 0, 0, 0, - 12, /* v1 */ - 0, /* v2 */ - 0, /* v3 */ - 12, /* vP */ + 12, /* v1 */ + 0, /* v2 */ + 0, /* v3 */ + 12, /* vP */ DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_TRG1, @@ -112,18 +112,18 @@ WRITE8_MEMBER(mw8080bw_state::midway_tone_generator_hi_w) static const discrete_lfsr_desc midway_lfsr = { DISC_CLK_IS_FREQ, - 17, /* bit length */ + 17, /* bit length */ /* the RC network fed into pin 4, has the effect - of presetting all bits high at power up */ - 0x1ffff, /* reset value */ - 4, /* use bit 4 as XOR input 0 */ - 16, /* use bit 16 as XOR input 1 */ - DISC_LFSR_XOR, /* feedback stage1 is XOR */ - DISC_LFSR_OR, /* feedback stage2 is just stage 1 output OR with external feed */ - DISC_LFSR_REPLACE, /* feedback stage3 replaces the shifted register contents */ - 0x000001, /* everything is shifted into the first bit only */ - 0, /* output is not inverted */ - 12 /* output bit */ + of presetting all bits high at power up */ + 0x1ffff, /* reset value */ + 4, /* use bit 4 as XOR input 0 */ + 16, /* use bit 16 as XOR input 1 */ + DISC_LFSR_XOR, /* feedback stage1 is XOR */ + DISC_LFSR_OR, /* feedback stage2 is just stage 1 output OR with external feed */ + DISC_LFSR_REPLACE, /* feedback stage3 replaces the shifted register contents */ + 0x000001, /* everything is shifted into the first bit only */ + 0, /* output is not inverted */ + 12 /* output bit */ }; @@ -148,7 +148,7 @@ static const char *const seawolf_sample_names[] = static const samples_interface seawolf_samples_interface = { - 5, /* 5 channels */ + 5, /* 5 channels */ seawolf_sample_names }; @@ -207,7 +207,7 @@ static const char *const gunfight_sample_names[] = static const samples_interface gunfight_samples_interface = { - 1, /* 1 channel */ + 1, /* 1 channel */ gunfight_sample_names }; @@ -290,26 +290,26 @@ WRITE8_MEMBER(mw8080bw_state::gunfight_audio_w) static DISCRETE_SOUND_START(tornbase) /* the 3 enable lines coming out of the 74175 flip-flop at G5 */ - DISCRETE_INPUT_LOGIC(TORNBASE_TONE_240_EN) /* pin 2 */ - DISCRETE_INPUT_LOGIC(TORNBASE_TONE_960_EN) /* pin 7 */ - DISCRETE_INPUT_LOGIC(TORNBASE_TONE_120_EN) /* pin 5 */ + DISCRETE_INPUT_LOGIC(TORNBASE_TONE_240_EN) /* pin 2 */ + DISCRETE_INPUT_LOGIC(TORNBASE_TONE_960_EN) /* pin 7 */ + DISCRETE_INPUT_LOGIC(TORNBASE_TONE_120_EN) /* pin 5 */ /* 3 different freq square waves (240, 960 and 120Hz). - Originates from the CPU board via an edge connector. - The wave is in the 0/+1 range */ - DISCRETE_SQUAREWFIX(TORNBASE_SQUAREW_240, 1, 240, 1.0, 50.0, 1.0/2, 0) /* pin X */ - DISCRETE_SQUAREWFIX(TORNBASE_SQUAREW_960, 1, 960, 1.0, 50.0, 1.0/2, 0) /* pin Y */ - DISCRETE_SQUAREWFIX(TORNBASE_SQUAREW_120, 1, 120, 1.0, 50.0, 1.0/2, 0) /* pin V */ + Originates from the CPU board via an edge connector. + The wave is in the 0/+1 range */ + DISCRETE_SQUAREWFIX(TORNBASE_SQUAREW_240, 1, 240, 1.0, 50.0, 1.0/2, 0) /* pin X */ + DISCRETE_SQUAREWFIX(TORNBASE_SQUAREW_960, 1, 960, 1.0, 50.0, 1.0/2, 0) /* pin Y */ + DISCRETE_SQUAREWFIX(TORNBASE_SQUAREW_120, 1, 120, 1.0, 50.0, 1.0/2, 0) /* pin V */ /* 7403 O/C NAND gate at G6. 3 of the 4 gates used with their outputs tied together */ - DISCRETE_LOGIC_NAND(TORNBASE_TONE_240_SND, TORNBASE_SQUAREW_240, TORNBASE_TONE_240_EN) /* pins 4,5,6 */ - DISCRETE_LOGIC_NAND(TORNBASE_TONE_960_SND, TORNBASE_SQUAREW_960, TORNBASE_TONE_960_EN) /* pins 2,1,3 */ - DISCRETE_LOGIC_NAND(TORNBASE_TONE_120_SND, TORNBASE_SQUAREW_120, TORNBASE_TONE_120_EN) /* pins 13,12,11 */ + DISCRETE_LOGIC_NAND(TORNBASE_TONE_240_SND, TORNBASE_SQUAREW_240, TORNBASE_TONE_240_EN) /* pins 4,5,6 */ + DISCRETE_LOGIC_NAND(TORNBASE_TONE_960_SND, TORNBASE_SQUAREW_960, TORNBASE_TONE_960_EN) /* pins 2,1,3 */ + DISCRETE_LOGIC_NAND(TORNBASE_TONE_120_SND, TORNBASE_SQUAREW_120, TORNBASE_TONE_120_EN) /* pins 13,12,11 */ DISCRETE_LOGIC_AND3(TORNBASE_TONE_SND, TORNBASE_TONE_240_SND, TORNBASE_TONE_960_SND, TORNBASE_TONE_120_SND) /* 47K resistor (R601) and 0.047uF capacitor (C601) - There is also a 50K pot acting as a volume control, but we output at - the maximum volume as MAME has its own volume adjustment */ + There is also a 50K pot acting as a volume control, but we output at + the maximum volume as MAME has its own volume adjustment */ DISCRETE_CRFILTER(TORNBASE_TONE_SND_FILT, TORNBASE_TONE_SND, RES_K(47), CAP_U(0.047)) /* amplify for output */ @@ -370,7 +370,7 @@ MACHINE_CONFIG_END WRITE8_MEMBER(mw8080bw_state::zzzap_audio_1_w) { /* set ENGINE SOUND FREQ(data & 0x0f) the value written is - the gas pedal position */ + the gas pedal position */ /* if (data & 0x10) enable HI SHIFT engine sound modifier */ @@ -389,8 +389,8 @@ WRITE8_MEMBER(mw8080bw_state::zzzap_audio_2_w) /* if (data & 0x04) enable CR 1 (screeching sound) */ /* if (data & 0x08) enable NOISE CR 2 (happens only after the car blows up, but - before it appears again, not sure what - it is supposed to sound like) */ + before it appears again, not sure what + it is supposed to sound like) */ coin_counter_w(machine(), 0, (data >> 5) & 0x01); @@ -429,7 +429,7 @@ WRITE8_MEMBER(mw8080bw_state::zzzap_audio_2_w) static const discrete_555_desc maze_555_F2 = { DISC_555_OUT_SQW | DISC_555_OUT_DC | DISC_555_TRIGGER_IS_LOGIC | DISC_555_TRIGGER_DISCHARGES_CAP, - 5, /* B+ voltage of 555 */ + 5, /* B+ voltage of 555 */ DEFAULT_555_VALUES }; @@ -442,123 +442,123 @@ static const double maze_74147_table[] = static const discrete_comp_adder_table maze_r305_306_308 = { - DISC_COMP_P_RESISTOR, /* type of circuit */ - RES_K(100), /* R308 */ - 2, /* length */ - { RES_M(1.5), /* R304 */ - RES_K(820) } /* R304 */ + DISC_COMP_P_RESISTOR, /* type of circuit */ + RES_K(100), /* R308 */ + 2, /* length */ + { RES_M(1.5), /* R304 */ + RES_K(820) } /* R304 */ }; static const discrete_comp_adder_table maze_r303_309 = { - DISC_COMP_P_RESISTOR, /* type of circuit */ - RES_K(330), /* R309 */ - 1, /* length */ - { RES_M(1) } /* R303 */ + DISC_COMP_P_RESISTOR, /* type of circuit */ + RES_K(330), /* R309 */ + 1, /* length */ + { RES_M(1) } /* R303 */ }; static const discrete_op_amp_osc_info maze_op_amp_osc = { - DISC_OP_AMP_OSCILLATOR_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, /* type */ - RES_M(1), /* R306 */ - RES_K(430), /* R307 */ - MAZE_R305_306_308, /* R304, R305, R308 switchable circuit */ - MAZE_R303_309, /* R303, R309 switchable circuit */ - RES_K(330), /* R310 */ - 0, 0, 0, /* not used */ - CAP_P(3300), /* C300 */ - 5 /* vP */ + DISC_OP_AMP_OSCILLATOR_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, /* type */ + RES_M(1), /* R306 */ + RES_K(430), /* R307 */ + MAZE_R305_306_308, /* R304, R305, R308 switchable circuit */ + MAZE_R303_309, /* R303, R309 switchable circuit */ + RES_K(330), /* R310 */ + 0, 0, 0, /* not used */ + CAP_P(3300), /* C300 */ + 5 /* vP */ }; static DISCRETE_SOUND_START(maze) /************************************************ - * Input register mapping - ************************************************/ + * Input register mapping + ************************************************/ DISCRETE_INPUT_DATA (MAZE_P1_DATA) DISCRETE_INPUT_DATA (MAZE_P2_DATA) DISCRETE_INPUT_LOGIC(MAZE_TONE_TIMING) DISCRETE_INPUT_LOGIC(MAZE_COIN) - DISCRETE_INPUT_LOGIC(MAZE_JOYSTICK_IN_USE) /* IC D2, pin 8 */ + DISCRETE_INPUT_LOGIC(MAZE_JOYSTICK_IN_USE) /* IC D2, pin 8 */ /* The following circuits control when audio is heard. */ /* Basically there is sound for 30s after a coin is inserted. */ /* This time is extended whenever a control is pressed. */ /* After the 30s has expired, there is no sound until the next coin is inserted. */ /* There is also sound for the first 30s after power up even without a coin. */ - DISCRETE_LOGIC_INVERT(NODE_20, /* IC E2, pin 8 */ - MAZE_JOYSTICK_IN_USE) /* IN0 */ - DISCRETE_555_MSTABLE(MAZE_GAME_OVER, /* IC F2, pin 3 */ - 1, /* RESET */ - NODE_20, /* TRIG */ - RES_K(270), /* R203 */ - CAP_U(100), /* C204 */ + DISCRETE_LOGIC_INVERT(NODE_20, /* IC E2, pin 8 */ + MAZE_JOYSTICK_IN_USE) /* IN0 */ + DISCRETE_555_MSTABLE(MAZE_GAME_OVER, /* IC F2, pin 3 */ + 1, /* RESET */ + NODE_20, /* TRIG */ + RES_K(270), /* R203 */ + CAP_U(100), /* C204 */ &maze_555_F2) DISCRETE_LOGIC_JKFLIPFLOP(MAZE_AUDIO_ENABLE,/* IC F1, pin 5 */ - MAZE_COIN, /* RESET */ - 1, /* SET */ - MAZE_GAME_OVER, /* CLK */ - 1, /* J */ - 0) /* K */ - DISCRETE_LOGIC_INVERT(MAZE_TONE_ENABLE, /* IC F1, pin 6 */ - MAZE_AUDIO_ENABLE) /* IN0 */ + MAZE_COIN, /* RESET */ + 1, /* SET */ + MAZE_GAME_OVER, /* CLK */ + 1, /* J */ + 0) /* K */ + DISCRETE_LOGIC_INVERT(MAZE_TONE_ENABLE, /* IC F1, pin 6 */ + MAZE_AUDIO_ENABLE) /* IN0 */ DISCRETE_LOGIC_AND3(NODE_21, - MAZE_JOYSTICK_IN_USE, /* INP0 */ - MAZE_TONE_ENABLE, /* INP1 */ - MAZE_TONE_TIMING) /* INP2 */ + MAZE_JOYSTICK_IN_USE, /* INP0 */ + MAZE_TONE_ENABLE, /* INP1 */ + MAZE_TONE_TIMING) /* INP2 */ /* The following circuits use the control info to generate a tone. */ - DISCRETE_LOGIC_JKFLIPFLOP(MAZE_PLAYER_SEL, /* IC C1, pin 3 */ - 1, /* RESET */ - 1, /* SET */ - MAZE_TONE_TIMING, /* CLK */ - 1, /* J */ - 1) /* K */ - DISCRETE_MULTIPLEX2(NODE_31, /* IC D1 */ - MAZE_PLAYER_SEL, /* ADDR */ - MAZE_P1_DATA, /* INP0 */ - MAZE_P2_DATA) /* INP1 */ - DISCRETE_LOOKUP_TABLE(NODE_32, /* IC E1 */ - NODE_31, /* ADDR */ - 16, /* SIZE */ + DISCRETE_LOGIC_JKFLIPFLOP(MAZE_PLAYER_SEL, /* IC C1, pin 3 */ + 1, /* RESET */ + 1, /* SET */ + MAZE_TONE_TIMING, /* CLK */ + 1, /* J */ + 1) /* K */ + DISCRETE_MULTIPLEX2(NODE_31, /* IC D1 */ + MAZE_PLAYER_SEL, /* ADDR */ + MAZE_P1_DATA, /* INP0 */ + MAZE_P2_DATA) /* INP1 */ + DISCRETE_LOOKUP_TABLE(NODE_32, /* IC E1 */ + NODE_31, /* ADDR */ + 16, /* SIZE */ &maze_74147_table) - DISCRETE_COMP_ADDER(MAZE_R305_306_308, /* value of selected parallel circuit R305, R306, R308 */ - NODE_32, /* DATA */ + DISCRETE_COMP_ADDER(MAZE_R305_306_308, /* value of selected parallel circuit R305, R306, R308 */ + NODE_32, /* DATA */ &maze_r305_306_308) - DISCRETE_COMP_ADDER(MAZE_R303_309, /* value of selected parallel circuit R303, R309 */ - MAZE_PLAYER_SEL, /* DATA */ + DISCRETE_COMP_ADDER(MAZE_R303_309, /* value of selected parallel circuit R303, R309 */ + MAZE_PLAYER_SEL, /* DATA */ &maze_r303_309) - DISCRETE_OP_AMP_OSCILLATOR(NODE_36, /* IC J1, pin 4 */ - 1, /* ENAB */ + DISCRETE_OP_AMP_OSCILLATOR(NODE_36, /* IC J1, pin 4 */ + 1, /* ENAB */ &maze_op_amp_osc) /* The following circuits remove DC poping noises when the tone is switched in/out. */ DISCRETE_CRFILTER_VREF(NODE_40, - NODE_36, /* IN0 */ - RES_K(250), /* R311, R312, R402, R403 in parallel */ - CAP_U(0.1), /* c301 */ - 2.5) /* center voltage of R311, R312 */ - DISCRETE_SWITCH(NODE_41, /* IC H3, pin 10 */ - 1, /* ENAB */ - NODE_21, /* switch */ - 2.5, /* INP0 - center voltage of R402, R403 */ - NODE_40) /* INP1 */ + NODE_36, /* IN0 */ + RES_K(250), /* R311, R312, R402, R403 in parallel */ + CAP_U(0.1), /* c301 */ + 2.5) /* center voltage of R311, R312 */ + DISCRETE_SWITCH(NODE_41, /* IC H3, pin 10 */ + 1, /* ENAB */ + NODE_21, /* switch */ + 2.5, /* INP0 - center voltage of R402, R403 */ + NODE_40) /* INP1 */ DISCRETE_CRFILTER(NODE_42, - NODE_41, /* IN0 */ - RES_K(56 + 390), /* R404 + R405 */ - CAP_P(0.01) ) /* C401 */ + NODE_41, /* IN0 */ + RES_K(56 + 390), /* R404 + R405 */ + CAP_P(0.01) ) /* C401 */ DISCRETE_RCFILTER(NODE_43, - NODE_42, /* IN0 */ - RES_K(56), /* R404 */ - CAP_P(4700) ) /* C400 */ - DISCRETE_SWITCH(MAZE_SND, /* H3 saturates op-amp J3 when enabled, disabling audio */ - 1, /* ENAB */ - MAZE_AUDIO_ENABLE, /* SWITCH */ - NODE_43, /* INP0 */ - 0) /* INP1 */ + NODE_42, /* IN0 */ + RES_K(56), /* R404 */ + CAP_P(4700) ) /* C400 */ + DISCRETE_SWITCH(MAZE_SND, /* H3 saturates op-amp J3 when enabled, disabling audio */ + 1, /* ENAB */ + MAZE_AUDIO_ENABLE, /* SWITCH */ + NODE_43, /* INP0 */ + 0) /* INP1 */ DISCRETE_OUTPUT(MAZE_SND, 96200) DISCRETE_SOUND_END @@ -710,7 +710,7 @@ static const discrete_mixer_desc boothill_l_mixer = { DISC_MIXER_IS_OP_AMP, { RES_K(12) + RES_K(68) + RES_K(33), - RES_K(12) + RES_K(100) + RES_K(33) }, + RES_K(12) + RES_K(100) + RES_K(33) }, { 0 }, { 0 }, 0, @@ -718,7 +718,7 @@ static const discrete_mixer_desc boothill_l_mixer = 0, CAP_U(0.1), 0, - 7200 /* final gain */ + 7200 /* final gain */ }; @@ -726,26 +726,26 @@ static const discrete_mixer_desc boothill_r_mixer = { DISC_MIXER_IS_OP_AMP, { RES_K(12) + RES_K(68) + RES_K(33), - RES_K(12) + RES_K(100) + RES_K(33), - RES_K(33) }, + RES_K(12) + RES_K(100) + RES_K(33), + RES_K(33) }, { 0, - 0, - BOOTHILL_MUSIC_ADJ }, + 0, + BOOTHILL_MUSIC_ADJ }, { 0 }, 0, RES_K(100), 0, CAP_U(0.1), 0, - 7200 /* final gain */ + 7200 /* final gain */ }; static DISCRETE_SOUND_START(boothill) /************************************************ - * Input register mapping - ************************************************/ + * Input register mapping + ************************************************/ DISCRETE_INPUT_LOGIC(BOOTHILL_GAME_ON_EN) DISCRETE_INPUT_LOGIC(BOOTHILL_LEFT_SHOT_EN) DISCRETE_INPUT_LOGIC(BOOTHILL_RIGHT_SHOT_EN) @@ -753,18 +753,18 @@ static DISCRETE_SOUND_START(boothill) DISCRETE_INPUT_LOGIC(BOOTHILL_RIGHT_HIT_EN) /* The low value of the pot is set to 75000. A real 1M pot will never go to 0 anyways. - This will give the control more apparent volume range. - The music way overpowers the rest of the sounds anyways. */ + This will give the control more apparent volume range. + The music way overpowers the rest of the sounds anyways. */ DISCRETE_ADJUSTMENT(BOOTHILL_MUSIC_ADJ, RES_M(1), 75000, DISC_LOGADJ, "MUSIC_ADJ") /************************************************ - * Tone generator - ************************************************/ + * Tone generator + ************************************************/ MIDWAY_TONE_GENERATOR(boothill_tone_tvca_info) /************************************************ - * Shot sounds - ************************************************/ + * Shot sounds + ************************************************/ /* Noise clock was breadboarded and measured at 7700Hz */ DISCRETE_LFSR_NOISE(BOOTHILL_NOISE, 1, 1, 7700, 12.0, 0, 12.0/2, &midway_lfsr) @@ -777,8 +777,8 @@ static DISCRETE_SOUND_START(boothill) DISCRETE_RCFILTER(BOOTHILL_R_SHOT_SND, NODE_36, RES_K(12) + RES_K(68), CAP_U(.0033)) /************************************************ - * Hit sounds - ************************************************/ + * Hit sounds + ************************************************/ DISCRETE_OP_AMP_TRIG_VCA(NODE_40, BOOTHILL_LEFT_HIT_EN, 0, 0, BOOTHILL_NOISE, 0, &boothill_hit_tvca_info) DISCRETE_RCFILTER(NODE_41, NODE_40, RES_K(12), CAP_U(.033)) DISCRETE_RCFILTER(BOOTHILL_L_HIT_SND, NODE_41, RES_K(12) + RES_K(100), CAP_U(.0033)) @@ -788,17 +788,17 @@ static DISCRETE_SOUND_START(boothill) DISCRETE_RCFILTER(BOOTHILL_R_HIT_SND, NODE_46, RES_K(12) + RES_K(100), CAP_U(.0022)) /************************************************ - * Combine all sound sources. - ************************************************/ + * Combine all sound sources. + ************************************************/ /* There is a 1uF cap on the input to the amp that I was too lazy to simulate. - * It is just a DC blocking cap needed by the Norton amp. Doing the extra - * work to simulate it is not going to make a difference to the waveform - * or to how it sounds. Also I use a regular amp in place of the Norton - * for the same reasons. Ease of coding/simulation. */ + * It is just a DC blocking cap needed by the Norton amp. Doing the extra + * work to simulate it is not going to make a difference to the waveform + * or to how it sounds. Also I use a regular amp in place of the Norton + * for the same reasons. Ease of coding/simulation. */ /* The schematics show the Hit sounds as shown. - * This makes the death of the enemy sound on the players side. - * This should be verified. */ + * This makes the death of the enemy sound on the players side. + * This should be verified. */ DISCRETE_MIXER2(NODE_91, BOOTHILL_GAME_ON_EN, BOOTHILL_L_SHOT_SND, BOOTHILL_L_HIT_SND, &boothill_l_mixer) @@ -867,89 +867,89 @@ WRITE8_MEMBER(mw8080bw_state::boothill_audio_w) static const discrete_comp_adder_table checkmat_r401_402_400 = { - DISC_COMP_P_RESISTOR, /* type of circuit */ - RES_K(100), /* R401 */ - 2, /* length */ - { RES_M(1.5), /* R402 */ - RES_K(820) } /* R400 */ + DISC_COMP_P_RESISTOR, /* type of circuit */ + RES_K(100), /* R401 */ + 2, /* length */ + { RES_M(1.5), /* R402 */ + RES_K(820) } /* R400 */ }; static const discrete_comp_adder_table checkmat_r407_406_410 = { - DISC_COMP_P_RESISTOR, /* type of circuit */ - RES_K(330), /* R407 */ - 2, /* length */ - { RES_M(1), /* R406 */ - RES_K(510) } /* R410 */ + DISC_COMP_P_RESISTOR, /* type of circuit */ + RES_K(330), /* R407 */ + 2, /* length */ + { RES_M(1), /* R406 */ + RES_K(510) } /* R410 */ }; static const discrete_op_amp_osc_info checkmat_op_amp_osc = { - DISC_OP_AMP_OSCILLATOR_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, /* type */ - RES_M(1), /* R403 */ - RES_K(430), /* R405 */ - CHECKMAT_R401_402_400, /* R401, R402, R400 switchable circuit */ - CHECKMAT_R407_406_410, /* R407, R406, R410 switchable circuit */ - RES_K(330), /* R404 */ - 0, 0, 0, /* not used */ - CAP_P(3300), /* C400 */ - 5 /* vP */ + DISC_OP_AMP_OSCILLATOR_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, /* type */ + RES_M(1), /* R403 */ + RES_K(430), /* R405 */ + CHECKMAT_R401_402_400, /* R401, R402, R400 switchable circuit */ + CHECKMAT_R407_406_410, /* R407, R406, R410 switchable circuit */ + RES_K(330), /* R404 */ + 0, 0, 0, /* not used */ + CAP_P(3300), /* C400 */ + 5 /* vP */ }; static const discrete_op_amp_tvca_info checkmat_op_amp_tvca = { - RES_M(1.2), /* R302 */ - RES_M(1), /* R305 */ - 0, /* r3 - not used */ - RES_M(1.2), /* R304 */ - RES_K(1), /* M4 */ - 0, /* r6 - not used */ - RES_M(1), /* R303 */ - 0, /* r8 - not used */ - 0, /* r9 - not used */ - 0, /* r10 - not used */ - 0, /* r11 - not used */ - CAP_U(1), /* C300 */ - 0, /* c2 - not used */ - 0, 0, /* c3, c4 - not used */ - 5, /* v1 */ - 0, /* v2 */ - 0, /* v3 */ - 5, /* vP */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* f0 - not used */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* f1 - not used */ - DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* f3 - not used */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* f4 - not used */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* f5 - not used */ + RES_M(1.2), /* R302 */ + RES_M(1), /* R305 */ + 0, /* r3 - not used */ + RES_M(1.2), /* R304 */ + RES_K(1), /* M4 */ + 0, /* r6 - not used */ + RES_M(1), /* R303 */ + 0, /* r8 - not used */ + 0, /* r9 - not used */ + 0, /* r10 - not used */ + 0, /* r11 - not used */ + CAP_U(1), /* C300 */ + 0, /* c2 - not used */ + 0, 0, /* c3, c4 - not used */ + 5, /* v1 */ + 0, /* v2 */ + 0, /* v3 */ + 5, /* vP */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* f0 - not used */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* f1 - not used */ + DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* f3 - not used */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* f4 - not used */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* f5 - not used */ }; static const discrete_mixer_desc checkmat_mixer = { - DISC_MIXER_IS_OP_AMP, /* type */ - { RES_K(100), /* R308 - VERIFY - can't read schematic */ - RES_K(56 + 47) }, /* R412 + R408 */ - { CHECKMAT_R309, /* R309 */ - CHECKMAT_R411}, /* R411 */ - { CAP_U(10), /* C305 */ - CAP_U(0.01) }, /* C401 */ - 0, /* rI - not used */ - RES_K(100), /* R507 */ - 0, /* cF - not used */ - CAP_U(1), /* C505 */ - 0, /* vRef - GND */ - 1 /* gain */ + DISC_MIXER_IS_OP_AMP, /* type */ + { RES_K(100), /* R308 - VERIFY - can't read schematic */ + RES_K(56 + 47) }, /* R412 + R408 */ + { CHECKMAT_R309, /* R309 */ + CHECKMAT_R411}, /* R411 */ + { CAP_U(10), /* C305 */ + CAP_U(0.01) }, /* C401 */ + 0, /* rI - not used */ + RES_K(100), /* R507 */ + 0, /* cF - not used */ + CAP_U(1), /* C505 */ + 0, /* vRef - GND */ + 1 /* gain */ }; static DISCRETE_SOUND_START(checkmat) /************************************************ - * Input register mapping - ************************************************/ + * Input register mapping + ************************************************/ DISCRETE_INPUT_LOGIC(CHECKMAT_BOOM_EN) DISCRETE_INPUT_LOGIC(CHECKMAT_TONE_EN) DISCRETE_INPUT_DATA (CHECKMAT_TONE_DATA_45) @@ -963,79 +963,79 @@ static DISCRETE_SOUND_START(checkmat) DISCRETE_ADJUSTMENT(CHECKMAT_R411, RES_M(1), 1000, DISC_LOGADJ, "R411") /************************************************ - * Boom Sound - * - * The zener diode noise source is hard to - * emulate. Guess for now. - ************************************************/ + * Boom Sound + * + * The zener diode noise source is hard to + * emulate. Guess for now. + ************************************************/ /* FIX - find noise freq and amplitude */ DISCRETE_NOISE(NODE_20, - 1, /* ENAB */ - 1500, /* FREQ */ - 2, /* AMP */ - 0) /* BIAS */ + 1, /* ENAB */ + 1500, /* FREQ */ + 2, /* AMP */ + 0) /* BIAS */ DISCRETE_OP_AMP_TRIG_VCA(NODE_21, - CHECKMAT_BOOM_EN, /* TRG0 */ - 0, /* TRG1 - not used */ - 0, /* TRG2 - not used */ - NODE_20, /* IN0 */ - 0, /* IN1 - not used */ + CHECKMAT_BOOM_EN, /* TRG0 */ + 0, /* TRG1 - not used */ + 0, /* TRG2 - not used */ + NODE_20, /* IN0 */ + 0, /* IN1 - not used */ &checkmat_op_amp_tvca) /* The next 5 modules emulate the filter. */ DISCRETE_FILTER2(NODE_23, - 1, /* ENAB */ - NODE_21, /* INP0 */ - 35, /* FREQ */ - 1.0 / 8, /* DAMP */ + 1, /* ENAB */ + NODE_21, /* INP0 */ + 35, /* FREQ */ + 1.0 / 8, /* DAMP */ DISC_FILTER_BANDPASS) DISCRETE_GAIN(NODE_24, - NODE_23, /* IN0 */ - 15) /* GAIN */ - DISCRETE_CLAMP(CHECKMAT_BOOM_SND, /* IC Q2/3, pin 10 */ - NODE_24, /* IN0 */ - 0 - 6, /* MIN */ + NODE_23, /* IN0 */ + 15) /* GAIN */ + DISCRETE_CLAMP(CHECKMAT_BOOM_SND, /* IC Q2/3, pin 10 */ + NODE_24, /* IN0 */ + 0 - 6, /* MIN */ 12.0 - OP_AMP_NORTON_VBE -6)/* MAX */ /************************************************ - * Tone generator - ************************************************/ - DISCRETE_COMP_ADDER(CHECKMAT_R401_402_400, /* value of selected parallel circuit R401, R402, R400 */ - CHECKMAT_TONE_DATA_45, /* DATA */ + * Tone generator + ************************************************/ + DISCRETE_COMP_ADDER(CHECKMAT_R401_402_400, /* value of selected parallel circuit R401, R402, R400 */ + CHECKMAT_TONE_DATA_45, /* DATA */ &checkmat_r401_402_400) - DISCRETE_COMP_ADDER(CHECKMAT_R407_406_410, /* value of selected parallel circuit R407, R406, R410 */ - CHECKMAT_TONE_DATA_67, /* DATA */ + DISCRETE_COMP_ADDER(CHECKMAT_R407_406_410, /* value of selected parallel circuit R407, R406, R410 */ + CHECKMAT_TONE_DATA_67, /* DATA */ &checkmat_r407_406_410) - DISCRETE_OP_AMP_OSCILLATOR(NODE_30, /* IC N3/4, pin 4 */ - 1, /* ENAB */ + DISCRETE_OP_AMP_OSCILLATOR(NODE_30, /* IC N3/4, pin 4 */ + 1, /* ENAB */ &checkmat_op_amp_osc) /* The following circuits remove DC poping noises when the tone is switched in/out. */ DISCRETE_CRFILTER_VREF(NODE_31, - NODE_30, /* IN0 */ - RES_K(250), /* R409, R415, R414, R413 in parallel */ - CAP_U(0.1), /* c401 */ - 2.5) /* center voltage of R409, R415 */ - DISCRETE_SWITCH(NODE_32, /* IC R3/4, pin 9 */ - 1, /* ENAB */ - CHECKMAT_TONE_EN, /* switch */ - 2.5, /* INP0 - center voltage of R413, R414 */ - NODE_31) /* INP1 */ + NODE_30, /* IN0 */ + RES_K(250), /* R409, R415, R414, R413 in parallel */ + CAP_U(0.1), /* c401 */ + 2.5) /* center voltage of R409, R415 */ + DISCRETE_SWITCH(NODE_32, /* IC R3/4, pin 9 */ + 1, /* ENAB */ + CHECKMAT_TONE_EN, /* switch */ + 2.5, /* INP0 - center voltage of R413, R414 */ + NODE_31) /* INP1 */ DISCRETE_CRFILTER(NODE_33, - NODE_32, /* IN0 */ - RES_K(56 + 47 + 200), /* R412 + R408 + part of R411 */ - CAP_P(0.01) ) /* C404 */ + NODE_32, /* IN0 */ + RES_K(56 + 47 + 200), /* R412 + R408 + part of R411 */ + CAP_P(0.01) ) /* C404 */ DISCRETE_RCFILTER(CHECKMAT_TONE_SND, - NODE_33, /* IN0 */ - RES_K(56), /* R412 */ - CAP_P(4700) ) /* C403 */ + NODE_33, /* IN0 */ + RES_K(56), /* R412 */ + CAP_P(4700) ) /* C403 */ /************************************************ - * Final mix and output - ************************************************/ + * Final mix and output + ************************************************/ DISCRETE_MIXER2(CHECKMAT_FINAL_SND, - 1, /* ENAB */ - CHECKMAT_BOOM_SND, /* IN0 */ - CHECKMAT_TONE_SND, /* IN1 */ + 1, /* ENAB */ + CHECKMAT_BOOM_SND, /* IN0 */ + CHECKMAT_TONE_SND, /* IN1 */ &checkmat_mixer) DISCRETE_OUTPUT(CHECKMAT_FINAL_SND, 300000) DISCRETE_SOUND_END @@ -1111,10 +1111,10 @@ static const discrete_op_amp_tvca_info desertgu_rifle_shot_tvca_info = CAP_U(0.47), 0, 0, 0, - 12, /* v1 */ - 0, /* v2 */ - 0, /* v3 */ - 12, /* vP */ + 12, /* v1 */ + 0, /* v2 */ + 0, /* v3 */ + 12, /* vP */ DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, @@ -1128,8 +1128,8 @@ static const discrete_mixer_desc desertgu_filter_mixer = { DISC_MIXER_IS_RESISTOR, { RES_K(2), - RES_K(27), - RES_K(2) + RES_K(1) }, + RES_K(27), + RES_K(2) + RES_K(1) }, { 0 }, { 0 }, 0, @@ -1161,34 +1161,34 @@ static const discrete_mixer_desc desertgu_mixer = { DISC_MIXER_IS_OP_AMP, { RES_K(12) + RES_K(68) + RES_K(30), - RES_K(56), - RES_K(180), - RES_K(47), - RES_K(30) }, + RES_K(56), + RES_K(180), + RES_K(47), + RES_K(30) }, { 0, - 0, - 0, - 0, - DESERTGU_MUSIC_ADJ }, + 0, + 0, + 0, + DESERTGU_MUSIC_ADJ }, { CAP_U(0.1), - CAP_U(0.1), - CAP_U(0.1), - CAP_U(0.1), - CAP_U(0.1) }, + CAP_U(0.1), + CAP_U(0.1), + CAP_U(0.1), + CAP_U(0.1) }, 0, RES_K(100), 0, CAP_U(0.1), 0, - 6000 /* final gain */ + 6000 /* final gain */ }; static DISCRETE_SOUND_START(desertgu) /************************************************ - * Input register mapping - ************************************************/ + * Input register mapping + ************************************************/ DISCRETE_INPUT_LOGIC(DESERTGU_GAME_ON_EN) DISCRETE_INPUT_LOGIC(DESERTGU_RIFLE_SHOT_EN) DISCRETE_INPUT_LOGIC(DESERTGU_BOTTLE_HIT_EN) @@ -1203,13 +1203,13 @@ static DISCRETE_SOUND_START(desertgu) DISCRETE_ADJUSTMENT(DESERTGU_MUSIC_ADJ, RES_M(1), 75000, DISC_LOGADJ, "MUSIC_ADJ") /************************************************ - * Tone generator - ************************************************/ + * Tone generator + ************************************************/ MIDWAY_TONE_GENERATOR(midway_music_tvca_info) /************************************************ - * Rifle shot sound - ************************************************/ + * Rifle shot sound + ************************************************/ /* Noise clock was breadboarded and measured at 7515Hz */ DISCRETE_LFSR_NOISE(DESERTGU_NOISE, 1, 1, 7515, 12.0, 0, 12.0/2, &midway_lfsr) @@ -1218,34 +1218,34 @@ static DISCRETE_SOUND_START(desertgu) DISCRETE_CRFILTER(DESERTGU_RIFLE_SHOT_SND, NODE_31, RES_K(12) + RES_K(68), CAP_U(.0022)) /************************************************ - * Bottle hit sound - ************************************************/ + * Bottle hit sound + ************************************************/ DISCRETE_CONSTANT(DESERTGU_BOTTLE_HIT_SND, 0) /* placeholder for incomplete sound */ /************************************************ - * Road Runner hit sound - ************************************************/ + * Road Runner hit sound + ************************************************/ DISCRETE_CONSTANT(DESERTGU_ROAD_RUNNER_HIT_SND, 0) /* placeholder for incomplete sound */ /************************************************ - * Creature hit sound - ************************************************/ + * Creature hit sound + ************************************************/ DISCRETE_CONSTANT(DESERTGU_CREATURE_HIT_SND, 0) /* placeholder for incomplete sound */ /************************************************ - * Beep-Beep sound - ************************************************/ + * Beep-Beep sound + ************************************************/ DISCRETE_CONSTANT(DESERTGU_ROADRUNNER_BEEP_BEEP_SND, 0) /* placeholder for incomplete sound */ /************************************************ - * Mix and filter - ************************************************/ + * Mix and filter + ************************************************/ DISCRETE_MIXER3(NODE_80, 1, DESERTGU_BOTTLE_HIT_SND, DESERTGU_ROADRUNNER_BEEP_BEEP_SND, DESERTGU_TRIGGER_CLICK_SND, &desertgu_filter_mixer) DISCRETE_OP_AMP_FILTER(NODE_81, 1, NODE_80, 0, DISC_OP_AMP_FILTER_IS_BAND_PASS_1, &desertgu_filter) /************************************************ - * Combine all sound sources. - ************************************************/ + * Combine all sound sources. + ************************************************/ DISCRETE_MIXER5(NODE_91, DESERTGU_GAME_ON_EN, DESERTGU_RIFLE_SHOT_SND, DESERTGU_ROAD_RUNNER_HIT_SND, DESERTGU_CREATURE_HIT_SND, NODE_81, MIDWAY_TONE_SND, &desertgu_mixer) DISCRETE_OUTPUT(NODE_91, 1) @@ -1323,18 +1323,18 @@ WRITE8_MEMBER(mw8080bw_state::desertgu_audio_2_w) static const discrete_lfsr_desc dplay_lfsr = { DISC_CLK_IS_FREQ, - 17, /* bit length */ + 17, /* bit length */ /* the RC network fed into pin 4, has the effect - of presetting all bits high at power up */ - 0x1ffff, /* reset value */ - 4, /* use bit 4 as XOR input 0 */ - 16, /* use bit 16 as XOR input 1 */ - DISC_LFSR_XOR, /* feedback stage1 is XOR */ - DISC_LFSR_OR, /* feedback stage2 is just stage 1 output OR with external feed */ - DISC_LFSR_REPLACE, /* feedback stage3 replaces the shifted register contents */ - 0x000001, /* everything is shifted into the first bit only */ - 0, /* output is not inverted */ - 8 /* output bit */ + of presetting all bits high at power up */ + 0x1ffff, /* reset value */ + 4, /* use bit 4 as XOR input 0 */ + 16, /* use bit 16 as XOR input 1 */ + DISC_LFSR_XOR, /* feedback stage1 is XOR */ + DISC_LFSR_OR, /* feedback stage2 is just stage 1 output OR with external feed */ + DISC_LFSR_REPLACE, /* feedback stage3 replaces the shifted register contents */ + 0x000001, /* everything is shifted into the first bit only */ + 0, /* output is not inverted */ + 8 /* output bit */ }; @@ -1355,17 +1355,17 @@ static const discrete_integrate_info dplay_siren_integrate_info = static const discrete_op_amp_osc_info dplay_siren_osc = { - DISC_OP_AMP_OSCILLATOR_VCO_2 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, /* type */ - RES_K(390), /* r1 */ - RES_M(5.6), /* r2 */ - RES_M(1), /* r3 */ - RES_M(1.5), /* r4 */ - RES_M(3.3), /* r5 */ - RES_K(56), /* r6 */ - 0, /* no r7 */ - 0, /* no r8 */ - CAP_U(0.0022), /* c */ - 12 /* vP */ + DISC_OP_AMP_OSCILLATOR_VCO_2 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, /* type */ + RES_K(390), /* r1 */ + RES_M(5.6), /* r2 */ + RES_M(1), /* r3 */ + RES_M(1.5), /* r4 */ + RES_M(3.3), /* r5 */ + RES_K(56), /* r6 */ + 0, /* no r7 */ + 0, /* no r8 */ + CAP_U(0.0022), /* c */ + 12 /* vP */ }; static const discrete_integrate_info dplay_whistle_integrate_info = @@ -1385,17 +1385,17 @@ static const discrete_integrate_info dplay_whistle_integrate_info = static const discrete_op_amp_osc_info dplay_whistle_osc = { - DISC_OP_AMP_OSCILLATOR_VCO_2 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, /* type */ - RES_K(510), /* r1 */ - RES_M(5.6), /* r2 */ - RES_M(1), /* r3 */ - RES_M(1.5), /* r4 */ - RES_M(3.3), /* r5 */ - RES_K(300), /* r6 */ - 0, /* no r7 */ - 0, /* no r8 */ - CAP_P(220), /* c */ - 12 /* vP */ + DISC_OP_AMP_OSCILLATOR_VCO_2 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, /* type */ + RES_K(510), /* r1 */ + RES_M(5.6), /* r2 */ + RES_M(1), /* r3 */ + RES_M(1.5), /* r4 */ + RES_M(3.3), /* r5 */ + RES_K(300), /* r6 */ + 0, /* no r7 */ + 0, /* no r8 */ + CAP_P(220), /* c */ + 12 /* vP */ }; @@ -1434,30 +1434,30 @@ static const discrete_mixer_desc dplay_mixer = { DISC_MIXER_IS_OP_AMP, { RES_K(68), - RES_K(68), - RES_K(68), - RES_K(18), - RES_K(68) }, + RES_K(68), + RES_K(68), + RES_K(18), + RES_K(68) }, { 0, - 0, - 0, - 0, - DPLAY_MUSIC_ADJ }, + 0, + 0, + 0, + DPLAY_MUSIC_ADJ }, { CAP_U(0.1), - CAP_U(0.1), - CAP_U(0.1), - CAP_U(0.1), - CAP_U(0.1) } + CAP_U(0.1), + CAP_U(0.1), + CAP_U(0.1), + CAP_U(0.1) } , 0, RES_K(100), 0, CAP_U(0.1), 0, - 2000 /* final gain */ + 2000 /* final gain */ }; static DISCRETE_SOUND_START(dplay) /************************************************ - * Input register mapping - ************************************************/ + * Input register mapping + ************************************************/ DISCRETE_INPUT_LOGIC (DPLAY_GAME_ON_EN) DISCRETE_INPUT_LOGIC (DPLAY_TONE_ON_EN) DISCRETE_INPUTX_LOGIC(DPLAY_SIREN_EN, 5, 0, 0) @@ -1470,38 +1470,38 @@ static DISCRETE_SOUND_START(dplay) DISCRETE_ADJUSTMENT(DPLAY_MUSIC_ADJ, RES_M(1), 1000, DISC_LOGADJ, "MUSIC_ADJ") /************************************************ - * Music and Tone Generator - ************************************************/ + * Music and Tone Generator + ************************************************/ MIDWAY_TONE_GENERATOR(midway_music_tvca_info) DISCRETE_OP_AMP_TRIG_VCA(DPLAY_TONE_SND, MIDWAY_TONE_BEFORE_AMP_SND, DPLAY_TONE_ON_EN, 0, 12, 0, &midway_music_tvca_info) /************************************************ - * Siren - ************************************************/ + * Siren + ************************************************/ DISCRETE_INTEGRATE(NODE_30, - DPLAY_SIREN_EN, /* TRG0 */ - 0 , /* TRG1 */ + DPLAY_SIREN_EN, /* TRG0 */ + 0 , /* TRG1 */ &dplay_siren_integrate_info) DISCRETE_OP_AMP_VCO1(DPLAY_SIREN_SND, - 1, /* ENAB */ - NODE_30, /* VMOD1 */ + 1, /* ENAB */ + NODE_30, /* VMOD1 */ &dplay_siren_osc) /************************************************ - * Whistle - ************************************************/ + * Whistle + ************************************************/ DISCRETE_INTEGRATE(NODE_40, - DPLAY_WHISTLE_EN, /* TRG0 */ - 0 , /* TRG1 */ + DPLAY_WHISTLE_EN, /* TRG0 */ + 0 , /* TRG1 */ &dplay_whistle_integrate_info) DISCRETE_OP_AMP_VCO1(DPLAY_WHISTLE_SND, - 1, /* ENAB */ - NODE_40, /* VMOD1 */ + 1, /* ENAB */ + NODE_40, /* VMOD1 */ &dplay_whistle_osc) /************************************************ * Cheer - ************************************************/ /* Noise clock was + ************************************************/ /* Noise clock was breadboarded and measured at 7700Hz */ DISCRETE_LFSR_NOISE(DPLAY_NOISE, 1, 1, 7700, 12.0, 0, 12.0/2, &dplay_lfsr) @@ -1510,8 +1510,8 @@ static DISCRETE_SOUND_START(dplay) DISCRETE_OP_AMP_FILTER(DPLAY_CHEER_SND, 1, NODE_51, 0, DISC_OP_AMP_FILTER_IS_BAND_PASS_1M, &dplay_cheer_filter) /************************************************ - * Combine all sound sources. - ************************************************/ + * Combine all sound sources. + ************************************************/ DISCRETE_MIXER5(NODE_91, DPLAY_GAME_ON_EN, DPLAY_TONE_SND, DPLAY_SIREN_SND, DPLAY_WHISTLE_SND, DPLAY_CHEER_SND, MIDWAY_TONE_SND, &dplay_mixer) DISCRETE_OUTPUT(NODE_91, 1) @@ -1554,15 +1554,15 @@ WRITE8_MEMBER(mw8080bw_state::dplay_audio_w) static const char *const gmissile_sample_names[] = { "*gmissile", - "1", /* missle */ - "2", /* explosion */ + "1", /* missle */ + "2", /* explosion */ 0 }; static const samples_interface gmissile_samples_interface = { - 1, /* 1 channel */ + 1, /* 1 channel */ gmissile_sample_names }; @@ -1583,8 +1583,8 @@ MACHINE_CONFIG_END WRITE8_MEMBER(mw8080bw_state::gmissile_audio_1_w) { /* note that the schematics shows the left and right explosions - reversed (D5=R, D7=L), but the software confirms that - ours is right */ + reversed (D5=R, D7=L), but the software confirms that + ours is right */ UINT8 rising_bits = data & ~m_port_1_last; @@ -1650,15 +1650,15 @@ WRITE8_MEMBER(mw8080bw_state::gmissile_audio_3_w) static const char *const m4_sample_names[] = { "*m4", - "1", /* missle */ - "2", /* explosion */ + "1", /* missle */ + "2", /* explosion */ 0 }; static const samples_interface m4_samples_interface = { - 2, /* 2 channels */ + 2, /* 2 channels */ m4_sample_names }; @@ -1717,10 +1717,10 @@ WRITE8_MEMBER(mw8080bw_state::m4_audio_2_w) /* if (data & 0x08) enable RIGHT TANK MOTOR sound (goes to right speaker) */ /* if (data & 0x10) enable sound that is playing while the right plane is - flying. Circuit not named on schematics (goes to left speaker) */ + flying. Circuit not named on schematics (goes to left speaker) */ /* if (data & 0x20) enable sound that is playing while the left plane is - flying. Circuit not named on schematics (goes to right speaker) */ + flying. Circuit not named on schematics (goes to right speaker) */ /* D6 and D7 are not connected */ @@ -1756,25 +1756,25 @@ WRITE8_MEMBER(mw8080bw_state::m4_audio_2_w) static const discrete_op_amp_tvca_info clowns_pop_tvca_info = { - RES_M(2.7), /* r304 */ - RES_K(680), /* r303 */ + RES_M(2.7), /* r304 */ + RES_K(680), /* r303 */ 0, - RES_K(680), /* r305 */ - RES_K(1), /* j3 */ + RES_K(680), /* r305 */ + RES_K(1), /* j3 */ 0, - RES_K(470), /* r300 */ - RES_K(1), /* j3 */ - RES_K(510), /* r301 */ - RES_K(1), /* j3 */ - RES_K(680), /* r302 */ - CAP_U(.015), /* c300 */ - CAP_U(.1), /* c301 */ - CAP_U(.082), /* c302 */ - 0, /* no c4 */ - 5, /* v1 */ - 5, /* v2 */ - 5, /* v3 */ - 12, /* vP */ + RES_K(470), /* r300 */ + RES_K(1), /* j3 */ + RES_K(510), /* r301 */ + RES_K(1), /* j3 */ + RES_K(680), /* r302 */ + CAP_U(.015), /* c300 */ + CAP_U(.1), /* c301 */ + CAP_U(.082), /* c302 */ + 0, /* no c4 */ + 5, /* v1 */ + 5, /* v2 */ + 5, /* v3 */ + 12, /* vP */ DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, @@ -1787,36 +1787,36 @@ static const discrete_op_amp_tvca_info clowns_pop_tvca_info = static const discrete_op_amp_osc_info clowns_sb_hit_osc_info = { DISC_OP_AMP_OSCILLATOR_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, - RES_K(820), /* r200 */ - RES_K(33), /* r203 */ - RES_K(150), /* r201 */ - RES_K(240), /* r204 */ - RES_M(1), /* r202 */ + RES_K(820), /* r200 */ + RES_K(33), /* r203 */ + RES_K(150), /* r201 */ + RES_K(240), /* r204 */ + RES_M(1), /* r202 */ 0, 0, 0, - CAP_U(0.01), /* c200 */ + CAP_U(0.01), /* c200 */ 12 }; static const discrete_op_amp_tvca_info clowns_sb_hit_tvca_info = { - RES_M(2.7), /* r207 */ - RES_K(680), /* r205 */ + RES_M(2.7), /* r207 */ + RES_K(680), /* r205 */ 0, - RES_K(680), /* r208 */ - RES_K(1), /* j3 */ + RES_K(680), /* r208 */ + RES_K(1), /* j3 */ 0, - RES_K(680), /* r206 */ + RES_K(680), /* r206 */ 0,0,0,0, - CAP_U(1), /* c201 */ + CAP_U(1), /* c201 */ 0, 0, 0, - 5, /* v1 */ - 0, /* v2 */ - 0, /* v3 */ - 12, /* vP */ + 5, /* v1 */ + 0, /* v2 */ + 0, /* v3 */ + 12, /* vP */ DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, @@ -1830,17 +1830,17 @@ static const discrete_mixer_desc clowns_mixer = { DISC_MIXER_IS_OP_AMP, { RES_K(10), - RES_K(10), - RES_K(10) + 1.0 / (1.0 / RES_K(15) + 1.0 / RES_K(39)), - RES_K(1) }, + RES_K(10), + RES_K(10) + 1.0 / (1.0 / RES_K(15) + 1.0 / RES_K(39)), + RES_K(1) }, { 0, - 0, - 0, - CLOWNS_R507_POT }, + 0, + 0, + CLOWNS_R507_POT }, { 0, - CAP_U(0.022), - 0, - 0 }, + CAP_U(0.022), + 0, + 0 }, 0, RES_K(100), 0, @@ -1853,8 +1853,8 @@ static const discrete_mixer_desc clowns_mixer = static DISCRETE_SOUND_START(clowns) /************************************************ - * Input register mapping - ************************************************/ + * Input register mapping + ************************************************/ DISCRETE_INPUT_LOGIC(CLOWNS_POP_BOTTOM_EN) DISCRETE_INPUT_LOGIC(CLOWNS_POP_MIDDLE_EN) DISCRETE_INPUT_LOGIC(CLOWNS_POP_TOP_EN) @@ -1867,14 +1867,14 @@ static DISCRETE_SOUND_START(clowns) DISCRETE_ADJUSTMENT(CLOWNS_R507_POT, RES_M(1), 7000, DISC_LOGADJ, "R507") /************************************************ - * Tone generator - ************************************************/ + * Tone generator + ************************************************/ MIDWAY_TONE_GENERATOR(midway_music_tvca_info) /************************************************ - * Balloon hit sounds - * The LFSR is the same as boothill - ************************************************/ + * Balloon hit sounds + * The LFSR is the same as boothill + ************************************************/ /* Noise clock was breadboarded and measured at 7700Hz */ DISCRETE_LFSR_NOISE(CLOWNS_NOISE, 1, 1, 7700, 12.0, 0, 12.0/2, &midway_lfsr) @@ -1884,8 +1884,8 @@ static DISCRETE_SOUND_START(clowns) DISCRETE_GAIN(CLOWNS_POP_SND, NODE_32, RES_K(39)/(RES_K(15) + RES_K(39))) /************************************************ - * Springboard hit - ************************************************/ + * Springboard hit + ************************************************/ DISCRETE_OP_AMP_OSCILLATOR(NODE_40, 1, &clowns_sb_hit_osc_info) DISCRETE_OP_AMP_TRIG_VCA(NODE_41, CLOWNS_SPRINGBOARD_HIT_EN, 0, 0, NODE_40, 0, &clowns_sb_hit_tvca_info) /* The rest of the circuit is a filter. The frequency response was calculated with SPICE. */ @@ -1894,13 +1894,13 @@ static DISCRETE_SOUND_START(clowns) DISCRETE_GAIN(CLOWNS_SB_HIT_SND, NODE_42, 0.5) /************************************************ - * Springboard miss - INCOMPLETE - ************************************************/ + * Springboard miss - INCOMPLETE + ************************************************/ DISCRETE_CONSTANT(CLOWNS_SB_MISS_SND, 0) /* Placeholder for incomplete sound */ /************************************************ - * Combine all sound sources. - ************************************************/ + * Combine all sound sources. + ************************************************/ DISCRETE_MIXER4(NODE_91, 1, CLOWNS_SB_HIT_SND, CLOWNS_SB_MISS_SND, CLOWNS_POP_SND, MIDWAY_TONE_SND, &clowns_mixer) DISCRETE_OUTPUT(NODE_91, 11000) @@ -1916,7 +1916,7 @@ static const char *const clowns_sample_names[] = static const samples_interface clowns_samples_interface = { - 1, /* 1 channel */ + 1, /* 1 channel */ clowns_sample_names }; @@ -1976,7 +1976,7 @@ WRITE8_MEMBER(mw8080bw_state::clowns_audio_2_w) * *************************************/ - /* Discrete Sound Input Nodes */ + /* Discrete Sound Input Nodes */ #define SPACWALK_TARGET_HIT_BOTTOM_EN NODE_01 #define SPACWALK_TARGET_HIT_MIDDLE_EN NODE_02 #define SPACWALK_TARGET_HIT_TOP_EN NODE_03 @@ -1997,77 +1997,77 @@ WRITE8_MEMBER(mw8080bw_state::clowns_audio_2_w) #define SPACWALK_R507_POT NODE_19 /* Parts List - Resistors */ -#define SPACWALK_R200 RES_K(820) -#define SPACWALK_R201 RES_K(150) -#define SPACWALK_R202 RES_M(1) -#define SPACWALK_R203 RES_K(82) -#define SPACWALK_R204 RES_K(240) -#define SPACWALK_R205 RES_K(220) -#define SPACWALK_R206 RES_K(120) -#define SPACWALK_R207 RES_M(1) -#define SPACWALK_R208 RES_K(300) -#define SPACWALK_R210 RES_K(56) -#define SPACWALK_R211 RES_K(100) -#define SPACWALK_R213 RES_K(300) -#define SPACWALK_R214 RES_K(27) -#define SPACWALK_R215 RES_K(51) -#define SPACWALK_R216 RES_K(30) -#define SPACWALK_R300 RES_K(270) -#define SPACWALK_R301 RES_K(300) -#define SPACWALK_R302 RES_K(330) -#define SPACWALK_R303 RES_K(680) -#define SPACWALK_R304 RES_M(1) -#define SPACWALK_R305 RES_K(3680) -#define SPACWALK_R307 RES_K(20) -#define SPACWALK_R308 RES_K(20) /* not labeled but it's beside R307 */ -#define SPACWALK_R400 RES_K(1) -#define SPACWALK_R401 RES_K(200) -#define SPACWALK_R403 RES_K(51) -#define SPACWALK_R404 RES_K(220) -#define SPACWALK_R406 RES_M(1) -#define SPACWALK_R407 RES_K(820) -#define SPACWALK_R410 RES_K(47) -#define SPACWALK_R411 RES_K(300) -#define SPACWALK_R412 RES_K(330) -#define SPACWALK_R413 RES_M(1) -#define SPACWALK_R414 RES_M(1) -#define SPACWALK_R416 RES_M(4.7) -#define SPACWALK_R417 RES_K(10) -#define SPACWALK_R418 RES_K(100) -#define SPACWALK_R419 RES_K(2.7) -#define SPACWALK_R420 RES_K(20) -#define SPACWALK_R421 RES_K(11) -#define SPACWALK_R422 RES_K(75) -#define SPACWALK_R507 RES_M(1) -#define SPACWALK_RJ3 RES_K(1) +#define SPACWALK_R200 RES_K(820) +#define SPACWALK_R201 RES_K(150) +#define SPACWALK_R202 RES_M(1) +#define SPACWALK_R203 RES_K(82) +#define SPACWALK_R204 RES_K(240) +#define SPACWALK_R205 RES_K(220) +#define SPACWALK_R206 RES_K(120) +#define SPACWALK_R207 RES_M(1) +#define SPACWALK_R208 RES_K(300) +#define SPACWALK_R210 RES_K(56) +#define SPACWALK_R211 RES_K(100) +#define SPACWALK_R213 RES_K(300) +#define SPACWALK_R214 RES_K(27) +#define SPACWALK_R215 RES_K(51) +#define SPACWALK_R216 RES_K(30) +#define SPACWALK_R300 RES_K(270) +#define SPACWALK_R301 RES_K(300) +#define SPACWALK_R302 RES_K(330) +#define SPACWALK_R303 RES_K(680) +#define SPACWALK_R304 RES_M(1) +#define SPACWALK_R305 RES_K(3680) +#define SPACWALK_R307 RES_K(20) +#define SPACWALK_R308 RES_K(20) /* not labeled but it's beside R307 */ +#define SPACWALK_R400 RES_K(1) +#define SPACWALK_R401 RES_K(200) +#define SPACWALK_R403 RES_K(51) +#define SPACWALK_R404 RES_K(220) +#define SPACWALK_R406 RES_M(1) +#define SPACWALK_R407 RES_K(820) +#define SPACWALK_R410 RES_K(47) +#define SPACWALK_R411 RES_K(300) +#define SPACWALK_R412 RES_K(330) +#define SPACWALK_R413 RES_M(1) +#define SPACWALK_R414 RES_M(1) +#define SPACWALK_R416 RES_M(4.7) +#define SPACWALK_R417 RES_K(10) +#define SPACWALK_R418 RES_K(100) +#define SPACWALK_R419 RES_K(2.7) +#define SPACWALK_R420 RES_K(20) +#define SPACWALK_R421 RES_K(11) +#define SPACWALK_R422 RES_K(75) +#define SPACWALK_R507 RES_M(1) +#define SPACWALK_RJ3 RES_K(1) /* Parts List - Capacitors */ -#define SPACWALK_C200 CAP_U(0.0022) -#define SPACWALK_C201 CAP_U(3.3) -#define SPACWALK_C203 CAP_U(0.0033) -#define SPACWALK_C204 CAP_U(0.0033) -#define SPACWALK_C300 CAP_U(2.2) -#define SPACWALK_C301 CAP_U(2.2) -#define SPACWALK_C302 CAP_U(2.2) -#define SPACWALK_C303 CAP_U(0.0047) -#define SPACWALK_C304 CAP_U(0.0047) /* not labeled but it's beside C303 */ -#define SPACWALK_C401 CAP_U(1) -#define SPACWALK_C402 CAP_U(0.68) -#define SPACWALK_C403 CAP_U(0.0022) -#define SPACWALK_C451 CAP_U(0.001) -#define SPACWALK_C452 CAP_U(0.001) -#define SPACWALK_C453 CAP_U(0.001) -#define SPACWALK_C602 CAP_U(1) +#define SPACWALK_C200 CAP_U(0.0022) +#define SPACWALK_C201 CAP_U(3.3) +#define SPACWALK_C203 CAP_U(0.0033) +#define SPACWALK_C204 CAP_U(0.0033) +#define SPACWALK_C300 CAP_U(2.2) +#define SPACWALK_C301 CAP_U(2.2) +#define SPACWALK_C302 CAP_U(2.2) +#define SPACWALK_C303 CAP_U(0.0047) +#define SPACWALK_C304 CAP_U(0.0047) /* not labeled but it's beside C303 */ +#define SPACWALK_C401 CAP_U(1) +#define SPACWALK_C402 CAP_U(0.68) +#define SPACWALK_C403 CAP_U(0.0022) +#define SPACWALK_C451 CAP_U(0.001) +#define SPACWALK_C452 CAP_U(0.001) +#define SPACWALK_C453 CAP_U(0.001) +#define SPACWALK_C602 CAP_U(1) static const discrete_op_amp_tvca_info spacwalk_hit_tvca_info = { - SPACWALK_R304, SPACWALK_R303, 0, SPACWALK_R305, /* r1, r2, r3, r4 */ - SPACWALK_RJ3, 0, SPACWALK_R300, /* r5, r6, r7 */ - SPACWALK_RJ3, SPACWALK_R301, /* r8, r9 */ - SPACWALK_RJ3, SPACWALK_R302, /* r10, r11 */ - SPACWALK_C300, SPACWALK_C301, SPACWALK_C302, 0, /* c1, c2, c3, c4 */ - 5, 5, 5, 12, /* v1, v2, v3, vP */ + SPACWALK_R304, SPACWALK_R303, 0, SPACWALK_R305, /* r1, r2, r3, r4 */ + SPACWALK_RJ3, 0, SPACWALK_R300, /* r5, r6, r7 */ + SPACWALK_RJ3, SPACWALK_R301, /* r8, r9 */ + SPACWALK_RJ3, SPACWALK_R302, /* r10, r11 */ + SPACWALK_C300, SPACWALK_C301, SPACWALK_C302, 0, /* c1, c2, c3, c4 */ + 5, 5, 5, 12, /* v1, v2, v3, vP */ DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, @@ -2079,18 +2079,18 @@ static const discrete_op_amp_tvca_info spacwalk_hit_tvca_info = static const discrete_op_amp_osc_info spacwalk_sb_hit_vco = { DISC_OP_AMP_OSCILLATOR_VCO_3 | DISC_OP_AMP_IS_NORTON, - RES_K(330 + 150 + 30), SPACWALK_R203, SPACWALK_R201, SPACWALK_R204, /* r1, r2, r3, r4 */ - SPACWALK_R202, 0, SPACWALK_R200, 0, /* r5, r6, r7, r8*/ - SPACWALK_C200, 12 /* c, vP*/ + RES_K(330 + 150 + 30), SPACWALK_R203, SPACWALK_R201, SPACWALK_R204, /* r1, r2, r3, r4 */ + SPACWALK_R202, 0, SPACWALK_R200, 0, /* r5, r6, r7, r8*/ + SPACWALK_C200, 12 /* c, vP*/ }; static const discrete_op_amp_tvca_info spacwalk_sb_hit_tvca_info = { - SPACWALK_R207, SPACWALK_R205, 0, SPACWALK_R208, /* r1, r2, r3, r4 */ - SPACWALK_RJ3, 0, SPACWALK_R206, /* r5, r6, r7 */ - 0, 0, 0, 0 , /* r8, r9, r10, r11 */ - SPACWALK_C201, 0, 0, 0, /* c1, c2, c3, c4 */ - 5, 0, 0, 12, /* v1, v2, v3, vP */ + SPACWALK_R207, SPACWALK_R205, 0, SPACWALK_R208, /* r1, r2, r3, r4 */ + SPACWALK_RJ3, 0, SPACWALK_R206, /* r5, r6, r7 */ + 0, 0, 0, 0 , /* r8, r9, r10, r11 */ + SPACWALK_C201, 0, 0, 0, /* c1, c2, c3, c4 */ + 5, 0, 0, 12, /* v1, v2, v3, vP */ DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, @@ -2102,54 +2102,54 @@ static const discrete_op_amp_tvca_info spacwalk_sb_hit_tvca_info = static const discrete_integrate_info spacwalk_sb_miss_integrate = { DISC_INTEGRATE_OP_AMP_1 | DISC_OP_AMP_IS_NORTON, - SPACWALK_R406, SPACWALK_R401, 0, SPACWALK_C402, /* r1, r2, r3, c */ - 12, 12, /* v1, vP */ - 0, 0, 0 /* f0, f1, f2 */ + SPACWALK_R406, SPACWALK_R401, 0, SPACWALK_C402, /* r1, r2, r3, c */ + 12, 12, /* v1, vP */ + 0, 0, 0 /* f0, f1, f2 */ }; static const discrete_op_amp_osc_info spacwalk_sb_miss_vco = { DISC_OP_AMP_OSCILLATOR_VCO_3 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, - SPACWALK_R407, SPACWALK_R412, SPACWALK_R410, SPACWALK_R411, SPACWALK_R413, 0, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ - SPACWALK_C403, 12 /* c, vP */ + SPACWALK_R407, SPACWALK_R412, SPACWALK_R410, SPACWALK_R411, SPACWALK_R413, 0, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ + SPACWALK_C403, 12 /* c, vP */ }; static const discrete_op_amp_filt_info spacwalk_sb_miss_filter = { /* we use r1, not r2 because vref is taken into acount by the CRFILTER */ - SPACWALK_R417, 0, SPACWALK_R414, 0, SPACWALK_R416, /* r1, r2, r3, r4, rF */ - SPACWALK_C451, SPACWALK_C452, 0, /* c1, c2, c3 */ - 0, 12, 0 /* vRef, vP, vN */ + SPACWALK_R417, 0, SPACWALK_R414, 0, SPACWALK_R416, /* r1, r2, r3, r4, rF */ + SPACWALK_C451, SPACWALK_C452, 0, /* c1, c2, c3 */ + 0, 12, 0 /* vRef, vP, vN */ }; static const discrete_op_amp_info spacwalk_sb_miss_amp = { DISC_OP_AMP_IS_NORTON, - SPACWALK_R418, SPACWALK_R404, 0, SPACWALK_R403, /* r1, r2, r3, r4 */ - 0, /* c */ - 0, 12, /* vN, vP */ + SPACWALK_R418, SPACWALK_R404, 0, SPACWALK_R403, /* r1, r2, r3, r4 */ + 0, /* c */ + 0, 12, /* vN, vP */ }; static const discrete_op_amp_osc_info spacwalk_spaceship_osc = { DISC_OP_AMP_OSCILLATOR_2 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_CAP, - RES_K(75), RES_M(1), RES_M(6.8), RES_M(2.4), 0, 0, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ - CAP_U(2.2), 12 /* c, vP */ + RES_K(75), RES_M(1), RES_M(6.8), RES_M(2.4), 0, 0, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ + CAP_U(2.2), 12 /* c, vP */ }; static const discrete_op_amp_osc_info spacwalk_spaceship_vco = { DISC_OP_AMP_OSCILLATOR_VCO_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_CAP, - RES_K(680), RES_K(300), RES_K(100), RES_K(150), RES_K(120), 0, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ - CAP_U(0.0012), 12 /* c, vP */ + RES_K(680), RES_K(300), RES_K(100), RES_K(150), RES_K(120), 0, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ + CAP_U(0.0012), 12 /* c, vP */ }; static const discrete_mixer_desc spacwalk_mixer = { DISC_MIXER_IS_RESISTOR, {SPACWALK_R422, SPACWALK_R422, RES_K(39 + 10 + 1), SPACWALK_R421, SPACWALK_R420, SPACWALK_R419}, - {0, 0, 0, 0, 0, SPACWALK_R507_POT}, /* r_nodes */ - {0}, 0, 0, 0, SPACWALK_C602, 0, 1 /* c, rI, rF, cF, cAmp, vRef, gain */ + {0, 0, 0, 0, 0, SPACWALK_R507_POT}, /* r_nodes */ + {0}, 0, 0, 0, SPACWALK_C602, 0, 1 /* c, rI, rF, cF, cAmp, vRef, gain */ }; @@ -2158,35 +2158,35 @@ static const discrete_mixer_desc spacwalk_mixer = ************************************************/ #define SPACWALK_SPRINGBOARD_HIT_CIRCUIT(_num) \ DISCRETE_RCFILTER(NODE_RELATIVE(NODE_29, _num), \ - SPACWALK_NOISE, /* IN0 */ \ + SPACWALK_NOISE, /* IN0 */ \ RES_K(330), CAP_U(.1)) \ DISCRETE_RCFILTER(NODE_RELATIVE(NODE_31, _num), \ - NODE_RELATIVE(NODE_29, _num), /* IN0 */ \ + NODE_RELATIVE(NODE_29, _num), /* IN0 */ \ RES_K(330) + RES_K(150), CAP_U(.1)) \ -DISCRETE_OP_AMP_VCO1(NODE_RELATIVE(NODE_33, _num), /* IC M2-3, pin 5 */ \ - 1, /* ENAB */ \ - NODE_RELATIVE(NODE_31, _num), /* VMOD1 */ \ +DISCRETE_OP_AMP_VCO1(NODE_RELATIVE(NODE_33, _num), /* IC M2-3, pin 5 */ \ + 1, /* ENAB */ \ + NODE_RELATIVE(NODE_31, _num), /* VMOD1 */ \ &spacwalk_sb_hit_vco) \ -DISCRETE_OP_AMP_TRIG_VCA(NODE_RELATIVE(NODE_35, _num), /* IC M2-3, pin 9 */ \ - NODE_RELATIVE(SPACWALK_SPRINGBOARD_HIT1_EN, _num - 1), 0, 0, /* TRG0, TRG1, TRG2 */ \ - NODE_RELATIVE(NODE_33, _num), 0, /* IN0, IN1 */ \ +DISCRETE_OP_AMP_TRIG_VCA(NODE_RELATIVE(NODE_35, _num), /* IC M2-3, pin 9 */ \ + NODE_RELATIVE(SPACWALK_SPRINGBOARD_HIT1_EN, _num - 1), 0, 0, /* TRG0, TRG1, TRG2 */ \ + NODE_RELATIVE(NODE_33, _num), 0, /* IN0, IN1 */ \ &spacwalk_sb_hit_tvca_info) \ /* Wrong values. Untested */ \ /* The rest of the circuit is a filter. */ \ DISCRETE_FILTER2(NODE_RELATIVE(NODE_37, _num), \ - 1, /* ENAB */ \ - NODE_RELATIVE(NODE_35, _num), /* INP0 */ \ - 2000.0 - _num * 500, 1.0/.8, /* FREQ, DAMP */ \ + 1, /* ENAB */ \ + NODE_RELATIVE(NODE_35, _num), /* INP0 */ \ + 2000.0 - _num * 500, 1.0/.8, /* FREQ, DAMP */ \ DISC_FILTER_LOWPASS) \ /* The filter has a gain of 0.5 */ \ DISCRETE_GAIN(NODE_RELATIVE(SPACWALK_SPRINGBOARD_HIT1_SND, _num - 1), \ NODE_RELATIVE(NODE_37, _num), 0.5) - static DISCRETE_SOUND_START(spacwalk) + static DISCRETE_SOUND_START(spacwalk) /************************************************ - * Input register mapping - ************************************************/ + * Input register mapping + ************************************************/ DISCRETE_INPUT_LOGIC(SPACWALK_TARGET_HIT_BOTTOM_EN) DISCRETE_INPUT_LOGIC(SPACWALK_TARGET_HIT_MIDDLE_EN) DISCRETE_INPUT_LOGIC(SPACWALK_TARGET_HIT_TOP_EN) @@ -2201,87 +2201,87 @@ DISCRETE_GAIN(NODE_RELATIVE(SPACWALK_SPRINGBOARD_HIT1_SND, _num - 1), DISCRETE_ADJUSTMENT(SPACWALK_R507_POT, SPACWALK_R507, 7000, DISC_LOGADJ, "R507") /************************************************ - * Tone generator - ************************************************/ + * Tone generator + ************************************************/ MIDWAY_TONE_GENERATOR(midway_music_tvca_info) /************************************************ - * Target hit sounds - * The LFSR is the same as boothill - ************************************************/ + * Target hit sounds + * The LFSR is the same as boothill + ************************************************/ /* Noise clock was breadboarded and measured at 7700Hz */ - DISCRETE_LFSR_NOISE(SPACWALK_NOISE, /* IC L4, pin 10 */ - 1, 1, /* ENAB, RESET */ - 7700, 12.0, 0, 12.0/2, &midway_lfsr) /* CLK,AMPL,FEED,BIAS,LFSRTB */ + DISCRETE_LFSR_NOISE(SPACWALK_NOISE, /* IC L4, pin 10 */ + 1, 1, /* ENAB, RESET */ + 7700, 12.0, 0, 12.0/2, &midway_lfsr) /* CLK,AMPL,FEED,BIAS,LFSRTB */ - DISCRETE_OP_AMP_TRIG_VCA(NODE_20, /* IC K3, pin 9 */ + DISCRETE_OP_AMP_TRIG_VCA(NODE_20, /* IC K3, pin 9 */ SPACWALK_TARGET_HIT_TOP_EN, SPACWALK_TARGET_HIT_MIDDLE_EN, SPACWALK_TARGET_HIT_BOTTOM_EN, - SPACWALK_NOISE, 0, /* IN0, IN1 */ + SPACWALK_NOISE, 0, /* IN0, IN1 */ &spacwalk_hit_tvca_info) DISCRETE_RCFILTER(NODE_21, - NODE_20, /* IN0 */ + NODE_20, /* IN0 */ SPACWALK_R307, SPACWALK_C303) DISCRETE_RCFILTER(SPACWALK_TARGET_HIT_SND, - NODE_21, /* IN0 */ + NODE_21, /* IN0 */ SPACWALK_R307 + SPACWALK_R308, SPACWALK_C304) /************************************************ - * Springboard hit sounds - ************************************************/ + * Springboard hit sounds + ************************************************/ /* Nodes 30 - 40 */ SPACWALK_SPRINGBOARD_HIT_CIRCUIT(1) SPACWALK_SPRINGBOARD_HIT_CIRCUIT(2) /************************************************ - * Springboard miss sound - ************************************************/ - DISCRETE_RCDISC2(NODE_50, /* voltage on C401 */ - SPACWALK_SPRINGBOARD_MISS_EN, /* SWITCH */ - OP_AMP_NORTON_VBE, RES_2_PARALLEL(SPACWALK_R401, SPACWALK_R407), /* INP0,RVAL0 */ - 12.0 - .5, SPACWALK_R400, /* INP1,RVAL1 */ + * Springboard miss sound + ************************************************/ + DISCRETE_RCDISC2(NODE_50, /* voltage on C401 */ + SPACWALK_SPRINGBOARD_MISS_EN, /* SWITCH */ + OP_AMP_NORTON_VBE, RES_2_PARALLEL(SPACWALK_R401, SPACWALK_R407), /* INP0,RVAL0 */ + 12.0 - .5, SPACWALK_R400, /* INP1,RVAL1 */ SPACWALK_C401) - DISCRETE_INTEGRATE(NODE_51, /* IC K4, pin 9 */ - NODE_50, 0, /* TRG0,TRG1*/ + DISCRETE_INTEGRATE(NODE_51, /* IC K4, pin 9 */ + NODE_50, 0, /* TRG0,TRG1*/ &spacwalk_sb_miss_integrate) - DISCRETE_OP_AMP_VCO1(NODE_52, /* IC K4, pin 5 */ - 1, /* ENAB */ - NODE_50, /* VMOD1 */ + DISCRETE_OP_AMP_VCO1(NODE_52, /* IC K4, pin 5 */ + 1, /* ENAB */ + NODE_50, /* VMOD1 */ &spacwalk_sb_miss_vco) DISCRETE_CRFILTER(NODE_53, - NODE_52, /* IN0 */ + NODE_52, /* IN0 */ SPACWALK_R417, SPACWALK_C453) /* this filter type probably does not work right. I need to test it. */ - DISCRETE_OP_AMP_FILTER(NODE_54, /* IC K3, pin 5 */ - 1, /* ENAB */ - NODE_53, 0, /* INP0,INP1 */ + DISCRETE_OP_AMP_FILTER(NODE_54, /* IC K3, pin 5 */ + 1, /* ENAB */ + NODE_53, 0, /* INP0,INP1 */ DISC_OP_AMP_FILTER_IS_BAND_PASS_1M | DISC_OP_AMP_IS_NORTON, &spacwalk_sb_miss_filter) - DISCRETE_OP_AMP(SPACWALK_SPRINGBOARD_MISS_SND, /* IC K4, pin 10 */ - 1, /* ENAB */ - NODE_54, NODE_51, /* IN0,IN1 */ + DISCRETE_OP_AMP(SPACWALK_SPRINGBOARD_MISS_SND, /* IC K4, pin 10 */ + 1, /* ENAB */ + NODE_54, NODE_51, /* IN0,IN1 */ &spacwalk_sb_miss_amp) /************************************************ - * Space ship sound - ************************************************/ - DISCRETE_OP_AMP_OSCILLATOR(NODE_60, /* voltage on 2.2uF cap near IC JK-2 */ - 1, /* ENAB */ + * Space ship sound + ************************************************/ + DISCRETE_OP_AMP_OSCILLATOR(NODE_60, /* voltage on 2.2uF cap near IC JK-2 */ + 1, /* ENAB */ &spacwalk_spaceship_osc) - DISCRETE_OP_AMP_VCO1(NODE_61, /* IC JK-2, pin 5 */ - SPACWALK_SPACE_SHIP_EN, /* ENAB */ - NODE_60, /* VMOD1*/ + DISCRETE_OP_AMP_VCO1(NODE_61, /* IC JK-2, pin 5 */ + SPACWALK_SPACE_SHIP_EN, /* ENAB */ + NODE_60, /* VMOD1*/ &spacwalk_spaceship_vco) DISCRETE_RCFILTER(NODE_62, - NODE_61, /* IN0 */ + NODE_61, /* IN0 */ RES_K(1), CAP_U(0.15)) DISCRETE_RCFILTER(SPACWALK_SPACE_SHIP_SND, - NODE_62, /* IN0 */ + NODE_62, /* IN0 */ RES_K(1) + RES_K(10), CAP_U(0.015)) /************************************************ - * Combine all sound sources. - ************************************************/ + * Combine all sound sources. + ************************************************/ DISCRETE_MIXER6(NODE_90, - 1, /* ENAB */ + 1, /* ENAB */ SPACWALK_SPRINGBOARD_HIT1_SND, SPACWALK_SPRINGBOARD_HIT2_SND, SPACWALK_SPACE_SHIP_SND, @@ -2337,7 +2337,7 @@ WRITE8_MEMBER(mw8080bw_state::spacwalk_audio_2_w) * *************************************/ - /* Discrete Sound Input Nodes */ + /* Discrete Sound Input Nodes */ #define SHUFFLE_ROLLING_1_EN NODE_01 #define SHUFFLE_ROLLING_2_EN NODE_02 #define SHUFFLE_ROLLING_3_EN NODE_03 @@ -2353,99 +2353,99 @@ WRITE8_MEMBER(mw8080bw_state::spacwalk_audio_2_w) #define SHUFFLE_CLICK_SND NODE_14 /* Parts List - Resistors */ -#define SHUFFLE_R300 RES_K(33) -#define SHUFFLE_R400 RES_K(200) -#define SHUFFLE_R401 RES_K(3) -#define SHUFFLE_R402 RES_K(5.6) -#define SHUFFLE_R403 RES_K(5.6) -#define SHUFFLE_R404 RES_M(1) -#define SHUFFLE_R406 RES_K(300) -#define SHUFFLE_R407 RES_K(680) -#define SHUFFLE_R408 RES_K(680) -#define SHUFFLE_R409 RES_K(680) -#define SHUFFLE_R410 RES_K(680) -#define SHUFFLE_R411 RES_K(680) -#define SHUFFLE_R412 RES_M(2.7) -#define SHUFFLE_R500 RES_K(300) -#define SHUFFLE_R503 RES_M(2.7) -#define SHUFFLE_R504 RES_K(680) -#define SHUFFLE_R505 RES_K(680) -#define SHUFFLE_R506 RES_K(100) -#define SHUFFLE_R507 RES_K(47) -#define SHUFFLE_R508 RES_K(47) -#define SHUFFLE_R509 RES_K(100) -#define SHUFFLE_R511 RES_M(2) -#define SHUFFLE_R512 RES_M(5.6) -#define SHUFFLE_R513 RES_K(680) -#define SHUFFLE_R514 RES_M(1.5) -#define SHUFFLE_R515 RES_M(1) -#define SHUFFLE_R516 RES_K(510) +#define SHUFFLE_R300 RES_K(33) +#define SHUFFLE_R400 RES_K(200) +#define SHUFFLE_R401 RES_K(3) +#define SHUFFLE_R402 RES_K(5.6) +#define SHUFFLE_R403 RES_K(5.6) +#define SHUFFLE_R404 RES_M(1) +#define SHUFFLE_R406 RES_K(300) +#define SHUFFLE_R407 RES_K(680) +#define SHUFFLE_R408 RES_K(680) +#define SHUFFLE_R409 RES_K(680) +#define SHUFFLE_R410 RES_K(680) +#define SHUFFLE_R411 RES_K(680) +#define SHUFFLE_R412 RES_M(2.7) +#define SHUFFLE_R500 RES_K(300) +#define SHUFFLE_R503 RES_M(2.7) +#define SHUFFLE_R504 RES_K(680) +#define SHUFFLE_R505 RES_K(680) +#define SHUFFLE_R506 RES_K(100) +#define SHUFFLE_R507 RES_K(47) +#define SHUFFLE_R508 RES_K(47) +#define SHUFFLE_R509 RES_K(100) +#define SHUFFLE_R511 RES_M(2) +#define SHUFFLE_R512 RES_M(5.6) +#define SHUFFLE_R513 RES_K(680) +#define SHUFFLE_R514 RES_M(1.5) +#define SHUFFLE_R515 RES_M(1) +#define SHUFFLE_R516 RES_K(510) /* Parts List - Capacitors */ -#define SHUFFLE_C300 CAP_U(0.1) -#define SHUFFLE_C400 CAP_U(0.1) -#define SHUFFLE_C401 CAP_U(1) -#define SHUFFLE_C402 CAP_U(1) -#define SHUFFLE_C403 CAP_U(1) -#define SHUFFLE_C404 CAP_U(0.1) -#define SHUFFLE_C405 CAP_U(0.1) -#define SHUFFLE_C500 CAP_U(0.1) -#define SHUFFLE_C503 CAP_U(0.0022) -#define SHUFFLE_C504 CAP_U(0.0022) -#define SHUFFLE_C505 CAP_U(0.33) -#define SHUFFLE_C506 CAP_U(1) -#define SHUFFLE_C507 CAP_U(1) -#define SHUFFLE_C508 CAP_U(1) +#define SHUFFLE_C300 CAP_U(0.1) +#define SHUFFLE_C400 CAP_U(0.1) +#define SHUFFLE_C401 CAP_U(1) +#define SHUFFLE_C402 CAP_U(1) +#define SHUFFLE_C403 CAP_U(1) +#define SHUFFLE_C404 CAP_U(0.1) +#define SHUFFLE_C405 CAP_U(0.1) +#define SHUFFLE_C500 CAP_U(0.1) +#define SHUFFLE_C503 CAP_U(0.0022) +#define SHUFFLE_C504 CAP_U(0.0022) +#define SHUFFLE_C505 CAP_U(0.33) +#define SHUFFLE_C506 CAP_U(1) +#define SHUFFLE_C507 CAP_U(1) +#define SHUFFLE_C508 CAP_U(1) static const discrete_op_amp_tvca_info shuffle_rolling_tvca = { - SHUFFLE_R512, 0, 0, SHUFFLE_R511, /* r1, r2, r3, r4 */ - RES_K(10), 0, SHUFFLE_R516, /* r5, r6, r7 */ - RES_K(10), SHUFFLE_R515, /* r8, r9 */ - RES_K(10), SHUFFLE_R514, /* r10, r11 */ - SHUFFLE_C508, SHUFFLE_C507, SHUFFLE_C506, SHUFFLE_C505, /* c1, c2, c3, c4 */ - 12, 12, 12, 12, /* v1, v2, v3, vP */ - 0, 0, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, 0, /* f0, f1, f2, f3 */ - DISC_OP_AMP_TRIGGER_FUNCTION_TRG1, /* f4 */ - DISC_OP_AMP_TRIGGER_FUNCTION_TRG2 /* f5 */ + SHUFFLE_R512, 0, 0, SHUFFLE_R511, /* r1, r2, r3, r4 */ + RES_K(10), 0, SHUFFLE_R516, /* r5, r6, r7 */ + RES_K(10), SHUFFLE_R515, /* r8, r9 */ + RES_K(10), SHUFFLE_R514, /* r10, r11 */ + SHUFFLE_C508, SHUFFLE_C507, SHUFFLE_C506, SHUFFLE_C505, /* c1, c2, c3, c4 */ + 12, 12, 12, 12, /* v1, v2, v3, vP */ + 0, 0, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, 0, /* f0, f1, f2, f3 */ + DISC_OP_AMP_TRIGGER_FUNCTION_TRG1, /* f4 */ + DISC_OP_AMP_TRIGGER_FUNCTION_TRG2 /* f5 */ }; static const discrete_op_amp_info shuffle_rolling_amp = { DISC_OP_AMP_IS_NORTON, - SHUFFLE_R513, SHUFFLE_R505, SHUFFLE_R503, SHUFFLE_R504, /* r1, r2, r3, r4 */ - 0, /* c */ - 0, 12, /* vN, vP */ + SHUFFLE_R513, SHUFFLE_R505, SHUFFLE_R503, SHUFFLE_R504, /* r1, r2, r3, r4 */ + 0, /* c */ + 0, 12, /* vN, vP */ }; static const discrete_op_amp_tvca_info shuffle_foul_tvca = { - SHUFFLE_R412, SHUFFLE_R411, 0, SHUFFLE_R408, /* r1, r2, r3, r4 */ - RES_K(1), 0, SHUFFLE_R406, /* r5, r6, r7 */ - 0, 0, 0, 0, /* r8, r9, r10, r11 */ - SHUFFLE_C404, 0, 0, 0, /* c1, c2, c3, c4 */ - 5, 0, 0, 12, /* v1, v2, v3, vP */ - 0, 0, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, 0, 0, 0 /* f0, f1, f2, f3, f4, f5 */ + SHUFFLE_R412, SHUFFLE_R411, 0, SHUFFLE_R408, /* r1, r2, r3, r4 */ + RES_K(1), 0, SHUFFLE_R406, /* r5, r6, r7 */ + 0, 0, 0, 0, /* r8, r9, r10, r11 */ + SHUFFLE_C404, 0, 0, 0, /* c1, c2, c3, c4 */ + 5, 0, 0, 12, /* v1, v2, v3, vP */ + 0, 0, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, 0, 0, 0 /* f0, f1, f2, f3, f4, f5 */ }; static const discrete_op_amp_tvca_info shuffle_rollover_tvca = { - SHUFFLE_R404, SHUFFLE_R410, 0, SHUFFLE_R407, /* r1, r2, r3, r4 */ - RES_K(10), 0, SHUFFLE_R409, /* r5, r6, r7 */ - 0, 0, 0, 0, /* r8, r9, r10, r11 */ - SHUFFLE_C405, 0, 0, 0, /* c1, c2, c3, c4 */ - 12, 0, 0, 12, /* v1, v2, v3, vP */ - 0, 0, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, 0, 0, 0 /* f0, f1, f2, f3, f4, f5 */ + SHUFFLE_R404, SHUFFLE_R410, 0, SHUFFLE_R407, /* r1, r2, r3, r4 */ + RES_K(10), 0, SHUFFLE_R409, /* r5, r6, r7 */ + 0, 0, 0, 0, /* r8, r9, r10, r11 */ + SHUFFLE_C405, 0, 0, 0, /* c1, c2, c3, c4 */ + 12, 0, 0, 12, /* v1, v2, v3, vP */ + 0, 0, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, 0, 0, 0 /* f0, f1, f2, f3, f4, f5 */ }; static const discrete_mixer_desc shuffle_mixer = { DISC_MIXER_IS_RESISTOR, {SHUFFLE_R500, SHUFFLE_R400, SHUFFLE_R403 + SHUFFLE_R402 + SHUFFLE_R401, SHUFFLE_R300}, - {0}, /* r_nodes */ + {0}, /* r_nodes */ {SHUFFLE_C500, SHUFFLE_C400, SHUFFLE_C401, SHUFFLE_C300}, - 0, 0, 0, 0, 0 ,1 /* rI, rF, cF, cAmp, vRef, gain */ + 0, 0, 0, 0, 0 ,1 /* rI, rF, cF, cAmp, vRef, gain */ }; @@ -2458,61 +2458,61 @@ static DISCRETE_SOUND_START(shuffle) DISCRETE_INPUTX_LOGIC(SHUFFLE_CLICK_EN, 11.5, 0, 0) /* Noise clock was breadboarded and measured at 1210Hz */ - DISCRETE_LFSR_NOISE(SHUFFLE_NOISE, /* IC N5, pin 10 */ - 1, 1, /* ENAB, RESET */ - 1210, 12.0, 0, 12.0 / 2, &midway_lfsr) /* CLK,AMPL,FEED,BIAS,LFSRTB */ + DISCRETE_LFSR_NOISE(SHUFFLE_NOISE, /* IC N5, pin 10 */ + 1, 1, /* ENAB, RESET */ + 1210, 12.0, 0, 12.0 / 2, &midway_lfsr) /* CLK,AMPL,FEED,BIAS,LFSRTB */ /************************************************ - * Shuffle rolling - ************************************************/ - DISCRETE_OP_AMP_TRIG_VCA(NODE_20, /* IC P3-4, pin 5 */ - SHUFFLE_ROLLING_1_EN, SHUFFLE_ROLLING_2_EN, SHUFFLE_ROLLING_3_EN, /* TRG0,TRG1,TRG2 */ - 0, 0, /*IN0,IN1 */ + * Shuffle rolling + ************************************************/ + DISCRETE_OP_AMP_TRIG_VCA(NODE_20, /* IC P3-4, pin 5 */ + SHUFFLE_ROLLING_1_EN, SHUFFLE_ROLLING_2_EN, SHUFFLE_ROLLING_3_EN, /* TRG0,TRG1,TRG2 */ + 0, 0, /*IN0,IN1 */ &shuffle_rolling_tvca) - DISCRETE_OP_AMP(NODE_21, /* IC P3-4, pin 4 */ - 1, /* ENAB */ - SHUFFLE_NOISE, NODE_20, /* IN0,IN1 */ + DISCRETE_OP_AMP(NODE_21, /* IC P3-4, pin 4 */ + 1, /* ENAB */ + SHUFFLE_NOISE, NODE_20, /* IN0,IN1 */ &shuffle_rolling_amp) /* filter not accurate */ DISCRETE_FILTER1(NODE_22, 1, NODE_21, 800, DISC_FILTER_LOWPASS) DISCRETE_GAIN(SHUFFLE_ROLLING_SND, NODE_22, .2) /************************************************ - * Foul - ************************************************/ - DISCRETE_SQUAREWFIX(NODE_30, /* Connected to edge connector V - 120Hz */ - 1, 120, DEFAULT_TTL_V_LOGIC_1, 50, DEFAULT_TTL_V_LOGIC_1 / 2, 0) /* ENAB,FREQ,AMP,DUTY,BIAS,PHASE */ - DISCRETE_OP_AMP_TRIG_VCA(SHUFFLE_FOUL_SND, /* IC M3-4, pin 5 */ - SHUFFLE_FOUL_EN, 0, 0, /* TRG0,TRG1,TRG2 */ - NODE_30, 0, /*IN0,IN1 */ + * Foul + ************************************************/ + DISCRETE_SQUAREWFIX(NODE_30, /* Connected to edge connector V - 120Hz */ + 1, 120, DEFAULT_TTL_V_LOGIC_1, 50, DEFAULT_TTL_V_LOGIC_1 / 2, 0) /* ENAB,FREQ,AMP,DUTY,BIAS,PHASE */ + DISCRETE_OP_AMP_TRIG_VCA(SHUFFLE_FOUL_SND, /* IC M3-4, pin 5 */ + SHUFFLE_FOUL_EN, 0, 0, /* TRG0,TRG1,TRG2 */ + NODE_30, 0, /*IN0,IN1 */ &shuffle_foul_tvca) /************************************************ - * Shuffle rollover - ************************************************/ - DISCRETE_OP_AMP_TRIG_VCA(NODE_40, /* IC M3-4, pin 4 */ - SHUFFLE_ROLLOVER_EN, 0, 0, /* TRG0,TRG1,TRG2 */ - SHUFFLE_NOISE, 0, /*IN0,IN1 */ + * Shuffle rollover + ************************************************/ + DISCRETE_OP_AMP_TRIG_VCA(NODE_40, /* IC M3-4, pin 4 */ + SHUFFLE_ROLLOVER_EN, 0, 0, /* TRG0,TRG1,TRG2 */ + SHUFFLE_NOISE, 0, /*IN0,IN1 */ &shuffle_rollover_tvca) DISCRETE_RCFILTER(NODE_41, - NODE_40, /* IN0 */ + NODE_40, /* IN0 */ SHUFFLE_R403, SHUFFLE_C403) DISCRETE_RCFILTER(SHUFFLE_ROLLOVER_SND, - NODE_41, /* IN0 */ + NODE_41, /* IN0 */ SHUFFLE_R403 + SHUFFLE_R402, SHUFFLE_C402) /************************************************ - * Click - ************************************************/ + * Click + ************************************************/ /* filter not accurate */ DISCRETE_FILTER1(NODE_50, 1, SHUFFLE_CLICK_EN, 300, DISC_FILTER_LOWPASS) DISCRETE_GAIN(SHUFFLE_CLICK_SND, NODE_50, .3) /************************************************ - * Combine all sound sources. - ************************************************/ + * Combine all sound sources. + ************************************************/ DISCRETE_MIXER4(NODE_90, - 1, /* ENAB */ + 1, /* ENAB */ SHUFFLE_ROLLING_SND, SHUFFLE_FOUL_SND, SHUFFLE_ROLLOVER_SND, @@ -2618,7 +2618,7 @@ static const discrete_mixer_desc dogpatch_l_mixer = { DISC_MIXER_IS_OP_AMP, { RES_K(12) + RES_K(68) + RES_K(33), - RES_K(33) }, + RES_K(33) }, { 0 }, { 0 }, 0, @@ -2626,7 +2626,7 @@ static const discrete_mixer_desc dogpatch_l_mixer = 0, CAP_U(0.1), 0, - 1 /* final gain */ + 1 /* final gain */ }; @@ -2634,8 +2634,8 @@ static const discrete_mixer_desc dogpatch_r_mixer = { DISC_MIXER_IS_OP_AMP, { RES_K(12) + RES_K(68) + RES_K(33), - RES_K(33), - RES_K(510) + RES_K(33) }, + RES_K(33), + RES_K(510) + RES_K(33) }, { 0 }, { 0 }, 0, @@ -2643,30 +2643,30 @@ static const discrete_mixer_desc dogpatch_r_mixer = 0, CAP_U(0.1), 0, - 1 /* final gain */ + 1 /* final gain */ }; static DISCRETE_SOUND_START(dogpatch) /************************************************ - * Input register mapping - ************************************************/ + * Input register mapping + ************************************************/ DISCRETE_INPUT_LOGIC(DOGPATCH_GAME_ON_EN) DISCRETE_INPUT_LOGIC(DOGPATCH_LEFT_SHOT_EN) DISCRETE_INPUT_LOGIC(DOGPATCH_RIGHT_SHOT_EN) DISCRETE_INPUT_LOGIC(DOGPATCH_HIT_EN) /************************************************ - * Tone generator - ************************************************/ + * Tone generator + ************************************************/ MIDWAY_TONE_GENERATOR(midway_music_tvca_info) /* Noise clock was breadboarded and measured at 7700Hz */ DISCRETE_LFSR_NOISE(DOGPATCH_NOISE, 1, 1, 7700, 12.0, 0, 12.0/2, &midway_lfsr) /************************************************ - * Shot sounds - ************************************************/ + * Shot sounds + ************************************************/ DISCRETE_OP_AMP_TRIG_VCA(NODE_20, DOGPATCH_LEFT_SHOT_EN, 0, 0, DOGPATCH_NOISE, 0, &dogpatch_shot_tvca_info) DISCRETE_RCFILTER(NODE_21, NODE_20, RES_K(12), CAP_U(.01)) DISCRETE_RCFILTER(DOGPATCH_L_SHOT_SND, NODE_21, RES_K(12) + RES_K(68), CAP_U(.0022)) @@ -2676,19 +2676,19 @@ static DISCRETE_SOUND_START(dogpatch) DISCRETE_RCFILTER(DOGPATCH_R_SHOT_SND, NODE_31, RES_K(12) + RES_K(68), CAP_U(.0033)) /************************************************ - * Target hit sounds - ************************************************/ + * Target hit sounds + ************************************************/ DISCRETE_CONSTANT(DOGPATCH_L_HIT_SND, 0) DISCRETE_CONSTANT(DOGPATCH_R_HIT_SND, 0) /************************************************ - * Combine all sound sources. - ************************************************/ + * Combine all sound sources. + ************************************************/ /* There is a 1uF cap on the input to the amp that I was too lazy to simulate. - * It is just a DC blocking cap needed by the Norton amp. Doing the extra - * work to simulate it is not going to make a difference to the waveform - * or to how it sounds. Also I use a regular amp in place of the Norton - * for the same reasons. Ease of coding/simulation. */ + * It is just a DC blocking cap needed by the Norton amp. Doing the extra + * work to simulate it is not going to make a difference to the waveform + * or to how it sounds. Also I use a regular amp in place of the Norton + * for the same reasons. Ease of coding/simulation. */ DISCRETE_MIXER2(NODE_91, DOGPATCH_GAME_ON_EN, DOGPATCH_L_SHOT_SND, DOGPATCH_L_HIT_SND, &dogpatch_l_mixer) @@ -2739,29 +2739,29 @@ WRITE8_MEMBER(mw8080bw_state::dogpatch_audio_w) static const sn76477_interface spcenctr_sn76477_interface = { - 0, /* 4 noise_res (N/C) */ - 0, /* 5 filter_res (N/C) */ - 0, /* 6 filter_cap (N/C) */ - 0, /* 7 decay_res (N/C) */ - 0, /* 8 attack_decay_cap (N/C) */ - RES_K(100), /* 10 attack_res */ - RES_K(56), /* 11 amplitude_res */ - RES_K(10), /* 12 feedback_res */ - 0, /* 16 vco_voltage (N/C) */ - CAP_U(0.047), /* 17 vco_cap */ - RES_K(56), /* 18 vco_res */ - 5.0, /* 19 pitch_voltage */ - RES_K(150), /* 20 slf_res */ - CAP_U(1.0), /* 21 slf_cap */ - 0, /* 23 oneshot_cap (N/C) */ - 0, /* 24 oneshot_res (N/C) */ - 1, /* 22 vco */ - 0, /* 26 mixer A */ - 0, /* 25 mixer B */ - 0, /* 27 mixer C */ - 1, /* 1 envelope 1 */ - 0, /* 28 envelope 2 */ - 1 /* 9 enable (variable) */ + 0, /* 4 noise_res (N/C) */ + 0, /* 5 filter_res (N/C) */ + 0, /* 6 filter_cap (N/C) */ + 0, /* 7 decay_res (N/C) */ + 0, /* 8 attack_decay_cap (N/C) */ + RES_K(100), /* 10 attack_res */ + RES_K(56), /* 11 amplitude_res */ + RES_K(10), /* 12 feedback_res */ + 0, /* 16 vco_voltage (N/C) */ + CAP_U(0.047), /* 17 vco_cap */ + RES_K(56), /* 18 vco_res */ + 5.0, /* 19 pitch_voltage */ + RES_K(150), /* 20 slf_res */ + CAP_U(1.0), /* 21 slf_cap */ + 0, /* 23 oneshot_cap (N/C) */ + 0, /* 24 oneshot_res (N/C) */ + 1, /* 22 vco */ + 0, /* 26 mixer A */ + 0, /* 25 mixer B */ + 0, /* 27 mixer C */ + 1, /* 1 envelope 1 */ + 0, /* 28 envelope 2 */ + 1 /* 9 enable (variable) */ }; @@ -2788,245 +2788,245 @@ static const sn76477_interface spcenctr_sn76477_interface = static const discrete_op_amp_info spcenctr_enemy_ship_shot_op_amp_E1 = { DISC_OP_AMP_IS_NORTON, - 0, /* no r1 */ - RES_K(510), /* R100 */ - RES_M(2.2), /* R101 */ - RES_M(2.2), /* R102 */ - CAP_U(0.1), /* C100 */ - 0, /* vN */ - 12 /* vP */ + 0, /* no r1 */ + RES_K(510), /* R100 */ + RES_M(2.2), /* R101 */ + RES_M(2.2), /* R102 */ + CAP_U(0.1), /* C100 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_osc_info spcenctr_enemy_ship_shot_op_amp_osc = { DISC_OP_AMP_OSCILLATOR_VCO_3 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, - RES_K(560), /* R103 */ - RES_K(7.5), /* R118 */ - RES_K(22), /* R104 */ - RES_K(47), /* R106 */ - RES_K(100), /* R105 */ - 0, /* no r6 */ - 0, /* no r7 */ - 0, /* no r8 */ - CAP_U(0.0022), /* C101 */ - 12, /* vP */ + RES_K(560), /* R103 */ + RES_K(7.5), /* R118 */ + RES_K(22), /* R104 */ + RES_K(47), /* R106 */ + RES_K(100), /* R105 */ + 0, /* no r6 */ + 0, /* no r7 */ + 0, /* no r8 */ + CAP_U(0.0022), /* C101 */ + 12, /* vP */ }; static const discrete_op_amp_info spcenctr_enemy_ship_shot_op_amp_D1 = { DISC_OP_AMP_IS_NORTON, - RES_K(100), /* R107 */ - RES_K(100), /* R109 */ - RES_M(2.7), /* R108 */ - RES_K(100), /* R110 */ - 0, /* no c */ - 0, /* vN */ - 12 /* vP */ + RES_K(100), /* R107 */ + RES_K(100), /* R109 */ + RES_M(2.7), /* R108 */ + RES_K(100), /* R110 */ + 0, /* no c */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_filt_info spcenctr_enemy_ship_shot_filt = { - RES_K(100), /* R112 */ - RES_K(10), /* R113 */ - RES_M(4.3), /* r3 */ - 0, /* no r4 */ - RES_M(2.2), /* R114 */ - CAP_U(0.001), /* c1 */ - CAP_U(0.001), /* c2 */ - 0, /* no c3 */ - 0, /* vRef */ - 12, /* vP */ - 0 /* vN */ + RES_K(100), /* R112 */ + RES_K(10), /* R113 */ + RES_M(4.3), /* r3 */ + 0, /* no r4 */ + RES_M(2.2), /* R114 */ + CAP_U(0.001), /* c1 */ + CAP_U(0.001), /* c2 */ + 0, /* no c3 */ + 0, /* vRef */ + 12, /* vP */ + 0 /* vN */ }; static const discrete_op_amp_1sht_info spcenctr_player_shot_1sht = { DISC_OP_AMP_1SHT_1 | DISC_OP_AMP_IS_NORTON, - RES_M(4.7), /* R500 */ - RES_K(100), /* R502 */ - RES_M(1), /* R501 */ - RES_M(1), /* R503 */ - RES_M(2.2), /* R504 */ - CAP_U(1), /* C500 */ - CAP_P(470), /* C501 */ - 0, /* vN */ - 12 /* vP */ + RES_M(4.7), /* R500 */ + RES_K(100), /* R502 */ + RES_M(1), /* R501 */ + RES_M(1), /* R503 */ + RES_M(2.2), /* R504 */ + CAP_U(1), /* C500 */ + CAP_P(470), /* C501 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_info spcenctr_player_shot_op_amp_E1 = { DISC_OP_AMP_IS_NORTON, - 0, /* no r1 */ - RES_K(10), /* R505 */ - RES_M(1.5), /* R506 */ - 0, /* no r4 */ - CAP_U(0.22), /* C502 */ - 0, /* vN */ - 12 /* vP */ + 0, /* no r1 */ + RES_K(10), /* R505 */ + RES_M(1.5), /* R506 */ + 0, /* no r4 */ + CAP_U(0.22), /* C502 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_osc_info spcenctr_player_shot_op_amp_osc = { DISC_OP_AMP_OSCILLATOR_VCO_3 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, - 1.0 / (1.0 / RES_M(1) + 1.0 / RES_K(330)) + RES_M(1.5), /* R507||R509 + R508 */ - RES_M(1), /* R513 */ - RES_K(560), /* R512 */ - RES_M(2.7), /* R516 */ - RES_M(1), /* R515 */ - RES_M(4.7), /* R510 */ - RES_M(3.3), /* R511 */ - 0, /* no r8 */ - CAP_P(330), /* C504 */ - 12, /* vP */ + 1.0 / (1.0 / RES_M(1) + 1.0 / RES_K(330)) + RES_M(1.5), /* R507||R509 + R508 */ + RES_M(1), /* R513 */ + RES_K(560), /* R512 */ + RES_M(2.7), /* R516 */ + RES_M(1), /* R515 */ + RES_M(4.7), /* R510 */ + RES_M(3.3), /* R511 */ + 0, /* no r8 */ + CAP_P(330), /* C504 */ + 12, /* vP */ }; static const discrete_op_amp_info spcenctr_player_shot_op_amp_C1 = { DISC_OP_AMP_IS_NORTON, - RES_K(560), /* R517 */ - RES_K(470), /* R514 */ - RES_M(2.7), /* R518 */ - RES_K(560), /* R524 */ - 0, /* no c */ - 0, /* vN */ - 12 /* vP */ + RES_K(560), /* R517 */ + RES_K(470), /* R514 */ + RES_M(2.7), /* R518 */ + RES_K(560), /* R524 */ + 0, /* no c */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_tvca_info spcenctr_player_shot_tvca = { - RES_M(2.7), /* R522 */ - RES_K(560), /* R521 */ - 0, /* no r3 */ - RES_K(560), /* R560 */ - RES_K(1), /* R42 */ - 0, /* no r6 */ - RES_K(560), /* R523 */ - 0, /* no r8 */ - 0, /* no r9 */ - 0, /* no r10 */ - 0, /* no r11 */ - CAP_U(1), /* C506 */ - 0, /* no c2 */ - 0, 0, /* no c3, c4 */ - 12, /* v1 */ - 0, /* no v2 */ - 0, /* no v3 */ - 12, /* vP */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ - DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ + RES_M(2.7), /* R522 */ + RES_K(560), /* R521 */ + 0, /* no r3 */ + RES_K(560), /* R560 */ + RES_K(1), /* R42 */ + 0, /* no r6 */ + RES_K(560), /* R523 */ + 0, /* no r8 */ + 0, /* no r9 */ + 0, /* no r10 */ + 0, /* no r11 */ + CAP_U(1), /* C506 */ + 0, /* no c2 */ + 0, 0, /* no c3, c4 */ + 12, /* v1 */ + 0, /* no v2 */ + 0, /* no v3 */ + 12, /* vP */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ + DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ }; static const discrete_op_amp_tvca_info spcenctr_crash_tvca = { - RES_M(2.7), /* R302 */ - RES_K(470), /* R300 */ - 0, /* no r3 */ - RES_K(470), /* R303 */ - RES_K(1), /* R56 */ - 0, /* no r6 */ - RES_K(470), /* R301 */ - 0, /* no r8 */ - 0, /* no r9 */ - 0, /* no r10 */ - 0, /* no r11 */ - CAP_U(2.2), /* C304 */ - 0, /* no c2 */ - 0, 0, /* no c3, c4 */ - 5, /* v1 */ - 0, /* no v2 */ - 0, /* no v3 */ - 12, /* vP */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ - DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ + RES_M(2.7), /* R302 */ + RES_K(470), /* R300 */ + 0, /* no r3 */ + RES_K(470), /* R303 */ + RES_K(1), /* R56 */ + 0, /* no r6 */ + RES_K(470), /* R301 */ + 0, /* no r8 */ + 0, /* no r9 */ + 0, /* no r10 */ + 0, /* no r11 */ + CAP_U(2.2), /* C304 */ + 0, /* no c2 */ + 0, 0, /* no c3, c4 */ + 5, /* v1 */ + 0, /* no v2 */ + 0, /* no v3 */ + 12, /* vP */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ + DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ }; static const discrete_op_amp_tvca_info spcenctr_explosion_tvca = { - RES_M(2.7), /* R402 */ - RES_K(680), /* R400 */ - 0, /* no r3 */ - RES_K(680), /* R403 */ - RES_K(1), /* R41 */ - 0, /* no r6 */ - RES_K(680), /* R401 */ - 0, /* no r8 */ - 0, /* no r9 */ - 0, /* no r10 */ - 0, /* no r11 */ - CAP_U(2.2), /* C400 */ - 0, /* no c2 */ - 0, 0, /* no c3, c4 */ - 12, /* v1 */ - 0, /* no v2 */ - 0, /* no v3 */ - 12, /* vP */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ - DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ + RES_M(2.7), /* R402 */ + RES_K(680), /* R400 */ + 0, /* no r3 */ + RES_K(680), /* R403 */ + RES_K(1), /* R41 */ + 0, /* no r6 */ + RES_K(680), /* R401 */ + 0, /* no r8 */ + 0, /* no r9 */ + 0, /* no r10 */ + 0, /* no r11 */ + CAP_U(2.2), /* C400 */ + 0, /* no c2 */ + 0, 0, /* no c3, c4 */ + 12, /* v1 */ + 0, /* no v2 */ + 0, /* no v3 */ + 12, /* vP */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ + DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ }; static const discrete_555_desc spcenctr_555_bonus = { DISC_555_OUT_SQW | DISC_555_OUT_DC, - 5, /* B+ voltage of 555 */ + 5, /* B+ voltage of 555 */ DEFAULT_555_VALUES }; static const discrete_mixer_desc spcenctr_mixer = { - DISC_MIXER_IS_RESISTOR, /* type */ - { RES_K(15), /* R117 */ - RES_K(15), /* R526 */ - RES_K(22), /* R211 */ - RES_K(3.6), /* R309 */ - RES_K(1.8) + RES_K(3.6) + RES_K(4.7), /* R405 + R406 + R407 */ - RES_K(27), /* R715 */ - RES_K(27)}, /* R51 */ - {0}, /* no rNode{} */ + DISC_MIXER_IS_RESISTOR, /* type */ + { RES_K(15), /* R117 */ + RES_K(15), /* R526 */ + RES_K(22), /* R211 */ + RES_K(3.6), /* R309 */ + RES_K(1.8) + RES_K(3.6) + RES_K(4.7), /* R405 + R406 + R407 */ + RES_K(27), /* R715 */ + RES_K(27)}, /* R51 */ + {0}, /* no rNode{} */ { 0, - CAP_U(0.001), /* C505 */ - CAP_U(0.1), /* C202 */ - CAP_U(1), /* C303 */ - 0, - 0, - CAP_U(10)}, /* C16 */ - 0, /* no rI */ - 0, /* no rF */ - 0, /* no cF */ - CAP_U(1), /* C900 */ - 0, /* vRef = ground */ - 1 /* gain */ + CAP_U(0.001), /* C505 */ + CAP_U(0.1), /* C202 */ + CAP_U(1), /* C303 */ + 0, + 0, + CAP_U(10)}, /* C16 */ + 0, /* no rI */ + 0, /* no rF */ + 0, /* no cF */ + CAP_U(1), /* C900 */ + 0, /* vRef = ground */ + 1 /* gain */ }; static DISCRETE_SOUND_START(spcenctr) /************************************************ - * Input register mapping - ************************************************/ + * Input register mapping + ************************************************/ DISCRETE_INPUTX_LOGIC(SPCENCTR_ENEMY_SHIP_SHOT_EN, 12, 0, 0) DISCRETE_INPUTX_LOGIC(SPCENCTR_PLAYER_SHOT_EN, 12, 0, 0) DISCRETE_INPUT_LOGIC (SPCENCTR_SCREECH_EN) @@ -3037,198 +3037,198 @@ static DISCRETE_SOUND_START(spcenctr) /************************************************ - * Noise Generator - ************************************************/ + * Noise Generator + ************************************************/ /* Noise clock was breadboarded and measured at 7515 */ - DISCRETE_LFSR_NOISE(SPCENCTR_NOISE, /* IC A0, pin 10 */ - 1, /* ENAB */ - 1, /* no RESET */ - 7515, /* CLK in Hz */ - 12, /* p-p AMPL */ - 0, /* no FEED input */ - 12.0/2, /* dc BIAS */ + DISCRETE_LFSR_NOISE(SPCENCTR_NOISE, /* IC A0, pin 10 */ + 1, /* ENAB */ + 1, /* no RESET */ + 7515, /* CLK in Hz */ + 12, /* p-p AMPL */ + 0, /* no FEED input */ + 12.0/2, /* dc BIAS */ &midway_lfsr) /************************************************ - * Enemy Ship Shot - ************************************************/ - DISCRETE_OP_AMP(NODE_20, /* IC E1, pin 10 */ - 1, /* ENAB */ - 0, /* no IN0 */ - SPCENCTR_ENEMY_SHIP_SHOT_EN, /* IN1 */ + * Enemy Ship Shot + ************************************************/ + DISCRETE_OP_AMP(NODE_20, /* IC E1, pin 10 */ + 1, /* ENAB */ + 0, /* no IN0 */ + SPCENCTR_ENEMY_SHIP_SHOT_EN, /* IN1 */ &spcenctr_enemy_ship_shot_op_amp_E1) - DISCRETE_OP_AMP_VCO1(NODE_21, /* IC D1, pin 5 */ - 1, /* ENAB */ - NODE_20, /* VMOD1 */ + DISCRETE_OP_AMP_VCO1(NODE_21, /* IC D1, pin 5 */ + 1, /* ENAB */ + NODE_20, /* VMOD1 */ &spcenctr_enemy_ship_shot_op_amp_osc) - DISCRETE_OP_AMP(NODE_22, /* IC D1, pin 9 */ - 1, /* ENAB */ - NODE_21, /* IN0 */ - NODE_20, /* IN1 */ + DISCRETE_OP_AMP(NODE_22, /* IC D1, pin 9 */ + 1, /* ENAB */ + NODE_21, /* IN0 */ + NODE_20, /* IN1 */ &spcenctr_enemy_ship_shot_op_amp_D1) - DISCRETE_OP_AMP_FILTER(NODE_23, /* IC D1, pin 10 */ - 1, /* ENAB */ - NODE_22, /* INP0 */ - 0, /* no INP1 */ + DISCRETE_OP_AMP_FILTER(NODE_23, /* IC D1, pin 10 */ + 1, /* ENAB */ + NODE_22, /* INP0 */ + 0, /* no INP1 */ DISC_OP_AMP_FILTER_IS_BAND_PASS_1M | DISC_OP_AMP_IS_NORTON, &spcenctr_enemy_ship_shot_filt) DISCRETE_CRFILTER(SPCENCTR_ENEMY_SHIP_SHOT_SND, - NODE_23, /* IN0 */ - RES_K(1.8), /* R116 */ - CAP_U(0.1) ) /* C104 */ + NODE_23, /* IN0 */ + RES_K(1.8), /* R116 */ + CAP_U(0.1) ) /* C104 */ /************************************************ - * Player Shot - ************************************************/ - DISCRETE_OP_AMP_ONESHOT(NODE_30, /* IC E1, pin 4 */ - SPCENCTR_PLAYER_SHOT_EN, /* TRIG */ - &spcenctr_player_shot_1sht) /* breadboarded and scoped at 325mS */ - DISCRETE_OP_AMP(NODE_31, /* IC E1, pin 5 */ - 1, /* ENAB */ - 0, /* no IN0 */ - NODE_30, /* IN1 */ + * Player Shot + ************************************************/ + DISCRETE_OP_AMP_ONESHOT(NODE_30, /* IC E1, pin 4 */ + SPCENCTR_PLAYER_SHOT_EN, /* TRIG */ + &spcenctr_player_shot_1sht) /* breadboarded and scoped at 325mS */ + DISCRETE_OP_AMP(NODE_31, /* IC E1, pin 5 */ + 1, /* ENAB */ + 0, /* no IN0 */ + NODE_30, /* IN1 */ &spcenctr_player_shot_op_amp_E1) /* next 2 modules simulate the D502 voltage drop */ DISCRETE_ADDER2(NODE_32, - 1, /* ENAB */ - NODE_31, /* IN0 */ - -0.5) /* IN1 */ + 1, /* ENAB */ + NODE_31, /* IN0 */ + -0.5) /* IN1 */ DISCRETE_CLAMP(NODE_33, - NODE_32, /* IN0 */ - 0, /* MIN */ - 12) /* MAX */ + NODE_32, /* IN0 */ + 0, /* MIN */ + 12) /* MAX */ DISCRETE_CRFILTER(NODE_34, - SPCENCTR_NOISE, /* IN0 */ - RES_M(1) + RES_K(330), /* R507, R509 */ - CAP_U(0.1) ) /* C503 */ + SPCENCTR_NOISE, /* IN0 */ + RES_M(1) + RES_K(330), /* R507, R509 */ + CAP_U(0.1) ) /* C503 */ DISCRETE_GAIN(NODE_35, - NODE_34, /* IN0 */ - RES_K(330)/(RES_M(1) + RES_K(330))) /* GAIN - R507 : R509 */ - DISCRETE_OP_AMP_VCO2(NODE_36, /* IC C1, pin 4 */ - 1, /* ENAB */ - NODE_35, /* VMOD1 */ - NODE_33, /* VMOD2 */ + NODE_34, /* IN0 */ + RES_K(330)/(RES_M(1) + RES_K(330))) /* GAIN - R507 : R509 */ + DISCRETE_OP_AMP_VCO2(NODE_36, /* IC C1, pin 4 */ + 1, /* ENAB */ + NODE_35, /* VMOD1 */ + NODE_33, /* VMOD2 */ &spcenctr_player_shot_op_amp_osc) - DISCRETE_OP_AMP(NODE_37, /* IC C1, pin 9 */ - 1, /* ENAB */ - NODE_36, /* IN0 */ - NODE_33, /* IN1 */ + DISCRETE_OP_AMP(NODE_37, /* IC C1, pin 9 */ + 1, /* ENAB */ + NODE_36, /* IN0 */ + NODE_33, /* IN1 */ &spcenctr_player_shot_op_amp_C1) - DISCRETE_OP_AMP_TRIG_VCA(SPCENCTR_PLAYER_SHOT_SND, /* IC C1, pin 10 */ - SPCENCTR_PLAYER_SHOT_EN, /* TRG0 */ - 0, /* no TRG1 */ - 0, /* no TRG2 */ - NODE_37, /* IN0 */ - 0, /* no IN1 */ + DISCRETE_OP_AMP_TRIG_VCA(SPCENCTR_PLAYER_SHOT_SND, /* IC C1, pin 10 */ + SPCENCTR_PLAYER_SHOT_EN, /* TRG0 */ + 0, /* no TRG1 */ + 0, /* no TRG2 */ + NODE_37, /* IN0 */ + 0, /* no IN1 */ &spcenctr_player_shot_tvca) /************************************************ - *Screech - unemulated - ************************************************/ + *Screech - unemulated + ************************************************/ DISCRETE_CONSTANT(SPCENCTR_SCREECH_SND, 0) /************************************************ - * Crash - ************************************************/ - DISCRETE_OP_AMP_TRIG_VCA(NODE_60, /* IC C2, pin 4 */ - SPCENCTR_CRASH_EN, /* TRG0 */ - 0, /* no TRG1 */ - 0, /* no TRG2 */ - SPCENCTR_NOISE, /* IN0 */ - 0, /* no IN1 */ + * Crash + ************************************************/ + DISCRETE_OP_AMP_TRIG_VCA(NODE_60, /* IC C2, pin 4 */ + SPCENCTR_CRASH_EN, /* TRG0 */ + 0, /* no TRG1 */ + 0, /* no TRG2 */ + SPCENCTR_NOISE, /* IN0 */ + 0, /* no IN1 */ &spcenctr_crash_tvca) /* The next 5 modules emulate the filter. */ /* The DC level was breadboarded and the frequency response was SPICEd */ - DISCRETE_ADDER2(NODE_61, /* center on filter DC level */ - 1, /* ENAB */ - NODE_60, /* IN0 */ - -6.8) /* IN1 */ + DISCRETE_ADDER2(NODE_61, /* center on filter DC level */ + 1, /* ENAB */ + NODE_60, /* IN0 */ + -6.8) /* IN1 */ DISCRETE_FILTER2(NODE_62, - 1, /* ENAB */ - NODE_61, /* INP0 */ - 130, /* FREQ */ - 1.0 / 8, /* DAMP */ + 1, /* ENAB */ + NODE_61, /* INP0 */ + 130, /* FREQ */ + 1.0 / 8, /* DAMP */ DISC_FILTER_BANDPASS) DISCRETE_GAIN(NODE_63, - NODE_62, /* IN0 */ - 6) /* GAIN */ - DISCRETE_ADDER2(NODE_64, /* center on filter DC level */ - 1, /* ENAB */ - NODE_63, /* IN0 */ - 6.8) /* IN1 */ - DISCRETE_CLAMP(SPCENCTR_CRASH_SND, /* IC C2, pin 5 */ - NODE_64, /* IN0 */ - 0, /* MIN */ - 12.0 - OP_AMP_NORTON_VBE) /* MAX */ + NODE_62, /* IN0 */ + 6) /* GAIN */ + DISCRETE_ADDER2(NODE_64, /* center on filter DC level */ + 1, /* ENAB */ + NODE_63, /* IN0 */ + 6.8) /* IN1 */ + DISCRETE_CLAMP(SPCENCTR_CRASH_SND, /* IC C2, pin 5 */ + NODE_64, /* IN0 */ + 0, /* MIN */ + 12.0 - OP_AMP_NORTON_VBE) /* MAX */ /************************************************ - * Explosion - ************************************************/ - DISCRETE_OP_AMP_TRIG_VCA(NODE_70, /* IC D2, pin 10 */ - SPCENCTR_EXPLOSION_EN, /* TRG0 */ - 0, /* no TRG1 */ - 0, /* no TRG2 */ - SPCENCTR_NOISE, /* IN0 */ - 0, /* no IN1 */ + * Explosion + ************************************************/ + DISCRETE_OP_AMP_TRIG_VCA(NODE_70, /* IC D2, pin 10 */ + SPCENCTR_EXPLOSION_EN, /* TRG0 */ + 0, /* no TRG1 */ + 0, /* no TRG2 */ + SPCENCTR_NOISE, /* IN0 */ + 0, /* no IN1 */ &spcenctr_explosion_tvca) DISCRETE_RCFILTER(NODE_71, - NODE_70, /* IN0 */ - RES_K(1.8), /* R405 */ - CAP_U(0.22) ) /* C401 */ + NODE_70, /* IN0 */ + RES_K(1.8), /* R405 */ + CAP_U(0.22) ) /* C401 */ DISCRETE_RCFILTER(SPCENCTR_EXPLOSION_SND, - NODE_71, /* IN0 */ - RES_K(1.8) + RES_K(3.6), /* R405 + R406 */ - CAP_U(0.22) ) /* C402 */ + NODE_71, /* IN0 */ + RES_K(1.8) + RES_K(3.6), /* R405 + R406 */ + CAP_U(0.22) ) /* C402 */ /************************************************ - *Bonus - ************************************************/ - DISCRETE_555_ASTABLE(NODE_80, /* pin 5 */ + *Bonus + ************************************************/ + DISCRETE_555_ASTABLE(NODE_80, /* pin 5 */ /* the pin 4 reset is not connected in schematic, but should be */ - SPCENCTR_BONUS_EN, /* RESET */ - RES_K(1), /* R710 */ - RES_K(27), /* R711 */ - CAP_U(0.047), /* C710 */ + SPCENCTR_BONUS_EN, /* RESET */ + RES_K(1), /* R710 */ + RES_K(27), /* R711 */ + CAP_U(0.047), /* C710 */ &spcenctr_555_bonus) - DISCRETE_555_ASTABLE(NODE_81, /* pin 9 */ - SPCENCTR_BONUS_EN, /* RESET pin 10 */ - RES_K(100), /* R713 */ - RES_K(47), /* R714 */ - CAP_U(1), /* C713 */ + DISCRETE_555_ASTABLE(NODE_81, /* pin 9 */ + SPCENCTR_BONUS_EN, /* RESET pin 10 */ + RES_K(100), /* R713 */ + RES_K(47), /* R714 */ + CAP_U(1), /* C713 */ &spcenctr_555_bonus) - DISCRETE_LOGIC_AND3(NODE_82, /* IC C-D, pin 6 */ - NODE_80, /* INP0 */ - NODE_81, /* INP1 */ - SPCENCTR_BONUS_EN) /* INP2 */ - DISCRETE_GAIN(SPCENCTR_BONUS_SND, /* adjust from logic to TTL voltage level */ - NODE_82, /* IN0 */ - DEFAULT_TTL_V_LOGIC_1) /* GAIN */ + DISCRETE_LOGIC_AND3(NODE_82, /* IC C-D, pin 6 */ + NODE_80, /* INP0 */ + NODE_81, /* INP1 */ + SPCENCTR_BONUS_EN) /* INP2 */ + DISCRETE_GAIN(SPCENCTR_BONUS_SND, /* adjust from logic to TTL voltage level */ + NODE_82, /* IN0 */ + DEFAULT_TTL_V_LOGIC_1) /* GAIN */ /************************************************ - *Wind - unemulated - ************************************************/ + *Wind - unemulated + ************************************************/ DISCRETE_CONSTANT(SPCENCTR_WIND_SND, 0) /************************************************ - * Final mix - ************************************************/ + * Final mix + ************************************************/ DISCRETE_MIXER7(NODE_91, - 1, /* ENAB */ - SPCENCTR_ENEMY_SHIP_SHOT_SND, /* IN0 */ - SPCENCTR_PLAYER_SHOT_SND, /* IN1 */ - SPCENCTR_SCREECH_SND, /* IN2 */ - SPCENCTR_CRASH_SND, /* IN3 */ - SPCENCTR_EXPLOSION_SND, /* IN4 */ - SPCENCTR_BONUS_SND, /* IN5 */ - SPCENCTR_WIND_SND, /* IN6 */ + 1, /* ENAB */ + SPCENCTR_ENEMY_SHIP_SHOT_SND, /* IN0 */ + SPCENCTR_PLAYER_SHOT_SND, /* IN1 */ + SPCENCTR_SCREECH_SND, /* IN2 */ + SPCENCTR_CRASH_SND, /* IN3 */ + SPCENCTR_EXPLOSION_SND, /* IN4 */ + SPCENCTR_BONUS_SND, /* IN5 */ + SPCENCTR_WIND_SND, /* IN6 */ &spcenctr_mixer) DISCRETE_OUTPUT(NODE_91, 20000) @@ -3254,7 +3254,7 @@ WRITE8_MEMBER(mw8080bw_state::spcenctr_audio_1_w) machine().sound().system_enable((data >> 0) & 0x01); /* D1 is marked as 'OPTIONAL SWITCH VIDEO FOR COCKTAIL', - but it is never set by the software */ + but it is never set by the software */ discrete_sound_w(m_discrete, space, SPCENCTR_CRASH_EN, (data >> 2) & 0x01); @@ -3290,7 +3290,7 @@ WRITE8_MEMBER(mw8080bw_state::spcenctr_audio_3_w) discrete_sound_w(m_discrete, space, SPCENCTR_BONUS_EN, (data >> 4) & 0x01); - sn76477_enable_w(m_sn, (data >> 5) & 0x01); /* saucer sound */ + sn76477_enable_w(m_sn, (data >> 5) & 0x01); /* saucer sound */ /* D6 and D7 are not connected */ } @@ -3306,15 +3306,15 @@ WRITE8_MEMBER(mw8080bw_state::spcenctr_audio_3_w) static const char *const phantom2_sample_names[] = { "*phantom2", - "1", /* shot */ - "2", /* explosion */ + "1", /* shot */ + "2", /* explosion */ 0 }; static const samples_interface phantom2_samples_interface = { - 2, /* 2 channels */ + 2, /* 2 channels */ phantom2_sample_names }; @@ -3386,62 +3386,62 @@ WRITE8_MEMBER(mw8080bw_state::phantom2_audio_2_w) static const discrete_op_amp_tvca_info bowler_fowl_tvca = { - RES_M(2.7), /* R1103 */ - RES_K(680), /* R1102 */ - 0, /* no r3 */ - RES_K(680), /* R1104 */ - RES_K(1), /* SIP */ - 0, /* no r6 */ - RES_K(300), /* R1101 */ - 0, /* no r8 */ - 0, /* no r9 */ - 0, /* no r10 */ - 0, /* no r11 */ - CAP_U(0.1), /* C1050 */ - 0, /* no c2 */ - 0, 0, /* no c3, c4 */ - 5, /* v1 */ - 0, /* no v2 */ - 0, /* no v3 */ - 12, /* vP */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ - DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ + RES_M(2.7), /* R1103 */ + RES_K(680), /* R1102 */ + 0, /* no r3 */ + RES_K(680), /* R1104 */ + RES_K(1), /* SIP */ + 0, /* no r6 */ + RES_K(300), /* R1101 */ + 0, /* no r8 */ + 0, /* no r9 */ + 0, /* no r10 */ + 0, /* no r11 */ + CAP_U(0.1), /* C1050 */ + 0, /* no c2 */ + 0, 0, /* no c3, c4 */ + 5, /* v1 */ + 0, /* no v2 */ + 0, /* no v3 */ + 12, /* vP */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ + DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ }; static DISCRETE_SOUND_START(bowler) /************************************************ - * Input register mapping - ************************************************/ + * Input register mapping + ************************************************/ DISCRETE_INPUT_LOGIC(BOWLER_FOWL_EN) /************************************************ - * Explosion - ************************************************/ + * Explosion + ************************************************/ DISCRETE_SQUAREWFIX(NODE_20, - 1, /* ENAB */ - 180, /* FREQ */ - DEFAULT_TTL_V_LOGIC_1, /* p-p AMP */ - 50, /* DUTY */ - DEFAULT_TTL_V_LOGIC_1 / 2, /* dc BIAS */ - 0) /* PHASE */ - DISCRETE_OP_AMP_TRIG_VCA(NODE_21, /* IC P3, pin 9 */ - BOWLER_FOWL_EN, /* TRG0 */ - 0, /* no TRG1 */ - 0, /* no TRG2 */ - NODE_20, /* IN0 */ - 0, /* no IN1 */ + 1, /* ENAB */ + 180, /* FREQ */ + DEFAULT_TTL_V_LOGIC_1, /* p-p AMP */ + 50, /* DUTY */ + DEFAULT_TTL_V_LOGIC_1 / 2, /* dc BIAS */ + 0) /* PHASE */ + DISCRETE_OP_AMP_TRIG_VCA(NODE_21, /* IC P3, pin 9 */ + BOWLER_FOWL_EN, /* TRG0 */ + 0, /* no TRG1 */ + 0, /* no TRG2 */ + NODE_20, /* IN0 */ + 0, /* no IN1 */ &bowler_fowl_tvca) DISCRETE_CRFILTER(BOWLER_FOWL_SND, - NODE_21, /* IN0 */ - RES_K(68), /* R1120 */ - CAP_U(0.1) ) /* C1048 */ + NODE_21, /* IN0 */ + RES_K(68), /* R1120 */ + CAP_U(0.1) ) /* C1048 */ DISCRETE_OUTPUT(BOWLER_FOWL_SND, 10000) DISCRETE_SOUND_END @@ -3467,8 +3467,8 @@ WRITE8_MEMBER(mw8080bw_state::bowler_audio_1_w) discrete_sound_w(m_discrete, space, BOWLER_FOWL_EN, (data >> 3) & 0x01); /* D4 - appears to be a screen flip, but it's - shown unconnected on the schematics for both the - upright and cocktail PCB's */ + shown unconnected on the schematics for both the + upright and cocktail PCB's */ /* D5 - triggered on a 'strike', sound circuit not labeled */ @@ -3479,10 +3479,10 @@ WRITE8_MEMBER(mw8080bw_state::bowler_audio_1_w) WRITE8_MEMBER(mw8080bw_state::bowler_audio_2_w) { /* set BALL ROLLING SOUND FREQ(data & 0x0f) - 0, if no rolling, 0x08 used during ball return */ + 0, if no rolling, 0x08 used during ball return */ /* D4 - triggered when the ball crosses the foul line, - sound circuit not labeled */ + sound circuit not labeled */ /* D5 - triggered on a 'spare', sound circuit not labeled */ @@ -3493,21 +3493,21 @@ WRITE8_MEMBER(mw8080bw_state::bowler_audio_2_w) WRITE8_MEMBER(mw8080bw_state::bowler_audio_3_w) { /* regardless of the data, enable BALL HITS PIN 1 sound - (top circuit on the schematics) */ + (top circuit on the schematics) */ } WRITE8_MEMBER(mw8080bw_state::bowler_audio_4_w) { /* regardless of the data, enable BALL HITS PIN 2 sound - (bottom circuit on the schematics) */ + (bottom circuit on the schematics) */ } WRITE8_MEMBER(mw8080bw_state::bowler_audio_5_w) { /* not sure, appears to me trigerred alongside the two - BALL HITS PIN sounds */ + BALL HITS PIN sounds */ } @@ -3520,8 +3520,8 @@ WRITE8_MEMBER(mw8080bw_state::bowler_audio_6_w) /* D6 and D7 are not connected */ /* D1, D2, D4 and D5 have something to do with a chime circuit. - D1 and D4 are HI when a 'strike' happens, and D2 and D5 are - HI on a 'spare' */ + D1 and D4 are HI when a 'strike' happens, and D2 and D5 are + HI on a 'spare' */ } @@ -3547,29 +3547,29 @@ WRITE8_MEMBER(mw8080bw_state::bowler_audio_6_w) static const sn76477_interface invaders_sn76477_interface = { - 0, /* 4 noise_res (N/C) */ - 0, /* 5 filter_res (N/C) */ - 0, /* 6 filter_cap (N/C) */ - 0, /* 7 decay_res (N/C) */ - 0, /* 8 attack_decay_cap (N/C) */ + 0, /* 4 noise_res (N/C) */ + 0, /* 5 filter_res (N/C) */ + 0, /* 6 filter_cap (N/C) */ + 0, /* 7 decay_res (N/C) */ + 0, /* 8 attack_decay_cap (N/C) */ RES_K(100), /* 10 attack_res */ - RES_K(56), /* 11 amplitude_res */ - RES_K(10), /* 12 feedback_res */ - 0, /* 16 vco_voltage (N/C) */ - CAP_U(0.1), /* 17 vco_cap */ - RES_K(8.2), /* 18 vco_res */ - 5.0, /* 19 pitch_voltage */ - RES_K(120), /* 20 slf_res */ - CAP_U(1.0), /* 21 slf_cap */ - 0, /* 23 oneshot_cap (N/C) */ - 0, /* 24 oneshot_res (N/C) */ - 1, /* 22 vco */ - 0, /* 26 mixer A */ - 0, /* 25 mixer B */ - 0, /* 27 mixer C */ - 1, /* 1 envelope 1 */ - 0, /* 28 envelope 2 */ - 1 /* 9 enable (variable) */ + RES_K(56), /* 11 amplitude_res */ + RES_K(10), /* 12 feedback_res */ + 0, /* 16 vco_voltage (N/C) */ + CAP_U(0.1), /* 17 vco_cap */ + RES_K(8.2), /* 18 vco_res */ + 5.0, /* 19 pitch_voltage */ + RES_K(120), /* 20 slf_res */ + CAP_U(1.0), /* 21 slf_cap */ + 0, /* 23 oneshot_cap (N/C) */ + 0, /* 24 oneshot_res (N/C) */ + 1, /* 22 vco */ + 0, /* 26 mixer A */ + 0, /* 25 mixer B */ + 0, /* 27 mixer C */ + 1, /* 1 envelope 1 */ + 0, /* 28 envelope 2 */ + 1 /* 9 enable (variable) */ }; @@ -3577,22 +3577,22 @@ static const sn76477_interface invaders_sn76477_interface = static const char *const invaders_sample_names[] = { "*invaders", - "1", /* shot/missle */ - "2", /* base hit/explosion */ - "3", /* invader hit */ - "4", /* fleet move 1 */ - "5", /* fleet move 2 */ - "6", /* fleet move 3 */ - "7", /* fleet move 4 */ - "8", /* UFO/saucer hit */ - "9", /* bonus base */ + "1", /* shot/missle */ + "2", /* base hit/explosion */ + "3", /* invader hit */ + "4", /* fleet move 1 */ + "5", /* fleet move 2 */ + "6", /* fleet move 3 */ + "7", /* fleet move 4 */ + "8", /* UFO/saucer hit */ + "9", /* bonus base */ 0 }; static const samples_interface invaders_samples_interface = { - 6, /* 6 channels */ + 6, /* 6 channels */ invaders_sample_names }; @@ -3633,69 +3633,69 @@ MACHINE_CONFIG_END static const discrete_op_amp_info invaders_saucer_hit_op_amp_B3_9 = { DISC_OP_AMP_IS_NORTON, - 0, /* no r1 */ - RES_K(100), /* R72 */ - RES_M(1), /* R71 */ - 0, /* no r4 */ - CAP_U(1), /* C23 */ - 0, /* vN */ - 12 /* vP */ + 0, /* no r1 */ + RES_K(100), /* R72 */ + RES_M(1), /* R71 */ + 0, /* no r4 */ + CAP_U(1), /* C23 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_osc_info invaders_saucer_hit_osc = { DISC_OP_AMP_OSCILLATOR_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_CAP, - RES_M(1), /* R70 */ - RES_K(470), /* R64 */ - RES_K(100), /* R61 */ - RES_K(120), /* R63 */ - RES_M(1), /* R62 */ - 0, /* no r6 */ - 0, /* no r7 */ - 0, /* no r8 */ - CAP_U(0.1), /* C21 */ - 12, /* vP */ + RES_M(1), /* R70 */ + RES_K(470), /* R64 */ + RES_K(100), /* R61 */ + RES_K(120), /* R63 */ + RES_M(1), /* R62 */ + 0, /* no r6 */ + 0, /* no r7 */ + 0, /* no r8 */ + CAP_U(0.1), /* C21 */ + 12, /* vP */ }; static const discrete_op_amp_osc_info invaders_saucer_hit_vco = { DISC_OP_AMP_OSCILLATOR_VCO_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, - RES_M(1), /* R65 */ - RES_K(470), /* R66 */ - RES_K(680), /* R67 */ - RES_M(1), /* R69*/ - RES_M(1), /* R68 */ - 0, /* no r6 */ - 0, /* no r7 */ - 0, /* no r8 */ - CAP_P(470), /* C22 */ - 12, /* vP */ + RES_M(1), /* R65 */ + RES_K(470), /* R66 */ + RES_K(680), /* R67 */ + RES_M(1), /* R69*/ + RES_M(1), /* R68 */ + 0, /* no r6 */ + 0, /* no r7 */ + 0, /* no r8 */ + CAP_P(470), /* C22 */ + 12, /* vP */ }; static const discrete_op_amp_info invaders_saucer_hit_op_amp_B3_10 = { DISC_OP_AMP_IS_NORTON, - RES_K(680), /* R73 */ - RES_K(680), /* R77 */ - RES_M(2.7), /* R74 */ - RES_K(680), /* R75 */ - 0, /* no c */ - 0, /* vN */ - 12 /* vP */ + RES_K(680), /* R73 */ + RES_K(680), /* R77 */ + RES_M(2.7), /* R74 */ + RES_K(680), /* R75 */ + 0, /* no c */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_comp_adder_table invaders_thump_resistors = { DISC_COMP_P_RESISTOR, - 0, /* no cDefault */ - 4, /* length */ - { RES_K(20) + RES_K(20), /* R126 + R127 */ - RES_K(68), /* R128 */ - RES_K(82), /* R129 */ - RES_K(100) } /* R130 */ + 0, /* no cDefault */ + 4, /* length */ + { RES_K(20) + RES_K(20), /* R126 + R127 */ + RES_K(68), /* R128 */ + RES_K(82), /* R129 */ + RES_K(100) } /* R130 */ }; @@ -3703,15 +3703,15 @@ static const discrete_555_desc invaders_thump_555 = { DISC_555_OUT_ENERGY | DISC_555_OUT_DC, 5, - 5.0 - 0.6, /* 5V - diode drop */ - DEFAULT_TTL_V_LOGIC_1 /* Output of F3 7411 buffer */ + 5.0 - 0.6, /* 5V - diode drop */ + DEFAULT_TTL_V_LOGIC_1 /* Output of F3 7411 buffer */ }; static const discrete_555_desc invaders_bonus_555 = { DISC_555_OUT_SQW | DISC_555_OUT_DC, - 5.0, /* 5V */ + 5.0, /* 5V */ DEFAULT_555_VALUES }; @@ -3719,436 +3719,436 @@ static const discrete_555_desc invaders_bonus_555 = static const discrete_op_amp_1sht_info invaders_invader_hit_1sht = { DISC_OP_AMP_1SHT_1 | DISC_OP_AMP_IS_NORTON, - RES_M(4.7), /* R49 */ - RES_K(100), /* R51 */ - RES_M(1), /* R48 */ - RES_M(1), /* R50 */ - RES_M(2.2), /* R52 */ - CAP_U(0.1), /* C18 */ - CAP_P(470), /* C20 */ - 0, /* vN */ - 12 /* vP */ + RES_M(4.7), /* R49 */ + RES_K(100), /* R51 */ + RES_M(1), /* R48 */ + RES_M(1), /* R50 */ + RES_M(2.2), /* R52 */ + CAP_U(0.1), /* C18 */ + CAP_P(470), /* C20 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_info invaders_invader_hit_op_amp_D3_10 = { DISC_OP_AMP_IS_NORTON, - 0, /* no r1 */ - RES_K(10), /* R53 */ - RES_M(1), /* R137 */ - 0, /* no r4 */ - CAP_U(0.47), /* C19 */ - 0, /* vN */ - 12 /* vP */ + 0, /* no r1 */ + RES_K(10), /* R53 */ + RES_M(1), /* R137 */ + 0, /* no r4 */ + CAP_U(0.47), /* C19 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_osc_info invaders_invader_hit_osc = { DISC_OP_AMP_OSCILLATOR_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_CAP, - RES_M(1), /* R37 */ - RES_K(10), /* R41 */ - RES_K(100), /* R38 */ - RES_K(120), /* R40 */ - RES_M(1), /* R39 */ - 0, /* no r6 */ - 0, /* no r7 */ - 0, /* no r8 */ - CAP_U(0.1), /* C16 */ - 12, /* vP */ + RES_M(1), /* R37 */ + RES_K(10), /* R41 */ + RES_K(100), /* R38 */ + RES_K(120), /* R40 */ + RES_M(1), /* R39 */ + 0, /* no r6 */ + 0, /* no r7 */ + 0, /* no r8 */ + CAP_U(0.1), /* C16 */ + 12, /* vP */ }; static const discrete_op_amp_osc_info invaders_invader_hit_vco = { DISC_OP_AMP_OSCILLATOR_VCO_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_CAP, - RES_M(1), /* R42 */ - RES_K(470), /* R43 */ - RES_K(680), /* R44 */ - RES_M(1), /* R46 */ - RES_M(1), /* R45 */ - 0, /* no r6 */ - 0, /* no r7 */ - 0, /* no r8 */ - CAP_P(330), /* C16 */ - 12, /* vP */ + RES_M(1), /* R42 */ + RES_K(470), /* R43 */ + RES_K(680), /* R44 */ + RES_M(1), /* R46 */ + RES_M(1), /* R45 */ + 0, /* no r6 */ + 0, /* no r7 */ + 0, /* no r8 */ + CAP_P(330), /* C16 */ + 12, /* vP */ }; static const discrete_op_amp_info invaders_invader_hit_op_amp_D3_4 = { DISC_OP_AMP_IS_NORTON, - RES_K(470), /* R55 */ - RES_K(680), /* R54 */ - RES_M(2.7), /* R56 */ - RES_K(680), /* R57 */ - 0, /* no c */ - 0, /* vN */ - 12 /* vP */ + RES_K(470), /* R55 */ + RES_K(680), /* R54 */ + RES_M(2.7), /* R56 */ + RES_K(680), /* R57 */ + 0, /* no c */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_1sht_info invaders_explosion_1sht = { DISC_OP_AMP_1SHT_1 | DISC_OP_AMP_IS_NORTON, - RES_M(4.7), /* R90 */ - RES_K(100), /* R88 */ - RES_M(1), /* R91 */ - RES_M(1), /* R89 */ - RES_M(2.2), /* R92 */ - CAP_U(2.2), /* C24 */ - CAP_P(470), /* C25 */ - 0, /* vN */ - 12 /* vP */ + RES_M(4.7), /* R90 */ + RES_K(100), /* R88 */ + RES_M(1), /* R91 */ + RES_M(1), /* R89 */ + RES_M(2.2), /* R92 */ + CAP_U(2.2), /* C24 */ + CAP_P(470), /* C25 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_tvca_info invaders_explosion_tvca = { - RES_M(2.7), /* R80 */ - RES_K(680), /* R79 */ - 0, /* no r3 */ - RES_K(680), /* R82 */ - RES_K(10), /* R93 */ - 0, /* no r6 */ - RES_K(680), /* R83 */ - 0, /* no r8 */ - 0, /* no r9 */ - 0, /* no r10 */ - 0, /* no r11 */ - CAP_U(1), /* C26 */ - 0, /* no c2 */ - 0, 0, /* no c3, c4 */ - 12.0 - OP_AMP_NORTON_VBE, /* v1 */ - 0, /* no v2 */ - 0, /* no v3 */ - 12, /* vP */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ - DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ + RES_M(2.7), /* R80 */ + RES_K(680), /* R79 */ + 0, /* no r3 */ + RES_K(680), /* R82 */ + RES_K(10), /* R93 */ + 0, /* no r6 */ + RES_K(680), /* R83 */ + 0, /* no r8 */ + 0, /* no r9 */ + 0, /* no r10 */ + 0, /* no r11 */ + CAP_U(1), /* C26 */ + 0, /* no c2 */ + 0, 0, /* no c3, c4 */ + 12.0 - OP_AMP_NORTON_VBE, /* v1 */ + 0, /* no v2 */ + 0, /* no v3 */ + 12, /* vP */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ + DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ }; static const discrete_op_amp_1sht_info invaders_missle_1sht = { DISC_OP_AMP_1SHT_1 | DISC_OP_AMP_IS_NORTON, - RES_M(4.7), /* R32 */ - RES_K(100), /* R30 */ - RES_M(1), /* R31 */ - RES_M(1), /* R33 */ - RES_M(2.2), /* R34 */ - CAP_U(1), /* C12 */ - CAP_P(470), /* C15 */ - 0, /* vN */ - 12 /* vP */ + RES_M(4.7), /* R32 */ + RES_K(100), /* R30 */ + RES_M(1), /* R31 */ + RES_M(1), /* R33 */ + RES_M(2.2), /* R34 */ + CAP_U(1), /* C12 */ + CAP_P(470), /* C15 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_info invaders_missle_op_amp_B3 = { DISC_OP_AMP_IS_NORTON, - 0, /* no r1 */ - RES_K(10), /* R35 */ - RES_M(1.5), /* R36 */ - 0, /* no r4 */ - CAP_U(0.22), /* C13 */ - 0, /* vN */ - 12 /* vP */ + 0, /* no r1 */ + RES_K(10), /* R35 */ + RES_M(1.5), /* R36 */ + 0, /* no r4 */ + CAP_U(0.22), /* C13 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_osc_info invaders_missle_op_amp_osc = { DISC_OP_AMP_OSCILLATOR_VCO_3 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, - 1.0 / (1.0 / RES_M(1) + 1.0 / RES_K(330)) + RES_M(1.5), /* R29||R11 + R12 */ - RES_M(1), /* R16 */ - RES_K(560), /* R17 */ - RES_M(2.2), /* R19 */ - RES_M(1), /* R16 */ - RES_M(4.7), /* R14 */ - RES_M(3.3), /* R13 */ - 0, /* no r8 */ - CAP_P(330), /* C58 */ - 12, /* vP */ + 1.0 / (1.0 / RES_M(1) + 1.0 / RES_K(330)) + RES_M(1.5), /* R29||R11 + R12 */ + RES_M(1), /* R16 */ + RES_K(560), /* R17 */ + RES_M(2.2), /* R19 */ + RES_M(1), /* R16 */ + RES_M(4.7), /* R14 */ + RES_M(3.3), /* R13 */ + 0, /* no r8 */ + CAP_P(330), /* C58 */ + 12, /* vP */ }; static const discrete_op_amp_info invaders_missle_op_amp_A3 = { DISC_OP_AMP_IS_NORTON, - RES_K(560), /* R22 */ - RES_K(470), /* R15 */ - RES_M(2.7), /* R20 */ - RES_K(560), /* R21 */ - 0, /* no c */ - 0, /* vN */ - 12 /* vP */ + RES_K(560), /* R22 */ + RES_K(470), /* R15 */ + RES_M(2.7), /* R20 */ + RES_K(560), /* R21 */ + 0, /* no c */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_tvca_info invaders_missle_tvca = { - RES_M(2.7), /* R25 */ - RES_K(560), /* R23 */ - 0, /* no r3 */ - RES_K(560), /* R26 */ - RES_K(1), /* */ - 0, /* no r6 */ - RES_K(560), /* R60 */ - 0, /* no r8 */ - 0, /* no r9 */ - 0, /* no r10 */ - 0, /* no r11 */ - CAP_U(0.1), /* C14 */ - 0, /* no c2 */ - 0, 0, /* no c3, c4 */ - 5, /* v1 */ - 0, /* no v2 */ - 0, /* no v3 */ - 12, /* vP */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ - DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ - DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ + RES_M(2.7), /* R25 */ + RES_K(560), /* R23 */ + 0, /* no r3 */ + RES_K(560), /* R26 */ + RES_K(1), /* */ + 0, /* no r6 */ + RES_K(560), /* R60 */ + 0, /* no r8 */ + 0, /* no r9 */ + 0, /* no r10 */ + 0, /* no r11 */ + CAP_U(0.1), /* C14 */ + 0, /* no c2 */ + 0, 0, /* no c3, c4 */ + 5, /* v1 */ + 0, /* no v2 */ + 0, /* no v3 */ + 12, /* vP */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f0 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f1 */ + DISC_OP_AMP_TRIGGER_FUNCTION_TRG0, /* f2 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f3 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE, /* no f4 */ + DISC_OP_AMP_TRIGGER_FUNCTION_NONE /* no f5 */ }; static const discrete_mixer_desc invaders_mixer = { - DISC_MIXER_IS_OP_AMP, /* type */ - { RES_K(200), /* R78 */ - RES_K(10) + 100 + 100, /* R134 + R133 + R132 */ - RES_K(150), /* R136 */ - RES_K(200), /* R59 */ - RES_K(2) + RES_K(6.8) + RES_K(5.6), /* R86 + R85 + R84 */ - RES_K(150) }, /* R28 */ - {0}, /* no rNode{} */ + DISC_MIXER_IS_OP_AMP, /* type */ + { RES_K(200), /* R78 */ + RES_K(10) + 100 + 100, /* R134 + R133 + R132 */ + RES_K(150), /* R136 */ + RES_K(200), /* R59 */ + RES_K(2) + RES_K(6.8) + RES_K(5.6), /* R86 + R85 + R84 */ + RES_K(150) }, /* R28 */ + {0}, /* no rNode{} */ { 0, - 0, - 0, - 0, - 0, - CAP_U(0.001) }, /* C11 */ - 0, /* no rI */ - RES_K(100), /* R105 */ - 0, /* no cF */ - CAP_U(0.1), /* C45 */ - 0, /* vRef = ground */ - 1 /* gain */ + 0, + 0, + 0, + 0, + CAP_U(0.001) }, /* C11 */ + 0, /* no rI */ + RES_K(100), /* R105 */ + 0, /* no cF */ + CAP_U(0.1), /* C45 */ + 0, /* vRef = ground */ + 1 /* gain */ }; /* sound board 1 or 2, for multi-board games */ -#define INVADERS_NODE(_node, _board) (NODE(_node + ((_board - 1) * 100))) +#define INVADERS_NODE(_node, _board) (NODE(_node + ((_board - 1) * 100))) /************************************************ * Noise Generator ************************************************/ /* Noise clock was breadboarded and measured at 7515 */ -#define INVADERS_NOISE_GENERATOR \ - DISCRETE_LFSR_NOISE(INVADERS_NOISE, /* IC N5, pin 10 */ \ - 1, /* ENAB */ \ - 1, /* no RESET */ \ - 7515, /* CLK in Hz */ \ - 12, /* p-p AMPL */ \ - 0, /* no FEED input */ \ - 12.0/2, /* dc BIAS */ \ +#define INVADERS_NOISE_GENERATOR \ + DISCRETE_LFSR_NOISE(INVADERS_NOISE, /* IC N5, pin 10 */ \ + 1, /* ENAB */ \ + 1, /* no RESET */ \ + 7515, /* CLK in Hz */ \ + 12, /* p-p AMPL */ \ + 0, /* no FEED input */ \ + 12.0/2, /* dc BIAS */ \ &midway_lfsr) /************************************************ * Saucer Hit ************************************************/ -#define INVADERS_SAUCER_HIT(_board) \ - DISCRETE_INPUTX_LOGIC(INVADERS_NODE(INVADERS_SAUCER_HIT_EN, _board), 12, 0, 0) \ - DISCRETE_OP_AMP(INVADERS_NODE(20, _board), /* IC B3, pin 9 */ \ - 1, /* ENAB */ \ - 0, /* no IN0 */ \ - INVADERS_NODE(INVADERS_SAUCER_HIT_EN, _board), /* IN1 */ \ +#define INVADERS_SAUCER_HIT(_board) \ + DISCRETE_INPUTX_LOGIC(INVADERS_NODE(INVADERS_SAUCER_HIT_EN, _board), 12, 0, 0) \ + DISCRETE_OP_AMP(INVADERS_NODE(20, _board), /* IC B3, pin 9 */ \ + 1, /* ENAB */ \ + 0, /* no IN0 */ \ + INVADERS_NODE(INVADERS_SAUCER_HIT_EN, _board), /* IN1 */ \ &invaders_saucer_hit_op_amp_B3_9) \ - DISCRETE_OP_AMP_OSCILLATOR(INVADERS_NODE(21, _board), /* IC A4, pin 5 */ \ - 1, /* ENAB */ \ - &invaders_saucer_hit_osc) \ - DISCRETE_OP_AMP_VCO1(INVADERS_NODE(22, _board), /* IC A4, pin 9 */ \ - 1, /* ENAB */ \ - INVADERS_NODE(21, _board), /* VMOD1 */ \ - &invaders_saucer_hit_vco) \ - DISCRETE_OP_AMP(INVADERS_NODE(INVADERS_SAUCER_HIT_SND, _board), /* IC B3, pin 10 */ \ - 1, /* ENAB */ \ - INVADERS_NODE(22, _board), /* IN0 */ \ - INVADERS_NODE(20, _board), /* IN1 */ \ + DISCRETE_OP_AMP_OSCILLATOR(INVADERS_NODE(21, _board), /* IC A4, pin 5 */ \ + 1, /* ENAB */ \ + &invaders_saucer_hit_osc) \ + DISCRETE_OP_AMP_VCO1(INVADERS_NODE(22, _board), /* IC A4, pin 9 */ \ + 1, /* ENAB */ \ + INVADERS_NODE(21, _board), /* VMOD1 */ \ + &invaders_saucer_hit_vco) \ + DISCRETE_OP_AMP(INVADERS_NODE(INVADERS_SAUCER_HIT_SND, _board), /* IC B3, pin 10 */ \ + 1, /* ENAB */ \ + INVADERS_NODE(22, _board), /* IN0 */ \ + INVADERS_NODE(20, _board), /* IN1 */ \ &invaders_saucer_hit_op_amp_B3_10) /************************************************ * Fleet movement ************************************************/ -#define INVADERS_FLEET(_board) \ - DISCRETE_INPUT_DATA (INVADERS_NODE(INVADERS_FLEET_DATA, _board)) \ +#define INVADERS_FLEET(_board) \ + DISCRETE_INPUT_DATA (INVADERS_NODE(INVADERS_FLEET_DATA, _board)) \ DISCRETE_COMP_ADDER(INVADERS_NODE(30, _board), \ - INVADERS_NODE(INVADERS_FLEET_DATA, _board), /* DATA */ \ + INVADERS_NODE(INVADERS_FLEET_DATA, _board), /* DATA */ \ &invaders_thump_resistors) \ - DISCRETE_555_ASTABLE(INVADERS_NODE(31, _board), /* IC F3, pin 6 */ \ - 1, /* RESET */ \ - INVADERS_NODE(30, _board), /* R1 */ \ - RES_K(75), /* R131 */ \ - CAP_U(0.1), /* C29 */ \ + DISCRETE_555_ASTABLE(INVADERS_NODE(31, _board), /* IC F3, pin 6 */ \ + 1, /* RESET */ \ + INVADERS_NODE(30, _board), /* R1 */ \ + RES_K(75), /* R131 */ \ + CAP_U(0.1), /* C29 */ \ &invaders_thump_555) \ DISCRETE_RCFILTER(INVADERS_NODE(32, _board), \ - INVADERS_NODE(31, _board), /* IN0 */ \ - 100, /* R132 */ \ - CAP_U(4.7) ) /* C31 */ \ + INVADERS_NODE(31, _board), /* IN0 */ \ + 100, /* R132 */ \ + CAP_U(4.7) ) /* C31 */ \ DISCRETE_RCFILTER(INVADERS_NODE(INVADERS_FLEET_SND, _board), \ - INVADERS_NODE(32, _board), /* IN0 */ \ - 100 + 100, /* R132 + R133 */ \ - CAP_U(10) ) /* C32 */ + INVADERS_NODE(32, _board), /* IN0 */ \ + 100 + 100, /* R132 + R133 */ \ + CAP_U(10) ) /* C32 */ /************************************************ * Bonus Missle Base ************************************************/ -#define INVADERS_BONUS_MISSLE_BASE(_board) \ - DISCRETE_INPUT_LOGIC (INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, _board)) \ - DISCRETE_555_ASTABLE(INVADERS_NODE(40, _board), /* IC F4, pin 9 */ \ +#define INVADERS_BONUS_MISSLE_BASE(_board) \ + DISCRETE_INPUT_LOGIC (INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, _board)) \ + DISCRETE_555_ASTABLE(INVADERS_NODE(40, _board), /* IC F4, pin 9 */ \ INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, _board),/* RESET */ \ - RES_K(100), /* R94 */ \ - RES_K(47), /* R95 */ \ - CAP_U(1), /* C34 */ \ - &invaders_bonus_555) \ - DISCRETE_SQUAREWFIX(INVADERS_NODE(41, _board), \ - 1, /* ENAB */ \ - 480, /* FREQ */ \ - 1, /* AMP */ \ - 50, /* DUTY */ \ - 1.0/2, /* BIAS */ \ - 0) /* PHASE */ \ - DISCRETE_LOGIC_AND3(INVADERS_NODE(42, _board), /* IC F3, pin 12 */ \ + RES_K(100), /* R94 */ \ + RES_K(47), /* R95 */ \ + CAP_U(1), /* C34 */ \ + &invaders_bonus_555) \ + DISCRETE_SQUAREWFIX(INVADERS_NODE(41, _board), \ + 1, /* ENAB */ \ + 480, /* FREQ */ \ + 1, /* AMP */ \ + 50, /* DUTY */ \ + 1.0/2, /* BIAS */ \ + 0) /* PHASE */ \ + DISCRETE_LOGIC_AND3(INVADERS_NODE(42, _board), /* IC F3, pin 12 */ \ INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_EN, _board),/* INP0 */ \ - INVADERS_NODE(41, _board), /* INP1 */ \ - INVADERS_NODE(40, _board) ) /* INP2 */ \ + INVADERS_NODE(41, _board), /* INP1 */ \ + INVADERS_NODE(40, _board) ) /* INP2 */ \ DISCRETE_GAIN(INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_SND, _board),/* adjust from logic to TTL voltage level */\ - INVADERS_NODE(42, _board), /* IN0 */ \ - DEFAULT_TTL_V_LOGIC_1) /* GAIN */ + INVADERS_NODE(42, _board), /* IN0 */ \ + DEFAULT_TTL_V_LOGIC_1) /* GAIN */ /************************************************ * Invader Hit ************************************************/ -#define INVADERS_INVADER_HIT(_board, _type) \ - DISCRETE_INPUTX_LOGIC(INVADERS_NODE(INVADERS_INVADER_HIT_EN, _board), 5, 0, 0) \ - DISCRETE_OP_AMP_ONESHOT(INVADERS_NODE(50, _board), /* IC D3, pin 9 */ \ - INVADERS_NODE(INVADERS_INVADER_HIT_EN, _board), /* TRIG */ \ +#define INVADERS_INVADER_HIT(_board, _type) \ + DISCRETE_INPUTX_LOGIC(INVADERS_NODE(INVADERS_INVADER_HIT_EN, _board), 5, 0, 0) \ + DISCRETE_OP_AMP_ONESHOT(INVADERS_NODE(50, _board), /* IC D3, pin 9 */ \ + INVADERS_NODE(INVADERS_INVADER_HIT_EN, _board), /* TRIG */ \ &_type##_invader_hit_1sht) \ - DISCRETE_OP_AMP(INVADERS_NODE(51, _board), /* IC D3, pin 10 */ \ - 1, /* ENAB */ \ - 0, /* no IN0 */ \ - INVADERS_NODE(50, _board), /* IN1 */ \ + DISCRETE_OP_AMP(INVADERS_NODE(51, _board), /* IC D3, pin 10 */ \ + 1, /* ENAB */ \ + 0, /* no IN0 */ \ + INVADERS_NODE(50, _board), /* IN1 */ \ &invaders_invader_hit_op_amp_D3_10) \ - DISCRETE_OP_AMP_OSCILLATOR(INVADERS_NODE(52, _board), /* IC B4, pin 5 */ \ - 1, /* ENAB */ \ + DISCRETE_OP_AMP_OSCILLATOR(INVADERS_NODE(52, _board), /* IC B4, pin 5 */ \ + 1, /* ENAB */ \ &_type##_invader_hit_osc) \ - DISCRETE_OP_AMP_VCO1(INVADERS_NODE(53, _board), /* IC B4, pin 4 */ \ - 1, /* ENAB */ \ - INVADERS_NODE(52, _board), /* VMOD1 */ \ + DISCRETE_OP_AMP_VCO1(INVADERS_NODE(53, _board), /* IC B4, pin 4 */ \ + 1, /* ENAB */ \ + INVADERS_NODE(52, _board), /* VMOD1 */ \ &invaders_invader_hit_vco) \ - DISCRETE_OP_AMP(INVADERS_NODE(INVADERS_INVADER_HIT_SND, _board), /* IC D3, pin 4 */ \ - 1, /* ENAB */ \ - INVADERS_NODE(53, _board), /* IN0 */ \ - INVADERS_NODE(51, _board), /* IN1 */ \ + DISCRETE_OP_AMP(INVADERS_NODE(INVADERS_INVADER_HIT_SND, _board), /* IC D3, pin 4 */ \ + 1, /* ENAB */ \ + INVADERS_NODE(53, _board), /* IN0 */ \ + INVADERS_NODE(51, _board), /* IN1 */ \ &invaders_invader_hit_op_amp_D3_4) /************************************************ * Explosion ************************************************/ -#define INVADERS_EXPLOSION(_board) \ - DISCRETE_INPUTX_LOGIC(INVADERS_NODE(INVADERS_EXPLOSION_EN, _board), 5, 0, 0) \ - DISCRETE_OP_AMP_ONESHOT(INVADERS_NODE(60, _board), /* IC D2, pin 10 */ \ - INVADERS_NODE(INVADERS_EXPLOSION_EN, _board), /* TRIG */ \ +#define INVADERS_EXPLOSION(_board) \ + DISCRETE_INPUTX_LOGIC(INVADERS_NODE(INVADERS_EXPLOSION_EN, _board), 5, 0, 0) \ + DISCRETE_OP_AMP_ONESHOT(INVADERS_NODE(60, _board), /* IC D2, pin 10 */ \ + INVADERS_NODE(INVADERS_EXPLOSION_EN, _board), /* TRIG */ \ &invaders_explosion_1sht) \ - DISCRETE_OP_AMP_TRIG_VCA(INVADERS_NODE(61, _board), /* IC D2, pin 4 */ \ - INVADERS_NODE(60, _board), /* TRG0 */ \ - 0, /* no TRG1 */ \ - 0, /* no TRG2 */ \ - INVADERS_NOISE, /* IN0 */ \ - 0, /* no IN1 */ \ + DISCRETE_OP_AMP_TRIG_VCA(INVADERS_NODE(61, _board), /* IC D2, pin 4 */ \ + INVADERS_NODE(60, _board), /* TRG0 */ \ + 0, /* no TRG1 */ \ + 0, /* no TRG2 */ \ + INVADERS_NOISE, /* IN0 */ \ + 0, /* no IN1 */ \ &invaders_explosion_tvca) \ DISCRETE_RCFILTER(INVADERS_NODE(62, _board), \ - INVADERS_NODE(61, _board), /* IN0 */ \ - RES_K(5.6), /* R84 */ \ - CAP_U(0.1) ) /* C27 */ \ + INVADERS_NODE(61, _board), /* IN0 */ \ + RES_K(5.6), /* R84 */ \ + CAP_U(0.1) ) /* C27 */ \ DISCRETE_RCFILTER(INVADERS_NODE(INVADERS_EXPLOSION_SND, _board), \ - INVADERS_NODE(62, _board), /* IN0 */ \ - RES_K(5.6) + RES_K(6.8), /* R84 + R85 */ \ - CAP_U(0.1) ) /* C28 */ + INVADERS_NODE(62, _board), /* IN0 */ \ + RES_K(5.6) + RES_K(6.8), /* R84 + R85 */ \ + CAP_U(0.1) ) /* C28 */ /************************************************ * Missle Sound ************************************************/ -#define INVADERS_MISSILE(_board, _type) \ - DISCRETE_INPUTX_LOGIC(INVADERS_NODE(INVADERS_MISSILE_EN, _board), 5, 0, 0) \ - DISCRETE_OP_AMP_ONESHOT(INVADERS_NODE(70, _board), /* IC B3, pin 4 */ \ - INVADERS_NODE(INVADERS_MISSILE_EN, _board), /* TRIG */ \ - &_type##_missle_1sht) \ - DISCRETE_OP_AMP(INVADERS_NODE(71, _board), /* IC B3, pin 5 */ \ - 1, /* ENAB */ \ - 0, /* no IN0 */ \ - INVADERS_NODE(70, _board), /* IN1 */ \ - &invaders_missle_op_amp_B3) \ - /* next 2 modules simulate the D1 voltage drop */ \ - DISCRETE_ADDER2(INVADERS_NODE(72, _board), \ - 1, /* ENAB */ \ - INVADERS_NODE(71, _board), /* IN0 */ \ - -0.5) /* IN1 */ \ - DISCRETE_CLAMP(INVADERS_NODE(73, _board), \ - INVADERS_NODE(72, _board), /* IN0 */ \ - 0, /* MIN */ \ - 12) /* MAX */ \ - DISCRETE_CRFILTER(INVADERS_NODE(74, _board), \ - INVADERS_NOISE, /* IN0 */ \ - RES_M(1) + RES_K(330), /* R29, R11 */ \ - CAP_U(0.1) ) /* C57 */ \ - DISCRETE_GAIN(INVADERS_NODE(75, _board), \ - INVADERS_NODE(74, _board), /* IN0 */ \ - RES_K(330)/(RES_M(1) + RES_K(330))) /* GAIN - R29 : R11 */ \ - DISCRETE_OP_AMP_VCO2(INVADERS_NODE(76, _board), /* IC C1, pin 4 */ \ - 1, /* ENAB */ \ - INVADERS_NODE(75, _board), /* VMOD1 */ \ - INVADERS_NODE(73, _board), /* VMOD2 */ \ - &invaders_missle_op_amp_osc) \ - DISCRETE_OP_AMP(INVADERS_NODE(77, _board), /* IC A3, pin 9 */ \ - 1, /* ENAB */ \ - INVADERS_NODE(76, _board), /* IN0 */ \ - INVADERS_NODE(73, _board), /* IN1 */ \ - &invaders_missle_op_amp_A3) \ - DISCRETE_OP_AMP_TRIG_VCA(INVADERS_NODE(INVADERS_MISSILE_SND, _board), /* IC A3, pin 10 */ \ - INVADERS_NODE(INVADERS_MISSILE_EN, _board), /* TRG0 */ \ - 0, /* no TRG1 */ \ - 0, /* no TRG2 */ \ - INVADERS_NODE(77, _board), /* IN0 */ \ - 0, /* no IN1 */ \ +#define INVADERS_MISSILE(_board, _type) \ + DISCRETE_INPUTX_LOGIC(INVADERS_NODE(INVADERS_MISSILE_EN, _board), 5, 0, 0) \ + DISCRETE_OP_AMP_ONESHOT(INVADERS_NODE(70, _board), /* IC B3, pin 4 */ \ + INVADERS_NODE(INVADERS_MISSILE_EN, _board), /* TRIG */ \ + &_type##_missle_1sht) \ + DISCRETE_OP_AMP(INVADERS_NODE(71, _board), /* IC B3, pin 5 */ \ + 1, /* ENAB */ \ + 0, /* no IN0 */ \ + INVADERS_NODE(70, _board), /* IN1 */ \ + &invaders_missle_op_amp_B3) \ + /* next 2 modules simulate the D1 voltage drop */ \ + DISCRETE_ADDER2(INVADERS_NODE(72, _board), \ + 1, /* ENAB */ \ + INVADERS_NODE(71, _board), /* IN0 */ \ + -0.5) /* IN1 */ \ + DISCRETE_CLAMP(INVADERS_NODE(73, _board), \ + INVADERS_NODE(72, _board), /* IN0 */ \ + 0, /* MIN */ \ + 12) /* MAX */ \ + DISCRETE_CRFILTER(INVADERS_NODE(74, _board), \ + INVADERS_NOISE, /* IN0 */ \ + RES_M(1) + RES_K(330), /* R29, R11 */ \ + CAP_U(0.1) ) /* C57 */ \ + DISCRETE_GAIN(INVADERS_NODE(75, _board), \ + INVADERS_NODE(74, _board), /* IN0 */ \ + RES_K(330)/(RES_M(1) + RES_K(330))) /* GAIN - R29 : R11 */ \ + DISCRETE_OP_AMP_VCO2(INVADERS_NODE(76, _board), /* IC C1, pin 4 */ \ + 1, /* ENAB */ \ + INVADERS_NODE(75, _board), /* VMOD1 */ \ + INVADERS_NODE(73, _board), /* VMOD2 */ \ + &invaders_missle_op_amp_osc) \ + DISCRETE_OP_AMP(INVADERS_NODE(77, _board), /* IC A3, pin 9 */ \ + 1, /* ENAB */ \ + INVADERS_NODE(76, _board), /* IN0 */ \ + INVADERS_NODE(73, _board), /* IN1 */ \ + &invaders_missle_op_amp_A3) \ + DISCRETE_OP_AMP_TRIG_VCA(INVADERS_NODE(INVADERS_MISSILE_SND, _board), /* IC A3, pin 10 */ \ + INVADERS_NODE(INVADERS_MISSILE_EN, _board), /* TRG0 */ \ + 0, /* no TRG1 */ \ + 0, /* no TRG2 */ \ + INVADERS_NODE(77, _board), /* IN0 */ \ + 0, /* no IN1 */ \ &invaders_missle_tvca) /************************************************ * Final mix ************************************************/ -#define INVADERS_MIXER(_board, _type) \ +#define INVADERS_MIXER(_board, _type) \ DISCRETE_MIXER6(INVADERS_NODE(90, _board), \ - 1, /* ENAB */ \ - INVADERS_NODE(INVADERS_SAUCER_HIT_SND, _board), /* IN0 */ \ - INVADERS_NODE(INVADERS_FLEET_SND, _board), /* IN1 */ \ - INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_SND, _board), /* IN2 */ \ - INVADERS_NODE(INVADERS_INVADER_HIT_SND, _board), /* IN3 */ \ - INVADERS_NODE(INVADERS_EXPLOSION_SND, _board), /* IN4 */ \ - INVADERS_NODE(INVADERS_MISSILE_SND, _board), /* IN5 */ \ + 1, /* ENAB */ \ + INVADERS_NODE(INVADERS_SAUCER_HIT_SND, _board), /* IN0 */ \ + INVADERS_NODE(INVADERS_FLEET_SND, _board), /* IN1 */ \ + INVADERS_NODE(INVADERS_BONUS_MISSLE_BASE_SND, _board), /* IN2 */ \ + INVADERS_NODE(INVADERS_INVADER_HIT_SND, _board), /* IN3 */ \ + INVADERS_NODE(INVADERS_EXPLOSION_SND, _board), /* IN4 */ \ + INVADERS_NODE(INVADERS_MISSILE_SND, _board), /* IN5 */ \ &_type##_mixer) \ DISCRETE_OUTPUT(INVADERS_NODE(90, _board), 2500) @@ -4182,7 +4182,7 @@ MACHINE_CONFIG_END WRITE8_MEMBER(mw8080bw_state::invaders_audio_1_w) { - sn76477_enable_w(m_sn, (~data >> 0) & 0x01); /* saucer sound */ + sn76477_enable_w(m_sn, (~data >> 0) & 0x01); /* saucer sound */ discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_MISSILE_EN, 1), data & 0x02); discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_EXPLOSION_EN, 1), data & 0x04); @@ -4238,221 +4238,221 @@ WRITE8_MEMBER(mw8080bw_state::invaders_audio_2_w) #define BLUESHRK_SHOT_SND NODE_16 /* Parts List - Resistors */ -#define BLUESHRK_R300 RES_M(1) -#define BLUESHRK_R301 RES_K(100) -#define BLUESHRK_R302 RES_M(1) -#define BLUESHRK_R303 RES_K(33) -#define BLUESHRK_R304 RES_K(120) -#define BLUESHRK_R305 RES_M(1) -#define BLUESHRK_R306 RES_K(470) -#define BLUESHRK_R307 RES_K(680) -#define BLUESHRK_R308 RES_M(1) -#define BLUESHRK_R309 RES_M(1) -#define BLUESHRK_R310 RES_K(680) -#define BLUESHRK_R311 RES_K(1) -#define BLUESHRK_R312 RES_K(100) -#define BLUESHRK_R313 RES_M(1) -#define BLUESHRK_R314 RES_M(1) -#define BLUESHRK_R315 RES_M(4.7) -#define BLUESHRK_R316 RES_M(2.2) -#define BLUESHRK_R317 RES_K(10) -#define BLUESHRK_R318 RES_M(1) -#define BLUESHRK_R319 RES_K(680) -#define BLUESHRK_R320 RES_M(2.7) -#define BLUESHRK_R321 RES_K(680) -#define BLUESHRK_R324 RES_K(750) -#define BLUESHRK_R520 RES_K(510) -#define BLUESHRK_R521 RES_K(22) -#define BLUESHRK_R529 RES_K(33) -#define BLUESHRK_R601 RES_K(47) -#define BLUESHRK_R602 RES_K(22) -#define BLUESHRK_R603 RES_K(39) -#define BLUESHRK_R604 RES_K(1) -#define BLUESHRK_R605 RES_M(1) -#define BLUESHRK_R700 RES_K(68) -#define BLUESHRK_R701 RES_K(470) -#define BLUESHRK_R702 RES_M(1.2) -#define BLUESHRK_R703 RES_M(1.5) -#define BLUESHRK_R704 RES_K(22) -#define BLUESHRK_R705 RES_K(100) -#define BLUESHRK_R706 RES_K(470) -#define BLUESHRK_R707 RES_M(1.2) -#define BLUESHRK_R708 RES_M(1.5) -#define BLUESHRK_R709 RES_K(22) -#define BLUESHRK_R710 RES_K(470) -#define BLUESHRK_R711 RES_K(39) -#define BLUESHRK_R712 RES_M(1.2) -#define BLUESHRK_R713 RES_M(1.5) -#define BLUESHRK_R714 RES_K(22) -#define BLUESHRK_R715 RES_K(47) -#define BLUESHRK_R716 RES_K(75) -#define BLUESHRK_R717 RES_M(1.5) -#define BLUESHRK_R718 RES_M(2.2) -#define BLUESHRK_R719 RES_K(560) -#define BLUESHRK_R720 RES_M(1.5) -#define BLUESHRK_R721 RES_M(2.2) -#define BLUESHRK_R722 RES_M(2.2) -#define BLUESHRK_R723 RES_K(560) -#define BLUESHRK_R724 RES_K(12) -#define BLUESHRK_R725 RES_K(68) -#define BLUESHRK_R726 RES_K(330) -#define BLUESHRK_R727 RES_M(2.2) -#define BLUESHRK_R728 RES_M(1) -#define BLUESHRK_R730 RES_K(56) -#define BLUESHRK_R1000 RES_K(1) +#define BLUESHRK_R300 RES_M(1) +#define BLUESHRK_R301 RES_K(100) +#define BLUESHRK_R302 RES_M(1) +#define BLUESHRK_R303 RES_K(33) +#define BLUESHRK_R304 RES_K(120) +#define BLUESHRK_R305 RES_M(1) +#define BLUESHRK_R306 RES_K(470) +#define BLUESHRK_R307 RES_K(680) +#define BLUESHRK_R308 RES_M(1) +#define BLUESHRK_R309 RES_M(1) +#define BLUESHRK_R310 RES_K(680) +#define BLUESHRK_R311 RES_K(1) +#define BLUESHRK_R312 RES_K(100) +#define BLUESHRK_R313 RES_M(1) +#define BLUESHRK_R314 RES_M(1) +#define BLUESHRK_R315 RES_M(4.7) +#define BLUESHRK_R316 RES_M(2.2) +#define BLUESHRK_R317 RES_K(10) +#define BLUESHRK_R318 RES_M(1) +#define BLUESHRK_R319 RES_K(680) +#define BLUESHRK_R320 RES_M(2.7) +#define BLUESHRK_R321 RES_K(680) +#define BLUESHRK_R324 RES_K(750) +#define BLUESHRK_R520 RES_K(510) +#define BLUESHRK_R521 RES_K(22) +#define BLUESHRK_R529 RES_K(33) +#define BLUESHRK_R601 RES_K(47) +#define BLUESHRK_R602 RES_K(22) +#define BLUESHRK_R603 RES_K(39) +#define BLUESHRK_R604 RES_K(1) +#define BLUESHRK_R605 RES_M(1) +#define BLUESHRK_R700 RES_K(68) +#define BLUESHRK_R701 RES_K(470) +#define BLUESHRK_R702 RES_M(1.2) +#define BLUESHRK_R703 RES_M(1.5) +#define BLUESHRK_R704 RES_K(22) +#define BLUESHRK_R705 RES_K(100) +#define BLUESHRK_R706 RES_K(470) +#define BLUESHRK_R707 RES_M(1.2) +#define BLUESHRK_R708 RES_M(1.5) +#define BLUESHRK_R709 RES_K(22) +#define BLUESHRK_R710 RES_K(470) +#define BLUESHRK_R711 RES_K(39) +#define BLUESHRK_R712 RES_M(1.2) +#define BLUESHRK_R713 RES_M(1.5) +#define BLUESHRK_R714 RES_K(22) +#define BLUESHRK_R715 RES_K(47) +#define BLUESHRK_R716 RES_K(75) +#define BLUESHRK_R717 RES_M(1.5) +#define BLUESHRK_R718 RES_M(2.2) +#define BLUESHRK_R719 RES_K(560) +#define BLUESHRK_R720 RES_M(1.5) +#define BLUESHRK_R721 RES_M(2.2) +#define BLUESHRK_R722 RES_M(2.2) +#define BLUESHRK_R723 RES_K(560) +#define BLUESHRK_R724 RES_K(12) +#define BLUESHRK_R725 RES_K(68) +#define BLUESHRK_R726 RES_K(330) +#define BLUESHRK_R727 RES_M(2.2) +#define BLUESHRK_R728 RES_M(1) +#define BLUESHRK_R730 RES_K(56) +#define BLUESHRK_R1000 RES_K(1) /* Parts List - Capacitors */ -#define BLUESHRK_C300 CAP_U(0.1) -#define BLUESHRK_C301 CAP_P(470) -#define BLUESHRK_C302 CAP_P(470) -#define BLUESHRK_C303 CAP_U(0.47) -#define BLUESHRK_C304 CAP_U(1) -#define BLUESHRK_C305 CAP_U(1) -#define BLUESHRK_C508 CAP_U(1) -#define BLUESHRK_C600 CAP_U(2.2) -#define BLUESHRK_C602 CAP_U(0.022) -#define BLUESHRK_C603 CAP_U(0.01) -#define BLUESHRK_C604 CAP_U(0.015) -#define BLUESHRK_C606 CAP_U(1) -#define BLUESHRK_C700 CAP_U(22) -#define BLUESHRK_C701 CAP_U(22) -#define BLUESHRK_C702 CAP_U(10) -#define BLUESHRK_C703 CAP_U(0.033) -#define BLUESHRK_C704 CAP_U(0.015) -#define BLUESHRK_C705 CAP_U(0.015) -#define BLUESHRK_C706 CAP_U(0.033) -#define BLUESHRK_C707 CAP_U(2.2) -#define BLUESHRK_C708 CAP_U(1) -#define BLUESHRK_C900 CAP_U(10) +#define BLUESHRK_C300 CAP_U(0.1) +#define BLUESHRK_C301 CAP_P(470) +#define BLUESHRK_C302 CAP_P(470) +#define BLUESHRK_C303 CAP_U(0.47) +#define BLUESHRK_C304 CAP_U(1) +#define BLUESHRK_C305 CAP_U(1) +#define BLUESHRK_C508 CAP_U(1) +#define BLUESHRK_C600 CAP_U(2.2) +#define BLUESHRK_C602 CAP_U(0.022) +#define BLUESHRK_C603 CAP_U(0.01) +#define BLUESHRK_C604 CAP_U(0.015) +#define BLUESHRK_C606 CAP_U(1) +#define BLUESHRK_C700 CAP_U(22) +#define BLUESHRK_C701 CAP_U(22) +#define BLUESHRK_C702 CAP_U(10) +#define BLUESHRK_C703 CAP_U(0.033) +#define BLUESHRK_C704 CAP_U(0.015) +#define BLUESHRK_C705 CAP_U(0.015) +#define BLUESHRK_C706 CAP_U(0.033) +#define BLUESHRK_C707 CAP_U(2.2) +#define BLUESHRK_C708 CAP_U(1) +#define BLUESHRK_C900 CAP_U(10) static const discrete_op_amp_osc_info blueshrk_octopus_osc = { DISC_OP_AMP_OSCILLATOR_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_CAP, - BLUESHRK_R300, BLUESHRK_R303, BLUESHRK_R301, BLUESHRK_R304, BLUESHRK_R302, 0, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ - BLUESHRK_C300, 12 /*c, vP */ + BLUESHRK_R300, BLUESHRK_R303, BLUESHRK_R301, BLUESHRK_R304, BLUESHRK_R302, 0, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ + BLUESHRK_C300, 12 /*c, vP */ }; static const discrete_op_amp_osc_info blueshrk_octopus_vco = { DISC_OP_AMP_OSCILLATOR_VCO_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_SQW, - BLUESHRK_R305, BLUESHRK_R306, BLUESHRK_R307, BLUESHRK_R309, BLUESHRK_R308, 0, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ - BLUESHRK_C301, 12 /*c, vP */ + BLUESHRK_R305, BLUESHRK_R306, BLUESHRK_R307, BLUESHRK_R309, BLUESHRK_R308, 0, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ + BLUESHRK_C301, 12 /*c, vP */ }; static const discrete_op_amp_1sht_info blueshrk_octopus_oneshot = { DISC_OP_AMP_1SHT_1 | DISC_OP_AMP_IS_NORTON, - BLUESHRK_R315, BLUESHRK_R312, BLUESHRK_R314, BLUESHRK_R313, BLUESHRK_R316, /* r1, r2, r3, r4, r5 */ - BLUESHRK_C303, BLUESHRK_C302, /* c1, c2 */ - 0, 12 /* vN, vP */ + BLUESHRK_R315, BLUESHRK_R312, BLUESHRK_R314, BLUESHRK_R313, BLUESHRK_R316, /* r1, r2, r3, r4, r5 */ + BLUESHRK_C303, BLUESHRK_C302, /* c1, c2 */ + 0, 12 /* vN, vP */ }; static const discrete_integrate_info blueshrk_octopus_integrate = { DISC_INTEGRATE_OP_AMP_1 | DISC_OP_AMP_IS_NORTON, - BLUESHRK_R318, BLUESHRK_R317, 0, BLUESHRK_C304, /* r1, r2, r3, c */ - 12, 12, /* v1, vP */ - 0, 0, 0 /* f0, f1, f2 */ + BLUESHRK_R318, BLUESHRK_R317, 0, BLUESHRK_C304, /* r1, r2, r3, c */ + 12, 12, /* v1, vP */ + 0, 0, 0 /* f0, f1, f2 */ }; static const discrete_op_amp_info blueshrk_octopus_amp = { DISC_OP_AMP_IS_NORTON, - BLUESHRK_R310, BLUESHRK_R319, BLUESHRK_R320, BLUESHRK_R321, /* r1, r2, r3, r4 */ - 0, 0, 12 /* c, vN, vP */ + BLUESHRK_R310, BLUESHRK_R319, BLUESHRK_R320, BLUESHRK_R321, /* r1, r2, r3, r4 */ + 0, 0, 12 /* c, vN, vP */ }; static const discrete_lfsr_desc blueshrk_lfsr = { DISC_CLK_IS_FREQ, - 17, /* bit length */ + 17, /* bit length */ /* the RC network fed into pin 4, has the effect - of presetting all bits high at power up */ - 0x1ffff, /* reset value */ - 4, /* use bit 4 as XOR input 0 */ - 16, /* use bit 16 as XOR input 1 */ - DISC_LFSR_XOR, /* feedback stage1 is XOR */ - DISC_LFSR_OR, /* feedback stage2 is just stage 1 output OR with external feed */ - DISC_LFSR_REPLACE, /* feedback stage3 replaces the shifted register contents */ - 0x000001, /* everything is shifted into the first bit only */ - DISC_LFSR_FLAG_OUTPUT_SR_SN1, /* output is not inverted */ - 12 /* output bit */ + of presetting all bits high at power up */ + 0x1ffff, /* reset value */ + 4, /* use bit 4 as XOR input 0 */ + 16, /* use bit 16 as XOR input 1 */ + DISC_LFSR_XOR, /* feedback stage1 is XOR */ + DISC_LFSR_OR, /* feedback stage2 is just stage 1 output OR with external feed */ + DISC_LFSR_REPLACE, /* feedback stage3 replaces the shifted register contents */ + 0x000001, /* everything is shifted into the first bit only */ + DISC_LFSR_FLAG_OUTPUT_SR_SN1, /* output is not inverted */ + 12 /* output bit */ }; static const discrete_555_desc blueshrk_555_H1B = { DISC_555_OUT_ENERGY | DISC_555_OUT_DC, - 5, /* B+ voltage of 555 */ + 5, /* B+ voltage of 555 */ DEFAULT_555_CHARGE, - 12 /* the OC buffer H2 converts the output voltage to 12V. */ + 12 /* the OC buffer H2 converts the output voltage to 12V. */ }; static const discrete_op_amp_osc_info blueshrk_shark_osc1 = { DISC_OP_AMP_OSCILLATOR_2 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_ENERGY, - 0, BLUESHRK_R701, BLUESHRK_R703, BLUESHRK_R702, 0, BLUESHRK_R700, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ - BLUESHRK_C700, 12 /*c, vP */ + 0, BLUESHRK_R701, BLUESHRK_R703, BLUESHRK_R702, 0, BLUESHRK_R700, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ + BLUESHRK_C700, 12 /*c, vP */ }; static const discrete_op_amp_osc_info blueshrk_shark_osc2 = { DISC_OP_AMP_OSCILLATOR_2 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_ENERGY, - 0, BLUESHRK_R706, BLUESHRK_R708, BLUESHRK_R707, 0, BLUESHRK_R705, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ - BLUESHRK_C700, 12 /*c, vP */ + 0, BLUESHRK_R706, BLUESHRK_R708, BLUESHRK_R707, 0, BLUESHRK_R705, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ + BLUESHRK_C700, 12 /*c, vP */ }; static const discrete_op_amp_osc_info blueshrk_shark_osc3 = { DISC_OP_AMP_OSCILLATOR_2 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_ENERGY, - 0, BLUESHRK_R711, BLUESHRK_R713, BLUESHRK_R712, 0, BLUESHRK_R710, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ - BLUESHRK_C700, 12 /*c, vP */ + 0, BLUESHRK_R711, BLUESHRK_R713, BLUESHRK_R712, 0, BLUESHRK_R710, 0, 0, /* r1, r2, r3, r4, r5, r6, r7, r8 */ + BLUESHRK_C700, 12 /*c, vP */ }; static const discrete_mixer_desc blueshrk_shark_mixer = { DISC_MIXER_IS_RESISTOR, {BLUESHRK_R704, BLUESHRK_R709, BLUESHRK_R714}, - {0}, {0}, 0, 0, 0, 0, 0, 1 /* r_node, c, rI, rF, cF, cAmp, vRef, gain */ + {0}, {0}, 0, 0, 0, 0, 0, 1 /* r_node, c, rI, rF, cF, cAmp, vRef, gain */ }; static const discrete_op_amp_info blueshrk_shark_amp_m3 = { DISC_OP_AMP_IS_NORTON, - 0, BLUESHRK_R715 + RES_3_PARALLEL(BLUESHRK_R704, BLUESHRK_R709, BLUESHRK_R714), BLUESHRK_R716, 0, /* r1, r2, r3, r4 */ - 0, 0, 12 /* c, vN, vP */ + 0, BLUESHRK_R715 + RES_3_PARALLEL(BLUESHRK_R704, BLUESHRK_R709, BLUESHRK_R714), BLUESHRK_R716, 0, /* r1, r2, r3, r4 */ + 0, 0, 12 /* c, vN, vP */ }; static const discrete_op_amp_osc_info blueshrk_shark_vco = { DISC_OP_AMP_OSCILLATOR_VCO_3 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_ENERGY, - BLUESHRK_R717, BLUESHRK_R722, BLUESHRK_R719, BLUESHRK_R721, BLUESHRK_R720, /* r1, r2, r3, r4, r5 */ - 0, 0, BLUESHRK_R718, /* r6, r7, r8 */ - BLUESHRK_C703, 12 /*c, vP */ + BLUESHRK_R717, BLUESHRK_R722, BLUESHRK_R719, BLUESHRK_R721, BLUESHRK_R720, /* r1, r2, r3, r4, r5 */ + 0, 0, BLUESHRK_R718, /* r6, r7, r8 */ + BLUESHRK_C703, 12 /*c, vP */ }; static const discrete_op_amp_info blueshrk_shark_amp_k3 = { DISC_OP_AMP_IS_NORTON, - BLUESHRK_R724 + BLUESHRK_R725 + BLUESHRK_R726, /* r1 */ - BLUESHRK_R723 , BLUESHRK_R727, BLUESHRK_R728, /* r2, r3, r4 */ - 0, 0, 12 /* c, vN, vP */ + BLUESHRK_R724 + BLUESHRK_R725 + BLUESHRK_R726, /* r1 */ + BLUESHRK_R723 , BLUESHRK_R727, BLUESHRK_R728, /* r2, r3, r4 */ + 0, 0, 12 /* c, vN, vP */ }; static const discrete_mixer_desc blueshrk_mixer = { DISC_MIXER_IS_RESISTOR, {BLUESHRK_R324, RES_2_PARALLEL(BLUESHRK_R520, BLUESHRK_R521) + BLUESHRK_R529, BLUESHRK_R604 + BLUESHRK_R605, BLUESHRK_R730}, - {0}, /* r_node */ + {0}, /* r_node */ {BLUESHRK_C305, BLUESHRK_C508, BLUESHRK_C606, BLUESHRK_C708}, - 0, 0, 0, BLUESHRK_C900, 0, 1 /* rI, rF, cF, cAmp, vRef, gain */ + 0, 0, 0, BLUESHRK_C900, 0, 1 /* rI, rF, cF, cAmp, vRef, gain */ }; static DISCRETE_SOUND_START(blueshrk) /************************************************ - * Input register mapping - ************************************************/ + * Input register mapping + ************************************************/ DISCRETE_INPUTX_LOGIC(BLUESHRK_OCTOPUS_EN, 12, 0, 0) DISCRETE_INPUT_LOGIC(BLUESHRK_HIT_EN) DISCRETE_INPUT_LOGIC(BLUESHRK_SHARK_EN) @@ -4460,108 +4460,108 @@ static DISCRETE_SOUND_START(blueshrk) DISCRETE_INPUT_LOGIC(BLUESHRK_GAME_ON_EN) /************************************************ - * Octopus sound - ************************************************/ - DISCRETE_OP_AMP_OSCILLATOR(NODE_20, /* IC M5, pin 5 */ - 1, /* ENAB */ + * Octopus sound + ************************************************/ + DISCRETE_OP_AMP_OSCILLATOR(NODE_20, /* IC M5, pin 5 */ + 1, /* ENAB */ &blueshrk_octopus_osc) - DISCRETE_OP_AMP_VCO1(NODE_21, /* IC M5, pin 10 */ - 1, /* ENAB */ - NODE_20, /* VMOD1 */ + DISCRETE_OP_AMP_VCO1(NODE_21, /* IC M5, pin 10 */ + 1, /* ENAB */ + NODE_20, /* VMOD1 */ &blueshrk_octopus_vco) - DISCRETE_OP_AMP_ONESHOT(NODE_22, /* IC J5, pin 10 */ + DISCRETE_OP_AMP_ONESHOT(NODE_22, /* IC J5, pin 10 */ BLUESHRK_OCTOPUS_EN, &blueshrk_octopus_oneshot) - DISCRETE_INTEGRATE(NODE_23, /* IC J5, pin 5 */ - NODE_22, 0, /* TRG0,TRG1 */ + DISCRETE_INTEGRATE(NODE_23, /* IC J5, pin 5 */ + NODE_22, 0, /* TRG0,TRG1 */ &blueshrk_octopus_integrate) - DISCRETE_OP_AMP(BLUESHRK_OCTOPUS_SND, /* IC J5, pin 4 */ - 1, /* ENAB */ - NODE_21, NODE_23, /* IN0,IN1 */ + DISCRETE_OP_AMP(BLUESHRK_OCTOPUS_SND, /* IC J5, pin 4 */ + 1, /* ENAB */ + NODE_21, NODE_23, /* IN0,IN1 */ &blueshrk_octopus_amp) /************************************************ - * Noise - ************************************************/ + * Noise + ************************************************/ /* Noise clock was breadboarded and measured at 7700Hz */ - DISCRETE_LFSR_NOISE(BLUESHRK_NOISE_1, /* IC N5, pin 10 (NODE_11) */ - 1, 1, /* ENAB, RESET */ - 7700, 12.0, 0, 12.0 / 2, &blueshrk_lfsr) /* CLK,AMPL,FEED,BIAS,LFSRTB */ - DISCRETE_BIT_DECODE(BLUESHRK_NOISE_2, /* IC N5, pin 13 */ - NODE_SUB(BLUESHRK_NOISE_1, 1), 8, 12) /* INP,BIT_N,VOUT */ + DISCRETE_LFSR_NOISE(BLUESHRK_NOISE_1, /* IC N5, pin 10 (NODE_11) */ + 1, 1, /* ENAB, RESET */ + 7700, 12.0, 0, 12.0 / 2, &blueshrk_lfsr) /* CLK,AMPL,FEED,BIAS,LFSRTB */ + DISCRETE_BIT_DECODE(BLUESHRK_NOISE_2, /* IC N5, pin 13 */ + NODE_SUB(BLUESHRK_NOISE_1, 1), 8, 12) /* INP,BIT_N,VOUT */ /************************************************ - * Shot sound - ************************************************/ - DISCRETE_CONSTANT(BLUESHRK_SHOT_SND, 0) /* placeholder for incomplete sound */ + * Shot sound + ************************************************/ + DISCRETE_CONSTANT(BLUESHRK_SHOT_SND, 0) /* placeholder for incomplete sound */ /************************************************ - * Hit sound - ************************************************/ - DISCRETE_COUNTER(NODE_40, /* IC H3, pin 5 */ - 1, BLUESHRK_HIT_EN, /* ENAB,RESET */ - FREQ_OF_555(BLUESHRK_R601, 0, BLUESHRK_C600), /* CLK - IC H1, pin 9 */ - 0,1, DISC_COUNT_UP, 0, /* MIN,MAX,DIR,INIT0 */ + * Hit sound + ************************************************/ + DISCRETE_COUNTER(NODE_40, /* IC H3, pin 5 */ + 1, BLUESHRK_HIT_EN, /* ENAB,RESET */ + FREQ_OF_555(BLUESHRK_R601, 0, BLUESHRK_C600), /* CLK - IC H1, pin 9 */ + 0,1, DISC_COUNT_UP, 0, /* MIN,MAX,DIR,INIT0 */ DISC_CLK_IS_FREQ) - DISCRETE_SWITCH(NODE_41, /* value of toggled caps */ - 1, /* ENAB */ - NODE_40, /* SWITCH */ - BLUESHRK_C602 + BLUESHRK_C603, /* INP0 - IC H3, pin 5 low */ - BLUESHRK_C604) /* INP1 - IC H3, pin 6 low */ - DISCRETE_555_ASTABLE(BLUESHRK_HIT_SND, /* IC H2, pin 2 */ - BLUESHRK_HIT_EN, /* RESET */ - BLUESHRK_R602, BLUESHRK_R603, NODE_41, /* R1,R2,C */ + DISCRETE_SWITCH(NODE_41, /* value of toggled caps */ + 1, /* ENAB */ + NODE_40, /* SWITCH */ + BLUESHRK_C602 + BLUESHRK_C603, /* INP0 - IC H3, pin 5 low */ + BLUESHRK_C604) /* INP1 - IC H3, pin 6 low */ + DISCRETE_555_ASTABLE(BLUESHRK_HIT_SND, /* IC H2, pin 2 */ + BLUESHRK_HIT_EN, /* RESET */ + BLUESHRK_R602, BLUESHRK_R603, NODE_41, /* R1,R2,C */ &blueshrk_555_H1B) /************************************************ - * Shark sound - ************************************************/ - DISCRETE_OP_AMP_OSCILLATOR(NODE_50, /* IC M3, pin 4 */ - 1, /* ENAB */ + * Shark sound + ************************************************/ + DISCRETE_OP_AMP_OSCILLATOR(NODE_50, /* IC M3, pin 4 */ + 1, /* ENAB */ &blueshrk_shark_osc1) - DISCRETE_OP_AMP_OSCILLATOR(NODE_51, /* IC M3, pin 5 */ - 1, /* ENAB */ + DISCRETE_OP_AMP_OSCILLATOR(NODE_51, /* IC M3, pin 5 */ + 1, /* ENAB */ &blueshrk_shark_osc2) - DISCRETE_OP_AMP_OSCILLATOR(NODE_52, /* IC M3, pin 9 */ - 1, /* ENAB */ + DISCRETE_OP_AMP_OSCILLATOR(NODE_52, /* IC M3, pin 9 */ + 1, /* ENAB */ &blueshrk_shark_osc3) DISCRETE_MIXER3(NODE_53, - 1, /* ENAB */ + 1, /* ENAB */ NODE_50, NODE_51, NODE_52, &blueshrk_shark_mixer) /* threshold detector */ /* if any of the above oscillators are low, then the output is low */ - DISCRETE_OP_AMP(NODE_54, /* IC M3, pin 10 */ - 1, /* ENAB */ - 0, NODE_53, /* IN0,IN1 */ + DISCRETE_OP_AMP(NODE_54, /* IC M3, pin 10 */ + 1, /* ENAB */ + 0, NODE_53, /* IN0,IN1 */ &blueshrk_shark_amp_m3) - DISCRETE_ADDER2(NODE_55, /* diode drops voltage */ - 1, NODE_54, -0.7) /* ENAB,IN0,IN1 */ - DISCRETE_CLAMP(NODE_56, NODE_55, 0, 12) /* IN0,MIN,MAX */ + DISCRETE_ADDER2(NODE_55, /* diode drops voltage */ + 1, NODE_54, -0.7) /* ENAB,IN0,IN1 */ + DISCRETE_CLAMP(NODE_56, NODE_55, 0, 12) /* IN0,MIN,MAX */ /* VCO disabled if any of the above oscillators or enable are low */ - DISCRETE_OP_AMP_VCO1(NODE_57, /* IC K3, pin 5 */ - BLUESHRK_SHARK_EN, NODE_56, /* ENAB,VMOD1 */ + DISCRETE_OP_AMP_VCO1(NODE_57, /* IC K3, pin 5 */ + BLUESHRK_SHARK_EN, NODE_56, /* ENAB,VMOD1 */ &blueshrk_shark_vco) DISCRETE_RCFILTER(NODE_58, - BLUESHRK_NOISE_1, /* IN0 */ + BLUESHRK_NOISE_1, /* IN0 */ BLUESHRK_R724, BLUESHRK_C704) DISCRETE_RCFILTER(NODE_59, - NODE_58, /* IN0 */ + NODE_58, /* IN0 */ BLUESHRK_R724 + BLUESHRK_R725, BLUESHRK_C704) DISCRETE_RCFILTER(NODE_60, - NODE_59, /* IN0 */ + NODE_59, /* IN0 */ BLUESHRK_R724 + BLUESHRK_R725 + BLUESHRK_R726, BLUESHRK_C704) - DISCRETE_OP_AMP(NODE_61, /* IC K3, pin 10 */ - 1, /* ENAB */ - NODE_60, NODE_57, /* IN0,IN1 */ + DISCRETE_OP_AMP(NODE_61, /* IC K3, pin 10 */ + 1, /* ENAB */ + NODE_60, NODE_57, /* IN0,IN1 */ &blueshrk_shark_amp_k3) /* the opamp output is connected directly to a capacitor */ /* we will simulate this using a 1 ohm resistor */ DISCRETE_RCFILTER(BLUESHRK_SHARK_SND, - NODE_61, /* IN0 */ + NODE_61, /* IN0 */ 1, BLUESHRK_C707) /************************************************ - * Combine all sound sources. - ************************************************/ + * Combine all sound sources. + ************************************************/ DISCRETE_MIXER4(NODE_91, BLUESHRK_GAME_ON_EN, BLUESHRK_OCTOPUS_SND, @@ -4593,7 +4593,7 @@ WRITE8_MEMBER(mw8080bw_state::blueshrk_audio_w) discrete_sound_w(m_discrete, space, BLUESHRK_SHARK_EN, (data >> 3) & 0x01); /* if (data & 0x10) enable KILLED DIVER sound, this circuit - doesn't appear to be on the schematics */ + doesn't appear to be on the schematics */ discrete_sound_w(m_discrete, space, BLUESHRK_OCTOPUS_EN, (data >> 5) & 0x01); @@ -4610,159 +4610,159 @@ WRITE8_MEMBER(mw8080bw_state::blueshrk_audio_w) static const sn76477_interface invad2ct_p1_sn76477_interface = { - 0, /* 4 noise_res (N/C) */ - 0, /* 5 filter_res (N/C) */ - 0, /* 6 filter_cap (N/C) */ - 0, /* 7 decay_res (N/C) */ - 0, /* 8 attack_decay_cap (N/C) */ + 0, /* 4 noise_res (N/C) */ + 0, /* 5 filter_res (N/C) */ + 0, /* 6 filter_cap (N/C) */ + 0, /* 7 decay_res (N/C) */ + 0, /* 8 attack_decay_cap (N/C) */ RES_K(100), /* 10 attack_res */ - RES_K(56), /* 11 amplitude_res */ - RES_K(10), /* 12 feedback_res */ - 0, /* 16 vco_voltage (N/C) */ - CAP_U(0.1), /* 17 vco_cap */ - RES_K(8.2), /* 18 vco_res */ - 5.0, /* 19 pitch_voltage */ - RES_K(120), /* 20 slf_res */ - CAP_U(1.0), /* 21 slf_cap */ - 0, /* 23 oneshot_cap (N/C) */ - 0, /* 24 oneshot_res (N/C) */ - 1, /* 22 vco */ - 0, /* 26 mixer A */ - 0, /* 25 mixer B */ - 0, /* 27 mixer C */ - 1, /* 1 envelope 1 */ - 0, /* 28 envelope 2 */ - 1 /* 9 enable (variable) */ + RES_K(56), /* 11 amplitude_res */ + RES_K(10), /* 12 feedback_res */ + 0, /* 16 vco_voltage (N/C) */ + CAP_U(0.1), /* 17 vco_cap */ + RES_K(8.2), /* 18 vco_res */ + 5.0, /* 19 pitch_voltage */ + RES_K(120), /* 20 slf_res */ + CAP_U(1.0), /* 21 slf_cap */ + 0, /* 23 oneshot_cap (N/C) */ + 0, /* 24 oneshot_res (N/C) */ + 1, /* 22 vco */ + 0, /* 26 mixer A */ + 0, /* 25 mixer B */ + 0, /* 27 mixer C */ + 1, /* 1 envelope 1 */ + 0, /* 28 envelope 2 */ + 1 /* 9 enable (variable) */ }; static const sn76477_interface invad2ct_p2_sn76477_interface = { - 0, /* 4 noise_res (N/C) */ - 0, /* 5 filter_res (N/C) */ - 0, /* 6 filter_cap (N/C) */ - 0, /* 7 decay_res (N/C) */ - 0, /* 8 attack_decay_cap (N/C) */ + 0, /* 4 noise_res (N/C) */ + 0, /* 5 filter_res (N/C) */ + 0, /* 6 filter_cap (N/C) */ + 0, /* 7 decay_res (N/C) */ + 0, /* 8 attack_decay_cap (N/C) */ RES_K(100), /* 10 attack_res */ - RES_K(56), /* 11 amplitude_res */ - RES_K(10), /* 12 feedback_res */ - 0, /* 16 vco_voltage (N/C) */ + RES_K(56), /* 11 amplitude_res */ + RES_K(10), /* 12 feedback_res */ + 0, /* 16 vco_voltage (N/C) */ CAP_U(0.047), /* 17 vco_cap */ - RES_K(39), /* 18 vco_res */ - 5.0, /* 19 pitch_voltage */ - RES_K(120), /* 20 slf_res */ - CAP_U(1.0), /* 21 slf_cap */ - 0, /* 23 oneshot_cap (N/C) */ - 0, /* 24 oneshot_res (N/C) */ - 1, /* 22 vco */ - 0, /* 26 mixer A */ - 0, /* 25 mixer B */ - 0, /* 27 mixer C */ - 1, /* 1 envelope 1 */ - 0, /* 28 envelope 2 */ - 1 /* 9 enable (variable) */ + RES_K(39), /* 18 vco_res */ + 5.0, /* 19 pitch_voltage */ + RES_K(120), /* 20 slf_res */ + CAP_U(1.0), /* 21 slf_cap */ + 0, /* 23 oneshot_cap (N/C) */ + 0, /* 24 oneshot_res (N/C) */ + 1, /* 22 vco */ + 0, /* 26 mixer A */ + 0, /* 25 mixer B */ + 0, /* 27 mixer C */ + 1, /* 1 envelope 1 */ + 0, /* 28 envelope 2 */ + 1 /* 9 enable (variable) */ }; static const discrete_op_amp_1sht_info invad2ct_invader_hit_1sht = { DISC_OP_AMP_1SHT_1 | DISC_OP_AMP_IS_NORTON, - RES_M(4.7), /* R49 */ - RES_K(100), /* R51 */ - RES_M(1), /* R48 */ - RES_M(1), /* R50 */ - RES_M(2.2), /* R52 */ - CAP_U(0.22), /* C18 */ - CAP_P(470), /* C20 */ - 0, /* vN */ - 12 /* vP */ + RES_M(4.7), /* R49 */ + RES_K(100), /* R51 */ + RES_M(1), /* R48 */ + RES_M(1), /* R50 */ + RES_M(2.2), /* R52 */ + CAP_U(0.22), /* C18 */ + CAP_P(470), /* C20 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_osc_info invad2ct_invader_hit_osc = { DISC_OP_AMP_OSCILLATOR_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_CAP, - RES_M(1), /* R37 */ - RES_K(10), /* R41 */ - RES_K(100), /* R38 */ - RES_K(120), /* R40 */ - RES_M(1), /* R39 */ - 0, /* no r6 */ - 0, /* no r7 */ - 0, /* no r8 */ - CAP_U(0.22), /* C16 */ - 12, /* vP */ + RES_M(1), /* R37 */ + RES_K(10), /* R41 */ + RES_K(100), /* R38 */ + RES_K(120), /* R40 */ + RES_M(1), /* R39 */ + 0, /* no r6 */ + 0, /* no r7 */ + 0, /* no r8 */ + CAP_U(0.22), /* C16 */ + 12, /* vP */ }; static const discrete_op_amp_1sht_info invad2ct_brd2_invader_hit_1sht = { DISC_OP_AMP_1SHT_1 | DISC_OP_AMP_IS_NORTON, - RES_M(4.7), /* R49 */ - RES_K(100), /* R51 */ - RES_M(1), /* R48 */ - RES_M(1), /* R50 */ - RES_M(2.2), /* R52 */ - CAP_U(1), /* C18 */ - CAP_P(470), /* C20 */ - 0, /* vN */ - 12 /* vP */ + RES_M(4.7), /* R49 */ + RES_K(100), /* R51 */ + RES_M(1), /* R48 */ + RES_M(1), /* R50 */ + RES_M(2.2), /* R52 */ + CAP_U(1), /* C18 */ + CAP_P(470), /* C20 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_op_amp_osc_info invad2ct_brd2_invader_hit_osc = { DISC_OP_AMP_OSCILLATOR_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_CAP, - RES_M(1), /* R37 */ - RES_K(10), /* R41 */ - RES_K(100), /* R38 */ - RES_K(120), /* R40 */ - RES_M(1), /* R39 */ - 0, /* no r6 */ - 0, /* no r7 */ - 0, /* no r8 */ - CAP_U(0.1), /* C16 */ - 12, /* vP */ + RES_M(1), /* R37 */ + RES_K(10), /* R41 */ + RES_K(100), /* R38 */ + RES_K(120), /* R40 */ + RES_M(1), /* R39 */ + 0, /* no r6 */ + 0, /* no r7 */ + 0, /* no r8 */ + CAP_U(0.1), /* C16 */ + 12, /* vP */ }; static const discrete_op_amp_1sht_info invad2ct_missle_1sht = { DISC_OP_AMP_1SHT_1 | DISC_OP_AMP_IS_NORTON, - RES_M(4.7), /* R32 */ - RES_K(100), /* R30 */ - RES_M(1), /* R31 */ - RES_M(1), /* R33 */ - RES_M(2.2), /* R34 */ - CAP_U(0.22), /* C12 */ - CAP_P(470), /* C15 */ - 0, /* vN */ - 12 /* vP */ + RES_M(4.7), /* R32 */ + RES_K(100), /* R30 */ + RES_M(1), /* R31 */ + RES_M(1), /* R33 */ + RES_M(2.2), /* R34 */ + CAP_U(0.22), /* C12 */ + CAP_P(470), /* C15 */ + 0, /* vN */ + 12 /* vP */ }; static const discrete_mixer_desc invad2ct_mixer = { - DISC_MIXER_IS_OP_AMP, /* type */ - { RES_K(100), /* R78 */ - RES_K(15) + 100 + 100, /* R134 + R133 + R132 */ - RES_K(150), /* R136 */ - RES_K(150), /* R59 */ - RES_K(10) + RES_K(6.8) + RES_K(5.6), /* R86 + R85 + R84 */ - RES_K(150) }, /* R28 */ - {0}, /* no rNode{} */ + DISC_MIXER_IS_OP_AMP, /* type */ + { RES_K(100), /* R78 */ + RES_K(15) + 100 + 100, /* R134 + R133 + R132 */ + RES_K(150), /* R136 */ + RES_K(150), /* R59 */ + RES_K(10) + RES_K(6.8) + RES_K(5.6), /* R86 + R85 + R84 */ + RES_K(150) }, /* R28 */ + {0}, /* no rNode{} */ { 0, - 0, - 0, - 0, - 0, - CAP_U(0.001) }, /* C11 */ - 0, /* no rI */ - RES_K(100), /* R105 */ - 0, /* no cF */ - CAP_U(0.1), /* C45 */ - 0, /* vRef = ground */ - 1 /* gain */ + 0, + 0, + 0, + 0, + CAP_U(0.001) }, /* C11 */ + 0, /* no rI */ + RES_K(100), /* R105 */ + 0, /* no cF */ + CAP_U(0.1), /* C45 */ + 0, /* vRef = ground */ + 1 /* gain */ }; @@ -4813,7 +4813,7 @@ MACHINE_CONFIG_END WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_1_w) { - sn76477_enable_w(m_sn1, (~data >> 0) & 0x01); /* saucer sound */ + sn76477_enable_w(m_sn1, (~data >> 0) & 0x01); /* saucer sound */ discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_MISSILE_EN, 1), data & 0x02); discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_EXPLOSION_EN, 1), data & 0x04); @@ -4838,7 +4838,7 @@ WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_2_w) WRITE8_MEMBER(mw8080bw_state::invad2ct_audio_3_w) { - sn76477_enable_w(m_sn2, (~data >> 0) & 0x01); /* saucer sound */ + sn76477_enable_w(m_sn2, (~data >> 0) & 0x01); /* saucer sound */ discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_MISSILE_EN, 2), data & 0x02); discrete_sound_w(m_discrete, space, INVADERS_NODE(INVADERS_EXPLOSION_EN, 2), data & 0x04); |