示例#1
0
static WRITE8_HANDLER( port_sound_w )
{
	running_device *discrete = space->machine->device("discrete");
	running_device *sn = space->machine->device("snsnd");

	/* D0 - interrupt enable - also goes to PC3259 as /HTCTRL */
	cpu_interrupt_enable(space->machine->device("maincpu"), (data & 0x01) ? TRUE : FALSE);
	crbaloon_set_clear_collision_address((data & 0x01) ? TRUE : FALSE);

	/* D1 - SOUND STOP */
	sound_global_enable(space->machine, (data & 0x02) ? TRUE : FALSE);

	/* D2 - unlabeled - music enable */
	crbaloon_audio_set_music_enable(discrete, 0, (data & 0x04) ? TRUE : FALSE);

	/* D3 - EXPLOSION */
	crbaloon_audio_set_explosion_enable(sn, (data & 0x08) ? TRUE : FALSE);

	/* D4 - BREATH */
	crbaloon_audio_set_breath_enable(sn, (data & 0x10) ? TRUE : FALSE);

	/* D5 - APPEAR */
	crbaloon_audio_set_appear_enable(sn, (data & 0x20) ? TRUE : FALSE);

	/* D6 - unlabeled - laugh enable */
	crbaloon_audio_set_laugh_enable(discrete, 0, (data & 0x40) ? TRUE : FALSE);

	/* D7 - unlabeled - goes to PC3259 pin 16 */

	pc3259_update();
}
示例#2
0
	/* nothing yet */
MACHINE_DRIVER_END



/*************************************
 *
 *  Tomahawk
 *
 *************************************/

WRITE8_HANDLER( tomahawk_audio_w )
{
	astrof_state *state = (astrof_state *)space->machine->driver_data;

	/* D0 - sonar */

	/* D1 - UFO explosion */

	/* D2 - morse */

	/* D3 - missile */

	/* D4 - UFO */

	/* D5 - UFO under water */
	sn76477_enable_w(state->sn, (~data >> 5) & 0x01);

	/* D6 - explosion */

	/* D7 - sound enable bit */
	sound_global_enable(space->machine, data & 0x80);
}
示例#3
0
static MACHINE_RESET( taito_dualscreen )
{
	warriorb_state *state = machine->driver_data<warriorb_state>();

	state->banknum = 0;

	/**** mixer control enable ****/
	sound_global_enable(machine, 1);	/* mixer enabled */
}
示例#4
0
static MACHINE_RESET( ninjaw )
{
	ninjaw_state *state = (ninjaw_state *)machine->driver_data;
	state->cpua_ctrl = 0xff;
	state->banknum = 0;
	memset(state->pandata, 0, sizeof(state->pandata));

	/**** mixer control enable ****/
	sound_global_enable(machine, 1);	/* mixer enabled */
}
示例#5
0
DISCRETE_SOUND_END

WRITE8_HANDLER( indianbt_sh_port_1_w )
{
    /* bit 4 occurs every 5.25 seconds during gameplay */
    mw8080bw_state *state = space->machine->driver_data<mw8080bw_state>();
    UINT8 rising_bits = data & ~state->port_1_last_extra;

    if (rising_bits & 0x01) sample_start(state->samples, 1, 7, 0);		/* Death */
    if (rising_bits & 0x02) sample_start(state->samples, 0, 1, 0);		/* Shot Sound */
    if (rising_bits & 0x04) sample_start(state->samples, 2, 3, 0);		/* Move */
    if (rising_bits & 0x08) sample_start(state->samples, 3, 2, 0);		/* Hit */

    sound_global_enable(space->machine, data & 0x20);

    state->screen_red = data & 0x01;

    state->port_1_last_extra = data;
}
示例#6
0
DISCRETE_SOUND_END

WRITE8_HANDLER( indianbt_sh_port_1_w )
{
	/* bit 4 occurs every 5.25 seconds during gameplay */

	const device_config *samples = devtag_get_device(space->machine, "samples");
	UINT8 rising_bits = data & ~port_1_last_extra;

	if (rising_bits & 0x01) sample_start(samples, 1, 7, 0);	/* Death */
	if (rising_bits & 0x02) sample_start(samples, 0, 1, 0);		/* Shot Sound */
	if (rising_bits & 0x04) sample_start(samples, 2, 3, 0);		/* Move */
	if (rising_bits & 0x08) sample_start(samples, 3, 2, 0);		/* Hit */

	sound_global_enable(space->machine, data & 0x20);

	c8080bw_screen_red_w(data & 0x01);

	port_1_last_extra = data;
}
示例#7
0
static MACHINE_RESET( taito_dualscreen )
{
	/**** mixer control enable ****/
	sound_global_enable( 1 );	/* mixer enabled */
}
示例#8
0
文件: circus.c 项目: broftkd/mess-cvs
DISCRETE_SOUND_END


/* This register controls the clown image currently displayed */
/* and also is used to enable the amplifier and trigger the   */
/* discrete circuitry that produces sound effects and music   */

WRITE8_HANDLER( circus_clown_z_w )
{
	clown_z = (data & 0x0f);
	*(memory_region(REGION_CPU1)+0x8000)=data; logerror("Z:%02x\n",data); //DEBUG
	/* Bits 4-6 enable/disable trigger different events */

	switch (circus_game)
	{
		case 1:	/* circus */
		case 4:	/* ripcord */
			switch ((data & 0x70) >> 4)
			{
				case 0 : /* All Off */
					discrete_sound_w(CIRCUS_MUSIC_BIT, 0);
					break;

				case 1 : /* Music */
					discrete_sound_w(CIRCUS_MUSIC_BIT, 1);
					break;

				case 2 : /* Circus = Pop; Rip Cord = Splash */
					sample_start (0, 0, 0);
					break;

				case 3 : /* Normal Video */
					break;

				case 4 : /* Circus = Miss; Rip Cord = Scream */
					sample_start (1, 1, 0);
					break;

				case 5 : /* Invert Video */
					break;

				case 6 : /* Circus = Bounce; Rip Cord = Chute Open */
					sample_start (2, 2, 0);
					break;

				case 7 : /* Circus = not used; Rip Cord = Whistle */
					if GAME_IS_RIPCORD
						sample_start (3, 3, 0);
					break;
			}
			break;

		case 2:	/* robotbwl */
			discrete_sound_w(ROBOTBWL_MUSIC_BIT, data & 0x08);	/* Footsteps */

			if (data & 0x40)	/* Hit */
				sample_start (0, 0, 0);

			if (data & 0x20)	/* Roll */
				sample_start (1, 1, 0);

			if (data & 0x10)	/* Ball Drop */
				sample_start (2, 2, 0);

			if (data & 0x02)	/* Demerit */
				sample_start (3, 3, 0);

			if (data & 0x01)	/* Reward */
				sample_start (4, 4, 0);

			// if (data & 0x04) /* Invert */
			break;

		case 3:	/* crash */
			/* Only the crash can be done with a sample */
			switch ((data & 0x70) >> 4)
			{
				case 0 : /* All Off */
					discrete_sound_w(CRASH_MUSIC_BIT, 0);
					break;

				case 1 : /* Music */
					discrete_sound_w(CRASH_MUSIC_BIT, 1);
					break;

				case 2 : /* Crash */
					sample_start (0, 0, 0);
					break;

				case 3 : /* Normal Video and Beep */
					discrete_sound_w(CRASH_BEEPER_EN, 0);
					break;

				case 4 : /* Skid */
					break;

				case 5 : /* Invert Video and Beep */
					discrete_sound_w(CRASH_BEEPER_EN, 0);
					break;

				case 6 : /* Hi Motor */
					break;

				case 7 : /* Low Motor */
					break;
			}
			break;
	}

	/* Bit 7 enables amplifier (0 = on) */
	sound_global_enable(~data & 0x80);
}
示例#9
0
static MACHINE_RESET( ninjaw )
{
  /**** mixer control enable ****/
  sound_global_enable( machine, 1 );	/* mixer enabled */
}
示例#10
0
static WRITE8_HANDLER( sound_enable_w )
{
	sound_global_enable(data & 1);
}
示例#11
0
文件: tutankhm.c 项目: nitrologic/emu
static WRITE8_HANDLER( sound_mute_w )
{
	sound_global_enable(space->machine, ~data & 1);
}