diff options
Diffstat (limited to 'src/mame/video/vicdual.cpp')
-rw-r--r-- | src/mame/video/vicdual.cpp | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/src/mame/video/vicdual.cpp b/src/mame/video/vicdual.cpp index 12c8c83d34a..b3c80d2d677 100644 --- a/src/mame/video/vicdual.cpp +++ b/src/mame/video/vicdual.cpp @@ -112,22 +112,8 @@ uint32_t vicdual_state::screen_update_color(screen_device &screen, bitmap_rgb32 fore_pen = pens_from_color_prom[(color_prom[offs] >> 5) & 0x07]; } - if (m_gradient == 0x04) - { - // used by nsub and starrkr (maybe others) - // bit 4 on palette_bank_w seems to enable/disable the starfield/gradient - // how exactly those work is unclear right now - if (x >= 24 && x < 105) - { - // nsub - black to blue gradient - back_pen = rgb_t(0x00, 0x00, (x - 24) * 3); - } - if (x >= 105 && x < 233) - { - // nsub - blue to cyan gradient - back_pen = rgb_t(0x00, 0x80 + (x - 105), 0xff); - } - } + // this does nothing by default, but is used to enable overrides + back_pen = choose_pen(x, y, back_pen); /* plot the current pixel */ pen = (video_data & 0x80) ? fore_pen : back_pen; @@ -164,3 +150,15 @@ uint32_t vicdual_state::screen_update_bw_or_color(screen_device &screen, bitmap_ return 0; } + + +pen_t vicdual_state::choose_pen(uint8_t x, uint8_t y, pen_t back_pen) +{ + return back_pen; +} + + +pen_t nsub_state::choose_pen(uint8_t x, uint8_t y, pen_t back_pen) +{ + return m_s97269pb->choose_pen(x, y, back_pen); +} |