Kaneko update part 3:

more Jackie Chan video improvements (view2 tilemaps)
This commit is contained in:
davidhay 2008-11-13 02:11:49 +00:00
parent 61a50d7642
commit d567059cc7
3 changed files with 32 additions and 9 deletions

View File

@ -411,6 +411,8 @@ static VIDEO_START(jchan)
sprite_bitmap_2 = auto_bitmap_alloc(1024,1024,BITMAP_FORMAT_INDEXED16);
suprnova_alt_enable_sprites = 1;
VIDEO_START_CALL( kaneko16_1xVIEW2_tilemaps );
}
@ -429,6 +431,9 @@ static VIDEO_UPDATE(jchan)
UINT16 pixdata2;
fillbitmap(bitmap, get_black_pen(screen->machine), cliprect);
VIDEO_UPDATE_CALL(jchan_view2);
//skns_draw_sprites(screen->machine,bitmap,cliprect);
fillbitmap(sprite_bitmap_1, 0x0000, cliprect);
fillbitmap(sprite_bitmap_2, 0x0000, cliprect);
@ -436,6 +441,7 @@ static VIDEO_UPDATE(jchan)
skns_draw_sprites(screen->machine, sprite_bitmap_1, cliprect, jchan_sprite_ram32_1, 0x4000, memory_region(screen->machine,"gfx1"), memory_region_length (screen->machine, "gfx1"), jchan_sprite_regs32_1 );
skns_draw_sprites(screen->machine, sprite_bitmap_2, cliprect, jchan_sprite_ram32_2, 0x4000, memory_region(screen->machine,"gfx2"), memory_region_length (screen->machine, "gfx2"), jchan_sprite_regs32_2 );
// ignoring priority bits for now..
for (y=0;y<240;y++)
{
src1 = BITMAP_ADDR16(sprite_bitmap_1, y, 0);
@ -589,11 +595,11 @@ static ADDRESS_MAP_START( jchan_sub, ADDRESS_SPACE_PROGRAM, 16 )
AM_RANGE(0x400000, 0x403fff) AM_RAM AM_BASE(&mainsub_shared_ram) AM_SHARE(1)
/* VIEW2 Tilemap - [D] grid tested, cleared ($1d84), also cleared at startup ($810-$826) */
AM_RANGE(0x500000, 0x500fff) AM_RAM // AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0
AM_RANGE(0x501000, 0x501fff) AM_RAM // AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) //
AM_RANGE(0x502000, 0x502fff) AM_RAM // AM_RAM AM_BASE(&kaneko16_vscroll_1) //
AM_RANGE(0x503000, 0x503fff) AM_RAM // AM_RAM AM_BASE(&kaneko16_vscroll_0) //
AM_RANGE(0x600000, 0x60001f) AM_RAM // AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // Layers 0 Regs
AM_RANGE(0x500000, 0x500fff) AM_RAM_WRITE(kaneko16_vram_1_w) AM_BASE(&kaneko16_vram_1) // Layers 0
AM_RANGE(0x501000, 0x501fff) AM_RAM_WRITE(kaneko16_vram_0_w) AM_BASE(&kaneko16_vram_0) //
AM_RANGE(0x502000, 0x502fff) AM_RAM AM_BASE(&kaneko16_vscroll_1) //
AM_RANGE(0x503000, 0x503fff) AM_RAM AM_BASE(&kaneko16_vscroll_0) //
AM_RANGE(0x600000, 0x60001f) AM_RAM_WRITE(kaneko16_layers_0_regs_w) AM_BASE(&kaneko16_layers_0_regs) // Layers 0 Regs
/* 2nd sprite layer? - [C] grid tested, cleared ($1e2a), also cleared at startup ($7dc-$80a) */
AM_RANGE(0x700000, 0x703fff) AM_RAM AM_BASE(&jchan_spriteram_2) AM_WRITE(jchan_suprnova_sprite32_2_w)
@ -658,7 +664,8 @@ static const gfx_layout tilelayout =
static GFXDECODE_START( jchan )
// GFXDECODE_ENTRY( "gfx1", 0, char2layout, 0, 512 )
// GFXDECODE_ENTRY( "gfx2", 0, char2layout, 0, 512 )
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 16384, 16384 )
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 0, 0x4000/16 )
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 0, 0x4000/16 ) // video/kaneko16.c is hardcoded to here for now
GFXDECODE_END

View File

@ -98,7 +98,9 @@ extern kaneko16_priority_t kaneko16_priority;
/* Machine */
VIDEO_START( kaneko16_sprites );
VIDEO_START( kaneko16_1xVIEW2_tilemaps );
VIDEO_START( kaneko16_1xVIEW2 );
VIDEO_START( kaneko16_2xVIEW2 );
VIDEO_START( berlwall );
@ -108,6 +110,7 @@ VIDEO_START( sandscrp_1xVIEW2 );
VIDEO_UPDATE( kaneko16 );
VIDEO_UPDATE( sandscrp );
VIDEO_UPDATE( berlwall );
VIDEO_UPDATE( jchan_view2 );
VIDEO_START( galsnew );
VIDEO_UPDATE( galsnew );

View File

@ -128,10 +128,8 @@ VIDEO_START( kaneko16_sprites )
spritelist.first_sprite = (struct tempsprite *)auto_malloc(0x400 * sizeof(spritelist.first_sprite[0]));
}
VIDEO_START( kaneko16_1xVIEW2 )
VIDEO_START( kaneko16_1xVIEW2_tilemaps )
{
VIDEO_START_CALL(kaneko16_sprites);
kaneko16_tmap_0 = tilemap_create( get_tile_info_0, tilemap_scan_rows,
16,16, 0x20,0x20 );
kaneko16_tmap_1 = tilemap_create( get_tile_info_1, tilemap_scan_rows,
@ -174,6 +172,15 @@ VIDEO_START( kaneko16_1xVIEW2 )
tilemap_set_scroll_rows(kaneko16_tmap_0, 0x200); // Line Scroll
tilemap_set_scroll_rows(kaneko16_tmap_1, 0x200);
}
}
VIDEO_START( kaneko16_1xVIEW2 )
{
VIDEO_START_CALL(kaneko16_sprites);
VIDEO_START_CALL(kaneko16_1xVIEW2_tilemaps);
}
VIDEO_START( kaneko16_2xVIEW2 )
@ -1011,6 +1018,12 @@ VIDEO_UPDATE(berlwall)
}
VIDEO_UPDATE( jchan_view2 )
{
VIDEO_UPDATE_CALL(common);
return 0;
}
VIDEO_UPDATE( kaneko16 )
{