Sky Army: cleaned up the driver, also removed the GAME_WRONG_COLORS flag since the colors actually seems correct according to the references. [Angelo Salese]

This commit is contained in:
Angelo Salese 2009-12-16 16:59:45 +00:00
parent 449143fec6
commit 2ba1316646

View File

@ -32,16 +32,7 @@ static tilemap* skyarmy_tilemap;
static TILE_GET_INFO( get_skyarmy_tile_info )
{
int code = skyarmy_videoram[tile_index];
int attr = skyarmy_colorram[tile_index];
/* bit 0 <-> bit 2 ????? */
switch(attr)
{
case 1: attr=4; break;
case 3: attr=6; break;
case 4: attr=1; break;
case 6: attr=3; break;
}
int attr = BITSWAP8(skyarmy_colorram[tile_index], 7, 6, 5, 4, 3, 0, 1, 2) & 7;
SET_TILE_INFO( 0, code, attr, 0);
}
@ -98,33 +89,28 @@ static VIDEO_UPDATE( skyarmy )
UINT8 *spriteram = screen->machine->generic.spriteram.u8;
int sx, sy, flipx, flipy, offs,pal;
int i;
for(i=0;i<0x20;i++)tilemap_set_scrolly( skyarmy_tilemap,i,skyarmy_scrollram[i]);
for(i=0;i<0x20;i++)
tilemap_set_scrolly( skyarmy_tilemap,i,skyarmy_scrollram[i]);
tilemap_draw(bitmap,cliprect,skyarmy_tilemap,0,0);
for (offs = 0 ; offs < 0x40; offs+=4)
{
pal = BITSWAP8(spriteram[offs+2], 7, 6, 5, 4, 3, 0, 1, 2) & 7;
pal=spriteram[offs+2]&0x7;
switch(pal)
{
case 1: pal=4; break;
case 2: pal=2; break;
case 3: pal=6; break;
case 4: pal=1; break;
case 6: pal=3; break;
}
sx = spriteram[offs+3];
sy = 242-spriteram[offs];
flipy = (spriteram[offs+1]&0x80)>>7;
flipx = (spriteram[offs+1]&0x40)>>6;
drawgfx_transpen(bitmap,cliprect,screen->machine->gfx[1],
spriteram[offs+1]&0x3f,
pal,
flipx,flipy,
sx,sy,0);
}
return 0;
}
@ -132,7 +118,7 @@ static int skyarmy_nmi=0;
static INTERRUPT_GEN( skyarmy_nmi_source )
{
if(skyarmy_nmi) cpu_set_input_line(device,INPUT_LINE_NMI, PULSE_LINE) ;
if(skyarmy_nmi) cpu_set_input_line(device,INPUT_LINE_NMI, PULSE_LINE);
}
@ -231,8 +217,8 @@ static const gfx_layout spritelayout =
};
static GFXDECODE_START( skyarmy )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 32 )
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0, 32 )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 8 )
GFXDECODE_ENTRY( "gfx2", 0, spritelayout, 0, 8 )
GFXDECODE_END
static MACHINE_DRIVER_START( skyarmy )
@ -283,5 +269,5 @@ ROM_START( skyarmy )
ROM_LOAD( "a6.bin", 0x0000, 0x0020, CRC(c721220b) SHA1(61b3320fb616c0600d56840cb6438616c7e0c6eb) )
ROM_END
GAME( 1982, skyarmy, 0, skyarmy, skyarmy, 0, ROT90, "Shoei", "Sky Army", GAME_WRONG_COLORS )
GAME( 1982, skyarmy, 0, skyarmy, skyarmy, 0, ROT90, "Shoei", "Sky Army", 0 )