summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Zsolt Vasvari <zsoltvas@mamedev.org>2008-03-23 02:41:49 +0000
committer Zsolt Vasvari <zsoltvas@mamedev.org>2008-03-23 02:41:49 +0000
commitdc01a6b148833527f5c16c2d69f881aa992e33a4 (patch)
tree434199bb34737c0ed32540c6247280c00b53637c
parenta1e4799fa7b6440e16d3f10bf137c774c080fa9d (diff)
- Converted crystal.c from RGB32 to INDEXED16
- Added PALETTE_INIT( RRRRR_GGGGGG_BBBBB )
-rw-r--r--src/emu/video/generic.c16
-rw-r--r--src/emu/video/generic.h1
-rw-r--r--src/mame/drivers/crystal.c20
3 files changed, 27 insertions, 10 deletions
diff --git a/src/emu/video/generic.c b/src/emu/video/generic.c
index d2eeb4e49da..ca282b844be 100644
--- a/src/emu/video/generic.c
+++ b/src/emu/video/generic.c
@@ -650,6 +650,22 @@ PALETTE_INIT( BBBBB_GGGGG_RRRRR )
+/*-------------------------------------------------
+ RRRRR_GGGGGG_BBBBB -
+ standard 5-6-5 palette for games using a
+ 16-bit color space
+-------------------------------------------------*/
+
+PALETTE_INIT( RRRRR_GGGGGG_BBBBB )
+{
+ int i;
+
+ for (i = 0; i < 0x10000; i++)
+ palette_set_color(machine, i, MAKE_RGB(pal5bit(i >> 11), pal6bit(i >> 5), pal5bit(i >> 0)));
+}
+
+
+
/***************************************************************************
3-3-2 RGB PALETTE WRITE HANDLERS
***************************************************************************/
diff --git a/src/emu/video/generic.h b/src/emu/video/generic.h
index b2dbae26d63..829ef3ec465 100644
--- a/src/emu/video/generic.h
+++ b/src/emu/video/generic.h
@@ -135,6 +135,7 @@ PALETTE_INIT( black_and_white );
PALETTE_INIT( RRRR_GGGG_BBBB );
PALETTE_INIT( RRRRR_GGGGG_BBBBB );
PALETTE_INIT( BBBBB_GGGGG_RRRRR );
+PALETTE_INIT( RRRRR_GGGGGG_BBBBB );
diff --git a/src/mame/drivers/crystal.c b/src/mame/drivers/crystal.c
index 52198bcda82..931255d23c6 100644
--- a/src/mame/drivers/crystal.c
+++ b/src/mame/drivers/crystal.c
@@ -637,7 +637,7 @@ static VIDEO_UPDATE(crystal)
UINT16 *Front,*Back;
UINT16 *Visible,*DrawDest;
UINT16 *srcline;
- int x,y;
+ int y;
UINT16 head,tail;
if(GetVidReg(0x8e)&1)
@@ -681,11 +681,8 @@ static VIDEO_UPDATE(crystal)
srcline=(UINT16 *) Visible;
for(y=0;y<240;y++)
- for(x=0;x<320;x++)
- {
- UINT16 color= srcline[y*512+x];
- *BITMAP_ADDR32(bitmap, y, x) = MAKE_RGB(pal5bit(color >> 11), pal6bit(color >> 5), pal5bit(color >> 0));
- }
+ memcpy(BITMAP_ADDR16(bitmap, y, 0), &srcline[y*512], 320*2);
+
return 0;
}
@@ -817,7 +814,7 @@ static MACHINE_DRIVER_START( crystal )
MDRV_SCREEN_ADD("main", RASTER)
MDRV_SCREEN_REFRESH_RATE(60)
MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
- MDRV_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
+ MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MDRV_SCREEN_SIZE(320, 240)
MDRV_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
@@ -825,6 +822,9 @@ static MACHINE_DRIVER_START( crystal )
MDRV_VIDEO_UPDATE(crystal)
MDRV_VIDEO_EOF(crystal)
+ MDRV_PALETTE_INIT(RRRRR_GGGGGG_BBBBB)
+ MDRV_PALETTE_LENGTH(65536)
+
MDRV_SPEAKER_STANDARD_STEREO("left", "right")
MDRV_SOUND_ADD(VRENDER0, 0)
@@ -904,6 +904,6 @@ static DRIVER_INIT(evosocc)
Rom[WORD_XOR_LE(0x974ED2/2)]=0x9001; //PUSH R0
}
-GAME( 2001, crysbios, 0, crystal, crystal, 0, ROT0, "Brezzasoft", "Crystal System BIOS", GAME_IS_BIOS_ROOT )
-GAME( 2001, crysking, crysbios, crystal, crystal, crysking, ROT0, "Brezzasoft", "The Crystal of Kings", 0 )
-GAME( 2001, evosocc, crysbios, crystal, crystal, evosocc, ROT0, "Evoga", "Evolution Soccer", 0 )
+GAME( 2001, crysbios, 0, crystal, crystal, 0, ROT0, "Brezzasoft", "Crystal System BIOS", GAME_IS_BIOS_ROOT )
+GAME( 2001, crysking, crysbios, crystal, crystal, crysking, ROT0, "Brezzasoft", "The Crystal of Kings", 0 )
+GAME( 2001, evosocc, crysbios, crystal, crystal, evosocc, ROT0, "Evoga", "Evolution Soccer", 0 )