示例#1
0
文件: gijoe.c 项目: joolswills/mameox
static INTERRUPT_GEN( gijoe_interrupt )
{
	// global interrupt masking (*this game only)
	if (!K056832_is_IRQ_enabled(0)) return;

	if (K053246_is_IRQ_enabled())
	{
		gijoe_objdma();

		// 42.7us(clr) + 341.3us(xfer) delay at 6Mhz dotclock
		timer_adjust(dmadelay_timer, TIME_IN_USEC(JOE_DMADELAY), 0, 0);
	}

	// trigger V-blank interrupt
	if (cur_control2 & 0x0080)
		cpunum_set_input_line(0, 5, HOLD_LINE);
}
示例#2
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);
}