Exemple #1
0
static READ16_HANDLER( syvalion_input_bypass_r )
{
	/* Bypass TC0220IOC controller for analog input */

	data8_t	port = TC0220IOC_port_r(0);	/* read port number */

	switch( port )
	{
		case 0x08:				/* trackball y coords bottom 8 bits for 2nd player */
			return input_port_7_r(0);

		case 0x09:				/* trackball y coords top 8 bits for 2nd player */
			if (input_port_7_r(0) & 0x80)	/* y- direction (negative value) */
				return 0xff;
			else							/* y+ direction (positive value) */
				return 0x00;

		case 0x0a:				/* trackball x coords bottom 8 bits for 2nd player */
			return input_port_6_r(0);

		case 0x0b:				/* trackball x coords top 8 bits for 2nd player */
			if (input_port_6_r(0) & 0x80)	/* x- direction (negative value) */
				return 0xff;
			else							/* x+ direction (positive value) */
				return 0x00;

		case 0x0c:				/* trackball y coords bottom 8 bits for 2nd player */
			return input_port_5_r(0);

		case 0x0d:				/* trackball y coords top 8 bits for 1st player */
			if (input_port_5_r(0) & 0x80)	/* y- direction (negative value) */
				return 0xff;
			else							/* y+ direction (positive value) */
				return 0x00;

		case 0x0e:				/* trackball x coords bottom 8 bits for 1st player */
			return input_port_4_r(0);

		case 0x0f:				/* trackball x coords top 8 bits for 1st player */
			if (input_port_4_r(0) & 0x80)	/* x- direction (negative value) */
				return 0xff;
			else							/* x+ direction (positive value) */
				return 0x00;

		default:
			return TC0220IOC_portreg_r( offset );
	}
}
Exemple #2
0
int sprint2_steering2(int offset)
{
    static int last_val=0;
    int this_val;
    int delta;

    this_val=input_port_6_r(0);
    delta=this_val-last_val;
    last_val=this_val;
    if (delta>128) delta-=256;
    else if (delta<-128) delta+=256;
    /* Divide by four to make our steering less sensitive */
    sprint2_steering_buf2+=(delta/4);

    if (sprint2_steering_buf2>0)
    {
        sprint2_steering_buf2--;
        sprint2_steering_val2=0x7F;
    }
    else if (sprint2_steering_buf2<0)
    {
        sprint2_steering_buf2++;
        sprint2_steering_val2=0x3F;
    }

    return sprint2_steering_val2;
}
Exemple #3
0
static void darkmist_coin_hack(void)
{
	/* coin inputs are handled by (unemulated) custom T5182 cpu, so here's a dirty hack  */

	if(input_port_6_r(0)&1)
	{
		if(coin_stat==0)
		{
			coin_stat=1;
			if(darkmist_workram[0]<9)
			{
				darkmist_workram[0]++;
			}
			else
			{
				if(darkmist_workram[1]<9)
				{
					darkmist_workram[0]=0;
					darkmist_workram[1]++;
				}
			}
		}
	}
	else
	{
		coin_stat=0;
	}
}
Exemple #4
0
void firetruck_vh_screenrefresh( struct osd_bitmap *bitmap, int fullrefresh )
{
	draw_background( bitmap );
	draw_text( bitmap );
	draw_sprites( bitmap );

	/* Map horn button onto discrete sound emulation */
	discrete_sound_w(0x01,input_port_6_r(0));
}
Exemple #5
0
int spiders_timed_irq(void)
{
	/* Update CA1 on PIA1 - copy of PA0 (COIN1?) */
	pia_0_ca1_w(0 , input_port_0_r(0)&0x01);

	/* Update CA2 on PIA1 - copy of PA0 (PS2) */
	pia_0_ca2_w(0 , input_port_0_r(0)&0x02);

	/* Update CA1 on PIA1 - copy of PA0 (COIN1?) */
	pia_0_cb1_w(0 , input_port_6_r(0));

	/* Update CB2 on PIA1 - NOT CONNECTED */

	return ignore_interrupt();
}
int zaccaria_prot2_r(int offset)
{
	switch (offset)
	{
		case 0:
			return input_port_6_r(0);	/* bits 4 and 5 must be 0 in Jack Rabbit */

		case 2:
			return 0x10;	/* Jack Rabbit */

		case 4:
			return 0x80;	/* Money Money */

		case 6:
			return 0x00;	/* Money Money */

		default:
			return 0;
	}
}