Beispiel #1
0

/* sound hardware */

static DISCRETE_SOUND_START( hec2hrp )
	DISCRETE_INPUT_LOGIC(NODE_01)
	DISCRETE_OUTPUT(NODE_01, 5000)
DISCRETE_SOUND_END

MACHINE_CONFIG_FRAGMENT( hector_audio )
	MCFG_SPEAKER_STANDARD_MONO("mono")
	MCFG_SOUND_WAVE_ADD(WAVE_TAG, "cassette")
	MCFG_SOUND_ROUTE(0, "mono", 0.25)  /* Sound level for cassette, as it is in mono => output channel=0*/

	MCFG_SOUND_ADD("sn76477", SN76477, 0)
	MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(390)) // noise + filter
	MCFG_SN76477_DECAY_RES(RES_K(680))                  // decay_res
	MCFG_SN76477_ATTACK_PARAMS(CAP_U(47), RES_K(180))   // attack_decay_cap + attack_res
	MCFG_SN76477_AMP_RES(RES_K(33))                     // amplitude_res
	MCFG_SN76477_FEEDBACK_RES(RES_K(100))               // feedback_res
	MCFG_SN76477_VCO_PARAMS(2, CAP_N(47), RES_K(1000))  // VCO volt + cap + res
	MCFG_SN76477_PITCH_VOLTAGE(2)                       // pitch_voltage
	MCFG_SN76477_SLF_PARAMS(CAP_U(0.1), RES_K(180))     // slf caps + res
	MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.00001), RES_K(10000))   // oneshot caps + res
	MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.1)

	MCFG_SOUND_ADD("discrete", DISCRETE, 0) /* Son 1bit*/
	MCFG_DISCRETE_INTF(hec2hrp)
	MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)

MACHINE_CONFIG_END
Beispiel #2
0
	0
};

const samples_interface fantasy_samples_interface =
{
	1,	/* 1 channel */
	fantasy_sample_names
};


const sn76477_interface sasuke_sn76477_intf_1 =
{
	RES_K(470),		/*  4  noise_res     */
	RES_K(150),		/*  5  filter_res    */
	CAP_P(4700),	/*  6  filter_cap    */
	RES_K(22),		/*  7  decay_res     */
	CAP_U(10),		/*  8  attack_decay_cap  */
	RES_K(10),		/* 10  attack_res    */
	RES_K(100),		/* 11  amplitude_res     */
	RES_K(47),		/* 12  feedback_res      */
	0 /* NC */,		/* 16  vco_voltage   */
	0 /* NC */,		/* 17  vco_cap       */
	0 /* NC */,		/* 18  vco_res       */
	0 /* NC */,		/* 19  pitch_voltage     */
	RES_K(10),		/* 20  slf_res       */
	0 /* NC */,		/* 21  slf_cap       */
	CAP_U(2.2),		/* 23  oneshot_cap   */
	RES_K(100),		/* 24  oneshot_res   */
	0,			    /* 22  vco                    */
	0,			    /* 26  mixer A           */
Beispiel #3
0
	RES(RWORKAROUND, RES_K(27))
	NET_C(VWORKAROUND.Q, RWORKAROUND.1)
	NET_C(XU1.6, RWORKAROUND.2)

	CAP(C200, CAP_N(100))
	CAP(C28, CAP_U(1))
	CAP(C31, CAP_N(470))
	CAP(C32, CAP_N(3.3))
	CAP(C33, CAP_U(1))
	CAP(C34, CAP_N(1))
	CAP(C35, CAP_N(1))
	CAP(C36, CAP_N(6.5))
	CAP(C37, CAP_N(22))
	CAP(C38, CAP_N(1))
	CAP(C39, CAP_N(1))
	CAP(C40, CAP_P(12))
	CAP(C41, CAP_U(1))
	CAP(C42, CAP_N(1.2))
	CAP(C43, CAP_N(1.2))
	CAP(C44, CAP_U(1))
	CAP(C45, CAP_N(22))
	CAP(C47, CAP_U(1))
	CAP(C48, CAP_N(470))
	CAP(C49, CAP_N(3.3))
	CAP(C50, CAP_N(22))
	CAP(C51, CAP_N(22))
	CAP(C52, CAP_N(27))
	CAP(C53, CAP_N(27))
	CAP(C56, CAP_N(6.8))
	CAP(C57, CAP_N(6.8))
	CAP(C59, CAP_N(6.8))
Beispiel #4
0
static void gpss1_init(struct sndbrdData *brdData)
{
  /* MIXER = 0 */
  SN76477_mixer_w(0, 0);
  /* ENVELOPE is constant: pin1 = lo, pin 28 = hi */
  SN76477_envelope_w(0, 2);
}

// SSU-2/3

static struct SN76477interface  gpSS2_sn76477Int = { 3, { 50, 50, 50 }, /* mixing levels */
/*			#0			#1			#2			   pin description		*/
	{	RES_K(47),	RES_K(100),	0			},	/*	4  noise_res		*/
	{	RES_K(330),	RES_K(470),	0			},	/*	5  filter_res		*/
	{	CAP_P(680),	CAP_P(680),	0			},	/*	6  filter_cap		*/
	{	RES_M(2.2),	RES_M(2.2),	0			},	/*	7  decay_res		*/
	{	CAP_U(1),	CAP_U(0.1),	0			},	/*	8  attack_decay_cap */
	{	RES_K(4.7),	RES_K(4.7),	0			},	/* 10  attack_res		*/
	{	RES_K(68),	RES_K(68),	RES_K(68)	},	/* 11  amplitude_res	*/
	{	RES_K(57.4),RES_K(57.4),RES_K(57.4)	},	/* 12  feedback_res 	*/
	{ 	0,			1.5,/* ? */	0.8 /* ? */	},	/* 16  vco_voltage		*/
	{ 	0,			CAP_U(0.1),	CAP_U(0.1)	},	/* 17  vco_cap			*/
	{	0,			RES_K(56),	RES_K(100)	},	/* 18  vco_res			*/
	{	0,			5.0,		5.0			},	/* 19  pitch_voltage	*/
	{	0,			RES_M(2.2),	0			},	/* 20  slf_res			*/
	{	0,			CAP_U(1),	0			},	/* 21  slf_cap			*/
	{	CAP_U(10),	CAP_U(1),	0			},	/* 23  oneshot_cap		*/
	{	RES_K(100),	RES_K(330),	0			}	/* 24  oneshot_res		*/
};
Beispiel #5
0
        drawgfx_transpen(bitmap,cliprect,screen->machine().gfx[1],
                         state->m_sprite_code,
                         state->m_sprite_color,
                         0,0,
                         state->m_sprite_x - 6,state->m_sprite_y,0);

    return 0;
}

/* Laser Battle sound **********************************/

static const sn76477_interface laserbat_sn76477_interface =
{
    RES_K(47),		/*  4 noise_res         R21    47K */
    0,				/*  5 filter_res (variable) */
    CAP_P(1000),	/*  6 filter_cap        C21    1000 pF */
    0,				/*  7 decay_res         */
    0,				/*  8 attack_decay_cap  */
    0,				/* 10 attack_res        */
    RES_K(47),		/* 11 amplitude_res     R26    47K */
    0,				/* 12 feedback_res (variable) */
    5.0 * RES_K(2.2) / (RES_K(2.2) + RES_K(4.7)),	/* 16  vco_voltage       */
    0,				/* 17 vco_cap           */
    0,				/* 18 vco_res (variable) */
    5.0,			/* 19 pitch_voltage     */
    0,				/* 20 slf_res (variable) */
    CAP_U(4.7),		/* 21 slf_cap           C24    4.7 uF */
    0,				/* 23 oneshot_cap       */
    0,				/* 24 oneshot_res       */
    0,			    /* 22 vco (variable) */
    0,			    /* 26 mixer A           */
Beispiel #6
0
static const discrete_lfsr_desc polaris_lfsr= {
    DISC_CLK_IS_FREQ,
    17,			/* Bit Length */
    0,			/* 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 */
};

static const discrete_dac_r1_ladder polaris_music_dac =
{2, {RES_K(47), RES_K(12), 0,0,0,0,0,0}, 0, 0, 0, CAP_P(180)};

static const discrete_op_amp_filt_info polaris_music_op_amp_filt_info =
{RES_K(580), 0, 0, RES_M(2.2), RES_M(1), CAP_U(.01), 0, 0, 0, 12, 0};

static const discrete_op_amp_filt_info polaris_nol_op_amp_filt_info =
{560, RES_K(6.8), RES_K(1002), RES_M(2.2), RES_M(1), CAP_U(.22), CAP_U(.22), CAP_U(1), 0, 12, 0};

static const discrete_op_amp_filt_info polaris_noh_op_amp_filt_info =
{560, RES_K(6.8), RES_K(1002), RES_M(2.2), RES_M(1), CAP_U(.001), CAP_U(.001), CAP_U(.01), 0, 12, 0};

static const discrete_op_amp_osc_info polaris_sonar_vco_info =
{DISC_OP_AMP_OSCILLATOR_VCO_1 | DISC_OP_AMP_IS_NORTON | DISC_OP_AMP_OSCILLATOR_OUT_CAP, RES_M(1), RES_K(680), RES_K(680), RES_M(1), RES_M(1), RES_K(120), RES_M(1), 0, CAP_P(180), 12};

static const discrete_op_amp_tvca_info polaris_sonar_tvca_info =
{ RES_M(2.7), RES_K(680), 0, RES_K(680), RES_K(1), RES_K(120), RES_K(560), 0, 0, 0, 0, CAP_U(1), 0, 0, 0, 12, 12, 12, 12, DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_TRG1, DISC_OP_AMP_TRIGGER_FUNCTION_TRG0_INV, DISC_OP_AMP_TRIGGER_FUNCTION_NONE, DISC_OP_AMP_TRIGGER_FUNCTION_NONE};
Beispiel #7
0
void sasuke_sound_device::device_add_mconfig(machine_config &config)
{
	SPEAKER(config, "mono").front_center();

	SNK6502_SOUND(config, m_custom, 0);
	m_custom->add_route(ALL_OUTPUTS, "mono", 0.50);

	samples_device &samples(SAMPLES(config, "samples"));
	samples.set_channels(4);
	samples.set_samples_names(sasuke_sample_names);
	samples.add_route(ALL_OUTPUTS, "mono", 0.12);

	sn76477_device &sn76477_1(SN76477(config, "sn76477.1"));
	// ic48     GND: 2,22,26,27,28  +5V: 1,15,25
	sn76477_1.set_noise_params(RES_K(470), RES_K(150), CAP_P(4700));
	sn76477_1.set_decay_res(RES_K(22));
	sn76477_1.set_attack_params(CAP_U(10), RES_K(10));
	sn76477_1.set_amp_res(RES_K(100));
	sn76477_1.set_feedback_res(RES_K(47));
	sn76477_1.set_vco_params(0, 0, 0);
	sn76477_1.set_pitch_voltage(0);
	sn76477_1.set_slf_params(0, RES_K(10));
	sn76477_1.set_oneshot_params(CAP_U(2.2), RES_K(100));
	sn76477_1.set_vco_mode(0);
	sn76477_1.set_mixer_params(0, 1, 0);
	sn76477_1.set_envelope_params(1, 0);
	sn76477_1.set_enable(1);
	sn76477_1.add_route(ALL_OUTPUTS, "mono", 0.50);

	sn76477_device &sn76477_2(SN76477(config, "sn76477.2"));
	// ic51     GND: 2,26,27        +5V: 1,15,22,25,28
	sn76477_2.set_noise_params(RES_K(340), RES_K(47), CAP_P(100));
	sn76477_2.set_decay_res(RES_K(470));
	sn76477_2.set_attack_params(CAP_U(4.7), RES_K(10));
	sn76477_2.set_amp_res(RES_K(100));
	sn76477_2.set_feedback_res(RES_K(47));
	sn76477_2.set_vco_params(0, CAP_P(220), RES_K(1000));
	sn76477_2.set_pitch_voltage(0);
	sn76477_2.set_slf_params(0, RES_K(220));
	sn76477_2.set_oneshot_params(CAP_U(22), RES_K(47));
	sn76477_2.set_vco_mode(1);
	sn76477_2.set_mixer_params(0, 1, 0);
	sn76477_2.set_envelope_params(1, 1);
	sn76477_2.set_enable(1);
	sn76477_2.add_route(ALL_OUTPUTS, "mono", 0.50);

	sn76477_device &sn76477_3(SN76477(config, "sn76477.3"));
	// ic52     GND: 2,22,27,28     +5V: 1,15,25,26
	sn76477_3.set_noise_params(RES_K(330), RES_K(47), CAP_P(100));
	sn76477_3.set_decay_res(RES_K(1));
	sn76477_3.set_attack_params(0, RES_K(1));
	sn76477_3.set_amp_res(RES_K(100));
	sn76477_3.set_feedback_res(RES_K(47));
	sn76477_3.set_vco_params(0, CAP_P(1000), RES_K(1000));
	sn76477_3.set_pitch_voltage(0);
	sn76477_3.set_slf_params(CAP_U(1), RES_K(10));
	sn76477_3.set_oneshot_params(CAP_U(2.2), RES_K(150));
	sn76477_3.set_vco_mode(0);
	sn76477_3.set_mixer_params(1, 1, 0);
	sn76477_3.set_envelope_params(1, 0);
	sn76477_3.set_enable(1);
	sn76477_3.add_route(ALL_OUTPUTS, "mono", 0.50);
}
Beispiel #8
0
	// Shared chips

	TTL_7474_DIP(U3A) // FIXME: need 74LS family model (higher input impedance, half the sink capability)
	CD4016_DIP(U5D)

	NET_C(VCC, /*U3A.14,*/ U5D.14) // 7474 model doesn't have Vcc pin
	NET_C(GND, /*U3A.7,*/ U5D.7) // 7474 model doesn't have GND pin

	NET_C(VCC, U3A.10, U3A.11, U3A.12, U3A.13) // only half of this chip is used in this audio section - tie up the other inputs


	// ANAL1/IOA3/IOA4 -> RULLANTE/CASSA

	CAP(C61, CAP_U(10))
	CAP(C62, CAP_P(1000))
	CAP(C63, CAP_U(0.01))
	CAP(C68, CAP_U(0.1))
	RES(R84, RES_K(1.5))
	RES(R102, RES_K(10))
	RES(R103, RES_K(10))
	RES(R104, RES_K(120))
	RES(R105, RES_K(56))
	RES(R120, RES_K(47))
	RES(R121, 680) // incorrectly labelled R128 on schematic
	RES(R122, RES_K(33))
	RES(R123, RES_K(1))
	RES(R124, RES_K(39))
	RES(R125, RES_K(560))
	RES(R126, RES_K(470))
	RES(R127, RES_K(100))
Beispiel #9
0
	CAP(C32, CAP_N(68))
	CAP(C33, CAP_N(33))
	CAP(C34, CAP_U(47))
	CAP(C35, CAP_N(33))
	CAP(C36, CAP_N(33))
	CAP(C37, CAP_U(1))
	CAP(C38, CAP_N(10))
	CAP(C39, CAP_N(3.3))
	CAP(C40, CAP_U(2.2))
	CAP(C41, CAP_N(6.8))
	CAP(C42, CAP_N(6.8))
	CAP(C43, CAP_N(47))
	CAP(C44, CAP_U(1))
	CAP(C45, CAP_U(33))
	CAP(C46, CAP_N(100))
	CAP(C47, CAP_P(470))
	CAP(C48, CAP_N(1.5))
	CAP(C49, CAP_P(220))
	CAP(C50, CAP_N(3.9))
	CAP(C51, CAP_U(1))
	CAP(C52, CAP_U(1))
	CAP(C53, CAP_U(1))
	CAP(C54, CAP_U(1))
	CAP(C55, CAP_U(1))
	CAP(C56, CAP_U(10))
	CAP(C57, CAP_N(47))
	CAP(C58, CAP_N(22))
	CAP(C59, CAP_U(10))
	CAP(C60, CAP_N(22))
	CAP(C62, CAP_N(22))
	CAP(C61, CAP_U(1))
Beispiel #10
0
#define FANTASY_NOISE_LOGIC         NODE_03

static DISCRETE_SOUND_START( fantasy_discrete )

	DISCRETE_INPUT_LOGIC (FANTASY_BOMB_EN)
	DISCRETE_INPUT_STREAM(FANTASY_NOISE_STREAM_IN, 0)

	/* This is not the perfect way to discharge, but it is good enough for now */
	/* it does not take into acount that there is no discharge when noise is low */
	DISCRETE_RCDISC2(NODE_10, FANTASY_BOMB_EN, 0, RES_K(10) + RES_K(33), DEFAULT_TTL_V_LOGIC_1 - 0.5, RES_K(1), CAP_U(1))
	DISCRETE_CLAMP(FANTASY_NOISE_LOGIC, FANTASY_NOISE_STREAM_IN, 0, 1)
	DISCRETE_SWITCH(NODE_11, 1, FANTASY_NOISE_LOGIC, 0, NODE_10)

	DISCRETE_OP_AMP_FILTER(NODE_20, 1, NODE_11, 0, DISC_OP_AMP_FILTER_IS_BAND_PASS_1M, &fantasy_filter)
	DISCRETE_RCFILTER(NODE_21, NODE_20, RES_K(22), CAP_U(.01))
	DISCRETE_RCFILTER(NODE_22, NODE_21, RES_K(22) +  RES_K(22), CAP_P(2200))
	DISCRETE_RCFILTER(NODE_23, NODE_22, RES_K(22) + RES_K(22) +  RES_K(22), CAP_U(.001))

	DISCRETE_OUTPUT(NODE_23, 32760.0/12)
DISCRETE_SOUND_END


DEFINE_DEVICE_TYPE(SNK6502_SOUND,  snk6502_sound_device,  "snk6502_sound",  "SNK6502 Custom Sound")
DEFINE_DEVICE_TYPE(VANGUARD_SOUND, vanguard_sound_device, "vanguard_sound", "SNK Vanguard Sound")
DEFINE_DEVICE_TYPE(FANTASY_SOUND,  fantasy_sound_device,  "fantasy_sound",  "SNK Fantasy Sound")
DEFINE_DEVICE_TYPE(NIBBLER_SOUND,  nibbler_sound_device,  "nibbler_sound",  "Rock-Ola Nibbler Sound")
DEFINE_DEVICE_TYPE(PBALLOON_SOUND, pballoon_sound_device, "pballoon_sound", "SNK Pioneer Balloon Sound")
DEFINE_DEVICE_TYPE(SASUKE_SOUND,   sasuke_sound_device,   "sasuke_sound",   "SNK Sasuke Vs. Commander Sound")
DEFINE_DEVICE_TYPE(SATANSAT_SOUND, satansat_sound_device, "satansat_sound", "SNK Satan of Saturn Sound")

Beispiel #11
0
	LOGIC_INPUT(P10, 1, "OPENDRAIN")
	LOGIC_INPUT(P11, 1, "OPENDRAIN")
	LOGIC_INPUT(P12, 1, "OPENDRAIN")
	LOGIC_INPUT(P13, 1, "OPENDRAIN")
	LOGIC_INPUT(P14, 1, "OPENDRAIN")
	LOGIC_INPUT(P15, 1, "OPENDRAIN")

	RES(R1, RES_K(2.4))
	RES(R2, RES_K(10))
	RES(R3, RES_K(4.3))
	RES(R4, RES_K(150))
	RES(R5, RES_K(240))
	RES(R6, RES_K(2.4))
	RES(SPK1, 8)

	CAP(C1, CAP_P(50))
	CAP(C2, CAP_U(0.001))
	CAP(C3, CAP_U(0.002))
	CAP(C4, CAP_U(0.005))
	CAP(C5, CAP_U(0.010))

	CAP(C6, CAP_P(50))
	CAP(C7, CAP_U(0.01))
	CAP(C8, CAP_U(470))

	QBJT_EB(Q1, "9013")

	MC1455P_DIP(IC1)

	NET_C(P08.Q, R2.2, IC1.4)
	NET_C(P09.Q, C8.2)
Beispiel #12
0
//**************************************************************************
//  DEVICE DEFINITIONS
//**************************************************************************

DEFINE_DEVICE_TYPE(EINSTEIN_SPECULATOR, einstein_speculator_device, "einstein_speculator", "Einstein Speculator")

//-------------------------------------------------
//  device_add_mconfig - add device configuration
//-------------------------------------------------

MACHINE_CONFIG_MEMBER( einstein_speculator_device::device_add_mconfig )
	MCFG_DEVICE_ADD("ic5a", TTL74123, 0)
	MCFG_TTL74123_CONNECTION_TYPE(TTL74123_NOT_GROUNDED_NO_DIODE)
	MCFG_TTL74123_RESISTOR_VALUE(RES_K(47))
	MCFG_TTL74123_CAPACITOR_VALUE(CAP_P(560))
	MCFG_TTL74123_A_PIN_VALUE(1)
	MCFG_TTL74123_B_PIN_VALUE(1)
	MCFG_TTL74123_CLEAR_PIN_VALUE(0)
	MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(einstein_speculator_device, ic5a_q_w))

	MCFG_DEVICE_ADD("ic5b", TTL74123, 0)
	MCFG_TTL74123_CONNECTION_TYPE(TTL74123_NOT_GROUNDED_NO_DIODE)
	MCFG_TTL74123_RESISTOR_VALUE(RES_K(47))
	MCFG_TTL74123_CAPACITOR_VALUE(CAP_P(560))
	MCFG_TTL74123_A_PIN_VALUE(1)
	MCFG_TTL74123_B_PIN_VALUE(1)
	MCFG_TTL74123_CLEAR_PIN_VALUE(0)
	MCFG_TTL74123_OUTPUT_CHANGED_CB(WRITELINE(einstein_speculator_device, ic5b_q_w))

	MCFG_SPEAKER_STANDARD_MONO("mono")
Beispiel #13
0
	NET_C(3M_1.VP, V5)

	NET_C(DAC.VOUT, R34.1)
	NET_C(3M_1.MINUS, R34.2, R35.2)
	NET_C(3M_1.OUT, R35.1)
	NET_C(3M_1.PLUS, R36.1)
	NET_C(R36.2, GND)

	RES(R21, RES_M(1.8))
	RES(R23, RES_K(10))
	RES(R25, RES_K(10))
	RES(R37, RES_K(750))
	RES(R38, RES_K(360))
	RES(R39, RES_K(750))

	CAP(C18, CAP_P(100))
	CAP(C19, CAP_U(10))
	CAP(C20, CAP_U(1))
	CAP(C30, CAP_P(100))

	LM3900(3M_2)
	NET_C(3M_2.VM, GND)
	NET_C(3M_2.VP, V5)

	NET_C(R35.1, C20.1)
	NET_C(C20.2, R37.1)
	NET_C(R37.2, R38.2, C18.1, R39.2)

	NET_C(C18.2, GND)
	NET_C(R38.1, C30.2, 3M_2.MINUS)
	NET_C(3M_2.OUT, R39.1, C30.1)
Beispiel #14
0
void timeplt_audio_device::filter_w( device_t *device, int data )
{
	int C = 0;

	if (data & 1)
		C += 220000;    /* 220000pF = 0.220uF */
	if (data & 2)
		C +=  47000;    /*  47000pF = 0.047uF */

	dynamic_cast<filter_rc_device*>(device)->filter_rc_set_RC(FLT_RC_LOWPASS, 1000, 5100, 0, CAP_P(C));
}
Beispiel #15
0
	m_timer = 0;
}


/*************************************
 *
 *  Audio hardware
 *
 *************************************/

static const sn76477_interface sn76477_intf =
{
	RES_K(47),  /*  4 noise_res                */
//  RES_K(120), /*  5 filter_res               */
	RES_M(1.2), /*  5 filter_res               */
	CAP_P(470), /*  6 filter_cap               */
	RES_K(680), /*  7 decay_res                */
	CAP_U(0.2), /*  8 attack_decay_cap         */
	RES_K(3.3), /* 10 attack_res               */
	0,          /* 11 amplitude_res (variable) */
	RES_K(50),  /* 12 feedback_res             */
	0,          /* 16 vco_voltage (variable)   */
	CAP_U(0.1), /* 17 vco_cap                  */
	RES_K(51),  /* 18 vco_res                  */
	5.0,        /* 19 pitch_voltage (N/C)      */
	RES_K(470), /* 20 slf_res                  */
	CAP_U(0.1), /* 21 slf_cap                  */
	CAP_U(0.1), /* 23 oneshot_cap              */
	RES_M(1),   /* 24 oneshot_res              */
	0,          /* 22 vco (variable)           */
	0,          /* 26 mixer A (variable)       */
Beispiel #16
0
	TTL_7402_NOR(K6_2, CYCLE_RESET, SPEED_KILL_Q)
	ALIAS(RETURN_THROTTLE, K6_2.Q)

	TTL_7408_AND(N8_1, CYCLE_WINDOW, RAMPS)
	ALIAS(RAMPS_AND_CYCLE_WINDOW, N8_1.Q)

	TTL_7400_NAND(M7_1, OBJECT_ZONE, CYCLE)
	ALIAS(OBJECT_HIT_Q, M7_1.Q)

	TTL_7400_NAND(N9_2, FIXED_RAMP_ZONE, RAMPS_AND_CYCLE_WINDOW)
	TTL_7408_AND(N8_4, OBJECT_HIT_Q, N9_2.Q)
	ALIAS(LOAD_Q, N8_4.Q)

	RES(R106, 330)
	CAP(C57, CAP_P(220))
	NET_C(R106.1, LOAD_Q)
	NET_C(R106.2, C57.1)
	NET_C(C57.2, GND)

	TTL_7400_NAND(N9_4, R106.2, N9_1.Q)
	TTL_7400_NAND(N9_1, MS_3, N9_4.Q)
	ALIAS(JUMP, N9_4.Q)
	ALIAS(JUMP_Q, N9_1.Q)

	TTL_7400_NAND(N9_3, JUMP, BAD_JUMP_Q)

	TTL_7400_NAND(L9_1, R39_2, BAD_JUMP_Q)
	TTL_7400_NAND(L9_2, BAD_JUMP, 64V)
	TTL_7420_NAND(M9_1, R38_2, GRAVITY, BAD_JUMP_Q, SPEED_KILL_Q)
	TTL_7420_NAND(M9_2, L9_2.Q, SPEED_KILL_Q, L9_1.Q, GRAVITY)
Beispiel #17
0
static WRITE8_HANDLER( tp84_filter_w )
{
	int C;

	/* 76489 #0 */
	C = 0;
	if (offset & 0x008) C +=  47000;	/*  47000pF = 0.047uF */
	if (offset & 0x010) C += 470000;	/* 470000pF = 0.47uF */
	filter_rc_set_RC(devtag_get_device(space->machine, "filter1"),FLT_RC_LOWPASS,1000,2200,1000,CAP_P(C));

	/* 76489 #1 (optional) */
	C = 0;
	if (offset & 0x020) C +=  47000;	/*  47000pF = 0.047uF */
	if (offset & 0x040) C += 470000;	/* 470000pF = 0.47uF */
//  filter_rc_set_RC(devtag_get_device(space->machine, "filter2"),1000,2200,1000,C);

	/* 76489 #2 */
	C = 0;
	if (offset & 0x080) C += 470000;	/* 470000pF = 0.47uF */
	filter_rc_set_RC(devtag_get_device(space->machine, "filter2"),FLT_RC_LOWPASS,1000,2200,1000,CAP_P(C));

	/* 76489 #3 */
	C = 0;
	if (offset & 0x100) C += 470000;	/* 470000pF = 0.47uF */
	filter_rc_set_RC(devtag_get_device(space->machine, "filter3"),FLT_RC_LOWPASS,1000,2200,1000,CAP_P(C));
}
Beispiel #18
0
static WRITE8_DEVICE_HANDLER( megazone_portB_w )
{
	static const char *const fltname[] = { "filter.0.0", "filter.0.1", "filter.0.2" };
	int i;


	for (i = 0;i < 3;i++)
	{
		int C;


		C = 0;
		if (data & 1) C +=  10000;	/*  10000pF = 0.01uF */
		if (data & 2) C += 220000;	/* 220000pF = 0.22uF */
		data >>= 2;
		filter_rc_set_RC(devtag_get_device(device->machine, fltname[i]),FLT_RC_LOWPASS,1000,2200,200,CAP_P(C));
	}
}
Beispiel #19
0
	/* following the resistor DAC are two opamps. The first is a 1:1 amplifier, the second
	 * is a filter circuit. Simulation in LTSPICE shows, that the following is equivalent:
	 */

	DISCRETE_TASK_START(1)
	DISCRETE_INPUT_BUFFER(DS_DAC, 0)
	DISCRETE_MULTIPLY(NODE_170, DS_DAC, TTL_HIGH / 256.0)       /* MXR1 */
	/* this stage reduces the gain of the DAC by 50%, so yes the volume is much lower then the walk sound */
	DISCRETE_OP_AMP(NODE_171,                                   /* IC 3M, pin 5 */
		1,                                                      /* ENAB */
		NODE_170, 5,                                            /* IN0 - IC 3M, pin 6; IN1 - IC 3M, pin 1 */
		&mario_dac_amp)
	/* This provides a close simulation of the IC 3M, pin 10 filter circuit */
	/* The Measured and SPICEd low freq gain is 1, it then has a high frequency
	 * drop close to the following RC filter. */
	DISCRETE_RCFILTER_VREF(DS_OUT_DAC, NODE_171, RES_K(750), CAP_P(180), 2.5)
	DISCRETE_TASK_END()


	/************************************************
	 * MIXER
	 ************************************************/

	DISCRETE_TASK_START(2)
	DISCRETE_MIXER4(NODE_297,
		1,                                                          /* ENAB */
		DS_OUT_SOUND0, DS_OUT_SOUND1, DS_OUT_SOUND7, DS_OUT_DAC,
		&mario_mixer)
	/* approx -0.625V to 0.980V when playing, but turn on sound peaks at 2.38V */
	/* we will set the full wav range to 1.19V which will cause clipping on the turn on
	 * sound.  The real game would do this when the volume is turned up too.
Beispiel #20
0
//-------------------------------------------------

static ADDRESS_MAP_START( ibm_pc_83_keyboard_io, AS_IO, 8, ibm_pc_83_keyboard_device )
	AM_RANGE(MCS48_PORT_BUS, MCS48_PORT_BUS) AM_WRITE(bus_w)
	AM_RANGE(MCS48_PORT_P1, MCS48_PORT_P1) AM_READ(p1_r) AM_WRITENOP
	AM_RANGE(MCS48_PORT_P2, MCS48_PORT_P2) AM_WRITE(p2_w)
	AM_RANGE(MCS48_PORT_T0, MCS48_PORT_T0) AM_READ(t1_r)
ADDRESS_MAP_END


//-------------------------------------------------
//  MACHINE_DRIVER( ibm_pc_83_keyboard )
//-------------------------------------------------

static MACHINE_CONFIG_FRAGMENT( ibm_pc_83_keyboard )
	MCFG_CPU_ADD(I8048_TAG, I8048, MCS48_LC_CLOCK(IND_U(47), CAP_P(20)))
	MCFG_CPU_IO_MAP(ibm_pc_83_keyboard_io)
MACHINE_CONFIG_END


//-------------------------------------------------
//  machine_config_additions - device-specific
//  machine configurations
//-------------------------------------------------

machine_config_constructor ibm_pc_83_keyboard_device::device_mconfig_additions() const
{
	return MACHINE_CONFIG_NAME( ibm_pc_83_keyboard );
}

Beispiel #21
0
	MCFG_GFXDECODE_ADD("gfxdecode", "palette", laserbat)

MACHINE_CONFIG_END

static MACHINE_CONFIG_DERIVED_CLASS( laserbat, laserbat_base, laserbat_state )

	// video hardware
	MCFG_PALETTE_ADD("palette", 256)
	MCFG_PALETTE_INIT_OWNER(laserbat_state, laserbat)

	// sound board devices
	MCFG_SPEAKER_STANDARD_MONO("mono")

	MCFG_SOUND_ADD("csg", SN76477, 0) // audio output not used
	MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(270), CAP_P(1000)) // R21, switchable R30/R23/R24/R25/R29/R28/R27/R26, C21
	MCFG_SN76477_DECAY_RES(RES_INF)                 // NC
	MCFG_SN76477_ATTACK_PARAMS(0, RES_INF)          // NC, NC
	MCFG_SN76477_AMP_RES(RES_K(47))                 // R26 47k
	MCFG_SN76477_FEEDBACK_RES(RES_INF)              // NC
	MCFG_SN76477_VCO_PARAMS(5.0 * RES_VOLTAGE_DIVIDER(RES_K(4.7), RES_K(2.2)), 0, RES_K(47)) // R22/R19, NC, switchable R47/R40/R41/R42/R46/R45/R44/R43
	MCFG_SN76477_PITCH_VOLTAGE(5.0)                 // tied to Vreg
	MCFG_SN76477_SLF_PARAMS(CAP_U(4.7), RES_INF)    // C24, switchable NC/R54/R53/R52/R51
	MCFG_SN76477_ONESHOT_PARAMS(0, RES_INF)         // NC, NC
	MCFG_SN76477_VCO_MODE(1)                        // BIT15
	MCFG_SN76477_MIXER_PARAMS(0, 0, 0)              // GND, VCO/NOISE, GND
	MCFG_SN76477_ENVELOPE_PARAMS(0, 1)              // GND, Vreg
	MCFG_SN76477_ENABLE(0)                          // AB SOUND

	MCFG_TMS3615_ADD("synth_low", XTAL_4MHz/16/2) // from the other one's /2 clock output
	MCFG_SOUND_ROUTE(TMS3615_FOOTAGE_8, "mono", 1.0)
Beispiel #22
0
#define FANTASY_NOISE_LOGIC         NODE_03

static DISCRETE_SOUND_START( fantasy_discrete )

	DISCRETE_INPUT_LOGIC (FANTASY_BOMB_EN)
	DISCRETE_INPUT_STREAM(FANTASY_NOISE_STREAM_IN, 0)

	/* This is not the perfect way to discharge, but it is good enough for now */
	/* it does not take into acount that there is no discharge when noise is low */
	DISCRETE_RCDISC2(NODE_10, FANTASY_BOMB_EN, 0, RES_K(10) + RES_K(33), DEFAULT_TTL_V_LOGIC_1 - 0.5, RES_K(1), CAP_U(1))
	DISCRETE_CLAMP(FANTASY_NOISE_LOGIC, FANTASY_NOISE_STREAM_IN, 0, 1)
	DISCRETE_SWITCH(NODE_11, 1, FANTASY_NOISE_LOGIC, 0, NODE_10)

	DISCRETE_OP_AMP_FILTER(NODE_20, 1, NODE_11, 0, DISC_OP_AMP_FILTER_IS_BAND_PASS_1M, &fantasy_filter)
	DISCRETE_RCFILTER(NODE_21, NODE_20, RES_K(22), CAP_U(.01))
	DISCRETE_RCFILTER(NODE_22, NODE_21, RES_K(22) +  RES_K(22), CAP_P(2200))
	DISCRETE_RCFILTER(NODE_23, NODE_22, RES_K(22) + RES_K(22) +  RES_K(22), CAP_U(.001))

	DISCRETE_OUTPUT(NODE_23, 32760.0/12)
DISCRETE_SOUND_END


DEFINE_DEVICE_TYPE(SNK6502_SOUND,  snk6502_sound_device,  "snk6502_sound",  "SNK6502 Custom Sound")
DEFINE_DEVICE_TYPE(VANGUARD_SOUND, vanguard_sound_device, "vanguard_sound", "SNK Vanguard Sound")
DEFINE_DEVICE_TYPE(FANTASY_SOUND,  fantasy_sound_device,  "fantasy_sound",  "SNK Fantasy Sound")
DEFINE_DEVICE_TYPE(NIBBLER_SOUND,  nibbler_sound_device,  "nibbler_sound",  "Rock-Ola Nibbler Sound")
DEFINE_DEVICE_TYPE(PBALLOON_SOUND, pballoon_sound_device, "pballoon_sound", "SNK Pioneer Balloon Sound")
DEFINE_DEVICE_TYPE(SASUKE_SOUND,   sasuke_sound_device,   "sasuke_sound",   "SNK Sasuke Vs. Commander Sound")
DEFINE_DEVICE_TYPE(SATANSAT_SOUND, satansat_sound_device, "satansat_sound", "SNK Satan of Saturn Sound")

Beispiel #23
0
};


static const gfx_decode gfxdecodeinfo[] =
{
	{ REGION_GFX1, 0, &charlayout,   0, 16 },
	{ REGION_GFX2, 0, &spritelayout, 0, 16 },
	{ -1 } /* end of array */
};


static struct SN76477interface sn76477_interface =
{
	RES_K( 47)   ,		/*  4  noise_res         */
	RES_K(330)   ,		/*  5  filter_res        */
	CAP_P(470)   ,		/*  6  filter_cap        */
	RES_K(220)   ,		/*  7  decay_res         */
	CAP_U(1.0)   ,		/*  8  attack_decay_cap  */
	RES_K(4.7)   ,		/* 10  attack_res        */
	RES_M(  1)   ,		/* 11  amplitude_res     */
	RES_K(200)   ,		/* 12  feedback_res      */
	5.0		   ,		/* 16  vco_voltage       */
	CAP_P(470)   ,		/* 17  vco_cap           */
	RES_K(330)   ,		/* 18  vco_res           */
	5.0		   ,		/* 19  pitch_voltage     */
	RES_K( 20)   ,		/* 20  slf_res           */
	CAP_P(420)   ,		/* 21  slf_cap           */
	CAP_U(1.0)   ,		/* 23  oneshot_cap       */
	RES_K( 47)   		/* 24  oneshot_res       */
};
Beispiel #24
0

//-------------------------------------------------
//  DISCRETE_SOUND( vip )
//-------------------------------------------------

static const discrete_555_desc vip_ca555_a =
{
	DISC_555_OUT_SQW | DISC_555_OUT_DC,
	5,      // B+ voltage of 555
	DEFAULT_555_VALUES
};

static DISCRETE_SOUND_START( vip )
	DISCRETE_INPUT_LOGIC(NODE_01)
	DISCRETE_555_ASTABLE_CV(NODE_02, NODE_01, 470, (int) RES_M(1), (int) CAP_P(470), NODE_01, &vip_ca555_a)
	DISCRETE_OUTPUT(NODE_02, 5000)
DISCRETE_SOUND_END


//-------------------------------------------------
//  VIP_BYTEIO_PORT_INTERFACE( byteio_intf )
//-------------------------------------------------

WRITE_LINE_MEMBER( vip_state::byteio_inst_w )
{
	if (!state)
	{
		m_byteio_data = m_byteio->in_r();
	}
}
Beispiel #25
0
	* Final mix and output.
	************************************************/
	DISCRETE_ADDER2(NODE_90, 1, CRBALOON_LAUGH_SND, CRBALOON_MUSIC_SND)
	DISCRETE_CRFILTER(NODE_91, NODE_90, RES_K(100), CAP_U(1))

	DISCRETE_OUTPUT(NODE_91, 65000.0/12)

DISCRETE_SOUND_END


MACHINE_CONFIG_START(crbaloon_state::crbaloon_audio)

	MCFG_SPEAKER_STANDARD_MONO("mono")

	MCFG_SOUND_ADD("snsnd", SN76477, 0)
	MCFG_SN76477_NOISE_PARAMS(RES_K(47), RES_K(330), CAP_P(470)) // noise + filter
	MCFG_SN76477_DECAY_RES(RES_K(220))                   // decay_res
	MCFG_SN76477_ATTACK_PARAMS(CAP_U(1.0), RES_K(4.7))   // attack_decay_cap + attack_res
	MCFG_SN76477_AMP_RES(RES_M(1))                       // amplitude_res
	MCFG_SN76477_FEEDBACK_RES(RES_K(200))                // feedback_res
	MCFG_SN76477_VCO_PARAMS(5.0, CAP_P(470), RES_K(330)) // VCO volt + cap + res
	MCFG_SN76477_PITCH_VOLTAGE(5.0)                      // pitch_voltage
	MCFG_SN76477_SLF_PARAMS(CAP_P(420), RES_K(20))       // slf caps + res
	MCFG_SN76477_ONESHOT_PARAMS(CAP_U(1.0), RES_K(47))   // oneshot caps + res
	MCFG_SN76477_VCO_MODE(0)                             // VCO mode
	MCFG_SN76477_MIXER_PARAMS(0, 0, 1)                   // mixer A, B, C
	MCFG_SN76477_ENVELOPE_PARAMS(1, 0)                   // envelope 1, 2
	MCFG_SN76477_ENABLE(0)                               // enable
	MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 2.0)

	MCFG_SOUND_ADD("discrete", DISCRETE, 0)