summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/taxidriv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/taxidriv.cpp')
-rw-r--r--src/mame/drivers/taxidriv.cpp39
1 files changed, 18 insertions, 21 deletions
diff --git a/src/mame/drivers/taxidriv.cpp b/src/mame/drivers/taxidriv.cpp
index 616ac9ecbea..e7909ed1e83 100644
--- a/src/mame/drivers/taxidriv.cpp
+++ b/src/mame/drivers/taxidriv.cpp
@@ -309,28 +309,26 @@ static GFXDECODE_START( gfx_taxidriv )
GFXDECODE_ENTRY( "gfx5", 0, charlayout2, 0, 1 )
GFXDECODE_END
-PALETTE_INIT_MEMBER(taxidriv_state, taxidriv)
+void taxidriv_state::taxidriv_palette(palette_device &palette) const
{
- const uint8_t *color_prom = memregion("proms")->base();
- int bit0, bit1, r, g, b;
- int i;
+ uint8_t const *const color_prom = memregion("proms")->base();
- /* TODO: resistors, 1k & 470*/
-
- for (i = 0; i < 0x10; ++i)
+ // TODO: resistors, 1k & 470
+ for (int i = 0; i < 0x10; ++i)
{
- bit0 = (color_prom[0] >> 0) & 0x01;
- bit1 = (color_prom[0] >> 1) & 0x01;
- r = 0x55 * bit0 + 0xaa * bit1;
- bit0 = (color_prom[0] >> 2) & 0x01;
- bit1 = (color_prom[0] >> 3) & 0x01;
- g = 0x55 * bit0 + 0xaa * bit1;
- bit0 = (color_prom[0] >> 4) & 0x01;
- bit1 = (color_prom[0] >> 5) & 0x01;
- b = 0x55 * bit0 + 0xaa * bit1;
+ int bit0, bit1;
+
+ bit0 = BIT(color_prom[i], 0);
+ bit1 = BIT(color_prom[i], 1);
+ int const r = 0x55 * bit0 + 0xaa * bit1;
+ bit0 = BIT(color_prom[i], 2);
+ bit1 = BIT(color_prom[i], 3);
+ int const g = 0x55 * bit0 + 0xaa * bit1;
+ bit0 = BIT(color_prom[i], 4);
+ bit1 = BIT(color_prom[i], 5);
+ int const b = 0x55 * bit0 + 0xaa * bit1;
palette.set_pen_color(i, rgb_t(r, g, b));
- color_prom++;
}
}
@@ -387,11 +385,10 @@ MACHINE_CONFIG_START(taxidriv_state::taxidriv)
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 27*8-1)
MCFG_SCREEN_UPDATE_DRIVER(taxidriv_state, screen_update)
- MCFG_SCREEN_PALETTE("palette")
+ MCFG_SCREEN_PALETTE(m_palette)
- MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_taxidriv)
- MCFG_PALETTE_ADD("palette", 16)
- MCFG_PALETTE_INIT_OWNER(taxidriv_state, taxidriv)
+ GFXDECODE(config, m_gfxdecode, m_palette, gfx_taxidriv);
+ PALETTE(config, m_palette, FUNC(taxidriv_state::taxidriv_palette), 16);
/* sound hardware */
SPEAKER(config, "mono").front_center();