Previous 199869 Revisions Next

r30693 Wednesday 28th May, 2014 at 04:57:45 UTC by Fabio Priuli
k053244/k053245: converted to use inline configs, delegates and device_gfx_interface. nw.
6bpp graphics (i.e. lethalen sprites) is currently broken, because it needs further refactoring
(currently in progress)
[src/mame/drivers]asterix.c lethal.c parodius.c rollerg.c surpratk.c tmnt.c
[src/mame/includes]asterix.h lethal.h parodius.h rollerg.h surpratk.h tmnt.h
[src/mame/video]asterix.c k053244_k053245.c k053244_k053245.h lethal.c parodius.c rollerg.c surpratk.c tmnt.c

trunk/src/mame/drivers/surpratk.c
r30692r30693
163163   surpratk_tile_callback
164164};
165165
166static const k05324x_interface surpratk_k05324x_intf =
167{
168   "gfx2", 1,
169   NORMAL_PLANE_ORDER,
170   0, 0,
171   KONAMI_ROM_DEINTERLEAVE_2,
172   surpratk_sprite_callback
173};
174
175166void surpratk_state::machine_start()
176167{
177168   UINT8 *ROM = memregion("maincpu")->base();
r30692r30693
231222   MCFG_K052109_ADD("k052109", surpratk_k052109_intf)
232223   MCFG_K052109_GFXDECODE("gfxdecode")
233224   MCFG_K052109_PALETTE("palette")
234   MCFG_K053244_ADD("k053244", surpratk_k05324x_intf)
235   MCFG_K053244_GFXDECODE("gfxdecode")
236   MCFG_K053244_PALETTE("palette")
225
226   MCFG_DEVICE_ADD("k053244", K053244, 0)
227   MCFG_GFX_PALETTE("palette")
228   MCFG_K05324X_GFX("k053244")
229   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
230   MCFG_K05324X_OFFSETS(0, 0)
231   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_DEINTERLEAVE_2)
232   MCFG_K05324X_CB(surpratk_state, sprite_callback)
233
237234   MCFG_K053251_ADD("k053251")
238235
239236   /* sound hardware */
r30692r30693
262259   ROM_LOAD( "911d05.bin", 0x000000, 0x040000, CRC(308d2319) SHA1(521d2a72fecb094e2c2f23b535f0b527886b4d3a) ) /* characters */
263260   ROM_LOAD( "911d06.bin", 0x040000, 0x040000, CRC(91cc9b32) SHA1(e05b7bbff30f24fe6f009560410f5e90bb118692) ) /* characters */
264261
265   ROM_REGION( 0x080000, "gfx2", 0 ) /* graphics ( don't dispose as the program can read them, 0 ) */
262   ROM_REGION( 0x080000, "k053244", 0 ) /* graphics ( don't dispose as the program can read them, 0 ) */
266263   ROM_LOAD( "911d03.bin", 0x000000, 0x040000, CRC(e34ff182) SHA1(075ca7a91c843bdac7da21ddfcd43f7a043a09b6) )  /* sprites */
267264   ROM_LOAD( "911d04.bin", 0x040000, 0x040000, CRC(20700bd2) SHA1(a2fa4a3ee28c1542cdd798907a9ece249aadff0a) )  /* sprites */
268265ROM_END
r30692r30693
277274   ROM_LOAD( "911d05.bin", 0x000000, 0x040000, CRC(308d2319) SHA1(521d2a72fecb094e2c2f23b535f0b527886b4d3a) ) /* characters */
278275   ROM_LOAD( "911d06.bin", 0x040000, 0x040000, CRC(91cc9b32) SHA1(e05b7bbff30f24fe6f009560410f5e90bb118692) ) /* characters */
279276
280   ROM_REGION( 0x080000, "gfx2", 0 ) /* graphics ( don't dispose as the program can read them, 0 ) */
277   ROM_REGION( 0x080000, "k053244", 0 ) /* graphics ( don't dispose as the program can read them, 0 ) */
281278   ROM_LOAD( "911d03.bin", 0x000000, 0x040000, CRC(e34ff182) SHA1(075ca7a91c843bdac7da21ddfcd43f7a043a09b6) )  /* sprites */
282279   ROM_LOAD( "911d04.bin", 0x040000, 0x040000, CRC(20700bd2) SHA1(a2fa4a3ee28c1542cdd798907a9ece249aadff0a) )  /* sprites */
283280ROM_END
r30692r30693
292289   ROM_LOAD( "911d05.bin", 0x000000, 0x040000, CRC(308d2319) SHA1(521d2a72fecb094e2c2f23b535f0b527886b4d3a) ) /* characters */
293290   ROM_LOAD( "911d06.bin", 0x040000, 0x040000, CRC(91cc9b32) SHA1(e05b7bbff30f24fe6f009560410f5e90bb118692) ) /* characters */
294291
295   ROM_REGION( 0x080000, "gfx2", 0 ) /* graphics ( don't dispose as the program can read them, 0 ) */
292   ROM_REGION( 0x080000, "k053244", 0 ) /* graphics ( don't dispose as the program can read them, 0 ) */
296293   ROM_LOAD( "911d03.bin", 0x000000, 0x040000, CRC(e34ff182) SHA1(075ca7a91c843bdac7da21ddfcd43f7a043a09b6) )  /* sprites */
297294   ROM_LOAD( "911d04.bin", 0x040000, 0x040000, CRC(20700bd2) SHA1(a2fa4a3ee28c1542cdd798907a9ece249aadff0a) )  /* sprites */
298295ROM_END
trunk/src/mame/drivers/lethal.c
r30692r30693
518518   lethalen_tile_callback, "none"
519519};
520520
521static const k05324x_interface lethalen_k05324x_intf =
522{
523   "gfx3", 2,
524   NORMAL_PLANE_ORDER,
525   95, 0,
526   KONAMI_ROM_DEINTERLEAVE_2,
527   lethalen_sprite_callback
528};
529521
530static const k05324x_interface lethalej_k05324x_intf =
531{
532   "gfx3", 2,
533   NORMAL_PLANE_ORDER,
534   -105, 0,
535   KONAMI_ROM_DEINTERLEAVE_2,
536   lethalen_sprite_callback
537};
538
539522static MACHINE_CONFIG_START( lethalen, lethal_state )
540523
541524   /* basic machine hardware */
r30692r30693
573556   MCFG_K056832_ADD("k056832", lethalen_k056832_intf)
574557   MCFG_K056832_GFXDECODE("gfxdecode")
575558   MCFG_K056832_PALETTE("palette")
576   MCFG_K053244_ADD("k053244", lethalen_k05324x_intf)
577   MCFG_K053244_GFXDECODE("gfxdecode")
578   MCFG_K053244_PALETTE("palette")
559
560   MCFG_DEVICE_ADD("k053244", K053244, 0)
561   MCFG_GFX_PALETTE("palette")
562   MCFG_K05324X_GFX("k053244")
563   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
564   MCFG_K05324X_OFFSETS(95, 0)
565   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_DEINTERLEAVE_2)
566   MCFG_K05324X_CB(lethal_state, sprite_callback)
567
579568   MCFG_K054000_ADD("k054000")
580569
581570   /* sound hardware */
r30692r30693
592581   MCFG_SCREEN_MODIFY("screen")
593582   MCFG_SCREEN_VISIBLE_AREA(224, 512-1, 16, 240-1)
594583
595   MCFG_DEVICE_REMOVE("k053244")
596   MCFG_K053244_ADD("k053244", lethalej_k05324x_intf)
597   MCFG_K053244_GFXDECODE("gfxdecode")
598   MCFG_K053244_PALETTE("palette")
584   MCFG_DEVICE_MODIFY("k053244")
585   MCFG_K05324X_OFFSETS(-105, 0)
599586MACHINE_CONFIG_END
600587
601588ROM_START( lethalen )   // US version UAE
r30692r30693
616603   ROM_LOAD( "191a05", 0x100000, 0x100000, CRC(f2e3b58b) SHA1(0bbc2fe87a4fd00b5073a884bcfebcf9c2c402ad) )
617604   ROM_LOAD( "191a06", 0x200000, 0x100000, CRC(ee11fc08) SHA1(ec6dd684e8261b181d65b8bf1b9e97da5c4468f7) )
618605
619   ROM_REGION( 0x200000, "gfx3", ROMREGION_ERASE00 )
606   ROM_REGION( 0x200000, "k053244", ROMREGION_ERASE00 )
620607   ROM_COPY("gfx2",0,0, 0x200000)
621608
622609   ROM_REGION( 0x200000, "gfx4", ROMREGION_ERASE00 )
r30692r30693
647634   ROM_LOAD( "191a05", 0x100000, 0x100000, CRC(f2e3b58b) SHA1(0bbc2fe87a4fd00b5073a884bcfebcf9c2c402ad) )
648635   ROM_LOAD( "191a06", 0x200000, 0x100000, CRC(ee11fc08) SHA1(ec6dd684e8261b181d65b8bf1b9e97da5c4468f7) )
649636
650   ROM_REGION( 0x200000, "gfx3", ROMREGION_ERASE00 )
637   ROM_REGION( 0x200000, "k053244", ROMREGION_ERASE00 )
651638   ROM_COPY("gfx2",0,0, 0x200000)
652639
653640   ROM_REGION( 0x200000, "gfx4", ROMREGION_ERASE00 )
r30692r30693
678665   ROM_LOAD( "191a05", 0x100000, 0x100000, CRC(f2e3b58b) SHA1(0bbc2fe87a4fd00b5073a884bcfebcf9c2c402ad) )
679666   ROM_LOAD( "191a06", 0x200000, 0x100000, CRC(ee11fc08) SHA1(ec6dd684e8261b181d65b8bf1b9e97da5c4468f7) )
680667
681   ROM_REGION( 0x200000, "gfx3", ROMREGION_ERASE00 )
668   ROM_REGION( 0x200000, "k053244", ROMREGION_ERASE00 )
682669   ROM_COPY("gfx2",0,0, 0x200000)
683670
684671   ROM_REGION( 0x200000, "gfx4", ROMREGION_ERASE00 )
r30692r30693
709696   ROM_LOAD( "191a05", 0x100000, 0x100000, CRC(f2e3b58b) SHA1(0bbc2fe87a4fd00b5073a884bcfebcf9c2c402ad) )
710697   ROM_LOAD( "191a06", 0x200000, 0x100000, CRC(ee11fc08) SHA1(ec6dd684e8261b181d65b8bf1b9e97da5c4468f7) )
711698
712   ROM_REGION( 0x200000, "gfx3", ROMREGION_ERASE00 )
699   ROM_REGION( 0x200000, "k053244", ROMREGION_ERASE00 )
713700   ROM_COPY("gfx2",0,0, 0x200000)
714701
715702   ROM_REGION( 0x200000, "gfx4", ROMREGION_ERASE00 )
r30692r30693
740727   ROM_LOAD( "191a05", 0x100000, 0x100000, CRC(f2e3b58b) SHA1(0bbc2fe87a4fd00b5073a884bcfebcf9c2c402ad) )
741728   ROM_LOAD( "191a06", 0x200000, 0x100000, CRC(ee11fc08) SHA1(ec6dd684e8261b181d65b8bf1b9e97da5c4468f7) )
742729
743   ROM_REGION( 0x200000, "gfx3", ROMREGION_ERASE00 )
730   ROM_REGION( 0x200000, "k053244", ROMREGION_ERASE00 )
744731   ROM_COPY("gfx2",0,0, 0x200000)
745732
746733   ROM_REGION( 0x200000, "gfx4", ROMREGION_ERASE00 )
r30692r30693
771758   ROM_LOAD( "191a05", 0x100000, 0x100000, CRC(f2e3b58b) SHA1(0bbc2fe87a4fd00b5073a884bcfebcf9c2c402ad) )
772759   ROM_LOAD( "191a06", 0x200000, 0x100000, CRC(ee11fc08) SHA1(ec6dd684e8261b181d65b8bf1b9e97da5c4468f7) )
773760
774   ROM_REGION( 0x200000, "gfx3", ROMREGION_ERASE00 )
761   ROM_REGION( 0x200000, "k053244", ROMREGION_ERASE00 )
775762   ROM_COPY("gfx2",0,0, 0x200000)
776763
777764   ROM_REGION( 0x200000, "gfx4", ROMREGION_ERASE00 )
r30692r30693
802789   ROM_LOAD( "191a05", 0x100000, 0x100000, CRC(f2e3b58b) SHA1(0bbc2fe87a4fd00b5073a884bcfebcf9c2c402ad) )
803790   ROM_LOAD( "191a06", 0x200000, 0x100000, CRC(ee11fc08) SHA1(ec6dd684e8261b181d65b8bf1b9e97da5c4468f7) )
804791
805   ROM_REGION( 0x200000, "gfx3", ROMREGION_ERASE00 )
792   ROM_REGION( 0x200000, "k053244", ROMREGION_ERASE00 )
806793   ROM_COPY("gfx2",0,0, 0x200000)
807794
808795   ROM_REGION( 0x200000, "gfx4", ROMREGION_ERASE00 )
trunk/src/mame/drivers/tmnt.c
r30692r30693
770770       The most accurate method is to trace how MCU zoom is transformed
771771       from ROM data, reverse the maths, plug the result into the sprite
772772       zoom code and derive the scale factor from there; but zooming
773       would still suffer from precision loss in k053245_sprites_draw()
773       would still suffer from precision loss in k053245->sprites_draw()
774774       and drawgfx() producing gaps in logical sprite groups.
775775
776776       A few sample points on the real curve:
r30692r30693
20072007   blswhstl_tile_callback
20082008};
20092009
2010/* 053245 interfaces */
2011static const k05324x_interface lgtnfght_k05324x_intf =
2012{
2013   "gfx2", 1,
2014   NORMAL_PLANE_ORDER,
2015   0, 0,
2016   KONAMI_ROM_DEINTERLEAVE_2,
2017   lgtnfght_sprite_callback
2018};
2019
2020static const k05324x_interface prmrsocr_k05324x_intf =
2021{
2022   "gfx2", 2,
2023   NORMAL_PLANE_ORDER,
2024   0, 0,
2025   KONAMI_ROM_SHUFFLE8,
2026   prmrsocr_sprite_callback
2027};
2028
2029static const k05324x_interface blswhstl_k05324x_intf =
2030{
2031   "gfx2", 1,
2032   NORMAL_PLANE_ORDER,
2033   0, 0,
2034   KONAMI_ROM_DEINTERLEAVE_2,
2035   blswhstl_sprite_callback
2036};
2037
2038static const k05324x_interface glfgreat_k05324x_intf =
2039{
2040   "gfx2", 2,
2041   NORMAL_PLANE_ORDER,
2042   0, 0,
2043   KONAMI_ROM_SHUFFLE8,
2044   lgtnfght_sprite_callback
2045};
2046
20472010/* 051960 interfaces */
20482011static const k051960_interface cuebrick_k051960_intf =
20492012{
r30692r30693
23552318   MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
23562319   MCFG_K052109_GFXDECODE("gfxdecode")
23572320   MCFG_K052109_PALETTE("palette")
2358   MCFG_K053245_ADD("k053245", lgtnfght_k05324x_intf)
2359   MCFG_K053245_GFXDECODE("gfxdecode")
2360   MCFG_K053245_PALETTE("palette")
2321
2322   MCFG_DEVICE_ADD("k053245", K053245, 0)
2323   MCFG_GFX_PALETTE("palette")
2324   MCFG_K05324X_GFX("k053245")
2325   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
2326   MCFG_K05324X_OFFSETS(0, 0)
2327   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_DEINTERLEAVE_2)
2328   MCFG_K05324X_CB(tmnt_state, lgtnfght_sprite_callback)
2329
23612330   MCFG_K053251_ADD("k053251")
23622331
23632332   /* sound hardware */
r30692r30693
24112380   MCFG_K052109_ADD("k052109", blswhstl_k052109_intf)
24122381   MCFG_K052109_GFXDECODE("gfxdecode")
24132382   MCFG_K052109_PALETTE("palette")
2414   MCFG_K053245_ADD("k053245", blswhstl_k05324x_intf)
2415   MCFG_K053245_GFXDECODE("gfxdecode")
2416   MCFG_K053245_PALETTE("palette")
2383
2384   MCFG_DEVICE_ADD("k053245", K053245, 0)
2385   MCFG_GFX_PALETTE("palette")
2386   MCFG_K05324X_GFX("k053245")
2387   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
2388   MCFG_K05324X_OFFSETS(0, 0)
2389   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_DEINTERLEAVE_2)
2390   MCFG_K05324X_CB(tmnt_state, blswhstl_sprite_callback)
2391
24172392   MCFG_K053251_ADD("k053251")
24182393   MCFG_K054000_ADD("k054000")
24192394
r30692r30693
24832458   MCFG_K052109_ADD("k052109", glfgreat_k052109_intf)
24842459   MCFG_K052109_GFXDECODE("gfxdecode")
24852460   MCFG_K052109_PALETTE("palette")
2486   MCFG_K053245_ADD("k053245", glfgreat_k05324x_intf)
2487   MCFG_K053245_GFXDECODE("gfxdecode")
2488   MCFG_K053245_PALETTE("palette")
24892461
2462   MCFG_DEVICE_ADD("k053245", K053245, 0)
2463   MCFG_GFX_PALETTE("palette")
2464   MCFG_K05324X_GFX("k053245")
2465   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
2466   MCFG_K05324X_OFFSETS(0, 0)
2467   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_SHUFFLE8)
2468   MCFG_K05324X_CB(tmnt_state, lgtnfght_sprite_callback)
2469
24902470   MCFG_DEVICE_ADD("k053936", K053936, 0)
24912471   MCFG_K053936_WRAP(1)
24922472   MCFG_K053936_OFFSETS(85, 0)
r30692r30693
25532533   MCFG_K052109_ADD("k052109", glfgreat_k052109_intf)
25542534   MCFG_K052109_GFXDECODE("gfxdecode")
25552535   MCFG_K052109_PALETTE("palette")
2556   MCFG_K053245_ADD("k053245", prmrsocr_k05324x_intf)
2557   MCFG_K053245_GFXDECODE("gfxdecode")
2558   MCFG_K053245_PALETTE("palette")
25592536
2537   MCFG_DEVICE_ADD("k053245", K053245, 0)
2538   MCFG_GFX_PALETTE("palette")
2539   MCFG_K05324X_GFX("k053245")
2540   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
2541   MCFG_K05324X_OFFSETS(0, 0)
2542   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_SHUFFLE8)
2543   MCFG_K05324X_CB(tmnt_state, prmrsocr_sprite_callback)
2544
25602545   MCFG_DEVICE_ADD("k053936", K053936, 0)
25612546   MCFG_K053936_OFFSETS(85, 1)
25622547
r30692r30693
26132598   MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
26142599   MCFG_K052109_GFXDECODE("gfxdecode")
26152600   MCFG_K052109_PALETTE("palette")
2616   MCFG_K053245_ADD("k053245", lgtnfght_k05324x_intf)
2617   MCFG_K053245_GFXDECODE("gfxdecode")
2618   MCFG_K053245_PALETTE("palette")
2601
2602   MCFG_DEVICE_ADD("k053245", K053245, 0)
2603   MCFG_GFX_PALETTE("palette")
2604   MCFG_K05324X_GFX("k053245")
2605   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
2606   MCFG_K05324X_OFFSETS(0, 0)
2607   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_DEINTERLEAVE_2)
2608   MCFG_K05324X_CB(tmnt_state, lgtnfght_sprite_callback)
2609
26192610   MCFG_K053251_ADD("k053251")
26202611
26212612   /* sound hardware */
r30692r30693
26682659   MCFG_K052109_ADD("k052109", tmnt_k052109_intf)
26692660   MCFG_K052109_GFXDECODE("gfxdecode")
26702661   MCFG_K052109_PALETTE("palette")
2671   MCFG_K053245_ADD("k053245", lgtnfght_k05324x_intf)
2672   MCFG_K053245_GFXDECODE("gfxdecode")
2673   MCFG_K053245_PALETTE("palette")
2662
2663   MCFG_DEVICE_ADD("k053245", K053245, 0)
2664   MCFG_GFX_PALETTE("palette")
2665   MCFG_K05324X_GFX("k053245")
2666   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
2667   MCFG_K05324X_OFFSETS(0, 0)
2668   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_DEINTERLEAVE_2)
2669   MCFG_K05324X_CB(tmnt_state, lgtnfght_sprite_callback)
2670
26742671   MCFG_K053251_ADD("k053251")
26752672
26762673   /* sound hardware */
r30692r30693
27172714   MCFG_K052109_ADD("k052109", sunsetbl_k052109_intf)
27182715   MCFG_K052109_GFXDECODE("gfxdecode")
27192716   MCFG_K052109_PALETTE("palette")
2720   MCFG_K053245_ADD("k053245", lgtnfght_k05324x_intf)
2721   MCFG_K053245_GFXDECODE("gfxdecode")
2722   MCFG_K053245_PALETTE("palette")
2717
2718   MCFG_DEVICE_ADD("k053245", K053245, 0)
2719   MCFG_GFX_PALETTE("palette")
2720   MCFG_K05324X_GFX("k053245")
2721   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
2722   MCFG_K05324X_OFFSETS(0, 0)
2723   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_DEINTERLEAVE_2)
2724   MCFG_K05324X_CB(tmnt_state, lgtnfght_sprite_callback)
2725
27232726   MCFG_K053251_ADD("k053251")
27242727
27252728   /* sound hardware */
r30692r30693
32703273   ROM_LOAD( "939a07.k14",   0x000000, 0x80000, CRC(7955dfcf) SHA1(012644c1bfbe2e5d1c7ba25f29ebfde7dbfd1c0d) )
32713274   ROM_LOAD( "939a08.k19",   0x080000, 0x80000, CRC(ed95b385) SHA1(5aa5291cf1a8935b0a65ae10aa20b9cf9a138b03) )
32723275
3273   ROM_REGION( 0x100000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3276   ROM_REGION( 0x100000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
32743277   ROM_LOAD( "939a06.k8",    0x000000, 0x80000, CRC(e393c206) SHA1(9b35fc6dba1f15c3d9d69ff5a4e1673c539aa533) )
32753278   ROM_LOAD( "939a05.k2",    0x080000, 0x80000, CRC(3662d47a) SHA1(789c3f07ce812902050970f48be5115b8e95bea0) )
32763279
r30692r30693
32903293   ROM_LOAD( "939a07.k14",   0x000000, 0x80000, CRC(7955dfcf) SHA1(012644c1bfbe2e5d1c7ba25f29ebfde7dbfd1c0d) )
32913294   ROM_LOAD( "939a08.k19",   0x080000, 0x80000, CRC(ed95b385) SHA1(5aa5291cf1a8935b0a65ae10aa20b9cf9a138b03) )
32923295
3293   ROM_REGION( 0x100000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3296   ROM_REGION( 0x100000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
32943297   ROM_LOAD( "939a06.k8",    0x000000, 0x80000, CRC(e393c206) SHA1(9b35fc6dba1f15c3d9d69ff5a4e1673c539aa533) )
32953298   ROM_LOAD( "939a05.k2",    0x080000, 0x80000, CRC(3662d47a) SHA1(789c3f07ce812902050970f48be5115b8e95bea0) )
32963299
r30692r30693
33103313   ROM_LOAD( "939a07.k14",   0x000000, 0x80000, CRC(7955dfcf) SHA1(012644c1bfbe2e5d1c7ba25f29ebfde7dbfd1c0d) )
33113314   ROM_LOAD( "939a08.k19",   0x080000, 0x80000, CRC(ed95b385) SHA1(5aa5291cf1a8935b0a65ae10aa20b9cf9a138b03) )
33123315
3313   ROM_REGION( 0x100000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3316   ROM_REGION( 0x100000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
33143317   ROM_LOAD( "939a06.k8",    0x000000, 0x80000, CRC(e393c206) SHA1(9b35fc6dba1f15c3d9d69ff5a4e1673c539aa533) )
33153318   ROM_LOAD( "939a05.k2",    0x080000, 0x80000, CRC(3662d47a) SHA1(789c3f07ce812902050970f48be5115b8e95bea0) )
33163319
r30692r30693
33303333   ROM_LOAD( "939a07.k14",   0x000000, 0x80000, CRC(7955dfcf) SHA1(012644c1bfbe2e5d1c7ba25f29ebfde7dbfd1c0d) )
33313334   ROM_LOAD( "939a08.k19",   0x080000, 0x80000, CRC(ed95b385) SHA1(5aa5291cf1a8935b0a65ae10aa20b9cf9a138b03) )
33323335
3333   ROM_REGION( 0x100000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3336   ROM_REGION( 0x100000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
33343337   ROM_LOAD( "939a06.k8",    0x000000, 0x80000, CRC(e393c206) SHA1(9b35fc6dba1f15c3d9d69ff5a4e1673c539aa533) )
33353338   ROM_LOAD( "939a05.k2",    0x080000, 0x80000, CRC(3662d47a) SHA1(789c3f07ce812902050970f48be5115b8e95bea0) )
33363339
r30692r30693
33523355   ROM_LOAD16_WORD_SWAP( "060e07.k16",  0x000000, 0x080000, CRC(c400edf3) SHA1(3f507df8804c1774e2e213f5eb8be0aa7e818d65) ) /* tiles */
33533356   ROM_LOAD16_WORD_SWAP( "060e08.k12",  0x080000, 0x080000, CRC(70dddba1) SHA1(2acb94f249cf89b3d53798a6ee1c960f84a04d2e) )
33543357
3355   ROM_REGION( 0x100000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3358   ROM_REGION( 0x100000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
33563359   ROM_LOAD16_WORD_SWAP( "060e06.k7",  0x000000, 0x080000, CRC(09381492) SHA1(5a3008dec99a8e0043405e9c4f5145794b8606e0) )  /* sprites */
33573360   ROM_LOAD16_WORD_SWAP( "060e05.k3",  0x080000, 0x080000, CRC(32454241) SHA1(7a246b255ff30118c4f8e07e6ba03a22fd5ddc8a) )
33583361
r30692r30693
33773380   ROM_LOAD16_WORD_SWAP( "060e07.k16",  0x000000, 0x080000, CRC(c400edf3) SHA1(3f507df8804c1774e2e213f5eb8be0aa7e818d65) ) /* tiles */
33783381   ROM_LOAD16_WORD_SWAP( "060e08.k12",  0x080000, 0x080000, CRC(70dddba1) SHA1(2acb94f249cf89b3d53798a6ee1c960f84a04d2e) )
33793382
3380   ROM_REGION( 0x100000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3383   ROM_REGION( 0x100000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
33813384   ROM_LOAD16_WORD_SWAP( "060e06.k7",  0x000000, 0x080000, CRC(09381492) SHA1(5a3008dec99a8e0043405e9c4f5145794b8606e0) )  /* sprites */
33823385   ROM_LOAD16_WORD_SWAP( "060e05.k3",  0x080000, 0x080000, CRC(32454241) SHA1(7a246b255ff30118c4f8e07e6ba03a22fd5ddc8a) )
33833386
r30692r30693
34003403   ROM_LOAD( "061d14.12l",   0x000000, 0x080000, CRC(b9440924) SHA1(d12763f1c999cfa4f2d6f685a73c8c20204f9cbb) )    /* tiles */
34013404   ROM_LOAD( "061d13.12k",   0x080000, 0x080000, CRC(9f999f0b) SHA1(f83e3e9e44d7d5ba4c72f72db1ab9f98a0e80fe2) )
34023405
3403   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3406   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
34043407   ROM_LOAD( "061d11.3k",    0x000000, 0x100000, CRC(c45b66a3) SHA1(bfb7f9a39d195857893d3f04c28d5c89442c3ac7) )    /* sprites */
34053408   ROM_LOAD( "061d12.8k",    0x100000, 0x100000, CRC(d305ecd1) SHA1(28cba6b5eb56b6f5c01e9da341a5c0e2ed3cb407) )
34063409
r30692r30693
34303433   ROM_LOAD( "061d14.12l",   0x000000, 0x080000, CRC(b9440924) SHA1(d12763f1c999cfa4f2d6f685a73c8c20204f9cbb) )    /* tiles */
34313434   ROM_LOAD( "061d13.12k",   0x080000, 0x080000, CRC(9f999f0b) SHA1(f83e3e9e44d7d5ba4c72f72db1ab9f98a0e80fe2) )
34323435
3433   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3436   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
34343437   ROM_LOAD( "061d11.3k",    0x000000, 0x100000, CRC(c45b66a3) SHA1(bfb7f9a39d195857893d3f04c28d5c89442c3ac7) )    /* sprites */
34353438   ROM_LOAD( "061d12.8k",    0x100000, 0x100000, CRC(d305ecd1) SHA1(28cba6b5eb56b6f5c01e9da341a5c0e2ed3cb407) )
34363439
r30692r30693
34643467   ROM_LOAD( "063b12.16k", 0x000000, 0x080000, CRC(d3283d19) SHA1(49e4daa9cbe4d99bf71fcee6237cb434a0d55312) )  /* tiles */
34653468   ROM_LOAD( "063b11.12k", 0x080000, 0x080000, CRC(6ebc0c15) SHA1(e6848405076937fbf8ec6d318293a0ff922725f4) )
34663469
3467   ROM_REGION( 0x400000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3470   ROM_REGION( 0x400000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
34683471   ROM_LOAD( "063b09.7l", 0x000000, 0x100000, CRC(2d7a9d2a) SHA1(a26f9c1a07152bc8c7bcd797d4485bf848f5e2a0) )  /* sprites */
34693472   ROM_LOAD( "063b10.7k", 0x100000, 0x080000, CRC(f2dd296e) SHA1(a2aad10bfb0904dd73c2ee11049648c94de7f4d5) )
34703473   /* second half empty */
r30692r30693
34933496   ROM_LOAD( "063b12.16k", 0x000000, 0x080000, CRC(d3283d19) SHA1(49e4daa9cbe4d99bf71fcee6237cb434a0d55312) )  /* tiles */
34943497   ROM_LOAD( "063b11.12k", 0x080000, 0x080000, CRC(6ebc0c15) SHA1(e6848405076937fbf8ec6d318293a0ff922725f4) )
34953498
3496   ROM_REGION( 0x400000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3499   ROM_REGION( 0x400000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
34973500   ROM_LOAD( "063b09.7l", 0x000000, 0x100000, CRC(2d7a9d2a) SHA1(a26f9c1a07152bc8c7bcd797d4485bf848f5e2a0) )  /* sprites */
34983501   ROM_LOAD( "063b10.7k", 0x100000, 0x080000, CRC(f2dd296e) SHA1(a2aad10bfb0904dd73c2ee11049648c94de7f4d5) )
34993502   /* second half empty */
r30692r30693
35233526   ROM_LOAD( "063b12.16k", 0x000000, 0x080000, CRC(d3283d19) SHA1(49e4daa9cbe4d99bf71fcee6237cb434a0d55312) )  /* tiles */
35243527   ROM_LOAD( "063b11.12k", 0x080000, 0x080000, CRC(6ebc0c15) SHA1(e6848405076937fbf8ec6d318293a0ff922725f4) )
35253528
3526   ROM_REGION( 0x400000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3529   ROM_REGION( 0x400000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
35273530   ROM_LOAD( "063b09.7l", 0x000000, 0x100000, CRC(2d7a9d2a) SHA1(a26f9c1a07152bc8c7bcd797d4485bf848f5e2a0) )  /* sprites */
35283531   ROM_LOAD( "063b10.7k", 0x100000, 0x080000, CRC(f2dd296e) SHA1(a2aad10bfb0904dd73c2ee11049648c94de7f4d5) )
35293532   /* second half empty */
r30692r30693
35533556   ROM_LOAD( "063b12.16k", 0x000000, 0x080000, CRC(d3283d19) SHA1(49e4daa9cbe4d99bf71fcee6237cb434a0d55312) )  /* tiles */
35543557   ROM_LOAD( "063b11.12k", 0x080000, 0x080000, CRC(6ebc0c15) SHA1(e6848405076937fbf8ec6d318293a0ff922725f4) )
35553558
3556   ROM_REGION( 0x400000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3559   ROM_REGION( 0x400000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
35573560   ROM_LOAD( "063b09.7l", 0x000000, 0x100000, CRC(2d7a9d2a) SHA1(a26f9c1a07152bc8c7bcd797d4485bf848f5e2a0) )  /* sprites */
35583561   ROM_LOAD( "063b10.7k", 0x100000, 0x080000, CRC(f2dd296e) SHA1(a2aad10bfb0904dd73c2ee11049648c94de7f4d5) )
35593562   /* second half empty */
r30692r30693
35833586   ROM_LOAD( "248a12.16k",          0x000000, 0x080000, CRC(62870987) SHA1(f502c44781a077590038dcca9bf76c8a047169be) ) /* tiles */
35843587   ROM_LOAD( "248a11.12k",          0x080000, 0x080000, CRC(fad2dbfd) SHA1(a6cc9a612467c43ae4194f71b43a442272f0fde1) )
35853588
3586   ROM_REGION( 0x400000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3589   ROM_REGION( 0x400000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
35873590   ROM_LOAD( "248a09.7l",          0x000000, 0x100000, CRC(a176e205) SHA1(e0b2176a1525711c6e692f88a913f57b9bdd0046) )  /* sprites */
35883591   ROM_LOAD( "248a07.3l",          0x200000, 0x100000, CRC(9595589f) SHA1(3e48f66448577a8fa39b6707e89c2267152b6f0b) )
35893592
r30692r30693
36083611   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
36093612   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
36103613
3611   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3614   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
36123615   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
36133616   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
36143617
r30692r30693
36333636   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
36343637   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
36353638
3636   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3639   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
36373640   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
36383641   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
36393642
r30692r30693
36583661   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
36593662   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
36603663
3661   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3664   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
36623665   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
36633666   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
36643667
r30692r30693
36833686   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
36843687   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
36853688
3686   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3689   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
36873690   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
36883691   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
36893692
r30692r30693
37083711   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
37093712   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
37103713
3711   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3714   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
37123715   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
37133716   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
37143717
r30692r30693
37333736   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
37343737   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
37353738
3736   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3739   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
37373740   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
37383741   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
37393742
r30692r30693
37583761   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
37593762   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
37603763
3761   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3764   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
37623765   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
37633766   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
37643767
r30692r30693
37833786   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
37843787   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
37853788
3786   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3789   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
37873790   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
37883791   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
37893792
r30692r30693
38083811   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
38093812   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
38103813
3811   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3814   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
38123815   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
38133816   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
38143817
r30692r30693
38333836   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
38343837   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
38353838
3836   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3839   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
38373840   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
38383841   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
38393842
r30692r30693
38583861   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
38593862   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
38603863
3861   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3864   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
38623865   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
38633866   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
38643867
r30692r30693
38833886   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
38843887   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
38853888
3886   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3889   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
38873890   ROM_LOAD( "064e09.7l",    0x000000, 0x100000, CRC(4160c372) SHA1(0b36181e5ccd785c7fb89b9f41e458066a42c3b0) )    /* sprites */
38883891   ROM_LOAD( "064e07.3l",    0x100000, 0x100000, CRC(64dd673c) SHA1(bea4d17a71dd21c635866ee69b4892dc9d0ab455) )
38893892
r30692r30693
39043907   ROM_LOAD( "064e12.16k",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) )    /* tiles */
39053908   ROM_LOAD( "064e11.12k",   0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
39063909
3907   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3910   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
39083911   ROM_LOAD( "sunsetb.05",   0x000000, 0x080000, BAD_DUMP CRC(8a0ff31a) SHA1(fee21d787d1cddd04713e10b1622f3fa231ebc4e) )
39093912   ROM_LOAD( "sunsetb.06",   0x080000, 0x080000, BAD_DUMP CRC(fdf2c887) SHA1(a165c7e6495d870324f59262ad4175a039e199a5) )
39103913   ROM_LOAD( "sunsetb.07",   0x100000, 0x080000, BAD_DUMP CRC(a545b1ed) SHA1(249f1f1a992f05c0dc23bd52785a355a402a0d10) )
r30692r30693
39243927   ROM_LOAD( "9.bin",   0x000000, 0x080000, CRC(e2bdc619) SHA1(04449deb267b0beacfa33640b593eb16194aa0d9) ) /* tiles */
39253928   ROM_LOAD( "10.bin",  0x080000, 0x080000, CRC(2d8ca8b0) SHA1(7c882f79c2402cf75979c681071007d76e4db9ae) )
39263929
3927   ROM_REGION( 0x200000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
3930   ROM_REGION( 0x200000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
39283931   ROM_LOAD( "5.bin",   0x000000, 0x080000, CRC(4ee77259) SHA1(92cb3ae296b1c42b70ce636a989c03d898ca35cf) )
39293932   ROM_LOAD( "6.bin",   0x080000, 0x080000, CRC(fdf2c887) SHA1(a165c7e6495d870324f59262ad4175a039e199a5) )
39303933   ROM_LOAD( "7.bin",   0x100000, 0x080000, CRC(3f1f7222) SHA1(14547c308180e5009f3ea8edcea58d96aa039919) )
r30692r30693
40184021   ROM_LOAD( "101a12.12l",   0x000000, 0x040000, CRC(33530d7f) SHA1(87859ad058fb79e357101675706373f83a3f23d4) )    /* tiles */
40194022   ROM_LOAD( "101a11.12k",   0x040000, 0x040000, CRC(7f773271) SHA1(0c6a62c6eb1897e88e893576f751e3d4fc788036) )
40204023
4021   ROM_REGION( 0x400000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
4024   ROM_REGION( 0x400000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
40224025   ROM_LOAD( "101a09.3l",    0x000000, 0x200000, CRC(b6a1b424) SHA1(4cf7bb4b8176977dea10fb80fcd9d6e24cc6d1b9) )    /* sprites */
40234026   ROM_LOAD( "101a10.8l",    0x200000, 0x200000, CRC(bbd58adc) SHA1(ad9bd4df995de6e6290f27c58c7892c7191802e4) )
40244027
r30692r30693
40494052   ROM_LOAD( "101a12.12l",   0x000000, 0x040000, CRC(33530d7f) SHA1(87859ad058fb79e357101675706373f83a3f23d4) )    /* tiles */
40504053   ROM_LOAD( "101a11.12k",   0x040000, 0x040000, CRC(7f773271) SHA1(0c6a62c6eb1897e88e893576f751e3d4fc788036) )
40514054
4052   ROM_REGION( 0x400000, "gfx2", 0 )   /* graphics (addressable by the main CPU) */
4055   ROM_REGION( 0x400000, "k053245", 0 )   /* graphics (addressable by the main CPU) */
40534056   ROM_LOAD( "101a09.3l",    0x000000, 0x200000, CRC(b6a1b424) SHA1(4cf7bb4b8176977dea10fb80fcd9d6e24cc6d1b9) )    /* sprites */
40544057   ROM_LOAD( "101a10.8l",    0x200000, 0x200000, CRC(bbd58adc) SHA1(ad9bd4df995de6e6290f27c58c7892c7191802e4) )
40554058
trunk/src/mame/drivers/rollerg.c
r30692r30693
217217
218218***************************************************************************/
219219
220static const k05324x_interface rollerg_k05324x_intf =
221{
222   "gfx1", 0,
223   NORMAL_PLANE_ORDER,
224   -3, -1,
225   KONAMI_ROM_DEINTERLEAVE_2,
226   rollerg_sprite_callback
227};
228
229220static const k051316_interface rollerg_k051316_intf =
230221{
231222   "gfx2", 1,
r30692r30693
283274
284275   MCFG_GFXDECODE_ADD("gfxdecode", "palette", empty)
285276
286   MCFG_K053244_ADD("k053244", rollerg_k05324x_intf)
287   MCFG_K053244_GFXDECODE("gfxdecode")
288   MCFG_K053244_PALETTE("palette")
277   MCFG_DEVICE_ADD("k053244", K053244, 0)
278   MCFG_GFX_PALETTE("palette")
279   MCFG_K05324X_GFX("k053244")
280   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
281   MCFG_K05324X_OFFSETS(-3, -1)
282   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_DEINTERLEAVE_2)
283   MCFG_K05324X_CB(rollerg_state, sprite_callback)
289284
290285   MCFG_K051316_ADD("k051316", rollerg_k051316_intf)
291286   MCFG_K051316_GFXDECODE("gfxdecode")
r30692r30693
321316   ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the sound CPU */
322317   ROM_LOAD( "999m01.e11", 0x0000, 0x8000, CRC(1fcfb22f) SHA1(ef058a7de6ba7cf310b91975345113acc6078f8a) )
323318
324   ROM_REGION( 0x200000, "gfx1", 0 ) /* graphics ( don't dispose as the program can read them, 0 ) */
319   ROM_REGION( 0x200000, "k053244", 0 ) /* graphics ( don't dispose as the program can read them, 0 ) */
325320   ROM_LOAD( "999h06.k2",  0x000000, 0x100000, CRC(eda05130) SHA1(b52073a4a4651035d5f1e112601ceb2d004b2143) ) /* sprites */
326321   ROM_LOAD( "999h05.k8",  0x100000, 0x100000, CRC(5f321c7d) SHA1(d60a3480891b83ac109f2fecfe2b958bac310c15) )
327322
r30692r30693
341336   ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for the sound CPU */
342337   ROM_LOAD( "999m01.e11", 0x0000, 0x8000, CRC(1fcfb22f) SHA1(ef058a7de6ba7cf310b91975345113acc6078f8a) )
343338
344   ROM_REGION( 0x200000, "gfx1", 0 ) /* graphics ( don't dispose as the program can read them, 0 ) */
339   ROM_REGION( 0x200000, "k053244", 0 ) /* graphics ( don't dispose as the program can read them, 0 ) */
345340   ROM_LOAD( "999h06.k2",  0x000000, 0x100000, CRC(eda05130) SHA1(b52073a4a4651035d5f1e112601ceb2d004b2143) ) /* sprites */
346341   ROM_LOAD( "999h05.k8",  0x100000, 0x100000, CRC(5f321c7d) SHA1(d60a3480891b83ac109f2fecfe2b958bac310c15) )
347342
trunk/src/mame/drivers/parodius.c
r30692r30693
206206   parodius_tile_callback
207207};
208208
209static const k05324x_interface parodius_k05324x_intf =
210{
211   "gfx2", 1,
212   NORMAL_PLANE_ORDER,
213   0, 0,
214   KONAMI_ROM_DEINTERLEAVE_2,
215   parodius_sprite_callback
216};
217
218209void parodius_state::machine_start()
219210{
220211   membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base(), 0x4000);
r30692r30693
284275   MCFG_K052109_ADD("k052109", parodius_k052109_intf)
285276   MCFG_K052109_GFXDECODE("gfxdecode")
286277   MCFG_K052109_PALETTE("palette")
287   MCFG_K053245_ADD("k053245", parodius_k05324x_intf)
288   MCFG_K053245_GFXDECODE("gfxdecode")
289   MCFG_K053245_PALETTE("palette")
278
279   MCFG_DEVICE_ADD("k053245", K053245, 0)
280   MCFG_GFX_PALETTE("palette")
281   MCFG_K05324X_GFX("k053245")
282   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
283   MCFG_K05324X_OFFSETS(0, 0)
284   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_DEINTERLEAVE_2)
285   MCFG_K05324X_CB(parodius_state, sprite_callback)
286
290287   MCFG_K053251_ADD("k053251")
291288
292289   /* sound hardware */
r30692r30693
319316   ROM_LOAD( "955d07.k19", 0x000000, 0x080000, CRC(89473fec) SHA1(0da18c4b078c3a30233a6f5c2b90032168136f58) ) /* characters */
320317   ROM_LOAD( "955d08.k24", 0x080000, 0x080000, CRC(43d5cda1) SHA1(2c51bad4857d1d31456c6dc1e7d41326ea35468b) ) /* characters */
321318
322   ROM_REGION( 0x100000, "gfx2", 0 ) /* graphics */
319   ROM_REGION( 0x100000, "k053245", 0 ) /* graphics */
323320   ROM_LOAD( "955d05.k13", 0x000000, 0x080000, CRC(7a1e55e0) SHA1(7a0e04ebde28d1e7b60aef3de926dc0e78662b1e) ) /* sprites */
324321   ROM_LOAD( "955d06.k8",  0x080000, 0x080000, CRC(f4252875) SHA1(490f2e19b30cf8724e4b03b8d9f089c470ec13bd) ) /* sprites */
325322
r30692r30693
339336   ROM_LOAD( "955d07.k19", 0x000000, 0x080000, CRC(89473fec) SHA1(0da18c4b078c3a30233a6f5c2b90032168136f58) ) /* characters */
340337   ROM_LOAD( "955d08.k24", 0x080000, 0x080000, CRC(43d5cda1) SHA1(2c51bad4857d1d31456c6dc1e7d41326ea35468b) ) /* characters */
341338
342   ROM_REGION( 0x100000, "gfx2", 0 ) /* graphics */
339   ROM_REGION( 0x100000, "k053245", 0 ) /* graphics */
343340   ROM_LOAD( "955d05.k13", 0x000000, 0x080000, CRC(7a1e55e0) SHA1(7a0e04ebde28d1e7b60aef3de926dc0e78662b1e) ) /* sprites */
344341   ROM_LOAD( "955d06.k8",  0x080000, 0x080000, CRC(f4252875) SHA1(490f2e19b30cf8724e4b03b8d9f089c470ec13bd) ) /* sprites */
345342
r30692r30693
359356   ROM_LOAD( "955d07.k19", 0x000000, 0x080000, CRC(89473fec) SHA1(0da18c4b078c3a30233a6f5c2b90032168136f58) ) /* characters */
360357   ROM_LOAD( "955d08.k24", 0x080000, 0x080000, CRC(43d5cda1) SHA1(2c51bad4857d1d31456c6dc1e7d41326ea35468b) ) /* characters */
361358
362   ROM_REGION( 0x100000, "gfx2", 0 ) /* graphics */
359   ROM_REGION( 0x100000, "k053245", 0 ) /* graphics */
363360   ROM_LOAD( "955d05.k13", 0x000000, 0x080000, CRC(7a1e55e0) SHA1(7a0e04ebde28d1e7b60aef3de926dc0e78662b1e) ) /* sprites */
364361   ROM_LOAD( "955d06.k8",  0x080000, 0x080000, CRC(f4252875) SHA1(490f2e19b30cf8724e4b03b8d9f089c470ec13bd) ) /* sprites */
365362
r30692r30693
379376   ROM_LOAD( "955d07.k19", 0x000000, 0x080000, CRC(89473fec) SHA1(0da18c4b078c3a30233a6f5c2b90032168136f58) ) /* characters */
380377   ROM_LOAD( "955d08.k24", 0x080000, 0x080000, CRC(43d5cda1) SHA1(2c51bad4857d1d31456c6dc1e7d41326ea35468b) ) /* characters */
381378
382   ROM_REGION( 0x100000, "gfx2", 0 ) /* graphics */
379   ROM_REGION( 0x100000, "k053245", 0 ) /* graphics */
383380   ROM_LOAD( "955d05.k13", 0x000000, 0x080000, CRC(7a1e55e0) SHA1(7a0e04ebde28d1e7b60aef3de926dc0e78662b1e) ) /* sprites */
384381   ROM_LOAD( "955d06.k8",  0x080000, 0x080000, CRC(f4252875) SHA1(490f2e19b30cf8724e4b03b8d9f089c470ec13bd) ) /* sprites */
385382
trunk/src/mame/drivers/asterix.c
r30692r30693
224224   asterix_tile_callback, "none"
225225};
226226
227static const k05324x_interface asterix_k05324x_intf =
228{
229   "gfx2", 1,
230   NORMAL_PLANE_ORDER,
231   -3, -1,
232   KONAMI_ROM_DEINTERLEAVE_2,
233   asterix_sprite_callback
234};
235
236227void asterix_state::machine_start()
237228{
238229   save_item(NAME(m_cur_control2));
r30692r30693
297288   MCFG_K056832_ADD("k056832", asterix_k056832_intf)
298289   MCFG_K056832_GFXDECODE("gfxdecode")
299290   MCFG_K056832_PALETTE("palette")
300   MCFG_K053244_ADD("k053244", asterix_k05324x_intf)
301   MCFG_K053244_GFXDECODE("gfxdecode")
302   MCFG_K053244_PALETTE("palette")
291
292   MCFG_DEVICE_ADD("k053244", K053244, 0)
293   MCFG_GFX_PALETTE("palette")
294   MCFG_K05324X_GFX("k053244")
295   MCFG_K05324X_ORDER(NORMAL_PLANE_ORDER)
296   MCFG_K05324X_OFFSETS(-3, -1)
297   MCFG_K05324X_DEINTERLEAVE(KONAMI_ROM_DEINTERLEAVE_2)
298   MCFG_K05324X_CB(asterix_state, sprite_callback)
299
303300   MCFG_K053251_ADD("k053251")
304301
305302   /* sound hardware */
r30692r30693
329326   ROM_LOAD( "068a12.16k", 0x000000, 0x080000, CRC(b9da8e9c) SHA1(a46878916833923e421da0667e37620ae0b77744) )
330327   ROM_LOAD( "068a11.12k", 0x080000, 0x080000, CRC(7eb07a81) SHA1(672c0c60834df7816d33d88643e4575b8ca9bcc1) )
331328
332   ROM_REGION( 0x400000, "gfx2", 0 )
329   ROM_REGION( 0x400000, "k053244", 0 )
333330   ROM_LOAD( "068a08.7k", 0x000000, 0x200000, CRC(c41278fe) SHA1(58e5f67a67ae97e0b264489828cd7e74662c5ed5) )
334331   ROM_LOAD( "068a07.3k", 0x200000, 0x200000, CRC(32efdbc4) SHA1(b7e8610aa22249176d82b750e2549d1eea6abe4f) )
335332
r30692r30693
354351   ROM_LOAD( "068a12.16k", 0x000000, 0x080000, CRC(b9da8e9c) SHA1(a46878916833923e421da0667e37620ae0b77744) )
355352   ROM_LOAD( "068a11.12k", 0x080000, 0x080000, CRC(7eb07a81) SHA1(672c0c60834df7816d33d88643e4575b8ca9bcc1) )
356353
357   ROM_REGION( 0x400000, "gfx2", 0 )
354   ROM_REGION( 0x400000, "k053244", 0 )
358355   ROM_LOAD( "068a08.7k", 0x000000, 0x200000, CRC(c41278fe) SHA1(58e5f67a67ae97e0b264489828cd7e74662c5ed5) )
359356   ROM_LOAD( "068a07.3k", 0x200000, 0x200000, CRC(32efdbc4) SHA1(b7e8610aa22249176d82b750e2549d1eea6abe4f) )
360357
r30692r30693
379376   ROM_LOAD( "068a12.16k", 0x000000, 0x080000, CRC(b9da8e9c) SHA1(a46878916833923e421da0667e37620ae0b77744) )
380377   ROM_LOAD( "068a11.12k", 0x080000, 0x080000, CRC(7eb07a81) SHA1(672c0c60834df7816d33d88643e4575b8ca9bcc1) )
381378
382   ROM_REGION( 0x400000, "gfx2", 0 )
379   ROM_REGION( 0x400000, "k053244", 0 )
383380   ROM_LOAD( "068a08.7k", 0x000000, 0x200000, CRC(c41278fe) SHA1(58e5f67a67ae97e0b264489828cd7e74662c5ed5) )
384381   ROM_LOAD( "068a07.3k", 0x200000, 0x200000, CRC(32efdbc4) SHA1(b7e8610aa22249176d82b750e2549d1eea6abe4f) )
385382
r30692r30693
404401   ROM_LOAD( "068a12.16k", 0x000000, 0x080000, CRC(b9da8e9c) SHA1(a46878916833923e421da0667e37620ae0b77744) )
405402   ROM_LOAD( "068a11.12k", 0x080000, 0x080000, CRC(7eb07a81) SHA1(672c0c60834df7816d33d88643e4575b8ca9bcc1) )
406403
407   ROM_REGION( 0x400000, "gfx2", 0 )
404   ROM_REGION( 0x400000, "k053244", 0 )
408405   ROM_LOAD( "068a08.7k", 0x000000, 0x200000, CRC(c41278fe) SHA1(58e5f67a67ae97e0b264489828cd7e74662c5ed5) )
409406   ROM_LOAD( "068a07.3k", 0x200000, 0x200000, CRC(32efdbc4) SHA1(b7e8610aa22249176d82b750e2549d1eea6abe4f) )
410407
r30692r30693
429426   ROM_LOAD( "068a12.16k", 0x000000, 0x080000, CRC(b9da8e9c) SHA1(a46878916833923e421da0667e37620ae0b77744) )
430427   ROM_LOAD( "068a11.12k", 0x080000, 0x080000, CRC(7eb07a81) SHA1(672c0c60834df7816d33d88643e4575b8ca9bcc1) )
431428
432   ROM_REGION( 0x400000, "gfx2", 0 )
429   ROM_REGION( 0x400000, "k053244", 0 )
433430   ROM_LOAD( "068a08.7k", 0x000000, 0x200000, CRC(c41278fe) SHA1(58e5f67a67ae97e0b264489828cd7e74662c5ed5) )
434431   ROM_LOAD( "068a07.3k", 0x200000, 0x200000, CRC(32efdbc4) SHA1(b7e8610aa22249176d82b750e2549d1eea6abe4f) )
435432
trunk/src/mame/includes/asterix.h
r30692r30693
6060   virtual void machine_reset();
6161   UINT32 screen_update_asterix(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
6262   INTERRUPT_GEN_MEMBER(asterix_interrupt);
63   MCFG_K05324X_CB_MEMBER(sprite_callback);
6364
6465protected:
6566   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
r30692r30693
6869/*----------- defined in video/asterix.c -----------*/
6970
7071extern void asterix_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags);
71extern void asterix_sprite_callback(running_machine &machine, int *code, int *color, int *priority_mask);
trunk/src/mame/includes/surpratk.h
r30692r30693
4747   virtual void machine_reset();
4848   UINT32 screen_update_surpratk(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
4949   INTERRUPT_GEN_MEMBER(surpratk_interrupt);
50
51   MCFG_K05324X_CB_MEMBER(sprite_callback);
5052};
5153
5254/*----------- defined in video/surpratk.c -----------*/
5355
5456extern void surpratk_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color,int *flags,int *priority);
55extern void surpratk_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask);
trunk/src/mame/includes/rollerg.h
r30692r30693
5555   virtual void machine_reset();
5656   virtual void video_start();
5757   UINT32 screen_update_rollerg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
58   MCFG_K05324X_CB_MEMBER(sprite_callback);
5859
5960protected:
6061   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
6162};
6263
6364/*----------- defined in video/rollerg.c -----------*/
64extern void rollerg_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask);
65extern void rollerg_zoom_callback(running_machine &machine, int *code,int *color,int *flags);
65extern void rollerg_zoom_callback(running_machine &machine, int *code, int *color, int *flags);
trunk/src/mame/includes/tmnt.h
r30692r30693
169169   inline UINT32 tmnt2_get_word( UINT32 addr );
170170   void tmnt2_put_word( address_space &space, UINT32 addr, UINT16 data );
171171   DECLARE_WRITE8_MEMBER(volume_callback);
172   MCFG_K05324X_CB_MEMBER(lgtnfght_sprite_callback);
173   MCFG_K05324X_CB_MEMBER(blswhstl_sprite_callback);
174   MCFG_K05324X_CB_MEMBER(prmrsocr_sprite_callback);
172175
173176protected:
174177   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
r30692r30693
186189extern void tmnt_sprite_callback(running_machine &machine, int *code,int *color,int *priority,int *shadow);
187190extern void punkshot_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask,int *shadow);
188191extern void thndrx2_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask,int *shadow);
189extern void lgtnfght_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask);
190extern void blswhstl_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask);
191extern void prmrsocr_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask);
trunk/src/mame/includes/parodius.h
r30692r30693
5656   virtual void machine_reset();
5757   UINT32 screen_update_parodius(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
5858   INTERRUPT_GEN_MEMBER(parodius_interrupt);
59   MCFG_K05324X_CB_MEMBER(sprite_callback);
5960
6061protected:
6162   virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);
r30692r30693
6465/*----------- defined in video/parodius.c -----------*/
6566
6667extern void parodius_tile_callback(running_machine &machine, int layer,int bank,int *code,int *color,int *flags,int *priority);
67extern void parodius_sprite_callback(running_machine &machine, int *code,int *color,int *priority_mask);
trunk/src/mame/includes/lethal.h
r30692r30693
5353   virtual void video_start();
5454   UINT32 screen_update_lethalen(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
5555   INTERRUPT_GEN_MEMBER(lethalen_interrupt);
56   MCFG_K05324X_CB_MEMBER(sprite_callback);
5657};
5758
5859/*----------- defined in video/lethal.c -----------*/
59extern void lethalen_sprite_callback(running_machine &machine, int *code, int *color, int *priority_mask);
6060extern void lethalen_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags);
trunk/src/mame/video/lethal.c
r30692r30693
1010#include "emu.h"
1111#include "includes/lethal.h"
1212
13void lethalen_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
13MCFG_K05324X_CB_MEMBER(lethal_state::sprite_callback)
1414{
1515   int pri = (*color & 0xfff0);
1616   *color = *color & 0x000f;
r30692r30693
1818
1919   /* this isn't ideal.. shouldn't need to hardcode it? not 100% sure about it anyway*/
2020   if (pri == 0x10)
21      *priority_mask = 0xf0; // guys on first level
21      *priority = 0xf0; // guys on first level
2222   else if (pri == 0x90)
23      *priority_mask = 0xf0; // car doors
23      *priority = 0xf0; // car doors
2424   else if (pri == 0x20)
25      *priority_mask = 0xf0 | 0xcc; // people behind glass on 1st level
25      *priority = 0xf0 | 0xcc; // people behind glass on 1st level
2626   else if (pri == 0xa0)
27      *priority_mask = 0xf0 | 0xcc; // glass on 1st/2nd level
27      *priority = 0xf0 | 0xcc; // glass on 1st/2nd level
2828   else if (pri == 0x40)
29      *priority_mask = 0; // blood splats?
29      *priority = 0; // blood splats?
3030   else if (pri == 0x00)
31      *priority_mask = 0; // gunshots etc
31      *priority = 0; // gunshots etc
3232   else if (pri == 0x30)
33      *priority_mask = 0xf0 | 0xcc | 0xaa; // mask sprites (always in a bad colour, used to do special effects i think
33      *priority = 0xf0 | 0xcc | 0xaa; // mask sprites (always in a bad colour, used to do special effects i think
3434   else
3535   {
3636      popmessage("unknown pri %04x\n", pri);
37      *priority_mask = 0;
37      *priority = 0;
3838   }
3939
4040   *code = (*code & 0x3fff); // | spritebanks[(*code >> 12) & 3];
r30692r30693
106106   m_k056832->tilemap_draw(screen, bitmap, cliprect, 2, K056832_DRAW_FLAG_MIRROR, 2);
107107   m_k056832->tilemap_draw(screen, bitmap, cliprect, 1, K056832_DRAW_FLAG_MIRROR, 4);
108108
109   m_k053244->k053245_sprites_draw_lethal(bitmap, cliprect, screen.priority());
109   m_k053244->sprites_draw_lethal(bitmap, cliprect, screen.priority());
110110
111111   // force "A" layer over top of everything
112112   m_k056832->tilemap_draw(screen, bitmap, cliprect, 0, K056832_DRAW_FLAG_MIRROR, 0);
trunk/src/mame/video/parodius.c
r30692r30693
2222
2323***************************************************************************/
2424
25void parodius_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
25MCFG_K05324X_CB_MEMBER(parodius_state::sprite_callback)
2626{
27   parodius_state *state = machine.driver_data<parodius_state>();
2827   int pri = 0x20 | ((*color & 0x60) >> 2);
29   if (pri <= state->m_layerpri[2])
30      *priority_mask = 0;
31   else if (pri > state->m_layerpri[2] && pri <= state->m_layerpri[1])
32      *priority_mask = 0xf0;
33   else if (pri > state->m_layerpri[1] && pri <= state->m_layerpri[0])
34      *priority_mask = 0xf0 | 0xcc;
28   if (pri <= m_layerpri[2])
29      *priority = 0;
30   else if (pri > m_layerpri[2] && pri <= m_layerpri[1])
31      *priority = 0xf0;
32   else if (pri > m_layerpri[1] && pri <= m_layerpri[0])
33      *priority = 0xf0 | 0xcc;
3534   else
36      *priority_mask = 0xf0 | 0xcc | 0xaa;
35      *priority = 0xf0 | 0xcc | 0xaa;
3736
38   *color = state->m_sprite_colorbase + (*color & 0x1f);
37   *color = m_sprite_colorbase + (*color & 0x1f);
3938}
4039
4140
r30692r30693
7271   m_k052109->tilemap_draw(screen, bitmap, cliprect, layer[1], 0,2);
7372   m_k052109->tilemap_draw(screen, bitmap, cliprect, layer[2], 0,4);
7473
75   m_k053245->k053245_sprites_draw(bitmap, cliprect, screen.priority());
74   m_k053245->sprites_draw(bitmap, cliprect, screen.priority());
7675   return 0;
7776}
trunk/src/mame/video/k053244_k053245.c
r30692r30693
4141
4242const device_type K053244 = &device_creator<k05324x_device>;
4343
44const gfx_layout k05324x_device::spritelayout =
45{
46   16,16,
47   RGN_FRAC(1,1),
48   4,
49   { 24, 16, 8, 0 },
50   { 0, 1, 2, 3, 4, 5, 6, 7,
51      8*32+0, 8*32+1, 8*32+2, 8*32+3, 8*32+4, 8*32+5, 8*32+6, 8*32+7 },
52   { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
53      16*32, 17*32, 18*32, 19*32, 20*32, 21*32, 22*32, 23*32 },
54   128*8
55};
56
57GFXDECODE_MEMBER( k05324x_device::gfxinfo )
58   GFXDECODE_DEVICE(DEVICE_SELF, 0, spritelayout, 0, 128)
59GFXDECODE_END
60
61
4462k05324x_device::k05324x_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
4563   : device_t(mconfig, K053244, "K053244 & 053245 Sprite Generator", tag, owner, clock, "k05324x", __FILE__),
64   device_gfx_interface(mconfig, *this, gfxinfo),
4665   m_ram(NULL),
4766   m_buffer(NULL),
48   m_gfx(NULL),
49   //m_regs[0x10],
67   m_sprite_rom(NULL),
68   m_gfx_tag(NULL),
69   m_dx(0),
70   m_dy(0),
71   m_plane_order(0),
72   m_deinterleave(0),
5073   m_rombank(0),
5174   m_ramsize(0),
52   m_z_rejection(0),
53   m_gfxdecode(*this),
54   m_palette(*this)
55{
75   m_z_rejection(0)
76{   
5677}
5778
58//-------------------------------------------------
59//  static_set_gfxdecode_tag: Set the tag of the
60//  gfx decoder
61//-------------------------------------------------
6279
63void k05324x_device::static_set_gfxdecode_tag(device_t &device, const char *tag)
64{
65   downcast<k05324x_device &>(device).m_gfxdecode.set_tag(tag);
66}
67
6880//-------------------------------------------------
69//  static_set_palette_tag: Set the tag of the
70//  palette device
71//-------------------------------------------------
72
73void k05324x_device::static_set_palette_tag(device_t &device, const char *tag)
74{
75   downcast<k05324x_device &>(device).m_palette.set_tag(tag);
76}
77
78//-------------------------------------------------
79//  device_config_complete - perform any
80//  operations now that the configuration is
81//  complete
82//-------------------------------------------------
83
84void k05324x_device::device_config_complete()
85{
86   // inherit a copy of the static data
87   const k05324x_interface *intf = reinterpret_cast<const k05324x_interface *>(static_config());
88   if (intf != NULL)
89   *static_cast<k05324x_interface *>(this) = *intf;
90
91   // or initialize to defaults if none provided
92   else
93   {
94      m_gfx_memory_region = "";
95      m_gfx_num = 0;
96      m_plane_order = 0;
97      m_dx = 0;
98      m_dy = 0;
99      m_deinterleave = 0;
100      m_callback = NULL;
101   }
102}
103
104//-------------------------------------------------
10581//  device_start - device-specific startup
10682//-------------------------------------------------
10783
10884void k05324x_device::device_start()
10985{
110   UINT32 total;
111   static const gfx_layout spritelayout =
112   {
113      16,16,
114      0,
115      4,
116      { 24, 16, 8, 0 },
117      { 0, 1, 2, 3, 4, 5, 6, 7,
118            8*32+0, 8*32+1, 8*32+2, 8*32+3, 8*32+4, 8*32+5, 8*32+6, 8*32+7 },
119      { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32,
120            16*32, 17*32, 18*32, 19*32, 20*32, 21*32, 22*32, 23*32 },
121      128*8
122   };
86   m_sprite_rom = machine().root_device().memregion(m_gfx_tag)->base();
87   m_sprite_size = machine().root_device().memregion(m_gfx_tag)->bytes();
12388
12489   /* decode the graphics */
90   decode_gfx();
12591   switch (m_plane_order)
12692   {
12793   case NORMAL_PLANE_ORDER:
128      total = machine().root_device().memregion(m_gfx_memory_region)->bytes() / 128;
129      konami_decode_gfx(machine(), m_gfxdecode, m_palette, m_gfx_num, machine().root_device().memregion(m_gfx_memory_region)->base(), total, &spritelayout, 4);
94      {
95         gfx(0)->set_source_and_total(m_sprite_rom, m_sprite_size / 128);
96         gfx(0)->set_colors(palette()->entries() / gfx(0)->depth());
97      }
13098      break;
13199
132100   default:
133101      fatalerror("Unsupported plane_order\n");
134102   }
135103
136   if (VERBOSE && !(m_palette->shadows_enabled()))
104   if (VERBOSE && !(palette()->shadows_enabled()))
137105      popmessage("driver should use VIDEO_HAS_SHADOWS");
138106
139107   /* deinterleave the graphics, if needed */
140   konami_deinterleave_gfx(machine(), m_gfx_memory_region, m_deinterleave);
108   konami_deinterleave_gfx(machine(), m_gfx_tag, m_deinterleave);
141109
142110   m_ramsize = 0x800;
143111
144112   m_z_rejection = -1;
145   m_gfx = m_gfxdecode->gfx(m_gfx_num);
146113   m_ram = auto_alloc_array_clear(machine(), UINT16, m_ramsize / 2);
147
148114   m_buffer = auto_alloc_array_clear(machine(), UINT16, m_ramsize / 2);
149115
116   // bind callbacks
117   m_k05324x_cb.bind_relative_to(*owner());
118
150119   save_pointer(NAME(m_ram), m_ramsize / 2);
151120   save_pointer(NAME(m_buffer), m_ramsize / 2);
152121   save_item(NAME(m_rombank));
r30692r30693
160129
161130void k05324x_device::device_reset()
162131{
163   int i;
164
165132   m_rombank = 0;
166133
167   for (i = 0; i < 0x10; i++)
134   for (int i = 0; i < 0x10; i++)
168135      m_regs[i] = 0;
169136}
170137
r30692r30693
172139    DEVICE HANDLERS
173140*****************************************************************************/
174141
175void k05324x_device::k053245_set_sprite_offs( int offsx, int offsy )
176{
177   m_dx = offsx;
178   m_dy = offsy;
179}
180
181142READ16_MEMBER( k05324x_device::k053245_word_r )
182143{
183144   return m_ram[offset];
r30692r30693
205166      m_ram[offset >> 1] = (m_ram[offset >> 1] & 0x00ff) | (data << 8);
206167}
207168
208void k05324x_device::k053245_clear_buffer( )
169void k05324x_device::clear_buffer()
209170{
210171   int i, e;
211172
r30692r30693
213174      m_buffer[i] = 0;
214175}
215176
216void k05324x_device::k053245_update_buffer( )
177void k05324x_device::update_buffer()
217178{
218179   memcpy(m_buffer, m_ram, m_ramsize);
219180}
r30692r30693
227188      addr = (m_rombank << 19) | ((m_regs[11] & 0x7) << 18)
228189         | (m_regs[8] << 10) | (m_regs[9] << 2)
229190         | ((offset & 3) ^ 1);
230      addr &= machine().root_device().memregion(m_gfx_memory_region)->bytes() - 1;
191      addr &= m_sprite_size - 1;
231192
232193      //  popmessage("%s: offset %02x addr %06x", machine().describe_context(), offset & 3, addr);
233194
234      return machine().root_device().memregion(m_gfx_memory_region)->base()[addr];
195      return m_sprite_rom[addr];
235196   }
236197   else if (offset == 0x06)
237198   {
238      k053245_update_buffer();
199      update_buffer();
239200      return 0;
240201   }
241202   else
r30692r30693
260221      break;
261222
262223   case 0x06:
263      k053245_update_buffer();
224      update_buffer();
264225      break;
265226   }
266227}
r30692r30693
290251      k053244_w(space, offset * 2 + 1, data & 0xff);
291252}
292253
293void k05324x_device::k053244_bankselect( int bank )
254void k05324x_device::bankselect( int bank )
294255{
295256   m_rombank = bank;
296257}
297258
298void k05324x_device::k05324x_set_z_rejection( int zcode )
259void k05324x_device::set_z_rejection( int zcode )
299260{
300261   m_z_rejection = zcode;
301262}
r30692r30693
328289 * The rest of the sprite remains normal.
329290 */
330291
331void k05324x_device::k053245_sprites_draw( bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap )
292void k05324x_device::sprites_draw( bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap )
332293{
333294#define NUM_SPRITES 128
334295   int offs, pri_code, i;
r30692r30693
404365      color = m_buffer[offs + 6] & 0x00ff;
405366      pri = 0;
406367
407      m_callback(machine(), &code, &color, &pri);
368      if (!m_k05324x_cb.isnull())
369         m_k05324x_cb(&code, &color, &pri);
408370
409371      size = (m_buffer[offs] & 0x0f00) >> 8;
410372
r30692r30693
475437      ox -= (zoomx * w) >> 13;
476438      oy -= (zoomy * h) >> 13;
477439
478      drawmode_table[m_gfx->granularity() - 1] = shadow ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
440      drawmode_table[gfx(0)->granularity() - 1] = shadow ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
479441
480442      for (y = 0; y < h; y++)
481443      {
r30692r30693
539501
540502            if (zoomx == 0x10000 && zoomy == 0x10000)
541503            {
542               m_gfx->prio_transtable(bitmap,cliprect,
504               gfx(0)->prio_transtable(bitmap,cliprect,
543505                     c,color,
544506                     fx,fy,
545507                     sx,sy,
r30692r30693
548510            }
549511            else
550512            {
551               m_gfx->prio_zoom_transtable(bitmap,cliprect,
513               gfx(0)->prio_zoom_transtable(bitmap,cliprect,
552514                     c,color,
553515                     fx,fy,
554516                     sx,sy,
r30692r30693
578540
579541/* Lethal Enforcers has 2 of these chips hooked up in parallel to give 6bpp gfx.. let's cheat a
580542  bit and make emulating it a little less messy by using a custom function instead */
581void k05324x_device::k053245_sprites_draw_lethal( bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap )
543void k05324x_device::sprites_draw_lethal( bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap )
582544{
583545#define NUM_SPRITES 128
584546   int offs, pri_code, i;
r30692r30693
654616      color = m_buffer[offs + 6] & 0x00ff;
655617      pri = 0;
656618
657      m_callback(machine(), &code, &color, &pri);
619      if (!m_k05324x_cb.isnull())
620         m_k05324x_cb(&code, &color, &pri);
658621
659622      size = (m_buffer[offs] & 0x0f00) >> 8;
660623
r30692r30693
721684      ox -= (zoomx * w) >> 13;
722685      oy -= (zoomy * h) >> 13;
723686
724      drawmode_table[m_gfxdecode->gfx(0)->granularity() - 1] = shadow ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
687      drawmode_table[gfx(0)->granularity() - 1] = shadow ? DRAWMODE_SHADOW : DRAWMODE_SOURCE;
725688
726689      for (y = 0; y < h; y++)
727690      {
r30692r30693
785748
786749            if (zoomx == 0x10000 && zoomy == 0x10000)
787750            {
788               m_gfxdecode->gfx(0)->prio_transtable(bitmap,cliprect, /* hardcoded to 0 (decoded 6bpp gfx) for le */
751               gfx(0)->prio_transtable(bitmap,cliprect, /* hardcoded to 0 (decoded 6bpp gfx) for le */
789752                     c,color,
790753                     fx,fy,
791754                     sx,sy,
r30692r30693
794757            }
795758            else
796759            {
797               m_gfxdecode->gfx(0)->prio_zoom_transtable(bitmap,cliprect,  /* hardcoded to 0 (decoded 6bpp gfx) for le */
760               gfx(0)->prio_zoom_transtable(bitmap,cliprect,  /* hardcoded to 0 (decoded 6bpp gfx) for le */
798761                     c,color,
799762                     fx,fy,
800763                     sx,sy,
trunk/src/mame/video/k053244_k053245.h
r30692r30693
1/* */
2
31#pragma once
42#ifndef __K053244_K053245_H__
53#define __K053244_K053245_H__
r30692r30693
86
97#define NORMAL_PLANE_ORDER 0x0123
108
11typedef void (*k05324x_callback)(running_machine &machine, int *code, int *color, int *priority);
129
10typedef device_delegate<void (int *code, int *color, int *priority)> k05324x_cb_delegate;
11#define MCFG_K05324X_CB_MEMBER(_name)   void _name(int *code, int *color, int *priority)
1312
14struct k05324x_interface
15{
16   const char         *m_gfx_memory_region;
17   int                m_gfx_num;
18   int                m_plane_order;
19   int                m_dx, m_dy;
20   int                m_deinterleave;
21   k05324x_callback   m_callback;
22};
2313
14#define MCFG_K05324X_CB(_class, _method) \
15   k05324x_device::set_k05324x_callback(*device, k05324x_cb_delegate(&_class::_method, #_class "::" #_method, downcast<_class *>(owner)));
2416
25class k05324x_device : public device_t,
26                              public k05324x_interface
17#define MCFG_K05324X_GFX(_tag) \
18   k05324x_device::set_gfx_tag(*device, _tag);
19
20#define MCFG_K05324X_OFFSETS(_xoffs, _yoffs) \
21   k05324x_device::set_offsets(*device, _xoffs, _yoffs);
22
23#define MCFG_K05324X_ORDER(_order) \
24   k05324x_device::set_plane_order(*device, _order);
25
26#define MCFG_K05324X_DEINTERLEAVE(_deinterleave) \
27   k05324x_device::set_deinterleave(*device, _deinterleave);
28
29
30class k05324x_device : public device_t,
31                     public device_gfx_interface
2732{
2833public:
2934   k05324x_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
3035   ~k05324x_device() {}
3136
37   static const gfx_layout spritelayout;
38   DECLARE_GFXDECODE_MEMBER(gfxinfo);
39
3240   // static configuration
3341   static void static_set_gfxdecode_tag(device_t &device, const char *tag);
3442   static void static_set_palette_tag(device_t &device, const char *tag);
3543
44   static void set_k05324x_callback(device_t &device, k05324x_cb_delegate callback) { downcast<k05324x_device &>(device).m_k05324x_cb = callback; }
45   static void set_gfx_tag(device_t &device, const char *tag) { downcast<k05324x_device &>(device).m_gfx_tag = tag; }
46   static void set_plane_order(device_t &device, int plane_order) { downcast<k05324x_device &>(device).m_plane_order = plane_order; }
47   static void set_deinterleave(device_t &device, int deinterleave) { downcast<k05324x_device &>(device).m_deinterleave = deinterleave; }
48   static void set_offsets(device_t &device, int x_offset, int y_offset)
49   {
50      k05324x_device &dev = downcast<k05324x_device &>(device);
51      dev.m_dx = x_offset;
52      dev.m_dy = y_offset;
53   }
54
3655   DECLARE_READ16_MEMBER( k053245_word_r );
3756   DECLARE_WRITE16_MEMBER( k053245_word_w );
3857   DECLARE_READ8_MEMBER( k053245_r );
r30692r30693
4362   DECLARE_WRITE16_MEMBER( k053244_lsb_w );
4463   DECLARE_READ16_MEMBER( k053244_word_r );
4564   DECLARE_WRITE16_MEMBER( k053244_word_w );
46   void k053244_bankselect(int bank);    /* used by TMNT2, Asterix and Premier Soccer for ROM testing */
47   void k053245_sprites_draw(bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap);
48   void k053245_sprites_draw_lethal(bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap); /* for lethal enforcers */
49   void k053245_clear_buffer();
50   void k053245_update_buffer();
51   void k053245_set_sprite_offs(int offsx, int offsy);
52   void k05324x_set_z_rejection(int zcode); // common to k053244/5
65   void bankselect(int bank);    /* used by TMNT2, Asterix and Premier Soccer for ROM testing */
66   void sprites_draw(bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap);
67   void sprites_draw_lethal(bitmap_ind16 &bitmap, const rectangle &cliprect, bitmap_ind8 &priority_bitmap); /* for lethal enforcers */
68   void clear_buffer();
69   void update_buffer();
70   void set_z_rejection(int zcode); // common to k053244/5
5371
5472protected:
5573   // device-level overrides
56   virtual void device_config_complete();
5774   virtual void device_start();
5875   virtual void device_reset();
76
5977private:
6078   // internal state
6179   UINT16    *m_ram;
6280   UINT16    *m_buffer;
81   UINT8     *m_sprite_rom;
82   UINT32    m_sprite_size;
6383
64   gfx_element *m_gfx;
84   const char *m_gfx_tag;
6585
86   int m_dx, m_dy;
87   int m_plane_order;
88   int m_deinterleave;
89   k05324x_cb_delegate m_k05324x_cb;
90
6691   UINT8    m_regs[0x10];    // 053244
6792   int      m_rombank;       // 053244
6893   int      m_ramsize;
6994   int      m_z_rejection;
7095
71   required_device<gfxdecode_device> m_gfxdecode;
72   required_device<palette_device> m_palette;
73
7496   DECLARE_READ16_MEMBER( k053244_reg_word_r );    // OBJSET0 debug handler
7597};
7698
7799
78
79100extern const device_type K053244;
80
81101#define K053245 K053244
82102
83
84
85#define MCFG_K053244_ADD(_tag, _interface) \
86   MCFG_DEVICE_ADD(_tag, K053244, 0) \
87   MCFG_DEVICE_CONFIG(_interface)
88
89#define MCFG_K053244_GFXDECODE(_gfxtag) \
90   k05324x_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
91
92#define MCFG_K053244_PALETTE(_palette_tag) \
93   k05324x_device::static_set_palette_tag(*device, "^" _palette_tag);
94
95#define MCFG_K053245_ADD(_tag, _interface) \
96   MCFG_DEVICE_ADD(_tag, K053245, 0) \
97   MCFG_DEVICE_CONFIG(_interface)
98
99#define MCFG_K053245_GFXDECODE(_gfxtag) \
100   k05324x_device::static_set_gfxdecode_tag(*device, "^" _gfxtag);
101
102#define MCFG_K053245_PALETTE(_palette_tag) \
103   k05324x_device::static_set_palette_tag(*device, "^" _palette_tag);
104
105103#endif
trunk/src/mame/video/asterix.c
r30692r30693
55static void reset_spritebank( running_machine &machine )
66{
77   asterix_state *state = machine.driver_data<asterix_state>();
8   state->m_k053244->k053244_bankselect(state->m_spritebank & 7);
8   state->m_k053244->bankselect(state->m_spritebank & 7);
99   state->m_spritebanks[0] = (state->m_spritebank << 12) & 0x7000;
1010   state->m_spritebanks[1] = (state->m_spritebank <<  9) & 0x7000;
1111   state->m_spritebanks[2] = (state->m_spritebank <<  6) & 0x7000;
r30692r30693
1818   reset_spritebank(machine());
1919}
2020
21void asterix_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
21MCFG_K05324X_CB_MEMBER(asterix_state::sprite_callback)
2222{
23   asterix_state *state = machine.driver_data<asterix_state>();
2423   int pri = (*color & 0x00e0) >> 2;
25   if (pri <= state->m_layerpri[2])
26      *priority_mask = 0;
27   else if (pri > state->m_layerpri[2] && pri <= state->m_layerpri[1])
28      *priority_mask = 0xf0;
29   else if (pri > state->m_layerpri[1] && pri <= state->m_layerpri[0])
30      *priority_mask = 0xf0 | 0xcc;
24   if (pri <= m_layerpri[2])
25      *priority = 0;
26   else if (pri > m_layerpri[2] && pri <= m_layerpri[1])
27      *priority = 0xf0;
28   else if (pri > m_layerpri[1] && pri <= m_layerpri[0])
29      *priority = 0xf0 | 0xcc;
3130   else
32      *priority_mask = 0xf0 | 0xcc | 0xaa;
33   *color = state->m_sprite_colorbase | (*color & 0x001f);
34   *code = (*code & 0xfff) | state->m_spritebanks[(*code >> 12) & 3];
31      *priority = 0xf0 | 0xcc | 0xaa;
32   *color = m_sprite_colorbase | (*color & 0x001f);
33   *code = (*code & 0xfff) | m_spritebanks[(*code >> 12) & 3];
3534}
3635
3736
r30692r30693
102101
103102/* this isn't supported anymore and it is unsure if still needed; keeping here for reference
104103    pdrawgfx_shadow_lowpri = 1; fix shadows in front of feet */
105   m_k053244->k053245_sprites_draw(bitmap, cliprect, screen.priority());
104   m_k053244->sprites_draw(bitmap, cliprect, screen.priority());
106105
107106   m_k056832->tilemap_draw(screen, bitmap, cliprect, 2, K056832_DRAW_FLAG_MIRROR, 0);
108107   return 0;
trunk/src/mame/video/tmnt.c
r30692r30693
157157
158158***************************************************************************/
159159
160void lgtnfght_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
160MCFG_K05324X_CB_MEMBER(tmnt_state::lgtnfght_sprite_callback)
161161{
162   tmnt_state *state = machine.driver_data<tmnt_state>();
163162   int pri = 0x20 | ((*color & 0x60) >> 2);
164   if (pri <= state->m_layerpri[2])
165      *priority_mask = 0;
166   else if (pri > state->m_layerpri[2] && pri <= state->m_layerpri[1])
167      *priority_mask = 0xf0;
168   else if (pri > state->m_layerpri[1] && pri <= state->m_layerpri[0])
169      *priority_mask = 0xf0 | 0xcc;
163   if (pri <= m_layerpri[2])
164      *priority = 0;
165   else if (pri > m_layerpri[2] && pri <= m_layerpri[1])
166      *priority = 0xf0;
167   else if (pri > m_layerpri[1] && pri <= m_layerpri[0])
168      *priority = 0xf0 | 0xcc;
170169   else
171      *priority_mask = 0xf0 | 0xcc | 0xaa;
170      *priority = 0xf0 | 0xcc | 0xaa;
172171
173   *color = state->m_sprite_colorbase + (*color & 0x1f);
172   *color = m_sprite_colorbase + (*color & 0x1f);
174173}
175174
176void blswhstl_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
175MCFG_K05324X_CB_MEMBER(tmnt_state::blswhstl_sprite_callback)
177176{
178   tmnt_state *state = machine.driver_data<tmnt_state>();
179177#if 0
180if (machine.input().code_pressed(KEYCODE_Q) && (*color & 0x20)) *color = rand();
181if (machine.input().code_pressed(KEYCODE_W) && (*color & 0x40)) *color = rand();
182if (machine.input().code_pressed(KEYCODE_E) && (*color & 0x80)) *color = rand();
178if (machine().input().code_pressed(KEYCODE_Q) && (*color & 0x20)) *color = rand();
179if (machine().input().code_pressed(KEYCODE_W) && (*color & 0x40)) *color = rand();
180if (machine().input().code_pressed(KEYCODE_E) && (*color & 0x80)) *color = rand();
183181#endif
184182   int pri = 0x20 | ((*color & 0x60) >> 2);
185   if (pri <= state->m_layerpri[2])
186      *priority_mask = 0;
187   else if (pri > state->m_layerpri[2] && pri <= state->m_layerpri[1])
188      *priority_mask = 0xf0;
189   else if (pri > state->m_layerpri[1] && pri <= state->m_layerpri[0])
190      *priority_mask = 0xf0 | 0xcc;
183   if (pri <= m_layerpri[2])
184      *priority = 0;
185   else if (pri > m_layerpri[2] && pri <= m_layerpri[1])
186      *priority = 0xf0;
187   else if (pri > m_layerpri[1] && pri <= m_layerpri[0])
188      *priority = 0xf0 | 0xcc;
191189   else
192      *priority_mask = 0xf0 | 0xcc | 0xaa;
190      *priority = 0xf0 | 0xcc | 0xaa;
193191
194   *color = state->m_sprite_colorbase + (*color & 0x1f);
192   *color = m_sprite_colorbase + (*color & 0x1f);
195193}
196194
197void prmrsocr_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
195MCFG_K05324X_CB_MEMBER(tmnt_state::prmrsocr_sprite_callback)
198196{
199   tmnt_state *state = machine.driver_data<tmnt_state>();
200197   int pri = 0x20 | ((*color & 0x60) >> 2);
201   if (pri <= state->m_layerpri[2])
202      *priority_mask = 0;
203   else if (pri > state->m_layerpri[2] && pri <= state->m_layerpri[1])
204      *priority_mask = 0xf0;
205   else if (pri > state->m_layerpri[1] && pri <= state->m_layerpri[0])
206      *priority_mask = 0xf0 | 0xcc;
198   if (pri <= m_layerpri[2])
199      *priority = 0;
200   else if (pri > m_layerpri[2] && pri <= m_layerpri[1])
201      *priority = 0xf0;
202   else if (pri > m_layerpri[1] && pri <= m_layerpri[0])
203      *priority = 0xf0 | 0xcc;
207204   else
208      *priority_mask = 0xf0 | 0xcc | 0xaa;
205      *priority = 0xf0 | 0xcc | 0xaa;
209206
210   *code |= state->m_prmrsocr_sprite_bank << 14;
211
212   *color = state->m_sprite_colorbase + (*color & 0x1f);
207   *code |= m_prmrsocr_sprite_bank << 14;
208   *color = m_sprite_colorbase + (*color & 0x1f);
213209}
214210
215211
r30692r30693
254250
255251VIDEO_START_MEMBER(tmnt_state,lgtnfght)/* also tmnt2, ssriders */
256252{
257   m_k053245->k05324x_set_z_rejection(0);
253   m_k053245->set_z_rejection(0);
258254
259255   m_dim_c = m_dim_v = m_lastdim = m_lasten = 0;
260256
r30692r30693
444440      m_dim_c = data & 0x18;
445441
446442      /* bit 5 selects sprite ROM for testing in TMNT2 (bits 5-7, actually, according to the schematics) */
447      m_k053245->k053244_bankselect(((data & 0x20) >> 5) << 2);
443      m_k053245->bankselect(((data & 0x20) >> 5) << 2);
448444   }
449445}
450446
r30692r30693
477473
478474      /* bit 6 = sprite ROM bank */
479475      m_prmrsocr_sprite_bank = (data & 0x40) >> 6;
480      m_k053245->k053244_bankselect(m_prmrsocr_sprite_bank << 2);
476      m_k053245->bankselect(m_prmrsocr_sprite_bank << 2);
481477
482478      /* bit 7 = 53596 region selector for ROM test */
483479      m_glfgreat_roz_char_bank = (data & 0x80) >> 7;
r30692r30693
613609   m_k052109->tilemap_draw(screen, bitmap, cliprect, m_sorted_layer[1], 0, 2);
614610   m_k052109->tilemap_draw(screen, bitmap, cliprect, m_sorted_layer[2], 0, 4);
615611
616   m_k053245->k053245_sprites_draw(bitmap, cliprect, screen.priority());
612   m_k053245->sprites_draw(bitmap, cliprect, screen.priority());
617613   return 0;
618614}
619615
r30692r30693
679675      m_glfgreat_pixel = bitmap.pix16(0x80, 0x105);
680676   }
681677
682   m_k053245->k053245_sprites_draw(bitmap, cliprect, screen.priority());
678   m_k053245->sprites_draw(bitmap, cliprect, screen.priority());
683679   return 0;
684680}
685681
r30692r30693
779775   // on rising edge
780776   if (state)
781777   {
782      m_k053245->k053245_clear_buffer();
778      m_k053245->clear_buffer();
783779   }
784780}
trunk/src/mame/video/surpratk.c
r30692r30693
2323
2424***************************************************************************/
2525
26void surpratk_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
26MCFG_K05324X_CB_MEMBER(surpratk_state::sprite_callback)
2727{
28   surpratk_state *state = machine.driver_data<surpratk_state>();
2928   int pri = 0x20 | ((*color & 0x60) >> 2);
30   if (pri <= state->m_layerpri[2])
31      *priority_mask = 0;
32   else if (pri > state->m_layerpri[2] && pri <= state->m_layerpri[1])
33      *priority_mask = 0xf0;
34   else if (pri > state->m_layerpri[1] && pri <= state->m_layerpri[0])
35      *priority_mask = 0xf0 | 0xcc;
29   if (pri <= m_layerpri[2])
30      *priority = 0;
31   else if (pri > m_layerpri[2] && pri <= m_layerpri[1])
32      *priority = 0xf0;
33   else if (pri > m_layerpri[1] && pri <= m_layerpri[0])
34      *priority = 0xf0 | 0xcc;
3635   else
37      *priority_mask = 0xf0 | 0xcc | 0xaa;
36      *priority = 0xf0 | 0xcc | 0xaa;
3837
39   *color = state->m_sprite_colorbase + (*color & 0x1f);
38   *color = m_sprite_colorbase + (*color & 0x1f);
4039}
4140
4241
r30692r30693
7372   m_k052109->tilemap_draw(screen, bitmap, cliprect, layer[1], 0, 2);
7473   m_k052109->tilemap_draw(screen, bitmap, cliprect, layer[2], 0, 4);
7574
76   m_k053244->k053245_sprites_draw(bitmap, cliprect, screen.priority());
75   m_k053244->sprites_draw(bitmap, cliprect, screen.priority());
7776   return 0;
7877}
trunk/src/mame/video/rollerg.c
r30692r30693
77
88***************************************************************************/
99
10void rollerg_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
10MCFG_K05324X_CB_MEMBER(rollerg_state::sprite_callback)
1111{
12   rollerg_state *state = machine.driver_data<rollerg_state>();
1312#if 0
14   if (machine.input().code_pressed(KEYCODE_Q) && (*color & 0x80)) *color = rand();
15   if (machine.input().code_pressed(KEYCODE_W) && (*color & 0x40)) *color = rand();
16   if (machine.input().code_pressed(KEYCODE_E) && (*color & 0x20)) *color = rand();
17   if (machine.input().code_pressed(KEYCODE_R) && (*color & 0x10)) *color = rand();
13   if (machine().input().code_pressed(KEYCODE_Q) && (*color & 0x80)) *color = rand();
14   if (machine().input().code_pressed(KEYCODE_W) && (*color & 0x40)) *color = rand();
15   if (machine().input().code_pressed(KEYCODE_E) && (*color & 0x20)) *color = rand();
16   if (machine().input().code_pressed(KEYCODE_R) && (*color & 0x10)) *color = rand();
1817#endif
19   *priority_mask = (*color & 0x10) ? 0 : 0x02;
20   *color = state->m_sprite_colorbase + (*color & 0x0f);
18   *priority = (*color & 0x10) ? 0 : 0x02;
19   *color = m_sprite_colorbase + (*color & 0x0f);
2120}
2221
2322
r30692r30693
6463   screen.priority().fill(0, cliprect);
6564   bitmap.fill(16 * bg_colorbase, cliprect);
6665   m_k051316->zoom_draw(screen, bitmap, cliprect, 0, 1);
67   m_k053244->k053245_sprites_draw(bitmap, cliprect, screen.priority());
66   m_k053244->sprites_draw(bitmap, cliprect, screen.priority());
6867   return 0;
6968}

Previous 199869 Revisions Next


© 1997-2024 The MAME Team