diff options
Diffstat (limited to 'src/mame/video/zaxxon.cpp')
-rw-r--r-- | src/mame/video/zaxxon.cpp | 18 |
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) { |