Esempio n. 1
0
static TIMER_CALLBACK( cliff_irq_callback )
{
	phillips_code = 0;

	switch (param)
	{
		case 17:
			phillips_code = laserdisc_get_field_code(laserdisc, LASERDISC_CODE_LINE17, TRUE);
			param = 18;
			break;

		case 18:
			phillips_code = laserdisc_get_field_code(laserdisc, LASERDISC_CODE_LINE18, TRUE);
			param = 17;
			break;
	}

	/* if we have a valid code, trigger an IRQ */
	if (phillips_code & 0x800000)
	{
//      printf("%2d:code = %06X\n", param, phillips_code);
		cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE);
	}

	irq_timer->adjust(machine.primary_screen->time_until_pos(param * 2), param);
}
Esempio n. 2
0
static TIMER_CALLBACK( cliff_irq_callback )
{
	phillips_code = 0;

	switch (param)
	{
		case 17:
			phillips_code = laserdisc_get_field_code(discinfo, LASERDISC_CODE_LINE17);
			param = 18;
			break;

		case 18:
			phillips_code = laserdisc_get_field_code(discinfo, LASERDISC_CODE_LINE18);
			param = 17;
			break;
	}

	/* if we have a valid code, trigger an IRQ */
	if ( phillips_code & 0x800000 )
		cpunum_set_input_line(0, 0, ASSERT_LINE);

	timer_adjust(irq_timer, video_screen_get_time_until_pos(0, param, 0), param, attotime_zero);
}