diff options
Diffstat (limited to 'src/mame/drivers/spartanxtec.cpp')
-rw-r--r-- | src/mame/drivers/spartanxtec.cpp | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/src/mame/drivers/spartanxtec.cpp b/src/mame/drivers/spartanxtec.cpp index b6656318b0a..ba840dfc246 100644 --- a/src/mame/drivers/spartanxtec.cpp +++ b/src/mame/drivers/spartanxtec.cpp @@ -54,7 +54,7 @@ private: virtual void video_start() override; void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect); uint32_t screen_update_spartanxtec(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - DECLARE_PALETTE_INIT(spartanxtec); + void spartanxtec_palette(palette_device &palette) const; DECLARE_WRITE8_MEMBER(kungfum_tileram_w); TILE_GET_INFO_MEMBER(get_kungfum_bg_tile_info); @@ -343,19 +343,17 @@ void spartanxtec_state::machine_reset() { } -PALETTE_INIT_MEMBER(spartanxtec_state, spartanxtec) +void spartanxtec_state::spartanxtec_palette(palette_device &palette) const { - // todo, proper weights for this bootleg PCB - const uint8_t *color_prom = memregion("cprom")->base(); + // TODO proper weights for this bootleg PCB + uint8_t const *const color_prom = memregion("cprom")->base(); for (int i = 0; i < 0x200; i++) { - int r, g, b; + int const b = pal4bit(color_prom[i + 0x000] & 0x0f); + int const g = pal4bit(color_prom[i + 0x200] & 0x0f); + int const r = pal4bit(color_prom[i + 0x400] & 0x0f); - b = (color_prom[i+0x000]&0x0f)<<4; - g = (color_prom[i+0x200]&0x0f)<<4; - r = (color_prom[i+0x400]&0x0f)<<4; - - palette.set_pen_color(i, rgb_t(r,g,b)); + palette.set_pen_color(i, rgb_t(r, g, b)); } } @@ -382,12 +380,11 @@ MACHINE_CONFIG_START(spartanxtec_state::spartanxtec) MCFG_SCREEN_SIZE(64*8, 32*8) MCFG_SCREEN_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1-16) MCFG_SCREEN_UPDATE_DRIVER(spartanxtec_state, screen_update_spartanxtec) - MCFG_SCREEN_PALETTE("palette") + MCFG_SCREEN_PALETTE(m_palette) - MCFG_PALETTE_ADD("palette", 0x200) - MCFG_PALETTE_INIT_OWNER(spartanxtec_state,spartanxtec) + PALETTE(config, m_palette, FUNC(spartanxtec_state::spartanxtec_palette), 0x200); - MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_news) + MCFG_DEVICE_ADD(m_gfxdecode, GFXDECODE, m_palette, gfx_news) /* sound hardware */ SPEAKER(config, "mono").front_center(); |