summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/metlfrzr.cpp
diff options
context:
space:
mode:
author angelosa <salese_corp_ltd@email.it>2016-05-24 20:13:40 +0200
committer angelosa <salese_corp_ltd@email.it>2016-05-24 20:13:40 +0200
commit8be2652e41e62c930c9cfa803d56a4e27e4794c9 (patch)
tree3134a304351929fadd81d7898734b0dfd90540eb /src/mame/drivers/metlfrzr.cpp
parente208f1d54082b8ed4a03d13d266b7014dc65b218 (diff)
Fix jerky scrolling
Diffstat (limited to 'src/mame/drivers/metlfrzr.cpp')
-rw-r--r--src/mame/drivers/metlfrzr.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mame/drivers/metlfrzr.cpp b/src/mame/drivers/metlfrzr.cpp
index f1d2b359e27..7f8a52d7326 100644
--- a/src/mame/drivers/metlfrzr.cpp
+++ b/src/mame/drivers/metlfrzr.cpp
@@ -80,14 +80,16 @@ void metlfrzr_state::legacy_bg_draw(bitmap_ind16 &bitmap,const rectangle &clipre
UINT16 x_scroll_value;
x_scroll_value = m_video_regs[0x17] + ((m_video_regs[0x06] & 1) << 8);
x_scroll_base = (x_scroll_value >> 3) * 32;
- x_scroll_shift = (x_scroll_value & 7);
- for (count=0;count<32*32;count++)
+ for (count=0;count<32*33;count++)
{
int tile_base = count;
int y = (count % 32);
if(y > 7 || m_video_regs[0x06] & 3) // TODO: this condition breaks on level 5 halfway thru.
+ {
tile_base+= x_scroll_base;
+ x_scroll_shift = (x_scroll_value & 7);
+ }
else
x_scroll_shift = 0;
tile_base &= vram_mask;