summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/namcona1.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/namcona1.cpp')
-rw-r--r--src/mame/video/namcona1.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/mame/video/namcona1.cpp b/src/mame/video/namcona1.cpp
index b2d8caf4fce..aeea68fc663 100644
--- a/src/mame/video/namcona1.cpp
+++ b/src/mame/video/namcona1.cpp
@@ -476,7 +476,7 @@ void namcona1_state::draw_background(screen_device &screen, bitmap_ind16 &bitmap
const uint16_t *scroll = &m_scroll[which * 0x400/2];
rectangle clip = cliprect;
int xadjust = 0x3a - which*2;
- int scrollx = 0;
+ int scrollx = xadjust;
int scrolly = 0;
for( int line = 0; line < 256; line++ )
@@ -489,7 +489,10 @@ void namcona1_state::draw_background(screen_device &screen, bitmap_ind16 &bitmap
if( xdata )
{
/* screenwise linescroll */
- scrollx = xadjust+xdata;
+ if(xdata & 0x4000) // resets current xscroll value (knuckle head)
+ scrollx = xadjust+xdata;
+ else
+ scrollx += xdata & 0x1ff;
}
if( ydata&0x4000 )
@@ -560,9 +563,11 @@ uint32_t namcona1_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
screen.priority().fill(0, cliprect );
- bitmap.fill(0xff, cliprect ); /* background color? */
-
- if( m_vreg[0x8e/2] && screen_enabled(display_rect) == true)
+ // guess for X-Day 2 (flames in attract), seems wrong for Emeraldia but unsure
+// bitmap.fill(0xff, cliprect ); /* background color? */
+ bitmap.fill((m_vreg[0xba/2] & 0xf) * 256, cliprect );
+
+ if( m_vreg[0x8e/2] && screen_enabled(display_rect) == true )
{
/* gfx enabled */
if( m_palette_is_dirty )