diff options
Diffstat (limited to 'src/mame/drivers/bsktball.c')
-rw-r--r-- | src/mame/drivers/bsktball.c | 122 |
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) |