summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/pocketc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/pocketc.cpp')
-rw-r--r--src/mame/video/pocketc.cpp62
1 files changed, 20 insertions, 42 deletions
diff --git a/src/mame/video/pocketc.cpp b/src/mame/video/pocketc.cpp
index 276b525d947..b93c2bda448 100644
--- a/src/mame/video/pocketc.cpp
+++ b/src/mame/video/pocketc.cpp
@@ -3,24 +3,20 @@
#include "emu.h"
#include "includes/pocketc.h"
-/* PC126x
- 24x2 5x7 space between char
- 2000 .. 203b, 2800 .. 283b
- 2040 .. 207b, 2840 .. 287b
- 203d: 0 BUSY, 1 PRINT, 3 JAPAN, 4 SMALL, 5 SHIFT, 6 DEF
- 207c: 1 DEF 1 RAD 2 GRAD 5 ERROR 6 FLAG */
+// TODO: Convert to SVG rendering or internal layout
-static const uint8_t pocketc_palette[] =
+const rgb_t pocketc_state::indirect_palette[] =
{
- 99,107,99,
- 94,111,103,
- 255,255,255,
- 255,255,255,
- 60, 66, 60,
- 0, 0, 0
+ rgb_t( 99, 107, 99),
+ rgb_t( 94, 111, 103),
+ rgb_t(255, 255, 255),
+ rgb_t(255, 255, 255),
+ rgb_t( 60, 66, 60),
+ rgb_t( 0, 0, 0)
};
-const unsigned short pocketc_state::pocketc_colortable[8][2] = {
+const int pocketc_state::colortable[8][2] =
+{
{ 5, 4 },
{ 5, 0 },
{ 5, 2 },
@@ -33,38 +29,20 @@ const unsigned short pocketc_state::pocketc_colortable[8][2] = {
PALETTE_INIT_MEMBER(pocketc_state, pocketc)
{
- uint8_t i=0, r, b, g, color_count = 6;
-
- while (color_count--)
- {
- r = pocketc_palette[i++]; g = pocketc_palette[i++]; b = pocketc_palette[i++];
- palette.set_indirect_color(5 - color_count, rgb_t(r, g, b));
- }
+ for (int i = 0; i < 6; i++)
+ palette.set_indirect_color(i, indirect_palette[i]);
- for( i = 0; i < 8; i++ )
+ for (int i = 0; i < 8; i++)
{
- palette.set_pen_indirect(i*2, pocketc_colortable[i][0]);
- palette.set_pen_indirect(i*2+1, pocketc_colortable[i][1]);
+ palette.set_pen_indirect(i*2, colortable[i][0]);
+ palette.set_pen_indirect(i*2+1, colortable[i][1]);
}
}
-
-/* Draw an indicator (DEG, SHIFT, etc) */
-void pocketc_state::pocketc_draw_special(bitmap_ind16 &bitmap, int x, int y, const POCKETC_FIGURE fig, int color)
+void pocketc_state::pocketc_draw_special(bitmap_ind16 &bitmap, int x, int y, const char* const *fig, int color)
{
- int i,j;
- for (i=0; fig[i]; i++, y++)
- {
- for (j=0; fig[i][j]!=0; j++)
- {
- switch(fig[i][j])
- {
- case '1':
- bitmap.pix16(y, x+j) = color;
- break;
- case 'e':
- return;
- }
- }
- }
+ for (int i = 0; i < 5; i++, y++)
+ for (int j = 0; fig[i][j]; j++)
+ if (fig[i][j] != ' ')
+ bitmap.pix16(y, x + j) = color;
}