Beispiel #1
0
static void scanline_update(int scanline)
{
	/* update the video */
	klax_scanline_update(scanline);

	/* generate 32V signals */
	if (scanline % 64 == 0)
		atarigen_scanline_int_gen();
}
Beispiel #2
0
static void scanline_update(int scanline)
{
	/* update the video */
	klax_scanline_update(scanline);

	/* generate 32V signals */
	if (scanline % 64 == 0 && !(readinputport(0) & 0x800))
		atarigen_scanline_int_gen();
}
Beispiel #3
0
static TIMER_CALLBACK( scanline_update )
{
	int scanline = param;

	/* WARNING: the timing of this is not perfectly accurate; it should fire on
       32V (i.e., on scanlines 32, 96, 160, and 224). However, due to the interrupt
       structure, it cannot fire at the same time as VBLANK. I have not solved this
       mystery yet */

	/* INT 1 is on 32V */
	atarigen_scanline_int_gen(cputag_get_cpu(machine, "maincpu"));

	/* advance to the next interrupt */
	scanline += 64;
	if (scanline > 192)
		scanline = 0;

	/* set a timer for it */
	timer_adjust_oneshot(scanline_timer, video_screen_get_time_until_pos(machine->primary_screen, scanline, 0), scanline);
}
Beispiel #4
0
static void irq_gen(int param)
{
	(void)param;
	atarigen_scanline_int_gen();
}
Beispiel #5
0
static TIMER_CALLBACK( irq_on )
{
	/* generate the interrupt */
	atarigen_scanline_int_gen(machine->device("maincpu"));
	atarigen_update_interrupts(machine);
}
Beispiel #6
0
static void scanline_update(const device_config *screen, int scanline)
{
	/* generate 32V signals */
	if ((scanline & 32) == 0 && !(input_port_read(screen->machine, "P1") & 0x800))
		atarigen_scanline_int_gen(cputag_get_cpu(screen->machine, "maincpu"));
}
Beispiel #7
0
static void scanline_update(int scanline)
{
	/* INT 1 is on 32V */
	if (scanline & 32)
		atarigen_scanline_int_gen();
}
Beispiel #8
0
static TIMER_CALLBACK( irq_on )
{
	/* generate the interrupt */
	atarigen_scanline_int_gen(machine, 0);
	atarigen_update_interrupts(machine);
}
Beispiel #9
0
static void scanline_update(screen_device &screen, int scanline)
{
	/* generate 32V signals */
	if ((scanline & 32) == 0)
		atarigen_scanline_int_gen(screen.machine->device("maincpu"));
}
Beispiel #10
0
static TIMER_CALLBACK( irq_gen )
{
	atarigen_scanline_int_gen();
}
Beispiel #11
0
static void scanline_update(running_device *screen, int scanline)
{
	/* generate 32V signals */
	if ((scanline & 32) == 0 && !(input_port_read(screen->machine, "P1") & 0x800))
		atarigen_scanline_int_gen(devtag_get_device(screen->machine, "maincpu"));
}
Beispiel #12
0
static void scanline_update(screen_device &screen, int scanline)
{
	/* generate 32V signals */
	if ((scanline & 32) == 0 && !(screen.machine().root_device().ioport("P1")->read() & 0x800))
		atarigen_scanline_int_gen(screen.machine().device("maincpu"));
}
Beispiel #13
0
static TIMER_CALLBACK( irq_gen )
{
	atarigen_scanline_int_gen(machine.device("maincpu"));
}
Beispiel #14
0
static void scanline_update(screen_device &screen, int scanline)
{
	/* generate 32V signals */
	if ((scanline & 32) == 0 && !(input_port_read(screen.machine, "P1") & 0x800))
		atarigen_scanline_int_gen(screen.machine->device("maincpu"));
}
Beispiel #15
0
static TIMER_CALLBACK( irq_on )
{
	/* generate the interrupt */
	atarigen_scanline_int_gen(cputag_get_cpu(machine, "maincpu"));
	atarigen_update_interrupts(machine);
}