static INTERRUPT_GEN( vblank_callback_lgp ) { // NMI //cpunum_set_input_line(machine, 0, INPUT_LINE_NMI, PULSE_LINE); // IRQ cpunum_set_input_line(machine, 0, 0, ASSERT_LINE); timer_set(ATTOTIME_IN_USEC(50), NULL, 0, irq_stop); laserdisc_vsync(discinfo); }
static void vsync_callback(void) { /* only clock the disc every other frame */ laserdisc_vsync(discinfo); /* if we have data available, set a timer to read it */ if (!serial_timer_active && laserdisc_line_r(discinfo, LASERDISC_LINE_DATA_AVAIL) == ASSERT_LINE) { timer_adjust(serial_timer, amiga_get_serial_char_period(), 0, 0); serial_timer_active = TRUE; } }
static INTERRUPT_GEN( cliff_vsync ) { /* clock the laserdisc and video chip every 60Hz */ laserdisc_vsync(discinfo); TMS9928A_interrupt(); }