mirror of
https://github.com/holub/mame
synced 2025-06-30 07:58:56 +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 (m_n8080_hardware == 1)
|
||||
flip_screen_set_no_update(data & 0x20);
|
||||
flip_screen_set(data & 0x20);
|
||||
if (m_n8080_hardware == 3)
|
||||
m_helifire_flash = data & 0x20;
|
||||
|
||||
|
@ -239,8 +239,7 @@ WRITE8_MEMBER(rallyx_state::rallyx_latch_w)
|
||||
break;
|
||||
|
||||
case 0x03: /* FLIP */
|
||||
flip_screen_set_no_update(bit);
|
||||
machine().tilemap().set_flip_all(bit * (TILEMAP_FLIPX | TILEMAP_FLIPY));
|
||||
flip_screen_set(bit);
|
||||
break;
|
||||
|
||||
case 0x04:
|
||||
@ -281,8 +280,7 @@ WRITE8_MEMBER(rallyx_state::locomotn_latch_w)
|
||||
break;
|
||||
|
||||
case 0x03: /* FLIP */
|
||||
flip_screen_set_no_update(bit);
|
||||
machine().tilemap().set_flip_all(bit * (TILEMAP_FLIPX | TILEMAP_FLIPY));
|
||||
flip_screen_set(bit);
|
||||
break;
|
||||
|
||||
case 0x04: /* OUT1 */
|
||||
|
@ -945,11 +945,9 @@ VIDEO_START_MEMBER(dkong_state,dkong)
|
||||
case HARDWARE_TKG04:
|
||||
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->set_scrolldx(0, 128);
|
||||
break;
|
||||
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->set_scrolldx(0, 128);
|
||||
|
||||
m_screen->register_screen_bitmap(m_bg_bits);
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
|
@ -75,15 +75,13 @@ WRITE8_MEMBER(docastle_state::docastle_colorram_w)
|
||||
|
||||
READ8_MEMBER(docastle_state::flipscreen_r)
|
||||
{
|
||||
flip_screen_set_no_update(offset);
|
||||
m_do_tilemap->set_flip(offset ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0);
|
||||
flip_screen_set(offset);
|
||||
return (offset ? 1 : 0); // is this really needed?
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(docastle_state::flipscreen_w)
|
||||
{
|
||||
flip_screen_set_no_update(offset);
|
||||
m_do_tilemap->set_flip(offset ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0);
|
||||
flip_screen_set(offset);
|
||||
}
|
||||
|
||||
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 )
|
||||
{
|
||||
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, 0x108 - 0x100 - (-32));
|
||||
m_do_tilemap->set_scrolldy(-32, -32);
|
||||
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 */
|
||||
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_scrolldx(0, -GALAXIAN_XSCALE * 128);
|
||||
m_bg_tilemap->set_scrolldy(0, 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
/* 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->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);
|
||||
|
||||
|
@ -206,8 +206,7 @@ UINT32 mario_state::screen_update_mario(screen_device &screen, bitmap_ind16 &bit
|
||||
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_flip ? 8 : 0));
|
||||
m_bg_tilemap->set_scrolly(0, m_gfx_scroll);
|
||||
|
||||
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
|
||||
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_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));
|
||||
|
||||
flip_screen_set_no_update(0);
|
||||
flip_screen_set(0);
|
||||
|
||||
save_item(NAME(m_spacefev_red_screen));
|
||||
save_item(NAME(m_spacefev_red_cannon));
|
||||
@ -94,7 +94,7 @@ VIDEO_START_MEMBER(n8080_state,spacefev)
|
||||
|
||||
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_data));
|
||||
@ -122,7 +122,7 @@ VIDEO_START_MEMBER(n8080_state,helifire)
|
||||
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 */
|
||||
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 */
|
||||
save_item(NAME(m_bg_enable));
|
||||
|
Loading…
Reference in New Issue
Block a user