summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/cave.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/cave.cpp')
-rw-r--r--src/mame/video/cave.cpp114
1 files changed, 49 insertions, 65 deletions
diff --git a/src/mame/video/cave.cpp b/src/mame/video/cave.cpp
index a0273c9a098..d27f9802db5 100644
--- a/src/mame/video/cave.cpp
+++ b/src/mame/video/cave.cpp
@@ -68,109 +68,95 @@ Note: if MAME_DEBUG is defined, pressing:
***************************************************************************/
-void cave_state::palette_init_cave(palette_device &palette)
+void cave_state::cave_palette(palette_device &palette)
{
for (int chip = 0; chip < 4; chip++)
{
- /* create a 1:1 palette map covering everything */
+ // create a 1:1 palette map covering everything
m_palette_map[chip] = std::make_unique<uint16_t[]>(palette.entries());
- int maxpens = m_paletteram[chip].bytes() / 2;
- if (!maxpens)
- continue;
-
- for (int pen = 0; pen < palette.entries(); pen++)
- m_palette_map[chip][pen] = pen % maxpens;
+ int const maxpens = m_paletteram[chip].bytes() / 2;
+ if (maxpens)
+ {
+ for (int pen = 0; pen < palette.entries(); pen++)
+ m_palette_map[chip][pen] = pen % maxpens;
+ }
}
}
-void cave_state::palette_init_dfeveron(palette_device &palette)
+void cave_state::dfeveron_palette(palette_device &palette)
{
- int color, pen;
-
/* Fill the 0-3fff range, used by sprites ($40 color codes * $100 pens)
Here sprites have 16 pens, but the sprite drawing routine always
multiplies the color code by $100 (for consistency).
That's why we need this function. */
- palette_init_cave(palette);
+ cave_palette(palette);
- for (color = 0; color < 0x40; color++)
- for (pen = 0; pen < 0x10; pen++)
+ for (int color = 0; color < 0x40; color++)
+ for (int pen = 0; pen < 0x10; pen++)
m_palette_map[0][(color << 8) | pen] = (color << 4) | pen;
}
-void cave_state::palette_init_mazinger(palette_device &palette)
+void cave_state::mazinger_palette(palette_device &palette)
{
- int color, pen;
-
- palette_init_cave(palette);
+ cave_palette(palette);
- /* sprites (encrypted) are 4 bit deep */
- for (color = 0; color < 0x40; color++)
- for (pen = 0; pen < 0x100; pen++)
- m_palette_map[0][(color << 8) | pen] = (color << 4) + pen; /* yes, PLUS, not OR */
+ // sprites (encrypted) are 4 bit deep
+ for (int color = 0; color < 0x40; color++)
+ for (int pen = 0; pen < 0x100; pen++)
+ m_palette_map[0][(color << 8) | pen] = (color << 4) + pen; // yes, PLUS, not OR
- /* layer 0 is 6 bit deep, there are 64 color codes but only $400
- colors are actually addressable */
- for (color = 0; color < 0x40; color++)
- for (pen = 0; pen < 0x40; pen++)
+ // layer 0 is 6 bit deep, there are 64 color codes but only $400 colors are actually addressable
+ for (int color = 0; color < 0x40; color++)
+ for (int pen = 0; pen < 0x40; pen++)
m_palette_map[0][0x4400 + ((color << 6) | pen)] = 0x400 | ((color & 0x0f) << 6) | pen;
}
-void cave_state::palette_init_sailormn(palette_device &palette)
+void cave_state::sailormn_palette(palette_device &palette)
{
- int color, pen;
+ cave_palette(palette);
- palette_init_cave(palette);
+ // sprites (encrypted) are 4 bit deep
+ for (int color = 0; color < 0x40; color++)
+ for (int pen = 0; pen < 0x100; pen++)
+ m_palette_map[0][(color << 8) | pen] = (color << 4) + pen; // yes, PLUS, not OR
- /* sprites (encrypted) are 4 bit deep */
- for (color = 0; color < 0x40; color++)
- for (pen = 0; pen < 0x100; pen++)
- m_palette_map[0][(color << 8) | pen] = (color << 4) + pen; /* yes, PLUS, not OR */
-
- /* layer 2 is 6 bit deep, there are 64 color codes but only $400
- colors are actually addressable */
- for (color = 0; color < 0x40; color++)
- for (pen = 0; pen < 0x40; pen++)
+ // layer 2 is 6 bit deep, there are 64 color codes but only $400 colors are actually addressable
+ for (int color = 0; color < 0x40; color++)
+ for (int pen = 0; pen < 0x40; pen++)
m_palette_map[0][0x4c00 + ((color << 6) | pen)] = 0xc00 | ((color & 0x0f) << 6) | pen;
}
-void cave_state::palette_init_pwrinst2(palette_device &palette)
+void cave_state::pwrinst2_palette(palette_device &palette)
{
- int color, pen;
-
- palette_init_cave(palette);
+ cave_palette(palette);
- for (color = 0; color < 0x80; color++)
- for (pen = 0; pen < 0x10; pen++)
+ for (int color = 0; color < 0x80; color++)
+ for (int pen = 0; pen < 0x10; pen++)
m_palette_map[0][(color << 8) | pen] = (color << 4) | pen;
- for (pen = 0x8000; pen < 0xa800; pen++)
- m_palette_map[0][pen] = pen - 0x8000;
+ for (int pen = 0x8000; pen < 0xa800; pen++)
+ m_palette_map[0][pen] = pen - 0x8000;
}
-void cave_state::palette_init_korokoro(palette_device &palette)
+void cave_state::korokoro_palette(palette_device &palette)
{
- int color, pen;
-
- palette_init_cave(palette);
+ cave_palette(palette);
- for (color = 0; color < 0x40; color++)
- for (pen = 0; pen < 0x10; pen++)
+ for (int color = 0; color < 0x40; color++)
+ for (int pen = 0; pen < 0x10; pen++)
m_palette_map[0][(color << 8) | pen] = 0x3c00 | (color << 4) | pen;
}
void cave_state::set_pens(int chip)
{
- int pen;
-
- for (pen = 0; pen < m_palette->entries(); pen++)
+ for (int pen = 0; pen < m_palette->entries(); pen++)
{
- uint16_t data = m_paletteram[chip][m_palette_map[chip][pen]];
+ uint16_t const data = m_paletteram[chip][m_palette_map[chip][pen]];
- rgb_t color = rgb_t(pal5bit(data >> 5), pal5bit(data >> 10), pal5bit(data >> 0));
+ rgb_t const color(pal5bit(data >> 5), pal5bit(data >> 10), pal5bit(data >> 0));
m_palette->set_pen_color(pen, color);
}
@@ -1579,22 +1565,20 @@ void cave_state::device_post_load()
// Poka Poka Satan: 3 screens * (1 Sprite chip + 1 Tilemap chip)
-void cave_state::palette_init_ppsatan(palette_device &palette)
+void cave_state::ppsatan_palette(palette_device &palette)
{
- int color, pen;
-
- palette_init_cave(palette);
+ cave_palette(palette);
for (int chip = 0; chip < 3; chip++)
{
// Sprites: 0x987800 - 0x988fff
- for (color = 0; color < 0x40; color++)
- for (pen = 0; pen < 0x10; pen++)
+ for (int color = 0; color < 0x40; color++)
+ for (int pen = 0; pen < 0x10; pen++)
m_palette_map[chip][(color << 8) | pen] = 0x7800/2 + ((color << 4) | pen);
// Tiles: 0x980000 - 0x9803ff
- for (color = 0; color < 0x40; color++)
- for (pen = 0; pen < 0x10; pen++)
+ for (int color = 0; color < 0x40; color++)
+ for (int pen = 0; pen < 0x10; pen++)
m_palette_map[chip][0x4000 + ((color << 4) | pen)] = ((color << 4) | pen);
}
}