summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author angelosa <salese_corp_ltd@email.it>2017-08-30 14:26:25 +0200
committer Angelo Salese <lordkale4@gmail.com>2017-08-30 14:28:12 +0200
commit9a3eed81491bfc3e7aaad65f9f443bc7dcec4801 (patch)
tree17cfc66bb0eb1d580c84636e9a866635deb36f1f
parent2ba92b043b6511adeecf039affb8bace37001845 (diff)
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;
-rw-r--r--src/mame/video/k007420.cpp3
-rw-r--r--src/mame/video/rockrage.cpp8
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;
}