Пример #1
0
static WRITE8_HANDLER( gaplus_irq_3_ctrl_w )
{
	int bit = !BIT(offset, 13);
	cpu_interrupt_enable(space->machine->device("sub2"), bit);
	if (!bit)
		cputag_set_input_line(space->machine, "sub2", 0, CLEAR_LINE);
}
Пример #2
0
static WRITE8_HANDLER( pacland_irq_2_ctrl_w )
{
    int bit = !BIT(offset, 13);
    cpu_interrupt_enable(space->machine->device("mcu"), bit);
    if (!bit)
        cputag_set_input_line(space->machine, "mcu", 0, CLEAR_LINE);
}
Пример #3
0
static WRITE8_HANDLER( pacland_irq_1_ctrl_w )
{
	int bit = !BIT(offset, 11);
	cpu_interrupt_enable(cputag_get_cpu(space->machine, "maincpu"), bit);
	if (!bit)
		cputag_set_input_line(space->machine, "maincpu", 0, CLEAR_LINE);
}
Пример #4
0
static WRITE8_HANDLER( gaplus_irq_1_ctrl_w )
{
    int bit = !BIT(offset, 11);
    cpu_interrupt_enable(space->machine().device("maincpu"), bit);
    if (!bit)
        cputag_set_input_line(space->machine(), "maincpu", 0, CLEAR_LINE);
}
Пример #5
0
static WRITE8_HANDLER( pacland_irq_2_ctrl_w )
{
	int bit = !BIT(offset,13);
	cpu_interrupt_enable(1,bit);
	if (!bit)
		cpunum_set_input_line(1, 0, CLEAR_LINE);
}
Пример #6
0
static WRITE8_HANDLER( warpwarp_out3_w )
{
	switch (offset & 7)
	{
		case 0:
			set_led_status(0,data & 1);
			break;
		case 1:
			set_led_status(1,data & 1);
			break;
		case 2:
			set_led_status(2,data & 1);
			break;
		case 3:
			/* n.c. */
			break;
		case 4:
			coin_lockout_global_w(~data & 1);
			break;
		case 5:
			coin_counter_w(0,data & 1);
			break;
		case 6:
			warpwarp_ball_on = data & 1;
			cpu_interrupt_enable(0,data & 1);
			if (~data & 1)
				cpunum_set_input_line(0, 0, CLEAR_LINE);
			break;
		case 7:
			flip_screen_set(data & 1);
			break;
	}
}
Пример #7
0
static WRITE8_HANDLER( gaplus_irq_2_ctrl_w )
{
    int bit = offset & 1;
    cpu_interrupt_enable(space->machine().device("sub"), bit);
    if (!bit)
        cputag_set_input_line(space->machine(), "sub", 0, CLEAR_LINE);
}
Пример #8
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();
}
Пример #9
0
static WRITE8_HANDLER( warpwarp_out3_w )
{
	switch (offset & 7)
	{
		case 0:
			set_led_status(space->machine, 0,data & 1);
			break;
		case 1:
			set_led_status(space->machine, 1,data & 1);
			break;
		case 2:
			set_led_status(space->machine, 2,data & 1);
			break;
		case 3:
			/* n.c. */
			break;
		case 4:
			coin_lockout_global_w(space->machine, ~data & 1);
			break;
		case 5:
			coin_counter_w(space->machine, 0,data & 1);
			break;
		case 6:
			warpwarp_ball_on = data & 1;
			cpu_interrupt_enable(space->machine->device("maincpu"), data & 1);
			if (~data & 1)
				cputag_set_input_line(space->machine, "maincpu", 0, CLEAR_LINE);
			break;
		case 7:
			flip_screen_set(space->machine, data & 1);
			break;
	}
}
Пример #10
0
static WRITE8_HANDLER( irq1_ack_w )
{
	int bit = data & 1;

	cpu_interrupt_enable(space->machine->device("sub"), bit);
	if (!bit)
		cputag_set_input_line(space->machine, "sub", 0, CLEAR_LINE);
}
Пример #11
0
static WRITE8_HANDLER( brkthru_1803_w )
{
	brkthru_state *state = space->machine().driver_data<brkthru_state>();
	/* bit 0 = NMI enable */
	cpu_interrupt_enable(state->m_maincpu, ~data & 1);

	/* bit 1 = ? maybe IRQ acknowledge */
}
Пример #12
0
static WRITE8_HANDLER( irq0_ack_w )
{
	int bit = data & 1;

	cpu_interrupt_enable(0,bit);
	if (!bit)
		cpunum_set_input_line(0, 0, CLEAR_LINE);
}
Пример #13
0
static WRITE8_HANDLER( irq0_ack_w )
{
	int bit = data & 1;

	cpu_interrupt_enable(cputag_get_cpu(space->machine, "maincpu"), bit);
	if (!bit)
		cputag_set_input_line(space->machine, "maincpu", 0, CLEAR_LINE);
}
Пример #14
0
static WRITE8_HANDLER( darwin_0803_w )
{
	brkthru_state *state = space->machine().driver_data<brkthru_state>();
	/* bit 0 = NMI enable */
	/*cpu_interrupt_enable(state->m_audiocpu, ~data & 1);*/
	logerror("0803 %02X\n",data);
	cpu_interrupt_enable(state->m_maincpu, data & 1);
	/* bit 1 = ? maybe IRQ acknowledge */
}
Пример #15
0
static WRITE8_HANDLER( irqack_w )
{
	_20pacgal_state *state = space->machine().driver_data<_20pacgal_state>();
	int bit = data & 1;

	cpu_interrupt_enable(state->m_maincpu, bit);

	if (!bit)
		device_set_input_line(state->m_maincpu, 0, CLEAR_LINE);
}
Пример #16
0
static WRITE8_DEVICE_HANDLER( friskyt_portB_w )
{
//logerror("PC %04x: 8910 port B = %02x\n",cpu_get_pc(space->cpu),data);
	/* bit 0 is IRQ enable */
	cpu_interrupt_enable(cputag_get_cpu(device->machine, "maincpu"), data & 1);

	/* bit 1 flips screen */

	/* bit 2 resets the microcontroller */
	if (((portb & 4) == 0) && (data & 4))
	{
		/* reset and start the protection mcu */
		cputag_set_input_line(device->machine, "mcu", INPUT_LINE_RESET, PULSE_LINE);
		cputag_set_input_line(device->machine, "mcu", INPUT_LINE_HALT, CLEAR_LINE);
	}

	/* other bits unknown */
	portb = data;
}
Пример #17
0
static MACHINE_RESET( gaplus )
{
    /* on reset, VINTON is reset, while the other flags don't seem to be affected */
    cpu_interrupt_enable(machine.device("sub"), 0);
    cputag_set_input_line(machine, "sub", 0, CLEAR_LINE);
}
Пример #18
0
static TIMER_CALLBACK( interrupt_disable )
{
	zodiack_state *state = machine->driver_data<zodiack_state>();
	//interrupt_enable = 0;
	cpu_interrupt_enable(state->maincpu, 0);
}
Пример #19
0
static TIMER_CALLBACK( interrupt_disable )
{
	espial_state *state = machine.driver_data<espial_state>();
	//interrupt_enable = 0;
	cpu_interrupt_enable(state->m_maincpu, 0);
}
Пример #20
0
static TIMER_CALLBACK( interrupt_disable )
{
	//interrupt_enable = 0;
	cpu_interrupt_enable(0,0);
}
Пример #21
0
static void interrupt_disable(int param)
{
	/*interrupt_enable = 0; */
	cpu_interrupt_enable(0,0);
}