Previous 199869 Revisions Next

r21009 Tuesday 12th February, 2013 at 23:58:38 UTC by Ville Linde
Fixed Wave Shark ROZ layer.
[src/mame/drivers]gticlub.c zr107.c
[src/mame/video]konicdev.c konicdev.h

trunk/src/mame/video/konicdev.c
r21008r21009
1014410144
1014510145   int            layer_size;
1014610146   int            roz_size;
10147   int            txt_mem_offset;
10148   int            roz_mem_offset;
1014710149};
1014810150
1014910151
r21008r21009
1020110203
1020210204TILEMAP_MAPPER_MEMBER(k001604_device::k001604_scan_layer_8x8_0_size0)
1020310205{
10206   k001604_state *k001604 = k001604_get_safe_token(this);
10207
1020410208   /* logical (col,row) -> memory offset */
10205   return (row * 128) + col;
10209   return (row * 128) + col + k001604->txt_mem_offset;
1020610210}
1020710211
1020810212TILEMAP_MAPPER_MEMBER(k001604_device::k001604_scan_layer_8x8_0_size1)
1020910213{
10214   k001604_state *k001604 = k001604_get_safe_token(this);
10215
1021010216   /* logical (col,row) -> memory offset */
10211   return (row * 256) + col;
10217   return (row * 256) + col + k001604->txt_mem_offset;
1021210218}
1021310219
1021410220TILEMAP_MAPPER_MEMBER(k001604_device::k001604_scan_layer_8x8_1_size0)
1021510221{
10222   k001604_state *k001604 = k001604_get_safe_token(this);
10223
1021610224   /* logical (col,row) -> memory offset */
10217   return (row * 128) + col + 64;
10225   return (row * 128) + col + 64 + k001604->txt_mem_offset;
1021810226}
1021910227
1022010228TILEMAP_MAPPER_MEMBER(k001604_device::k001604_scan_layer_8x8_1_size1)
1022110229{
10222   /* logical (col,row) -> memory offset */
10223   return (row * 256) + col + 64;
10224}
10230   k001604_state *k001604 = k001604_get_safe_token(this);
1022510231
10226TILEMAP_MAPPER_MEMBER(k001604_device::slrasslt_scan_layer_8x8_0_size0)
10227{
1022810232   /* logical (col,row) -> memory offset */
10229   return (row * 128) + col + 16384;
10233   return (row * 256) + col + 64 + k001604->txt_mem_offset;
1023010234}
1023110235
10232TILEMAP_MAPPER_MEMBER(k001604_device::slrasslt_scan_layer_8x8_1_size0)
10233{
10234   /* logical (col,row) -> memory offset */
10235   return (row * 128) + col + 64 + 16384;
10236}
10237
1023810236TILEMAP_MAPPER_MEMBER(k001604_device::k001604_scan_layer_roz_128)
1023910237{
10238   k001604_state *k001604 = k001604_get_safe_token(this);
10239
1024010240   /* logical (col,row) -> memory offset */
10241   return (row * 128) + col;
10241   return (row * 128) + col + k001604->roz_mem_offset;
1024210242}
1024310243
1024410244TILEMAP_MAPPER_MEMBER(k001604_device::k001604_scan_layer_roz_256)
1024510245{
10246   k001604_state *k001604 = k001604_get_safe_token(this);
10247
1024610248   /* logical (col,row) -> memory offset */
10247   return (row * 256) + col + 128;
10249   return (row * 256) + col + 128 + k001604->roz_mem_offset;
1024810250}
1024910251
1025010252TILE_GET_INFO_MEMBER(k001604_device::k001604_tile_info_layer_8x8)
r21008r21009
1026910271   UINT32 val = k001604->tile_ram[tile_index];
1027010272   int flags = 0;
1027110273   int color = (val >> 17) & 0x1f;
10272   int tile = val & 0x7ff;
10274   int tile = k001604->roz_size ? (val & 0x7ff) : (val & 0x1fff);
1027310275
1027410276   if (val & 0x400000)
1027510277      flags |= TILE_FLIPX;
r21008r21009
1054510547   k001604->layer_size = intf->layer_size;     // 0 -> width = 128 tiles, 1 -> width = 256 tiles
1054610548   k001604->roz_size = intf->roz_size;     // 0 -> 8x8, 1 -> 16x16
1054710549
10550   k001604->txt_mem_offset = intf->txt_mem_offset;
10551   k001604->roz_mem_offset = intf->roz_mem_offset;
10552
1054810553   k001604->gfx_index[0] = intf->gfx_index_1;
1054910554   k001604->gfx_index[1] = intf->gfx_index_2;
1055010555
r21008r21009
1055410559
1055510560   /* create tilemaps */
1055610561   roz_tile_size = k001604->roz_size ? 16 : 8;
10557   if (!intf->is_slrasslt)
10562
10563   if (k001604->layer_size)
1055810564   {
10559      if (k001604->layer_size)
10560      {
10561         k001604->layer_8x8[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_8x8_0_size1),this), 8, 8, 64, 64);
10562         k001604->layer_8x8[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_8x8_1_size1),this), 8, 8, 64, 64);
10565      k001604->layer_8x8[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_8x8_0_size1),this), 8, 8, 64, 64);
10566      k001604->layer_8x8[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_8x8_1_size1),this), 8, 8, 64, 64);
1056310567
10564         k001604->layer_roz = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_roz),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_roz_256),this), roz_tile_size, roz_tile_size, 128, 64);
10565      }
10566      else
10567      {
10568         k001604->layer_8x8[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_8x8_0_size0),this), 8, 8, 64, 64);
10569         k001604->layer_8x8[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_8x8_1_size0),this), 8, 8, 64, 64);
10570
10571         k001604->layer_roz = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_roz),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_roz_128),this), roz_tile_size, roz_tile_size, 128, 64);
10572      }
10568      k001604->layer_roz = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_roz),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_roz_256),this), roz_tile_size, roz_tile_size, 128, 64);
1057310569   }
10574   else    /* slrasslt has shifted tilemaps (but only has k001604->layer_size =  0) */
10570   else
1057510571   {
10576      k001604->layer_8x8[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::slrasslt_scan_layer_8x8_0_size0),this), 8, 8, 64, 64);
10577      k001604->layer_8x8[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::slrasslt_scan_layer_8x8_1_size0),this), 8, 8, 64, 64);
10572      k001604->layer_8x8[0] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_8x8_0_size0),this), 8, 8, 64, 64);
10573      k001604->layer_8x8[1] = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_8x8),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_8x8_1_size0),this), 8, 8, 64, 64);
1057810574
1057910575      k001604->layer_roz = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(k001604_device::k001604_tile_info_layer_roz),this), tilemap_mapper_delegate(FUNC(k001604_device::k001604_scan_layer_roz_128),this), roz_tile_size, roz_tile_size, 128, 64);
1058010576   }
trunk/src/mame/video/konicdev.h
r21008r21009
134134   int            gfx_index_2;
135135   int            layer_size;
136136   int            roz_size;
137
138   int            is_slrasslt;
137   int            txt_mem_offset;
138   int            roz_mem_offset;
139139};
140140
141141struct k037122_interface
trunk/src/mame/drivers/gticlub.c
r21008r21009
777777{
778778   1, 2,   /* gfx index 1 & 2 */
779779   1, 1,       /* layer_size, roz_size */
780   0       /* slrasslt hack */
780   0,      /* text layer mem offset */
781   0,      /* roz layer mem offset */
781782};
782783
783784static const k001604_interface slrasslt_k001604_intf =
784785{
785786   1, 2,   /* gfx index 1 & 2 */
786787   0, 0,       /* layer_size, roz_size */
787   1       /* slrasslt hack */
788   16384,  /* text layer mem offset */
789   0,      /* roz layer mem offset */
788790};
789791
790792static const k001604_interface hangplt_k001604_intf_l =
791793{
792794   1, 2,   /* gfx index 1 & 2 */
793795   0, 1,       /* layer_size, roz_size */
794   0       /* slrasslt hack */
796   0,      /* text layer mem offset */
797   16384,  /* roz layer mem offset */
795798};
796799
797800static const k001604_interface hangplt_k001604_intf_r =
798801{
799802   3, 4,   /* gfx index 1 & 2 */
800803   0, 1,       /* layer_size, roz_size */
801   0       /* slrasslt hack */
804   0,      /* text layer mem offset */
805   16384,  /* roz layer mem offset */
802806};
803807
804808
trunk/src/mame/drivers/zr107.c
r21008r21009
229229
230230   bitmap.fill(machine().pens[0], cliprect);
231231
232   k001604_draw_back_layer(k001604, bitmap, cliprect);
233
232234   K001005_draw(bitmap, cliprect);
233235
234236   k001604_draw_front_layer(k001604, bitmap, cliprect);
r21008r21009
784786static const k001604_interface jetwave_k001604_intf =
785787{
786788   0, 1,   /* gfx index 1 & 2 */
787   0, 1,       /* layer_size, roz_size */
788   0       /* slrasslt hack */
789   0, 0,       /* layer_size, roz_size */
790   0,      /* text layer mem offset */
791   16384,  /* roz layer mem offset */
789792};
790793
791794static MACHINE_CONFIG_START( jetwave, zr107_state )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team