summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--src/mame/drivers/dai3wksi.c29
1 files changed, 7 insertions, 22 deletions
diff --git a/src/mame/drivers/dai3wksi.c b/src/mame/drivers/dai3wksi.c
index 64c3a069c2c..9ef942150e4 100644
--- a/src/mame/drivers/dai3wksi.c
+++ b/src/mame/drivers/dai3wksi.c
@@ -58,6 +58,7 @@ public:
m_ic79(*this, "ic79"),
m_ic80(*this, "ic80"),
m_ic81(*this, "ic81"),
+ m_palette(*this, "palette"),
m_dai3wksi_videoram(*this, "videoram"),
m_in2(*this, "IN2") { }
@@ -69,6 +70,7 @@ public:
optional_device<sn76477_device> m_ic79;
optional_device<sn76477_device> m_ic80;
optional_device<sn76477_device> m_ic81;
+ required_device<palette_device> m_palette;
/* video */
required_shared_ptr<UINT8> m_dai3wksi_videoram;
@@ -140,29 +142,10 @@ static const UINT8 vr_prom2[64*8*2]={
3, 3,3,2,2,6,6,6,6, 6,6,6,6,6,6,6,6, 3,3,3,3,3,3,3,3, 7,7,7,7,7,7,7,7, 3,3,3,3,3,3,3,3, 2,2,2,2,2,2,2,2, 6,6,6,6,6,6,6,6, 4,4,4,4,4,4,4,
};
-
-static void dai3wksi_get_pens(pen_t *pens)
-{
- offs_t i;
-
- for (i = 0; i <= 7; i++)
- {
- pens[i] = rgb_t(pal1bit(i >> 1), pal1bit(i >> 2), pal1bit(i >> 0));
- }
-}
-
-
UINT32 dai3wksi_state::screen_update_dai3wksi(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
- offs_t offs;
- pen_t pens[8];
-
- dai3wksi_get_pens(pens);
-
- for (offs = 0; offs < m_dai3wksi_videoram.bytes(); offs++)
+ for (offs_t offs = 0; offs < m_dai3wksi_videoram.bytes(); offs++)
{
- offs_t i;
-
UINT8 x = offs << 2;
UINT8 y = offs >> 6;
UINT8 data = m_dai3wksi_videoram[offs];
@@ -181,9 +164,9 @@ UINT32 dai3wksi_state::screen_update_dai3wksi(screen_device &screen, bitmap_rgb3
color = vr_prom1[value];
}
- for (i = 0; i <= 3; i++)
+ for (int i = 0; i <= 3; i++)
{
- pen_t pen = (data & (1 << i)) ? pens[color] : pens[0];
+ rgb_t pen = (data & (1 << i)) ? m_palette->pen_color(color) : rgb_t::black;
if (m_dai3wksi_flipscreen)
bitmap.pix32(255-y, 255-x) = pen;
@@ -428,6 +411,8 @@ static MACHINE_CONFIG_START( dai3wksi, dai3wksi_state )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_UPDATE_DRIVER(dai3wksi_state, screen_update_dai3wksi)
+ MCFG_PALETTE_ADD_3BIT_BRG("palette")
+
MCFG_SPEAKER_STANDARD_MONO("mono")
#if (USE_SAMPLES)