diff --git a/src/mame/video/konamigx.c b/src/mame/video/konamigx.c index 7c2e768c86e..c5ea28a3795 100644 --- a/src/mame/video/konamigx.c +++ b/src/mame/video/konamigx.c @@ -1591,7 +1591,7 @@ void konamigx_mixer(running_machine *machine, bitmap_t *bitmap, const rectangle { UINT16* src = BITMAP_ADDR16(extra_bitmap,yy,0); UINT32* dst = BITMAP_ADDR32(bitmap,yy,0); - int shiftpos = 30; + int shiftpos = 0; for (xx=0;xxprimary_screen); K056832_vh_start(machine, "gfx1", K056832_BPP_6, 0, NULL, konamigx_type2_tile_callback, 1); - K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -132, -24, konamigx_type2_sprite_callback); + K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -132, -23, konamigx_type2_sprite_callback); _gxcommoninitnosprites(machine); @@ -2094,9 +2094,10 @@ VIDEO_START(konamigx_type3) //tilemap_set_flip(gx_psac_tilemap, TILEMAP_FLIPX| TILEMAP_FLIPY); K053936_wraparound_enable(0, 1); - K053936GP_set_offset(0, 0, 0); +// K053936GP_set_offset(0, -30, -1); + K053936_set_offset(0, -30, +1); - K056832_set_LayerOffset(0, -48, 0); + K056832_set_LayerOffset(0, -52, 0); K056832_set_LayerOffset(1, -48, 0); K056832_set_LayerOffset(2, -48, 0); K056832_set_LayerOffset(3, -48, 0); diff --git a/src/mame/video/konamiic.c b/src/mame/video/konamiic.c index ecf4f53b5e0..a242f9cfa29 100644 --- a/src/mame/video/konamiic.c +++ b/src/mame/video/konamiic.c @@ -6821,6 +6821,12 @@ void K056832_tilemap_draw(running_machine *machine, bitmap_t *bitmap, const rect drawrect.min_x = (dminx < cminx ) ? cminx : dminx; drawrect.max_x = (dmaxx > cmaxx ) ? cmaxx : dmaxx; + + // soccer superstars visible area is >512 pixels, this causes problems with the logic because + // the tilemaps are 512 pixels across. Assume that if the limits were set as below that we + // want the tilemap to be drawn on the right hand side.. this is probably not the correct + // logic, but it works. + if ((drawrect.min_x>0) && (drawrect.max_x==511)) drawrect.max_x=cliprect->max_x; tilemap_set_scrollx(tmap, 0, dx);