summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/leland.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/leland.cpp')
-rw-r--r--src/mame/video/leland.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/mame/video/leland.cpp b/src/mame/video/leland.cpp
index 3b7e90d57cd..dd0bca45bc0 100644
--- a/src/mame/video/leland.cpp
+++ b/src/mame/video/leland.cpp
@@ -445,8 +445,9 @@ READ8_MEMBER(ataxx_state::ataxx_svram_port_r)
uint32_t leland_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- bitmap_ind16 const &src = m_tilemap->pixmap();
- int const height_mask = m_tilemap->height() - 1;
+ m_tilemap->set_scrollx(0, m_xscroll);
+ m_tilemap->set_scrolly(0, m_yscroll);
+ m_tilemap->draw(screen, bitmap, cliprect, 0);
/* for each scanline in the visible region */
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
@@ -457,12 +458,8 @@ uint32_t leland_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
/* for each pixel on the scanline */
for (int x = cliprect.min_x; x <= cliprect.max_x; x++)
{
- /* compute the effective scrolled pixel coordinates */
- uint16_t const sx = (x + m_xscroll) & 0x07ff;
- uint16_t const sy = (y + m_yscroll) & height_mask;
-
/* build the pen, background is d0-d5 */
- pen_t pen = src.pix16(sy, sx) & 0x3f;
+ pen_t pen = dst[x] & 0x3f;
/* foreground is d6-d9 */
if (x & 0x01)