summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/drivers/supracan.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/drivers/supracan.c')
-rw-r--r--src/mess/drivers/supracan.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/mess/drivers/supracan.c b/src/mess/drivers/supracan.c
index 3f33208406c..7025e0cee46 100644
--- a/src/mess/drivers/supracan.c
+++ b/src/mess/drivers/supracan.c
@@ -209,7 +209,7 @@ public:
virtual void machine_start();
virtual void machine_reset();
virtual void video_start();
- virtual void palette_init();
+ DECLARE_PALETTE_INIT(supracan);
UINT32 screen_update_supracan(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(supracan_irq);
INTERRUPT_GEN_MEMBER(supracan_sound_irq);
@@ -565,7 +565,7 @@ void supracan_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
//printf("sprite data %04x %04x %04x %04x\n", supracan_vram[i+0] , supracan_vram[i+1] , supracan_vram[i+2] ,supracan_vram[i+3] );
- gfx->transpen(bitmap,cliprect,tile,palette,sprite_xflip,sprite_yflip,
+ gfx->transpen(m_palette,bitmap,cliprect,tile,palette,sprite_xflip,sprite_yflip,
x,
y,
0);
@@ -612,7 +612,7 @@ void supracan_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
int tile_xflip = sprite_xflip ^ ((data & 0x0800)>>11);
int tile_yflip = sprite_yflip ^ ((data & 0x0400)>>10);
- gfx->transpen(bitmap,cliprect,tile,palette,tile_xflip,tile_yflip,xpos,ypos,0);
+ gfx->transpen(m_palette,bitmap,cliprect,tile,palette,tile_xflip,tile_yflip,xpos,ypos,0);
}
}
}
@@ -1133,7 +1133,7 @@ static ADDRESS_MAP_START( supracan_mem, AS_PROGRAM, 16, supracan_state )
AM_RANGE( 0xe90030, 0xe9003f ) AM_WRITE( supracan_dma_channel1_w )
AM_RANGE( 0xf00000, 0xf001ff ) AM_READWRITE( supracan_video_r, supracan_video_w )
- AM_RANGE( 0xf00200, 0xf003ff ) AM_RAM AM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
+ AM_RANGE( 0xf00200, 0xf003ff ) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE( 0xf40000, 0xf5ffff ) AM_READWRITE(supracan_vram_r, supracan_vram_w)
AM_RANGE( 0xfc0000, 0xfdffff ) AM_MIRROR(0x30000) AM_RAM /* System work ram */
ADDRESS_MAP_END
@@ -1351,7 +1351,7 @@ static INPUT_PORTS_START( supracan )
PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_PLAYER(4) PORT_NAME("P4 Button A")
INPUT_PORTS_END
-void supracan_state::palette_init()
+PALETTE_INIT_MEMBER(supracan_state, supracan)
{
// Used for debugging purposes for now
//#if 0
@@ -1362,7 +1362,7 @@ void supracan_state::palette_init()
r = (i & 0x1f) << 3;
g = ((i >> 5) & 0x1f) << 3;
b = ((i >> 10) & 0x1f) << 3;
- palette_set_color_rgb( machine(), i, r, g, b );
+ palette.set_pen_color( i, r, g, b );
}
//#endif
}
@@ -1922,7 +1922,10 @@ static MACHINE_CONFIG_START( supracan, supracan_state )
MCFG_SCREEN_ADD( "screen", RASTER )
MCFG_SCREEN_RAW_PARAMS(XTAL_10_738635MHz/2, 348, 0, 256, 256, 0, 240 ) /* No idea if this is correct */
MCFG_SCREEN_UPDATE_DRIVER(supracan_state, screen_update_supracan)
- MCFG_PALETTE_LENGTH( 32768 )
+ MCFG_PALETTE_ADD( "palette", 32768 )
+ MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
+ MCFG_PALETTE_INIT_OWNER(supracan_state, supracan)
+
MCFG_GFXDECODE_ADD("gfxdecode", supracan)
MCFG_CARTSLOT_ADD("cart")