Exemple #1
0
static INTERRUPT_GEN( espial_master_interrupt )
{
	if (cpu_getiloops(device) == 0)
		nmi_line_pulse(device);
	else
		irq0_line_hold(device);
}
Exemple #2
0
static INTERRUPT_GEN( zodiac_sound_nmi_gen )
{
	zodiack_state *state = device->machine->driver_data<zodiack_state>();

	if (state->sound_nmi_enabled)
		nmi_line_pulse(device);
}
Exemple #3
0
static INTERRUPT_GEN( mystston_interrupt )
{
	int scanline = 271 - cpu_getiloops();
	static int coin;

	/* Inserting a coin triggers an NMI */
	if ((readinputport(0) & 0xc0) != 0xc0)
	{
		if (coin == 0)
		{
			coin = 1;
			nmi_line_pulse();
			return;
		}
	}
	else coin = 0;

	/* VBLK is lowered on scanline 8 */
	if (scanline == 8)
		VBLK = 0;

	/* VBLK is raised on scanline 248 */
	if (scanline == 248)
		VBLK = 0x80;

	/* IMS is triggered every time VLOC line 3 is raised,
       as VLOC counter starts at 16, effectively every 16 scanlines */
	if ((scanline % 16) == 0)
		cpunum_set_input_line(0, 0, ASSERT_LINE);
}
Exemple #4
0
static INTERRUPT_GEN( mouser_nmi_interrupt )
{
    mouser_state *state = (mouser_state *)device->machine->driver_data;

    if (BIT(state->nmi_enable, 0))
        nmi_line_pulse(device);
}
Exemple #5
0
static INTERRUPT_GEN( mouser_nmi_interrupt )
{
	mouser_state *state = device->machine().driver_data<mouser_state>();

	if (BIT(state->m_nmi_enable, 0))
		nmi_line_pulse(device);
}
Exemple #6
0
ADDRESS_MAP_END


static INTERRUPT_GEN( cheekyms_interrupt )
{
	if (readinputport(2) & 1)	/* Coin */
		nmi_line_pulse();
	else
		irq0_line_hold();
}
Exemple #7
0
static INTERRUPT_GEN( ssozumo_interrupt )
{
	static int coin;

	if ((readinputport(0) & 0xc0) != 0xc0)
	{
		if (coin == 0)
		{
			coin = 1;
			nmi_line_pulse();
			return;
		}
	}
	else coin = 0;

	irq0_line_hold();
}
static INTERRUPT_GEN( dv_interrupt )
{
	if (nmi_enable)
		nmi_line_pulse();
}