summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/bsktball.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/bsktball.c')
-rw-r--r--src/mame/drivers/bsktball.c122
1 files changed, 27 insertions, 95 deletions
diff --git a/src/mame/drivers/bsktball.c b/src/mame/drivers/bsktball.c
index e8b5d3e75ec..6fd011d3006 100644
--- a/src/mame/drivers/bsktball.c
+++ b/src/mame/drivers/bsktball.c
@@ -32,101 +32,34 @@
*
*************************************/
-static UINT16 colortable_source[] =
-{
- /* Playfield */
- 0x01, 0x00, 0x00, 0x00,
- 0x01, 0x03, 0x03, 0x03,
-
- /* Motion */
- 0x01, 0x00, 0x00, 0x00,
- 0x01, 0x00, 0x01, 0x00,
- 0x01, 0x00, 0x02, 0x00,
- 0x01, 0x00, 0x03, 0x00,
-
- 0x01, 0x01, 0x00, 0x00,
- 0x01, 0x01, 0x01, 0x00,
- 0x01, 0x01, 0x02, 0x00,
- 0x01, 0x01, 0x03, 0x00,
-
- 0x01, 0x02, 0x00, 0x00,
- 0x01, 0x02, 0x01, 0x00,
- 0x01, 0x02, 0x02, 0x00,
- 0x01, 0x02, 0x03, 0x00,
-
- 0x01, 0x03, 0x00, 0x00,
- 0x01, 0x03, 0x01, 0x00,
- 0x01, 0x03, 0x02, 0x00,
- 0x01, 0x03, 0x03, 0x00,
-
- 0x01, 0x00, 0x00, 0x01,
- 0x01, 0x00, 0x01, 0x01,
- 0x01, 0x00, 0x02, 0x01,
- 0x01, 0x00, 0x03, 0x01,
-
- 0x01, 0x01, 0x00, 0x01,
- 0x01, 0x01, 0x01, 0x01,
- 0x01, 0x01, 0x02, 0x01,
- 0x01, 0x01, 0x03, 0x01,
-
- 0x01, 0x02, 0x00, 0x01,
- 0x01, 0x02, 0x01, 0x01,
- 0x01, 0x02, 0x02, 0x01,
- 0x01, 0x02, 0x03, 0x01,
-
- 0x01, 0x03, 0x00, 0x01,
- 0x01, 0x03, 0x01, 0x01,
- 0x01, 0x03, 0x02, 0x01,
- 0x01, 0x03, 0x03, 0x01,
-
- 0x01, 0x00, 0x00, 0x02,
- 0x01, 0x00, 0x01, 0x02,
- 0x01, 0x00, 0x02, 0x02,
- 0x01, 0x00, 0x03, 0x02,
-
- 0x01, 0x01, 0x00, 0x02,
- 0x01, 0x01, 0x01, 0x02,
- 0x01, 0x01, 0x02, 0x02,
- 0x01, 0x01, 0x03, 0x02,
-
- 0x01, 0x02, 0x00, 0x02,
- 0x01, 0x02, 0x01, 0x02,
- 0x01, 0x02, 0x02, 0x02,
- 0x01, 0x02, 0x03, 0x02,
-
- 0x01, 0x03, 0x00, 0x02,
- 0x01, 0x03, 0x01, 0x02,
- 0x01, 0x03, 0x02, 0x02,
- 0x01, 0x03, 0x03, 0x02,
-
- 0x01, 0x00, 0x00, 0x03,
- 0x01, 0x00, 0x01, 0x03,
- 0x01, 0x00, 0x02, 0x03,
- 0x01, 0x00, 0x03, 0x03,
-
- 0x01, 0x01, 0x00, 0x03,
- 0x01, 0x01, 0x01, 0x03,
- 0x01, 0x01, 0x02, 0x03,
- 0x01, 0x01, 0x03, 0x03,
-
- 0x01, 0x02, 0x00, 0x03,
- 0x01, 0x02, 0x01, 0x03,
- 0x01, 0x02, 0x02, 0x03,
- 0x01, 0x02, 0x03, 0x03,
-
- 0x01, 0x03, 0x00, 0x03,
- 0x01, 0x03, 0x01, 0x03,
- 0x01, 0x03, 0x02, 0x03,
- 0x01, 0x03, 0x03, 0x03,
-};
-
static PALETTE_INIT( bsktball )
{
- palette_set_color(machine,0,MAKE_RGB(0x00,0x00,0x00)); /* BLACK */
- palette_set_color(machine,1,MAKE_RGB(0x80,0x80,0x80)); /* LIGHT GREY */
- palette_set_color(machine,2,MAKE_RGB(0x50,0x50,0x50)); /* DARK GREY */
- palette_set_color(machine,3,MAKE_RGB(0xff,0xff,0xff)); /* WHITE */
- memcpy(colortable,colortable_source,sizeof(colortable_source));
+ int i;
+
+ machine->colortable = colortable_alloc(machine, 4);
+
+ colortable_palette_set_color(machine->colortable,0,MAKE_RGB(0x00,0x00,0x00)); /* BLACK */
+ colortable_palette_set_color(machine->colortable,1,MAKE_RGB(0x80,0x80,0x80)); /* LIGHT GREY */
+ colortable_palette_set_color(machine->colortable,2,MAKE_RGB(0x50,0x50,0x50)); /* DARK GREY */
+ colortable_palette_set_color(machine->colortable,3,MAKE_RGB(0xff,0xff,0xff)); /* WHITE */
+
+ /* playfield */
+ for (i = 0; i < 2; i++)
+ {
+ colortable_entry_set_value(machine->colortable, i*4 + 0, 1);
+ colortable_entry_set_value(machine->colortable, i*4 + 1, 3 * i);
+ colortable_entry_set_value(machine->colortable, i*4 + 2, 3 * i);
+ colortable_entry_set_value(machine->colortable, i*4 + 3, 3 * i);
+ }
+
+ /* motion */
+ for (i = 0; i < 4*4*4; i++)
+ {
+ colortable_entry_set_value(machine->colortable, 2*4 + i*4 + 0, 1);
+ colortable_entry_set_value(machine->colortable, 2*4 + i*4 + 1, (i >> 2) & 3);
+ colortable_entry_set_value(machine->colortable, 2*4 + i*4 + 2, (i >> 0) & 3);
+ colortable_entry_set_value(machine->colortable, 2*4 + i*4 + 3, (i >> 4) & 3);
+ }
}
@@ -288,8 +221,7 @@ static MACHINE_DRIVER_START( bsktball )
MDRV_SCREEN_SIZE(32*8, 28*8)
MDRV_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 28*8-1)
MDRV_GFXDECODE(bsktball)
- MDRV_PALETTE_LENGTH(4)
- MDRV_COLORTABLE_LENGTH(sizeof(colortable_source) / sizeof(colortable_source[0]))
+ MDRV_PALETTE_LENGTH(2*4 + 4*4*4*4)
MDRV_PALETTE_INIT(bsktball)
MDRV_VIDEO_START(bsktball)