diff options
Diffstat (limited to 'src/mame/video/1942.cpp')
-rw-r--r-- | src/mame/video/1942.cpp | 68 |
1 files changed, 30 insertions, 38 deletions
diff --git a/src/mame/video/1942.cpp b/src/mame/video/1942.cpp index f7038baff93..31dfa891649 100644 --- a/src/mame/video/1942.cpp +++ b/src/mame/video/1942.cpp @@ -26,84 +26,76 @@ ***************************************************************************/ -void _1942_state::create_palette() +void _1942_state::create_palette(palette_device &palette) const { const uint8_t *color_prom = memregion("proms")->base(); - int i; - for (i = 0; i < 256; i++) + for (int i = 0; i < 256; i++) { - int bit0, bit1, bit2, bit3, r, g, b; + int bit0, bit1, bit2, bit3; - /* red component */ + // red component bit0 = (color_prom[i + 0 * 256] >> 0) & 0x01; bit1 = (color_prom[i + 0 * 256] >> 1) & 0x01; bit2 = (color_prom[i + 0 * 256] >> 2) & 0x01; bit3 = (color_prom[i + 0 * 256] >> 3) & 0x01; - r = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3; - /* green component */ + int const r = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3; + // green component bit0 = (color_prom[i + 1 * 256] >> 0) & 0x01; bit1 = (color_prom[i + 1 * 256] >> 1) & 0x01; bit2 = (color_prom[i + 1 * 256] >> 2) & 0x01; bit3 = (color_prom[i + 1 * 256] >> 3) & 0x01; - g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3; - /* blue component */ + int const g = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3; + // blue component bit0 = (color_prom[i + 2 * 256] >> 0) & 0x01; bit1 = (color_prom[i + 2 * 256] >> 1) & 0x01; bit2 = (color_prom[i + 2 * 256] >> 2) & 0x01; bit3 = (color_prom[i + 2 * 256] >> 3) & 0x01; - b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3; + int const b = 0x0e * bit0 + 0x1f * bit1 + 0x43 * bit2 + 0x8f * bit3; - m_palette->set_indirect_color(i,rgb_t(r,g,b)); + palette.set_indirect_color(i, rgb_t(r, g, b)); } } -PALETTE_INIT_MEMBER(_1942_state,1942) +void _1942_state::_1942_palette(palette_device &palette) const { - create_palette(); + create_palette(palette); const uint8_t *color_prom = memregion("proms")->base(); - int i, colorbase; color_prom += 3 * 256; - /* color_prom now points to the beginning of the lookup table */ + // color_prom now points to the beginning of the lookup table /* characters use palette entries 128-143 */ - colorbase = 0; - for (i = 0; i < 64 * 4; i++) - { - m_palette->set_pen_indirect(colorbase + i, 0x80 | *color_prom++); - } - colorbase += 64 * 4; + int colorbase = 0; + for (int i = 0; i < 64 * 4; i++) + palette.set_pen_indirect(colorbase + i, 0x80 | *color_prom++); - /* background tiles use palette entries 0-63 in four banks */ - for (i = 0; i < 32 * 8; i++) + // background tiles use palette entries 0-63 in four banks + colorbase += 64 * 4; + for (int i = 0; i < 32 * 8; i++) { - m_palette->set_pen_indirect(colorbase + 0 * 32 * 8 + i, 0x00 | *color_prom); - m_palette->set_pen_indirect(colorbase + 1 * 32 * 8 + i, 0x10 | *color_prom); - m_palette->set_pen_indirect(colorbase + 2 * 32 * 8 + i, 0x20 | *color_prom); - m_palette->set_pen_indirect(colorbase + 3 * 32 * 8 + i, 0x30 | *color_prom); + palette.set_pen_indirect(colorbase + 0 * 32 * 8 + i, 0x00 | *color_prom); + palette.set_pen_indirect(colorbase + 1 * 32 * 8 + i, 0x10 | *color_prom); + palette.set_pen_indirect(colorbase + 2 * 32 * 8 + i, 0x20 | *color_prom); + palette.set_pen_indirect(colorbase + 3 * 32 * 8 + i, 0x30 | *color_prom); color_prom++; } - colorbase += 4 * 32 * 8; - /* sprites use palette entries 64-79 */ - for (i = 0; i < 16 * 16; i++) - m_palette->set_pen_indirect(colorbase + i, 0x40 | *color_prom++); + // sprites use palette entries 64-79 + colorbase += 4 * 32 * 8; + for (int i = 0; i < 16 * 16; i++) + palette.set_pen_indirect(colorbase + i, 0x40 | *color_prom++); } -PALETTE_INIT_MEMBER(_1942p_state,1942p) +void _1942p_state::_1942p_palette(palette_device &palette) const { for (int i = 0; i < 0x400; i++) - { palette.set_pen_indirect(i, i); - } - const uint8_t *color_prom = memregion("proms")->base(); + uint8_t const *const color_prom = memregion("proms")->base(); for (int i = 0; i < 0x100; i++) - { - palette.set_pen_indirect(i+0x400, color_prom[i]| 0x240); - } + palette.set_pen_indirect(i + 0x400, color_prom[i] | 0x240); } |