static TIMER_CALLBACK( interrupt_callback ) { int scanline = param; update_plunger(machine); generic_pulse_irq_line(cputag_get_cpu(machine, "maincpu"), 0); scanline = scanline + 32; if (scanline >= 262) scanline = 16; timer_set(machine, video_screen_get_time_until_pos(machine->primary_screen, scanline, 0), NULL, scanline, interrupt_callback); }
static void interrupt_callback(int scanline) { update_plunger(); cpunum_set_input_line(0, 0, PULSE_LINE); scanline = scanline + 32; if (scanline >= 262) { scanline = 16; } timer_set(cpu_getscanlinetime(scanline), scanline, interrupt_callback); }
static TIMER_CALLBACK( interrupt_callback ) { int scanline = param; update_plunger(machine); cpunum_set_input_line(machine, 0, 0, PULSE_LINE); scanline = scanline + 32; if (scanline >= 262) scanline = 16; timer_set(video_screen_get_time_until_pos(machine->primary_screen, scanline, 0), NULL, scanline, interrupt_callback); }
static TIMER_CALLBACK( interrupt_callback ) { int scanline = param; update_plunger(machine); cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE); scanline = scanline + 32; if (scanline >= 263) scanline = 32; timer_set(machine, video_screen_get_time_until_pos(machine->primary_screen, scanline, 0), NULL, scanline, interrupt_callback); }
static TIMER_CALLBACK( interrupt_callback ) { int scanline = param; update_plunger(machine); cputag_set_input_line(machine, "maincpu", 0, ASSERT_LINE); scanline = scanline + 32; if (scanline >= 263) scanline = 32; machine.scheduler().timer_set(machine.primary_screen->time_until_pos(scanline), FUNC(interrupt_callback), scanline); }
static TIMER_CALLBACK( interrupt_callback ) { mgolf_state *state = machine->driver_data<mgolf_state>(); int scanline = param; update_plunger(machine); generic_pulse_irq_line(state->maincpu, 0); scanline = scanline + 32; if (scanline >= 262) scanline = 16; timer_set(machine, machine->primary_screen->time_until_pos(scanline), NULL, scanline, interrupt_callback); }
static TIMER_CALLBACK( interrupt_callback ) { int scanline = param; update_plunger(); cpunum_set_input_line(0, 0, ASSERT_LINE); scanline = scanline + 32; if (scanline >= 263) { scanline = 32; } timer_set(video_screen_get_time_until_pos(0, scanline, 0), NULL, scanline, interrupt_callback); }