mirror of
https://github.com/holub/mame
synced 2025-07-01 16:19:38 +03:00
dkong.c, docastle.c, galaxian.c, mario.c, zaxxon.c: fix flipscreen after core changes [Alex Jackson]
This commit is contained in:
parent
cffadabc83
commit
4302246219
@ -294,7 +294,7 @@ void n8080_state::delayed_sound_2( int data )
|
|||||||
if (~data & 0x20) m_curr_sound_pins |= 1 << 0xc;
|
if (~data & 0x20) m_curr_sound_pins |= 1 << 0xc;
|
||||||
|
|
||||||
if (m_n8080_hardware == 1)
|
if (m_n8080_hardware == 1)
|
||||||
flip_screen_set_no_update(data & 0x20);
|
flip_screen_set(data & 0x20);
|
||||||
if (m_n8080_hardware == 3)
|
if (m_n8080_hardware == 3)
|
||||||
m_helifire_flash = data & 0x20;
|
m_helifire_flash = data & 0x20;
|
||||||
|
|
||||||
|
@ -239,8 +239,7 @@ WRITE8_MEMBER(rallyx_state::rallyx_latch_w)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x03: /* FLIP */
|
case 0x03: /* FLIP */
|
||||||
flip_screen_set_no_update(bit);
|
flip_screen_set(bit);
|
||||||
machine().tilemap().set_flip_all(bit * (TILEMAP_FLIPX | TILEMAP_FLIPY));
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x04:
|
case 0x04:
|
||||||
@ -281,8 +280,7 @@ WRITE8_MEMBER(rallyx_state::locomotn_latch_w)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x03: /* FLIP */
|
case 0x03: /* FLIP */
|
||||||
flip_screen_set_no_update(bit);
|
flip_screen_set(bit);
|
||||||
machine().tilemap().set_flip_all(bit * (TILEMAP_FLIPX | TILEMAP_FLIPY));
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 0x04: /* OUT1 */
|
case 0x04: /* OUT1 */
|
||||||
|
@ -945,11 +945,9 @@ VIDEO_START_MEMBER(dkong_state,dkong)
|
|||||||
case HARDWARE_TKG04:
|
case HARDWARE_TKG04:
|
||||||
case HARDWARE_TKG02:
|
case HARDWARE_TKG02:
|
||||||
m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dkong_state::dkong_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dkong_state::dkong_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||||
m_bg_tilemap->set_scrolldx(0, 128);
|
|
||||||
break;
|
break;
|
||||||
case HARDWARE_TRS01:
|
case HARDWARE_TRS01:
|
||||||
m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dkong_state::radarscp1_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(dkong_state::radarscp1_bg_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||||
m_bg_tilemap->set_scrolldx(0, 128);
|
|
||||||
|
|
||||||
m_screen->register_screen_bitmap(m_bg_bits);
|
m_screen->register_screen_bitmap(m_bg_bits);
|
||||||
m_gfx4 = memregion("gfx4")->base();
|
m_gfx4 = memregion("gfx4")->base();
|
||||||
@ -965,8 +963,6 @@ VIDEO_START_MEMBER(dkong_state,dkong)
|
|||||||
UINT32 dkong_state::screen_update_dkong(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
UINT32 dkong_state::screen_update_dkong(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||||
{
|
{
|
||||||
machine().tilemap().set_flip_all(m_flip ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
|
machine().tilemap().set_flip_all(m_flip ? TILEMAP_FLIPX | TILEMAP_FLIPY : 0);
|
||||||
m_bg_tilemap->set_scrollx(0, m_flip ? 0 : 0);
|
|
||||||
m_bg_tilemap->set_scrolly(0, m_flip ? -8 : 0);
|
|
||||||
|
|
||||||
switch (m_hardware_type)
|
switch (m_hardware_type)
|
||||||
{
|
{
|
||||||
|
@ -75,15 +75,13 @@ WRITE8_MEMBER(docastle_state::docastle_colorram_w)
|
|||||||
|
|
||||||
READ8_MEMBER(docastle_state::flipscreen_r)
|
READ8_MEMBER(docastle_state::flipscreen_r)
|
||||||
{
|
{
|
||||||
flip_screen_set_no_update(offset);
|
flip_screen_set(offset);
|
||||||
m_do_tilemap->set_flip(offset ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0);
|
|
||||||
return (offset ? 1 : 0); // is this really needed?
|
return (offset ? 1 : 0); // is this really needed?
|
||||||
}
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(docastle_state::flipscreen_w)
|
WRITE8_MEMBER(docastle_state::flipscreen_w)
|
||||||
{
|
{
|
||||||
flip_screen_set_no_update(offset);
|
flip_screen_set(offset);
|
||||||
m_do_tilemap->set_flip(offset ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TILE_GET_INFO_MEMBER(docastle_state::get_tile_info)
|
TILE_GET_INFO_MEMBER(docastle_state::get_tile_info)
|
||||||
@ -97,8 +95,7 @@ TILE_GET_INFO_MEMBER(docastle_state::get_tile_info)
|
|||||||
void docastle_state::video_start_common( UINT32 tile_transmask )
|
void docastle_state::video_start_common( UINT32 tile_transmask )
|
||||||
{
|
{
|
||||||
m_do_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(docastle_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
m_do_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(docastle_state::get_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
|
||||||
m_do_tilemap->set_scrolldx(0, 0x138 - 0x100);
|
m_do_tilemap->set_scrolldy(-32, -32);
|
||||||
m_do_tilemap->set_scrolldy(-32, 0x108 - 0x100 - (-32));
|
|
||||||
m_do_tilemap->set_transmask(0, tile_transmask, 0x0000);
|
m_do_tilemap->set_transmask(0, tile_transmask, 0x0000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -381,16 +381,12 @@ void galaxian_state::video_start()
|
|||||||
/* normal galaxian hardware is row-based and individually scrolling columns */
|
/* normal galaxian hardware is row-based and individually scrolling columns */
|
||||||
m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),this), TILEMAP_SCAN_ROWS, GALAXIAN_XSCALE*8,8, 32,32);
|
m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),this), TILEMAP_SCAN_ROWS, GALAXIAN_XSCALE*8,8, 32,32);
|
||||||
m_bg_tilemap->set_scroll_cols(32);
|
m_bg_tilemap->set_scroll_cols(32);
|
||||||
m_bg_tilemap->set_scrolldx(0, -GALAXIAN_XSCALE * 128);
|
|
||||||
m_bg_tilemap->set_scrolldy(0, 8);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* sfx hardware is column-based and individually scrolling rows */
|
/* sfx hardware is column-based and individually scrolling rows */
|
||||||
m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),this), TILEMAP_SCAN_COLS, GALAXIAN_XSCALE*8,8, 32,32);
|
m_bg_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(galaxian_state::bg_get_tile_info),this), TILEMAP_SCAN_COLS, GALAXIAN_XSCALE*8,8, 32,32);
|
||||||
m_bg_tilemap->set_scroll_rows(32);
|
m_bg_tilemap->set_scroll_rows(32);
|
||||||
m_bg_tilemap->set_scrolldx(0, -GALAXIAN_XSCALE * 128);
|
|
||||||
m_bg_tilemap->set_scrolldy(0, 8);
|
|
||||||
}
|
}
|
||||||
m_bg_tilemap->set_transparent_pen(0);
|
m_bg_tilemap->set_transparent_pen(0);
|
||||||
|
|
||||||
|
@ -206,8 +206,7 @@ UINT32 mario_state::screen_update_mario(screen_device &screen, bitmap_ind16 &bit
|
|||||||
machine().tilemap().mark_all_dirty();
|
machine().tilemap().mark_all_dirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
m_bg_tilemap->set_scrollx(0, m_flip ? (HTOTAL-HBSTART) : 0);
|
m_bg_tilemap->set_scrolly(0, m_gfx_scroll);
|
||||||
m_bg_tilemap->set_scrolly(0, m_gfx_scroll - (m_flip ? 8 : 0));
|
|
||||||
|
|
||||||
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
|
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
|
||||||
draw_sprites(bitmap, cliprect);
|
draw_sprites(bitmap, cliprect);
|
||||||
|
@ -12,7 +12,7 @@ WRITE8_MEMBER(n8080_state::n8080_video_control_w)
|
|||||||
{
|
{
|
||||||
m_sheriff_color_mode = (data >> 3) & 3;
|
m_sheriff_color_mode = (data >> 3) & 3;
|
||||||
m_sheriff_color_data = (data >> 0) & 7;
|
m_sheriff_color_data = (data >> 0) & 7;
|
||||||
flip_screen_set_no_update(data & 0x20);
|
flip_screen_set(data & 0x20);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -85,7 +85,7 @@ VIDEO_START_MEMBER(n8080_state,spacefev)
|
|||||||
{
|
{
|
||||||
m_cannon_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(n8080_state::spacefev_stop_red_cannon),this));
|
m_cannon_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(n8080_state::spacefev_stop_red_cannon),this));
|
||||||
|
|
||||||
flip_screen_set_no_update(0);
|
flip_screen_set(0);
|
||||||
|
|
||||||
save_item(NAME(m_spacefev_red_screen));
|
save_item(NAME(m_spacefev_red_screen));
|
||||||
save_item(NAME(m_spacefev_red_cannon));
|
save_item(NAME(m_spacefev_red_cannon));
|
||||||
@ -94,7 +94,7 @@ VIDEO_START_MEMBER(n8080_state,spacefev)
|
|||||||
|
|
||||||
VIDEO_START_MEMBER(n8080_state,sheriff)
|
VIDEO_START_MEMBER(n8080_state,sheriff)
|
||||||
{
|
{
|
||||||
flip_screen_set_no_update(0);
|
flip_screen_set(0);
|
||||||
|
|
||||||
save_item(NAME(m_sheriff_color_mode));
|
save_item(NAME(m_sheriff_color_mode));
|
||||||
save_item(NAME(m_sheriff_color_data));
|
save_item(NAME(m_sheriff_color_data));
|
||||||
@ -122,7 +122,7 @@ VIDEO_START_MEMBER(n8080_state,helifire)
|
|||||||
m_helifire_LSFR[i] = data;
|
m_helifire_LSFR[i] = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
flip_screen_set_no_update(0);
|
flip_screen_set(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -131,8 +131,6 @@ void zaxxon_state::video_start_common(tilemap_get_info_delegate fg_tile_info)
|
|||||||
|
|
||||||
/* configure the foreground tilemap */
|
/* configure the foreground tilemap */
|
||||||
m_fg_tilemap->set_transparent_pen(0);
|
m_fg_tilemap->set_transparent_pen(0);
|
||||||
m_fg_tilemap->set_scrolldx(0, m_screen->width() - 256);
|
|
||||||
m_fg_tilemap->set_scrolldy(0, m_screen->height() - 256);
|
|
||||||
|
|
||||||
/* register for save states */
|
/* register for save states */
|
||||||
save_item(NAME(m_bg_enable));
|
save_item(NAME(m_bg_enable));
|
||||||
|
Loading…
Reference in New Issue
Block a user