01517: all atarigt.c drivers: Assertion 
01516: all atarigx2.c drivers: Assertion 
01515: all atarig42.c drivers: Assertion 
01514: all cyberbal.c drivers: Assertion
This commit is contained in:
Aaron Giles 2008-03-14 13:41:44 +00:00
parent 725d2646fd
commit 716d0a4f2a
5 changed files with 44 additions and 22 deletions

View File

@ -180,13 +180,15 @@ void atarig42_scanline_update(const device_config *screen, int scanline)
int newbank = word & 0x1f;
if (newscroll != playfield_xscroll)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_set_scrollx(atarigen_playfield_tilemap, 0, newscroll);
playfield_xscroll = newscroll;
}
if (newbank != playfield_color_bank)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_mark_all_tiles_dirty(atarigen_playfield_tilemap);
playfield_color_bank = newbank;
}
@ -199,13 +201,15 @@ void atarig42_scanline_update(const device_config *screen, int scanline)
int newbank = word & 7;
if (newscroll != playfield_yscroll)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_set_scrolly(atarigen_playfield_tilemap, 0, newscroll);
playfield_yscroll = newscroll;
}
if (newbank != playfield_tile_bank)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_mark_all_tiles_dirty(atarigen_playfield_tilemap);
playfield_tile_bank = newbank;
}

View File

@ -244,13 +244,15 @@ void atarigt_scanline_update(const device_config *screen, int scanline)
int newbank = (word >> 16) & 0x1f;
if (newscroll != playfield_xscroll)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_set_scrollx(atarigen_playfield_tilemap, 0, newscroll);
playfield_xscroll = newscroll;
}
if (newbank != playfield_color_bank)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_set_palette_offset(atarigen_playfield_tilemap, (newbank & 0x1f) << 8);
playfield_color_bank = newbank;
}
@ -262,13 +264,15 @@ void atarigt_scanline_update(const device_config *screen, int scanline)
int newbank = word & 15;
if (newscroll != playfield_yscroll)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_set_scrolly(atarigen_playfield_tilemap, 0, newscroll);
playfield_yscroll = newscroll;
}
if (newbank != playfield_tile_bank)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_mark_all_tiles_dirty(atarigen_playfield_tilemap);
playfield_tile_bank = newbank;
}

View File

@ -179,13 +179,15 @@ void atarigx2_scanline_update(const device_config *screen, int scanline)
int newbank = (word >> 16) & 0x1f;
if (newscroll != playfield_xscroll)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_set_scrollx(atarigen_playfield_tilemap, 0, newscroll);
playfield_xscroll = newscroll;
}
if (newbank != playfield_color_bank)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_mark_all_tiles_dirty(atarigen_playfield_tilemap);
playfield_color_bank = newbank;
}
@ -197,13 +199,15 @@ void atarigx2_scanline_update(const device_config *screen, int scanline)
int newbank = word & 15;
if (newscroll != playfield_yscroll)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_set_scrolly(atarigen_playfield_tilemap, 0, newscroll);
playfield_yscroll = newscroll;
}
if (newbank != playfield_tile_bank)
{
video_screen_update_partial(screen, scanline + i - 1);
if (scanline + i > 0)
video_screen_update_partial(screen, scanline + i - 1);
tilemap_mark_all_tiles_dirty(atarigen_playfield_tilemap);
playfield_tile_bank = newbank;
}

View File

@ -143,13 +143,15 @@ void batman_scanline_update(const device_config *screen, int scanline)
switch (data & 15)
{
case 9:
video_screen_update_partial(screen, scanline - 1);
if (scanline > 0)
video_screen_update_partial(screen, scanline - 1);
atarivc_state.mo_xscroll = (data >> 7) & 0x1ff;
atarimo_set_xscroll(0, atarivc_state.mo_xscroll);
break;
case 10:
video_screen_update_partial(screen, scanline - 1);
if (scanline > 0)
video_screen_update_partial(screen, 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);
@ -157,26 +159,30 @@ void batman_scanline_update(const device_config *screen, int scanline)
break;
case 11:
video_screen_update_partial(screen, scanline - 1);
if (scanline > 0)
video_screen_update_partial(screen, 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:
video_screen_update_partial(screen, scanline - 1);
if (scanline > 0)
video_screen_update_partial(screen, scanline - 1);
atarivc_state.mo_yscroll = (data >> 7) & 0x1ff;
atarimo_set_yscroll(0, atarivc_state.mo_yscroll);
break;
case 14:
video_screen_update_partial(screen, scanline - 1);
if (scanline > 0)
video_screen_update_partial(screen, scanline - 1);
atarivc_state.pf1_yscroll = (data >> 7) & 0x1ff;
tilemap_set_scrolly(atarigen_playfield2_tilemap, 0, atarivc_state.pf1_yscroll);
break;
case 15:
video_screen_update_partial(screen, scanline - 1);
if (scanline > 0)
video_screen_update_partial(screen, scanline - 1);
atarivc_state.pf0_yscroll = (data >> 7) & 0x1ff;
tilemap_set_scrolly(atarigen_playfield_tilemap, 0, atarivc_state.pf0_yscroll);
break;

View File

@ -296,7 +296,8 @@ void cyberbal_scanline_update(const device_config *screen, int scanline)
{
if (((base[3] >> 1) & 7) != playfield_palette_bank[i])
{
video_screen_update_partial(update_screen, scanline - 1);
if (scanline > 0)
video_screen_update_partial(update_screen, scanline - 1);
playfield_palette_bank[i] = (base[3] >> 1) & 7;
tilemap_set_palette_offset(i ? atarigen_playfield2_tilemap : atarigen_playfield_tilemap, playfield_palette_bank[i] << 8);
}
@ -306,7 +307,8 @@ void cyberbal_scanline_update(const device_config *screen, int scanline)
int newscroll = 2 * (((base[4] >> 7) + 4) & 0x1ff);
if (newscroll != playfield_xscroll[i])
{
video_screen_update_partial(update_screen, scanline - 1);
if (scanline > 0)
video_screen_update_partial(update_screen, scanline - 1);
tilemap_set_scrollx(i ? atarigen_playfield2_tilemap : atarigen_playfield_tilemap, 0, newscroll);
playfield_xscroll[i] = newscroll;
}
@ -317,7 +319,8 @@ void cyberbal_scanline_update(const device_config *screen, int scanline)
int newscroll = ((base[5] >> 7) - (scanline)) & 0x1ff;
if (newscroll != playfield_yscroll[i])
{
video_screen_update_partial(update_screen, scanline - 1);
if (scanline > 0)
video_screen_update_partial(update_screen, scanline - 1);
tilemap_set_scrolly(i ? atarigen_playfield2_tilemap : atarigen_playfield_tilemap, 0, newscroll);
playfield_yscroll[i] = newscroll;
}
@ -326,7 +329,8 @@ void cyberbal_scanline_update(const device_config *screen, int scanline)
{
if (current_slip[i] != base[7])
{
video_screen_update_partial(update_screen, scanline - 1);
if (scanline > 0)
video_screen_update_partial(update_screen, scanline - 1);
current_slip[i] = base[7];
}
}