summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/zaxxon.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/zaxxon.cpp')
-rw-r--r--src/mame/video/zaxxon.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/mame/video/zaxxon.cpp b/src/mame/video/zaxxon.cpp
index c420c27d3f6..a81e60c5c52 100644
--- a/src/mame/video/zaxxon.cpp
+++ b/src/mame/video/zaxxon.cpp
@@ -463,6 +463,24 @@ uint32_t zaxxon_state::screen_update_razmataz(screen_device &screen, bitmap_ind1
return 0;
}
+uint32_t zaxxon_state::screen_update_ixion(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+{
+ draw_background(bitmap, cliprect, false);
+ // On Ixion the fg tilemap is used to blank out erased tiles. The sprites must appear above these
+ // or bullets and explosions get hidden, leaving the game nearly unplayable.
+ //
+ // On Razzmatazz instead the fg tilemap is used to mask off sprites near the edges so must appear
+ // above them.
+ //
+ // The Zaxxon and Congo Bongo schematics don't appear to show anything related to priority control
+ // so this is most likely a hardwired change somewhere on the PCB. There are additional bits set
+ // in the 2nd PROM, which are currently masked out as they're not used for palette.
+
+ m_fg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
+ draw_sprites(bitmap, cliprect, 0x140, 0x180);
+ return 0;
+}
+
uint32_t zaxxon_state::screen_update_congo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{