From 3fbd30fc8d8f1dbb0e235102d93c07a4c562303f Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Tue, 10 Nov 2009 17:01:49 +0000 Subject: [PATCH] Fixed resolution, offset and shadowing in Rushing Heroes [David Haywood] --- src/mame/drivers/konamigx.c | 22 ++++++++++++++++------ src/mame/machine/konamigx.c | 12 ++++++------ src/mame/video/konamigx.c | 13 ++++++++++--- src/mame/video/konamiic.c | 8 +++++++- 4 files changed, 39 insertions(+), 16 deletions(-) diff --git a/src/mame/drivers/konamigx.c b/src/mame/drivers/konamigx.c index c7852c1bd70..f98ebce64af 100644 --- a/src/mame/drivers/konamigx.c +++ b/src/mame/drivers/konamigx.c @@ -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 ) diff --git a/src/mame/machine/konamigx.c b/src/mame/machine/konamigx.c index 340c982a0ff..4275f25436d 100644 --- a/src/mame/machine/konamigx.c +++ b/src/mame/machine/konamigx.c @@ -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); diff --git a/src/mame/video/konamigx.c b/src/mame/video/konamigx.c index 11a9f26b9c1..4e887b9cd33 100644 --- a/src/mame/video/konamigx.c +++ b/src/mame/video/konamigx.c @@ -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) diff --git a/src/mame/video/konamiic.c b/src/mame/video/konamiic.c index 49e42a97e6a..59b4054c4cf 100644 --- a/src/mame/video/konamiic.c +++ b/src/mame/video/konamiic.c @@ -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