Exemple #1
0
/* Generate interrups only if they have been enabled */
int getstar_interrupt(void)
{
	if (getstar_sh_intenabled)
		return nmi_interrupt();
	else
		return ignore_interrupt();
}
Exemple #2
0
static int bzone_interrupt(void)
{
	if (readinputport(0) & 0x10)
		return nmi_interrupt();
	else
		return ignore_interrupt();
}
int skychut_interrupt(void)
{
	if (readinputport(2) & 1)	/* Left Coin */
            return nmi_interrupt();
        else
            return interrupt();
}
int jackal_interrupt(void)
{
	if (intenable & 0x02) return nmi_interrupt();
	if (intenable & 0x08) return M6809_INT_IRQ;
	if (intenable & 0x10) return M6809_INT_FIRQ;
	return ignore_interrupt();
}
Exemple #5
0
int skydiver_interrupt(void)
{
	if (skydiver_nmion)
		return nmi_interrupt();
	else
	   	return ignore_interrupt();
}
int lasso_interrupt( void )
{
	if (cpu_getiloops() == 0)
		return interrupt();
	else
		return nmi_interrupt(); // coin input
}
Exemple #7
0
static int kingobox_interrupt( void ) {

	if ( kingofb_nmi_enable )
		return nmi_interrupt();

	return ignore_interrupt();
}
Exemple #8
0
int venture_interrupt(void)
{
	static int first_time = 1;
	static int interrupt_counter = 0;

	exidy_collision = (exidy_collision | 0x80) & exidy_collision_mask;

	if (first_time)
	{
		first_time=0;
		return nmi_interrupt();
	}

	interrupt_counter = (interrupt_counter + 1) % 32;

	if (interrupt_counter == 0)
	{
		exidy_collision &= 0x7F;
		return interrupt();
	}

	if (exidy_collision_counter>0)
	{
		exidy_collision_counter--;
		return interrupt();
	}

	return 0;
}
Exemple #9
0
int asteroid_interrupt (void)
{
    /* Turn off interrupts if self-test is enabled */
    if (readinputport(0) & 0x80)
        return ignore_interrupt();
    else
        return nmi_interrupt();
}
Exemple #10
0
static int sharkatt_interrupt(void)
{
	/* SLAM switch causes an NMI if it's pressed */
	if ((input_port_3_r(0) & 0x10) == 0)
		return nmi_interrupt();

	return interrupt();
}
Exemple #11
0
int llander_interrupt (void)
{
    /* Turn off interrupts if self-test is enabled */
    if (readinputport(0) & 0x02)
        return nmi_interrupt();
    else
        return ignore_interrupt();
}
Exemple #12
0
/***************************************************************************
subs_interrupt
***************************************************************************/
int subs_interrupt(void)
{
	/* only do NMI interrupt if not in TEST mode */
	if ((input_port_2_r(0) & 0x40)==0x40)
		return nmi_interrupt();

	return 0;
}
Exemple #13
0
int zn_interrupt( void )
{
    if( queue_len == 2 )
    {
        soundlatch_w( 0, queue_data >> 8 );
        queue_len--;
        return nmi_interrupt();
    }
Exemple #14
0
int shaolins_interrupt(void)
{
	if (cpu_getiloops() == 0) return interrupt();
	else if (cpu_getiloops() % 2)
	{
		if (*shaolins_nmi_enable & 0x02) return nmi_interrupt();
	}

	return ignore_interrupt();
}
Exemple #15
0
static int pinbo_interrupt(void)
{
	if (cpu_getiloops() != 0)
	{
		/* user asks to insert coin: generate a NMI interrupt. */
		if (readinputport(3) & 0x30)
			return nmi_interrupt();
		else return ignore_interrupt();
	}
	else return interrupt();	/* one IRQ per frame */
}
static int labyrunr_interrupt(void)
{
	if (cpu_getiloops() == 0)
	{
		if (K007121_ctrlram[0][0x07] & 0x02) return HD6309_INT_IRQ;
	}
	else if (cpu_getiloops() % 2)
	{
		if (K007121_ctrlram[0][0x07] & 0x01) return nmi_interrupt();
	}
	return ignore_interrupt();
}
Exemple #17
0
static int ironhors_interrupt(void)
{
	if (cpu_getiloops() == 0)
	{
		if (*ironhors_interrupt_enable & 4) return M6809_INT_FIRQ;
	}
	else if (cpu_getiloops() % 2)
	{
		if (*ironhors_interrupt_enable & 1) return nmi_interrupt();
	}
	return ignore_interrupt();
}
static int finalizr_interrupt(void)
{
	if (cpu_getiloops() == 0)
	{
		if (*finalizr_interrupt_enable & 2) return M6809_INT_IRQ;
	}
	else if (cpu_getiloops() % 2)
	{
		if (*finalizr_interrupt_enable & 1) return nmi_interrupt();
	}
	return ignore_interrupt();
}
Exemple #19
0
static int pingpong_interrupt(void)
{
	if (cpu_getiloops() == 0)
	{
		if (*intenable & 0x04) return interrupt();
	}
	else if (cpu_getiloops() % 2)
	{
		if (*intenable & 0x08) return nmi_interrupt();
	}

	return ignore_interrupt();
}
Exemple #20
0
static int exprraid_interrupt(void)
{
	static int coin = 0;

	if ( ( ~readinputport( 3 ) ) & 0xc0 ) {
		if ( coin == 0 ) {
			coin = 1;
			return nmi_interrupt();
		}
	} else
		coin = 0;

	return ignore_interrupt();
}
Exemple #21
0
int exidy_interrupt(void)
{
	static int first_time = 1;

	exidy_collision = (exidy_collision | 0x80) & exidy_collision_mask;

	if (first_time)
	{
		first_time=0;
		return nmi_interrupt();
	}

	return interrupt();
}
Exemple #22
0
int brkthru_interrupt(void)
{
    if (cpu_getiloops() == 0)
    {
        if (nmi_enable) return nmi_interrupt();
    }
    else
    {
        /* generate IRQ on coin insertion */
        if ((readinputport(2) & 0xe0) != 0xe0) return interrupt();
    }

    return ignore_interrupt();
}
static int redalert_interrupt(void)
{
    static int lastcoin = 0;
    int newcoin;

    newcoin = input_port_4_r(0);

    if (newcoin)
    {
        if ((newcoin & 0x01) && !(lastcoin & 0x01))
        {
            lastcoin = newcoin;
            return nmi_interrupt();
        }
        if ((newcoin & 0x02) && !(lastcoin & 0x02))
        {
            lastcoin = newcoin;
            return nmi_interrupt();
        }
    }

    lastcoin = newcoin;
    return interrupt();
}
Exemple #24
0
static int ssozumo_interrupt(void)
{
	static int coin;

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

	return interrupt();
}
static int renegade_interrupt(void){
/*
	static int coin;
	int port = readinputport(1) & 0xc0;
	if (port != 0xc0 ){
		if (coin == 0){
			coin = 1;
			return interrupt();
		}
	}
	else coin = 0;
*/

	static int count;
	count = !count;
	if( count )
	return nmi_interrupt();
	return interrupt();
}
static int tagteam_interrupt(void)
{
	static int coin;
	int port;

	port = readinputport(0) & 0xc0;

	if (port != 0xc0)    /* Coin */
	{
		if (coin == 0)
		{
			coin = 1;
			return nmi_interrupt();
		}
	}
	else coin = 0;

        return ignore_interrupt();
}
static int spaceint_interrupt(void)
{
	if (readinputport(2) & 1)	/* Coin */
		return nmi_interrupt();
	else return interrupt();
}
int galaga_interrupt_3(void)
{
	if (interrupt_enable_3) return nmi_interrupt();
	else return ignore_interrupt();
}
Exemple #29
0
static int cheekyms_interrupt(void)
{
	if (readinputport(2) & 1)	/* Coin */
		return nmi_interrupt();
	else return interrupt();
}
Exemple #30
0
/***************************************************************************

  These games don't have VBlank interrupts.
  Interrupts are still used by the game: but they are related to coin
  slots.

***************************************************************************/
static int astrof_interrupt(void)
{
	if (readinputport(2) & 1)	/* Coin */
		return nmi_interrupt();
	else return ignore_interrupt();
}