From 9a3eed81491bfc3e7aaad65f9f443bc7dcec4801 Mon Sep 17 00:00:00 2001 From: angelosa Date: Wed, 30 Aug 2017 14:26:25 +0200 Subject: rockrage.cpp: fixed priorities and text tile banking for Rock N Rage [Angelo Salese] * Fixes stage 1 boss eyes flashing and Shena display inside the bubble at stage 5 boss; --- src/mame/video/k007420.cpp | 3 +++ src/mame/video/rockrage.cpp | 8 +++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/mame/video/k007420.cpp b/src/mame/video/k007420.cpp index 235ee5c222c..ae702212c26 100644 --- a/src/mame/video/k007420.cpp +++ b/src/mame/video/k007420.cpp @@ -5,6 +5,9 @@ Konami 007420 ------ Sprite generator. 8 bytes per sprite with zoom. It uses 0x200 bytes of RAM, and a variable amount of ROM. Nothing is known about its external interface. + +TODO: +- sprite X wraparound? (Rock N Rage sprites disappears on left edge of screen) */ #include "emu.h" diff --git a/src/mame/video/rockrage.cpp b/src/mame/video/rockrage.cpp index 3c66a16a2b4..8b1b26209a1 100644 --- a/src/mame/video/rockrage.cpp +++ b/src/mame/video/rockrage.cpp @@ -27,7 +27,7 @@ PALETTE_INIT_MEMBER(rockrage_state, rockrage) K007342_CALLBACK_MEMBER(rockrage_state::rockrage_tile_callback) { if (layer == 1) - *code |= ((*color & 0x40) << 2) | ((bank & 0x01) << 9); + *code |= ((*color & 0x40) << 2) | ((m_vreg & 0x04) << 7); // doesn't use bank here (Tutankhamen eyes blinking) else *code |= ((*color & 0x40) << 2) | ((bank & 0x03) << 10) | ((m_vreg & 0x04) << 7) | ((m_vreg & 0x08) << 9); *color = layer * 16 + (*color & 0x0f); @@ -70,10 +70,12 @@ uint32_t rockrage_state::screen_update_rockrage(screen_device &screen, bitmap_in { m_k007342->tilemap_update(); + bitmap.fill(rgb_t::black(), cliprect); m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, TILEMAP_DRAW_OPAQUE, 0); - m_k007420->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(1)); - m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, 1 | TILEMAP_DRAW_OPAQUE, 0); + // Tutankhamen eyes go below sprites m_k007342->tilemap_draw(screen, bitmap, cliprect, 1, 0, 0); + m_k007420->sprites_draw(bitmap, cliprect, m_gfxdecode->gfx(1)); + m_k007342->tilemap_draw(screen, bitmap, cliprect, 0, 1, 0); m_k007342->tilemap_draw(screen, bitmap, cliprect, 1, 1, 0); return 0; } -- cgit v1.2.3