예제 #1
0
static INTERRUPT_GEN(lethalen_interrupt)
{
	lethal_state *state = device->machine().driver_data<lethal_state>();

	if (k056832_is_irq_enabled(state->m_k056832, 0))
		device_set_input_line(device, HD6309_IRQ_LINE, HOLD_LINE);
}
예제 #2
0
static INTERRUPT_GEN(lethalen_interrupt)
{
	lethal_state *state = (lethal_state *)device->machine->driver_data;

	if (k056832_is_irq_enabled(state->k056832, 0))
		cpu_set_input_line(device, HD6309_IRQ_LINE, HOLD_LINE);
}
예제 #3
0
static INTERRUPT_GEN( asterix_interrupt )
{
	asterix_state *state = (asterix_state *)device->machine->driver_data;

	// global interrupt masking
	if (!k056832_is_irq_enabled(state->k056832, 0))
		return;

	cpu_set_input_line(device, 5, HOLD_LINE); /* ??? All irqs have the same vector, and the mask used is 0 or 7 */
}
예제 #4
0
static INTERRUPT_GEN( gijoe_interrupt )
{
	gijoe_state *state = device->machine->driver_data<gijoe_state>();

	// global interrupt masking (*this game only)
	if (!k056832_is_irq_enabled(state->k056832, 0))
		return;

	if (k053246_is_irq_enabled(state->k053246))
	{
		gijoe_objdma(device->machine);

		// 42.7us(clr) + 341.3us(xfer) delay at 6Mhz dotclock
		timer_adjust_oneshot(state->dmadelay_timer, JOE_DMADELAY, 0);
	}

	// trigger V-blank interrupt
	if (state->cur_control2 & 0x0080)
		cpu_set_input_line(device, 5, HOLD_LINE);
}