summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/decbac06.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/decbac06.cpp')
-rw-r--r--src/mame/video/decbac06.cpp23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/mame/video/decbac06.cpp b/src/mame/video/decbac06.cpp
index 051d79ed126..f3a6de15792 100644
--- a/src/mame/video/decbac06.cpp
+++ b/src/mame/video/decbac06.cpp
@@ -381,21 +381,26 @@ void deco_bac06_device::deco_bac06_pf_draw_bootleg(bitmap_ind16 &bitmap,const re
WRITE16_MEMBER( deco_bac06_device::pf_control_0_w )
{
- int oldRegister0 = m_pf_control_0[0];
+ int old_register0 = m_pf_control_0[0];
offset &= 3;
COMBINE_DATA(&m_pf_control_0[offset]);
- bool dirtyAll = false;
+ bool dirty_all = false;
if (offset==0)
{
- if ((oldRegister0&2)!=(m_pf_control_0[offset]&2))
+ if ((old_register0&2)!=(m_pf_control_0[offset]&2))
{
- int flip = m_flip_screen;
- set_flip_screen(flip^1);
- set_flip_screen(flip); // Hack to force tilemap.cpp mappings_update() to be called
- dirtyAll = true;
+ // The tilemap has changed from row major to column major or vice versa.
+ // Must force an update of the mapping.
+ m_pf8x8_tilemap[0]->mark_mapping_dirty();
+ m_pf8x8_tilemap[1]->mark_mapping_dirty();
+ m_pf8x8_tilemap[2]->mark_mapping_dirty();
+ m_pf16x16_tilemap[0]->mark_mapping_dirty();
+ m_pf16x16_tilemap[1]->mark_mapping_dirty();
+ m_pf16x16_tilemap[2]->mark_mapping_dirty();
+ dirty_all = true;
}
}
if (offset==2)
@@ -408,12 +413,12 @@ WRITE16_MEMBER( deco_bac06_device::pf_control_0_w )
if (strcmp(machine().system().name,"stadhero"))
printf("tilemap ram bank change to %d\n", newbank&1);
- dirtyAll = true;
+ dirty_all = true;
m_rambank = newbank&1;
}
}
- if (dirtyAll)
+ if (dirty_all)
{
m_pf8x8_tilemap[0]->mark_all_dirty();
m_pf8x8_tilemap[1]->mark_all_dirty();