DISCRETE_LFSR_NOISE(NODE_150, 1, 1, RNG_RATE/100, 1.0, 0, 0.5, &galaxian_lfsr) DISCRETE_SQUAREWFIX(NODE_151,1,60*264/2,1.0,50,0.5,0) /* 2V signal */ DISCRETE_LOGIC_DFLIPFLOP(NODE_152,1,1,NODE_151,NODE_150) DISCRETE_TASK_END() /* Group Background and pitch */ DISCRETE_TASK_START(1) /************************************************/ /* Background */ /************************************************/ DISCRETE_DAC_R1(NODE_100, GAL_INP_BG_DAC, TTL_OUT, &galaxian_bck_dac) DISCRETE_555_CC(NODE_105, 1, NODE_100, GAL_R21, GAL_C15, 0, 0, 0, &galaxian_bck_vco) // Next is mult/add opamp circuit DISCRETE_MULTADD(NODE_110, NODE_105, GAL_R33/RES_3_PARALLEL(GAL_R31,GAL_R32,GAL_R33), -5.0*GAL_R33/GAL_R31) DISCRETE_CLAMP(NODE_111,NODE_110,0.0,5.0) // The three 555 DISCRETE_555_ASTABLE_CV(NODE_115, GAL_INP_FS1, GAL_R22, GAL_R23, GAL_C17, NODE_111, &galaxian_555_vco_desc) DISCRETE_555_ASTABLE_CV(NODE_116, GAL_INP_FS2, GAL_R25, GAL_R26, GAL_C18, NODE_111, &galaxian_555_vco_desc) DISCRETE_555_ASTABLE_CV(NODE_117, GAL_INP_FS3, GAL_R28, GAL_R29, GAL_C19, NODE_111, &galaxian_555_vco_desc) DISCRETE_MIXER3(NODE_120, 1, NODE_115, NODE_116, NODE_117, &galaxian_bck_mixer_desc) /************************************************/ /* PITCH */ /************************************************/ /* two cascaded LS164 which are reset to pitch latch value, * thus generating SOUND_CLOCK / (256 - pitch_clock) signal
/************************************************ * MC ************************************************/ /* not the best implementation of the pin 5 charge circuit, but it is within tolerance */ DISCRETE_RCDISC2(NODE_50, M79AMB_MC_REV_EN, /* R35 can be ignored on discharge */ RES_VOLTAGE_DIVIDER(M79AMB_R36 + M79AMB_R37, M79AMB_R38) * 12, /* Q12 on */ RES_2_PARALLEL(M79AMB_R36 + M79AMB_R37, M79AMB_R38), /* Q12 on */ 12.0 * RES_VOLTAGE_DIVIDER(M79AMB_R36, M79AMB_R35), /* Q12 off */ RES_2_PARALLEL(M79AMB_R36, M79AMB_R35) + M79AMB_R37, /* Q12 off */ M79AMB_C20) /* cap charge to B+ ratio changes voltage on pin 5 */ /* (iR36 + iR35 + iR37) * R36||R35||R37 where iR35 = 0/R35 = 0 */ DISCRETE_TRANSFORM4(NODE_51, 12.0 / M79AMB_R36, NODE_50, M79AMB_R37, RES_3_PARALLEL(M79AMB_R36, M79AMB_R35, M79AMB_R37), "012/+3*") DISCRETE_566(NODE_52, /* IC U3, pin 4 */ NODE_51, /* IC U3, pin 5 */ M79AMB_R39, M79AMB_C21, 12, 0, 12, /* VPOS,VNEG,VCHARGE */ DISC_566_OUT_DC | DISC_566_OUT_TRIANGLE) DISCRETE_CRFILTER(NODE_53, NODE_52, M79AMB_R41 + M79AMB_R42 + M79AMB_R43, M79AMB_C22) DISCRETE_MULTIPLY(NODE_54, NODE_53, M79AMB_MC_CONTROL_EN) DISCRETE_GAIN(M79AMB_MC_SND, NODE_54, RES_VOLTAGE_DIVIDER(M79AMB_R41 + M79AMB_R42, 2200))//M79AMB_R43)) /************************************************ * Tank, Truck, Jeep ************************************************/ DISCRETE_566(NODE_60, /* IC U4, pin 4 */ 12.0 * RES_VOLTAGE_DIVIDER(M79AMB_R44, M79AMB_R45), /* IC U5, pin 5 */