summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/vicdual.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/vicdual.cpp')
-rw-r--r--src/mame/video/vicdual.cpp30
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);
+}