From c412f39ec8714be3eff20ece0e109f665607a738 Mon Sep 17 00:00:00 2001 From: angelosa Date: Mon, 28 May 2018 01:35:29 +0200 Subject: [PATCH] tatsumi.cpp: fixed Round Up 5 video priority on map screen after a play [Angelo Salese] --- src/mame/machine/tatsumi.cpp | 5 ++++- src/mame/video/tatsumi.cpp | 12 ++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/mame/machine/tatsumi.cpp b/src/mame/machine/tatsumi.cpp index e044a011c17..b392e52da2c 100644 --- a/src/mame/machine/tatsumi.cpp +++ b/src/mame/machine/tatsumi.cpp @@ -147,7 +147,7 @@ WRITE16_MEMBER(roundup5_state::roundup_v30_z80_w) WRITE16_MEMBER(roundup5_state::roundup5_control_w) -{ +{ COMBINE_DATA(&m_control_word); if (m_control_word & 0x10) @@ -173,6 +173,9 @@ WRITE16_MEMBER(roundup5_state::roundup5_control_w) 0x0040 : Z80 rom (lower half) mapped to 0x10000 0x0060 : Z80 rom (upper half) mapped to 0x10000 + + 0x0080 : enabled when showing map screen after a play + (switches video priority between text layer and sprites) 0x0100 : watchdog. diff --git a/src/mame/video/tatsumi.cpp b/src/mame/video/tatsumi.cpp index 5b20348f382..634083f3f23 100644 --- a/src/mame/video/tatsumi.cpp +++ b/src/mame/video/tatsumi.cpp @@ -1059,8 +1059,16 @@ uint32_t roundup5_state::screen_update_roundup5(screen_device &screen, bitmap_rg draw_sprites(screen.priority(),cliprect,1,(m_sprite_control_ram[0xe0]&0x1000) ? 0x1000 : 0); // Alpha pass only draw_road(bitmap,cliprect,screen.priority()); - draw_sprites(bitmap,cliprect,0,(m_sprite_control_ram[0xe0]&0x1000) ? 0x1000 : 0); // Full pass - m_tx_layer->draw(screen, bitmap, cliprect, 0,0); + if(m_control_word & 0x80) // enabled on map screen after a play + { + m_tx_layer->draw(screen, bitmap, cliprect, 0,0); + draw_sprites(bitmap,cliprect,0,(m_sprite_control_ram[0xe0]&0x1000) ? 0x1000 : 0); // Full pass + } + else + { + draw_sprites(bitmap,cliprect,0,(m_sprite_control_ram[0xe0]&0x1000) ? 0x1000 : 0); // Full pass + m_tx_layer->draw(screen, bitmap, cliprect, 0,0); + } return 0; }