summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/drw80pkr.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/drw80pkr.cpp')
-rw-r--r--src/mame/drivers/drw80pkr.cpp43
1 files changed, 19 insertions, 24 deletions
diff --git a/src/mame/drivers/drw80pkr.cpp b/src/mame/drivers/drw80pkr.cpp
index 595a45ec5c9..6396fef640c 100644
--- a/src/mame/drivers/drw80pkr.cpp
+++ b/src/mame/drivers/drw80pkr.cpp
@@ -39,12 +39,13 @@
class drw80pkr_state : public driver_device
{
public:
- drw80pkr_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
+ drw80pkr_state(const machine_config &mconfig, device_type type, const char *tag) :
+ driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_gfxdecode(*this, "gfxdecode"),
m_aysnd(*this, "aysnd"),
- m_mainbank(*this, "mainbank") { }
+ m_mainbank(*this, "mainbank")
+ { }
void init_drw80pkr();
void drw80pkr(machine_config &config);
@@ -85,7 +86,7 @@ private:
DECLARE_READ8_MEMBER(io_r);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
- DECLARE_PALETTE_INIT(drw80pkr);
+ void drw80pkr_palette(palette_device &palette) const;
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void io_map(address_map &map);
@@ -345,29 +346,24 @@ uint32_t drw80pkr_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
-PALETTE_INIT_MEMBER(drw80pkr_state, drw80pkr)
+void drw80pkr_state::drw80pkr_palette(palette_device &palette) const
{
- const uint8_t *color_prom = memregion("proms")->base();
- int j;
-
- for (j = 0; j < palette.entries(); j++)
+ uint8_t const *const color_prom = memregion("proms")->base();
+ for (int j = 0; j < palette.entries(); j++)
{
- int r, g, b, tr, tg, tb, i;
-
- i = (color_prom[j] >> 3) & 0x01;
- //i = color_prom[j];
+ int const i = BIT(color_prom[j], 3);
- /* red component */
- tr = 0xf0 - (0xf0 * ((color_prom[j] >> 0) & 0x01));
- r = tr - (i * (tr / 5));
+ // red component
+ int const tr = 0xf0 - (0xf0 * BIT(color_prom[j], 0));
+ int const r = tr - (i * (tr / 5));
- /* green component */
- tg = 0xf0 - (0xf0 * ((color_prom[j] >> 1) & 0x01));
- g = tg - (i * (tg / 5));
+ // green component
+ int const tg = 0xf0 - (0xf0 * BIT(color_prom[j], 1));
+ int const g = tg - (i * (tg / 5));
- /* blue component */
- tb = 0xf0 - (0xf0 * ((color_prom[j] >> 2) & 0x01));
- b = tb - (i * (tb / 5));
+ // blue component
+ int const tb = 0xf0 - (0xf0 * BIT(color_prom[j], 2));
+ int const b = tb - (i * (tb / 5));
palette.set_pen_color(j, rgb_t(r, g, b));
}
@@ -481,8 +477,7 @@ MACHINE_CONFIG_START(drw80pkr_state::drw80pkr)
MCFG_SCREEN_PALETTE("palette")
MCFG_DEVICE_ADD(m_gfxdecode, GFXDECODE, "palette", gfx_drw80pkr)
- MCFG_PALETTE_ADD("palette", 16*16)
- MCFG_PALETTE_INIT_OWNER(drw80pkr_state, drw80pkr)
+ PALETTE(config, "palette", FUNC(drw80pkr_state::drw80pkr_palette), 16 * 16);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);