Exemplo n.º 1
0
static void capbowl_update(int scan)
{
	force_partial_update(scan - 1);
	scan += 32;
	if (scan > 240) scan = 32;
	timer_set(cpu_getscanlinetime(scan), scan, capbowl_update);
}
Exemplo n.º 2
0
void system18_set_grayscale(int enable)
{
	enable = (enable != 0);
	if (enable != grayscale_enable)
	{
		force_partial_update(cpu_getscanline());
		grayscale_enable = enable;
/*      printf("Grayscale = %02X\n", enable); */
	}
}
Exemplo n.º 3
0
void qix_scanline_callback(int scanline)
{
	/* force a partial update */
	force_partial_update(scanline - 1);

	/* set a timer for the next increment */
	scanline += SCANLINE_INCREMENT;
	if (scanline > 256)
		scanline = SCANLINE_INCREMENT;
	timer_set(cpu_getscanlinetime(scanline), scanline, qix_scanline_callback);
}
Exemplo n.º 4
0
void system18_set_vdp_mixing(int mixing)
{
	if (mixing != vdp_mixing)
	{
		force_partial_update(cpu_getscanline());
		vdp_mixing = mixing;
#if DEBUG_VDP
		printf("VDP mixing = %02X\n", mixing);
#endif
	}
}
Exemplo n.º 5
0
void system18_set_vdp_enable(int enable)
{
	enable = (enable != 0);
	if (enable != vdp_enable)
	{
		force_partial_update(cpu_getscanline());
		vdp_enable = enable;
#if DEBUG_VDP
		printf("VDP enable = %02X\n", enable);
#endif
	}
}
Exemplo n.º 6
0
static void interrupt_common(void)
{
	int i,next;

	force_partial_update(CurrentScan);

	next = (CurrentScan + 1) % MAX_INT_PER_FRAME;
	for (i = 0;i < 8;i++)
		colors[next][i] = colors[CurrentScan][i];
	for (i = 0;i < 4;i++)
		sparkle[next][i] = sparkle[CurrentScan][i];
	colorsplit[next] = colorsplit[CurrentScan];

	CurrentScan = next;
}
Exemplo n.º 7
0
void batman_scanline_update(int scanline)
{
	/* update the scanline parameters */
	if (scanline <= Machine->visible_area.max_y && atarivc_state.rowscroll_enable)
	{
		data16_t *base = &atarigen_alpha[scanline / 8 * 64 + 48];
		int scan, i;

		for (scan = 0; scan < 8; scan++, scanline++)
			for (i = 0; i < 2; i++)
			{
				int data = *base++;
				switch (data & 15)
				{
					case 9:
						force_partial_update(scanline - 1);
						atarivc_state.mo_xscroll = (data >> 7) & 0x1ff;
						atarimo_set_xscroll(0, atarivc_state.mo_xscroll);
						break;

					case 10:
						force_partial_update(scanline - 1);
						atarivc_state.pf1_xscroll_raw = (data >> 7) & 0x1ff;
						atarivc_update_pf_xscrolls();
						tilemap_set_scrollx(atarigen_playfield_tilemap, 0, atarivc_state.pf0_xscroll);
						tilemap_set_scrollx(atarigen_playfield2_tilemap, 0, atarivc_state.pf1_xscroll);
						break;

					case 11:
						force_partial_update(scanline - 1);
						atarivc_state.pf0_xscroll_raw = (data >> 7) & 0x1ff;
						atarivc_update_pf_xscrolls();
						tilemap_set_scrollx(atarigen_playfield_tilemap, 0, atarivc_state.pf0_xscroll);
						break;

					case 13:
						force_partial_update(scanline - 1);
						atarivc_state.mo_yscroll = (data >> 7) & 0x1ff;
						atarimo_set_yscroll(0, atarivc_state.mo_yscroll);
						break;

					case 14:
						force_partial_update(scanline - 1);
						atarivc_state.pf1_yscroll = (data >> 7) & 0x1ff;
						tilemap_set_scrolly(atarigen_playfield2_tilemap, 0, atarivc_state.pf1_yscroll);
						break;

					case 15:
						force_partial_update(scanline - 1);
						atarivc_state.pf0_yscroll = (data >> 7) & 0x1ff;
						tilemap_set_scrolly(atarigen_playfield_tilemap, 0, atarivc_state.pf0_yscroll);
						break;
				}
			}
	}
Exemplo n.º 8
0
static INTERRUPT_GEN(namcofl_interrupt)
{
    int currentscanline=224-cpu_getiloops();
    int v=(paletteram32[0x1808/4]>>16)&0xffff;
    int triggerscanline=(((v>>8)&0xff)|((v&0xff)<<8))-(32+1);

    if (triggerscanline==currentscanline)
    {
        force_partial_update(currentscanline);
        cpunum_set_input_line(0, I960_IRQ1, ASSERT_LINE);
    }


    switch (cpu_getiloops())
    {
    case 0:
        cpunum_set_input_line(0, I960_IRQ2, ASSERT_LINE); /*VSYNC */
        break;
    case 2:
        cpunum_set_input_line(0, I960_IRQ0, ASSERT_LINE); /*Network */
        break;
    }
}
Exemplo n.º 9
0
void draw_screen(void)
{
	/* finish updating the screen */
	force_partial_update(Machine->visible_area.max_y);
}
Exemplo n.º 10
0
/* set the display enable bit */
void segac2_enable_display(int enable)
{
	if (!cpu_getvblank())
		force_partial_update(cpu_getscanline() + scanbase);
	display_enable = enable;
}
Exemplo n.º 11
0
void namcos2_68k_slave_posirq( int scanline )
{
	force_partial_update(scanline);
	cpunum_set_input_line(CPU_SLAVE , namcos2_68k_slave_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE);
}
Exemplo n.º 12
0
void namcos2_68k_master_posirq( int scanline )
{
	force_partial_update(scanline);
	cpunum_set_input_line(CPU_MASTER , namcos2_68k_master_C148[NAMCOS2_C148_POSIRQ] , ASSERT_LINE);
}