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); }
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); }