Fixed resolution, offset and shadowing in Rushing Heroes [David Haywood]

This commit is contained in:
Angelo Salese 2009-11-10 17:01:49 +00:00
parent cd9b2b713f
commit 3fbd30fc8d
4 changed files with 39 additions and 16 deletions

View File

@ -1557,12 +1557,22 @@ static MACHINE_DRIVER_START( gxtype4 )
MDRV_SCREEN_MODIFY("screen")
MDRV_SCREEN_SIZE(128*8, 32*8)
// MDRV_SCREEN_VISIBLE_AREA(0, 128*8-1, 0, 32*8-1)
MDRV_SCREEN_VISIBLE_AREA(0, 576-1, 16, 32*8-1-16)
// MDRV_SCREEN_VISIBLE_AREA(0, 576-1, 16, 32*8-1-16)
MDRV_SCREEN_VISIBLE_AREA(0, 384-1, 16, 32*8-1-16)
MDRV_PALETTE_LENGTH(8192)
MDRV_GFXDECODE(type4)
MDRV_VIDEO_START(konamigx_type4)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( gxtype4vsnet )
MDRV_IMPORT_FROM(gxtype4)
MDRV_SCREEN_MODIFY("screen")
MDRV_SCREEN_SIZE(128*8, 32*8)
MDRV_SCREEN_VISIBLE_AREA(0, 576-1, 16, 32*8-1-16)
MACHINE_DRIVER_END
static MACHINE_DRIVER_START( winspike )
MDRV_IMPORT_FROM(konamigx)
@ -3704,11 +3714,11 @@ GAME( 1994, soccerssja,soccerss, gxtype3, type3, konamigx, ROT0, "Konami", "Soc
GAME( 1994, soccerssa,soccerss, gxtype3, type3, konamigx, ROT0, "Konami", "Soccer Superstars (ver AAA)", GAME_IMPERFECT_GRAPHICS )
/* Type 4: dual monitor output and 53936 on the ROM board, external palette RAM, DMA protection */
GAME( 1996, vsnetscr, konamigx, gxtype4, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver EAD)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, vsnetscreb,vsnetscr, gxtype4, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver EAB)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, vsnetscru, vsnetscr, gxtype4, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver UAB)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, vsnetscra, vsnetscr, gxtype4, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver AAA)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, vsnetscrj, vsnetscr, gxtype4, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver JAB)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, vsnetscr, konamigx, gxtype4vsnet, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver EAD)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, vsnetscreb,vsnetscr, gxtype4vsnet, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver EAB)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, vsnetscru, vsnetscr, gxtype4vsnet, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver UAB)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, vsnetscra, vsnetscr, gxtype4vsnet, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver AAA)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, vsnetscrj, vsnetscr, gxtype4vsnet, type3, konamigx, ROT0, "Konami", "Versus Net Soccer (ver JAB)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, rungun2, konamigx, gxtype4, type3, konamigx, ROT0, "Konami", "Run and Gun 2 (ver UAA)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, slamdnk2, rungun2, gxtype4, type3, konamigx, ROT0, "Konami", "Slam Dunk 2 (ver JAA)", GAME_NOT_WORKING|GAME_UNEMULATED_PROTECTION )
GAME( 1996, rushhero, konamigx, gxtype4, type3, konamigx, ROT0, "Konami", "Rushing Heroes (ver UAB)", GAME_UNEMULATED_PROTECTION | GAME_NOT_WORKING )

View File

@ -342,7 +342,7 @@ INLINE void zdrawgfxzoom32GP(
UINT8 *ozbuf_ptr;
UINT8 *szbuf_ptr;
const pen_t *pal_base;
const pen_t *shd_base;
//const pen_t *shd_base;
UINT32 *dst_ptr;
// outter loop
@ -389,7 +389,7 @@ INLINE void zdrawgfxzoom32GP(
src_base = gfx_element_get_data(gfx, code % gfx->total_elements);
pal_base = gfx->machine->pens + gfx->color_base + (color % gfx->total_colors) * granularity;
shd_base = gfx->machine->shadow_table;
//shd_base = gfx->machine->pens;
dst_ptr = (UINT32 *)bitmap->base;
dst_pitch = bitmap->rowpixels;
@ -606,8 +606,8 @@ INLINE void zdrawgfxzoom32GP(
eax = dst_ptr[ecx];
szbuf_ptr[ecx*2] = z8;
szbuf_ptr[ecx*2+1] = p8;
eax = (eax>>9&0x7c00) | (eax>>6&0x03e0) | (eax>>3&0x001f);
dst_ptr[ecx] = shd_base[eax];
//eax = (eax>>9&0x7c00) | (eax>>6&0x03e0) | (eax>>3&0x001f);
dst_ptr[ecx] = alpha_blend_r32( eax, 0x00000000, 128);
}
while (++ecx);
@ -741,8 +741,8 @@ INLINE void zdrawgfxzoom32GP(
eax = dst_ptr[ecx];
szbuf_ptr[ecx*2] = z8;
szbuf_ptr[ecx*2+1] = p8;
eax = (eax>>9&0x7c00) | (eax>>6&0x03e0) | (eax>>3&0x001f);
dst_ptr[ecx] = shd_base[eax];
//eax = (eax>>9&0x7c00) | (eax>>6&0x03e0) | (eax>>3&0x001f);
dst_ptr[ecx] = alpha_blend_r32( eax, 0x00000000, 128);
}
while (++ecx);

View File

@ -296,7 +296,7 @@ VIDEO_START(konamigx_5bpp)
VIDEO_START(winspike)
{
K056832_vh_start(machine, "gfx1", K056832_BPP_8, 0, NULL, konamigx_alpha_tile_callback, 0);
K056832_vh_start(machine, "gfx1", K056832_BPP_8, 0, NULL, konamigx_alpha_tile_callback, 2);
K055673_vh_start(machine, "gfx2", K055673_LAYOUT_LE2, -53, -23, konamigx_type2_sprite_callback);
_gxcommoninitnosprites(machine);
@ -371,7 +371,7 @@ VIDEO_START(konamigx_type3)
VIDEO_START(konamigx_type4)
{
K056832_vh_start(machine, "gfx1", K056832_BPP_8, 0, NULL, konamigx_type2_tile_callback, 0);
K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -132, -24, konamigx_type2_sprite_callback);
K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -78, -24, konamigx_type2_sprite_callback);
_gxcommoninitnosprites(machine);
@ -379,8 +379,15 @@ VIDEO_START(konamigx_type4)
gx_rozenable = 0;
gx_specialrozenable = 3;
K056832_set_LayerOffset(0, -22, 0);
K056832_set_LayerOffset(1, -22, 0);
K056832_set_LayerOffset(2, -22, 0);
K056832_set_LayerOffset(3, -22, 0);
K053936_wraparound_enable(0, 0);
K053936GP_set_offset(0, 0, 0);
K053936GP_set_offset(1, -36, 0);
}
VIDEO_START(konamigx_6bpp_2)

View File

@ -5439,12 +5439,18 @@ static void K056832_UpdatePageLayout(void)
}
}
// winning spike doesn't like layer association..
if (K056832_djmain_hack==2)
K056832_LayerAssociation = 0;
// disable all tilemaps
for (pageIndex=0; pageIndex<K056832_PAGE_COUNT; pageIndex++)
{
K056832_LayerAssociatedWithPage[pageIndex] = -1;
}
// enable associated tilemaps
for (layer=0; layer<4; layer++)
{
@ -5460,7 +5466,7 @@ static void K056832_UpdatePageLayout(void)
for (c=0; c<colspan; c++)
{
pageIndex = (((rowstart + r) & 3) << 2) + ((colstart + c) & 3);
if (!K056832_djmain_hack || K056832_LayerAssociatedWithPage[pageIndex] == -1) //*
if (!(K056832_djmain_hack==1) || K056832_LayerAssociatedWithPage[pageIndex] == -1) //*
K056832_LayerAssociatedWithPage[pageIndex] = setlayer;
}
}