Previous 199869 Revisions Next

r26514 Thursday 5th December, 2013 at 10:52:27 UTC by Alex Jackson
twin16.c: Fixed MT 05383. Fixed dips in vulcan clones. Cleaned up ROM loading. [Alex Jackson]
[src/mame/drivers]twin16.c
[src/mame/includes]twin16.h
[src/mame/video]twin16.c

trunk/src/mame/includes/twin16.h
r26513r26514
7373   void draw_sprites( screen_device &screen, bitmap_ind16 &bitmap );
7474   void draw_layer( screen_device &screen, bitmap_ind16 &bitmap, int opaque );
7575   int twin16_spriteram_process_enable(  );
76   void gfx_untangle(  );
7776   DECLARE_WRITE8_MEMBER(volume_callback);
7877   required_device<cpu_device> m_maincpu;
7978   required_device<cpu_device> m_audiocpu;
trunk/src/mame/video/twin16.c
r26513r26514
6262
6363WRITE16_MEMBER(twin16_state::twin16_video_register_w)
6464{
65   int text_flip;
6566   switch (offset)
6667   {
6768      case 0:
6869         COMBINE_DATA( &m_video_register );
69
70         flip_screen_x_set(m_video_register & TWIN16_SCREEN_FLIPX);
71         flip_screen_y_set(m_video_register & TWIN16_SCREEN_FLIPY);
72
70         text_flip  = (m_video_register&TWIN16_SCREEN_FLIPX) ? TILEMAP_FLIPX : 0;
71         text_flip |= (m_video_register&TWIN16_SCREEN_FLIPY) ? TILEMAP_FLIPY : 0;
72         m_text_tilemap->set_flip(text_flip);
7373         break;
7474
7575      case 1: COMBINE_DATA( &m_scrollx[0] ); break;
r26513r26514
488488
489489VIDEO_START_MEMBER(twin16_state,twin16)
490490{
491   m_gfx_rom = (UINT16 *)memregion("gfx2")->base();
492
491493   m_text_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(twin16_state::get_text_tile_info),this), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
492494   m_text_tilemap->set_transparent_pen(0);
495   m_text_tilemap->set_scrolldx(0, m_screen->width() - 320);
496   m_text_tilemap->set_scrolldy(0, m_screen->height() - 256);
493497
494498   palette_set_shadow_factor(machine(),0.4); // screenshots estimate
495499
r26513r26514
511515
512516UINT32 twin16_state::screen_update_twin16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
513517{
514   int text_flip=0;
515   if (m_video_register&TWIN16_SCREEN_FLIPX) text_flip|=TILEMAP_FLIPX;
516   if (m_video_register&TWIN16_SCREEN_FLIPY) text_flip|=TILEMAP_FLIPY;
517
518518   screen.priority().fill(0, cliprect);
519519   draw_layer( screen, bitmap, 1 );
520520   draw_layer( screen, bitmap, 0 );
521521   draw_sprites( screen, bitmap );
522522
523   if (text_flip) m_text_tilemap->set_flip(text_flip);
524523   m_text_tilemap->draw(screen, bitmap, cliprect, 0, 0);
525524   return 0;
526525}
trunk/src/mame/drivers/twin16.c
r26513r26514
667667
668668MACHINE_RESET_MEMBER(twin16_state,twin16)
669669{
670   ;
670   m_CPUA_register = 0;
671   m_CPUB_register = 0;
671672}
672673
673674MACHINE_START_MEMBER(twin16_state,twin16)
674675{
675   m_CPUA_register=0;
676   m_CPUB_register=0;
677
678676   /* register for savestates */
679677   save_item(NAME(m_CPUA_register));
680678   save_item(NAME(m_CPUB_register));
r26513r26514
707705
708706   MCFG_SCREEN_ADD("screen", RASTER)
709707   MCFG_SCREEN_RAW_PARAMS(XTAL_18_432MHz/2, 576, 0, 40*8, 264, 2*8, 30*8)
710//  MCFG_SCREEN_REFRESH_RATE(((double)XTAL_18_432MHz / 2) / (576 * 264))
711//  MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2062)) // 32 lines
712//  MCFG_SCREEN_SIZE(40*8, 32*8)
713//  MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 2*8, 30*8-1)
714708   MCFG_SCREEN_UPDATE_DRIVER(twin16_state, screen_update_twin16)
715709   MCFG_SCREEN_VBLANK_DRIVER(twin16_state, screen_eof_twin16)
716710
r26513r26514
761755   MCFG_BUFFERED_SPRITERAM16_ADD("spriteram")
762756
763757   MCFG_SCREEN_ADD("screen", RASTER)
764   MCFG_SCREEN_REFRESH_RATE(60)
765   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */) // TODO: using standard twin16 pixel clock makes video to offset from title screen, why?
766   MCFG_SCREEN_SIZE(40*8, 32*8)
767   MCFG_SCREEN_VISIBLE_AREA(0, 40*8-1, 2*8, 30*8-1)
758   MCFG_SCREEN_RAW_PARAMS(XTAL_18_432MHz/2, 576, 0, 40*8, 264, 2*8, 30*8)
768759   MCFG_SCREEN_UPDATE_DRIVER(twin16_state, screen_update_twin16)
769760   MCFG_SCREEN_VBLANK_DRIVER(twin16_state, screen_eof_twin16)
770761
r26513r26514
795786static MACHINE_CONFIG_DERIVED( miaj, twin16 )
796787   MCFG_SCREEN_MODIFY("screen")
797788   MCFG_SCREEN_RAW_PARAMS(XTAL_18_432MHz/2, 576, 1*8, 39*8, 264, 2*8, 30*8)
798//  MCFG_SCREEN_VISIBLE_AREA(1, 39*8-1, 2*8, 30*8-1)
799789MACHINE_CONFIG_END
800790
801791static MACHINE_CONFIG_DERIVED( cuebrickj, twin16 )
802792   MCFG_SCREEN_MODIFY("screen")
803793   MCFG_SCREEN_RAW_PARAMS(XTAL_18_432MHz/2, 576, 1*8, 39*8, 264, 2*8, 30*8)
804//  MCFG_SCREEN_VISIBLE_AREA(1, 39*8-1, 2*8, 30*8-1)
805794   MCFG_NVRAM_ADD_0FILL("nvram")
806795MACHINE_CONFIG_END
807796
r26513r26514
827816   ROM_LOAD( "687_m14.d8", 0x0000, 0x4000, CRC(d7338557) SHA1(9b384baafabaab3888a0139674f0b530303684ca) ) /* Title screen graphics & characters */
828817
829818   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
830   ROM_LOAD16_WORD_SWAP( "687i17.p16", 0x000000, 0x80000, CRC(66cb3923) SHA1(3c1fc1dff77201cf8d8c4594c965695066c1701c) )
831   ROM_LOAD16_WORD_SWAP( "687i18.p18", 0x080000, 0x80000, CRC(a1c7d0db) SHA1(901bc6e1982b9a8c2150a802995256d0168cc605) )
832   ROM_LOAD16_WORD_SWAP( "687i15.p13", 0x100000, 0x80000, CRC(eec8c5b2) SHA1(c400dd8c7bb85d233815572acd547acf626e4c73) )
833   ROM_LOAD16_WORD_SWAP( "687i16.p15", 0x180000, 0x80000, CRC(746cf48b) SHA1(8f51df931b1de928f402f51bbaf02e37dfec1d6d) )
819   ROM_LOAD32_WORD_SWAP( "687i15.p13", 0x000000, 0x80000, CRC(eec8c5b2) SHA1(c400dd8c7bb85d233815572acd547acf626e4c73) )
820   ROM_LOAD32_WORD_SWAP( "687i17.p16", 0x000002, 0x80000, CRC(66cb3923) SHA1(3c1fc1dff77201cf8d8c4594c965695066c1701c) )
821   ROM_LOAD32_WORD_SWAP( "687i16.p15", 0x100000, 0x80000, CRC(746cf48b) SHA1(8f51df931b1de928f402f51bbaf02e37dfec1d6d) )
822   ROM_LOAD32_WORD_SWAP( "687i18.p18", 0x100002, 0x80000, CRC(a1c7d0db) SHA1(901bc6e1982b9a8c2150a802995256d0168cc605) )
834823
835824   ROM_REGION16_BE( 0x20000, "gfx3", 0 )   // tile data; mapped at 0x80000 on CPUB
836825   ROM_LOAD16_BYTE( "687_l11.10r", 0x00000, 0x10000, CRC(399deee8) SHA1(dcc65e95f28ae4e9b671e70ce0bd5ba0fe178506) )
r26513r26514
863852   ROM_LOAD( "687_l14.d8", 0x0000, 0x4000, CRC(20ecccd6) SHA1(b8ac3186de5ea81ae1c64b9511b7a0718aabab48) ) /* Title screen graphics & characters */
864853
865854   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
866   ROM_LOAD16_WORD_SWAP( "687i17.p16", 0x000000, 0x80000, CRC(66cb3923) SHA1(3c1fc1dff77201cf8d8c4594c965695066c1701c) )
867   ROM_LOAD16_WORD_SWAP( "687i18.p18", 0x080000, 0x80000, CRC(a1c7d0db) SHA1(901bc6e1982b9a8c2150a802995256d0168cc605) )
868   ROM_LOAD16_WORD_SWAP( "687i15.p13", 0x100000, 0x80000, CRC(eec8c5b2) SHA1(c400dd8c7bb85d233815572acd547acf626e4c73) )
869   ROM_LOAD16_WORD_SWAP( "687i16.p15", 0x180000, 0x80000, CRC(746cf48b) SHA1(8f51df931b1de928f402f51bbaf02e37dfec1d6d) )
855   ROM_LOAD32_WORD_SWAP( "687i15.p13", 0x000000, 0x80000, CRC(eec8c5b2) SHA1(c400dd8c7bb85d233815572acd547acf626e4c73) )
856   ROM_LOAD32_WORD_SWAP( "687i17.p16", 0x000002, 0x80000, CRC(66cb3923) SHA1(3c1fc1dff77201cf8d8c4594c965695066c1701c) )
857   ROM_LOAD32_WORD_SWAP( "687i16.p15", 0x100000, 0x80000, CRC(746cf48b) SHA1(8f51df931b1de928f402f51bbaf02e37dfec1d6d) )
858   ROM_LOAD32_WORD_SWAP( "687i18.p18", 0x100002, 0x80000, CRC(a1c7d0db) SHA1(901bc6e1982b9a8c2150a802995256d0168cc605) )
870859
871860   ROM_REGION16_BE( 0x20000, "gfx3", 0 )   // tile data; mapped at 0x80000 on CPUB
872861   ROM_LOAD16_BYTE( "687_l11.10r", 0x00000, 0x10000, CRC(399deee8) SHA1(dcc65e95f28ae4e9b671e70ce0bd5ba0fe178506) )
r26513r26514
899888   ROM_LOAD( "687_n14.d8", 0x0000, 0x4000, CRC(c76ac6d2) SHA1(d8fec255f1f7177a3716a5894fb679cbe172b6ea) ) /* Title screen graphics & characters */
900889
901890   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
902   ROM_LOAD16_WORD_SWAP( "687i17.p16", 0x000000, 0x80000, CRC(66cb3923) SHA1(3c1fc1dff77201cf8d8c4594c965695066c1701c) )
903   ROM_LOAD16_WORD_SWAP( "687i18.p18", 0x080000, 0x80000, CRC(a1c7d0db) SHA1(901bc6e1982b9a8c2150a802995256d0168cc605) )
904   ROM_LOAD16_WORD_SWAP( "687i15.p13", 0x100000, 0x80000, CRC(eec8c5b2) SHA1(c400dd8c7bb85d233815572acd547acf626e4c73) )
905   ROM_LOAD16_WORD_SWAP( "687i16.p15", 0x180000, 0x80000, CRC(746cf48b) SHA1(8f51df931b1de928f402f51bbaf02e37dfec1d6d) )
891   ROM_LOAD32_WORD_SWAP( "687i15.p13", 0x000000, 0x80000, CRC(eec8c5b2) SHA1(c400dd8c7bb85d233815572acd547acf626e4c73) )
892   ROM_LOAD32_WORD_SWAP( "687i17.p16", 0x000002, 0x80000, CRC(66cb3923) SHA1(3c1fc1dff77201cf8d8c4594c965695066c1701c) )
893   ROM_LOAD32_WORD_SWAP( "687i16.p15", 0x100000, 0x80000, CRC(746cf48b) SHA1(8f51df931b1de928f402f51bbaf02e37dfec1d6d) )
894   ROM_LOAD32_WORD_SWAP( "687i18.p18", 0x100002, 0x80000, CRC(a1c7d0db) SHA1(901bc6e1982b9a8c2150a802995256d0168cc605) )
906895
907896   ROM_REGION16_BE( 0x20000, "gfx3", 0 )   // tile data; mapped at 0x80000 on CPUB
908897   ROM_LOAD16_BYTE( "687_l11.10r", 0x00000, 0x10000, CRC(399deee8) SHA1(dcc65e95f28ae4e9b671e70ce0bd5ba0fe178506) )
r26513r26514
935924   ROM_LOAD( "785_h14.d8", 0x0000, 0x4000, CRC(02f4b16f) SHA1(45addc99f520770f38c6aa69aef9af59cfc410b5) ) /* Title screen graphics & characters */
936925
937926   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
938   ROM_LOAD16_WORD_SWAP( "785f17.p16", 0x000000, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
939   ROM_LOAD16_WORD_SWAP( "785f18.p18", 0x080000, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
940   ROM_LOAD16_WORD_SWAP( "785f15.p13", 0x100000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
941   ROM_LOAD16_WORD_SWAP( "785f16.p15", 0x180000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
927   ROM_LOAD32_WORD_SWAP( "785f15.p13", 0x000000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
928   ROM_LOAD32_WORD_SWAP( "785f17.p16", 0x000002, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
929   ROM_LOAD32_WORD_SWAP( "785f16.p15", 0x100000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
930   ROM_LOAD32_WORD_SWAP( "785f18.p18", 0x100002, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
942931
943932   ROM_REGION( 0x20000, "gfx3", ROMREGION_ERASE00 )    // tile data; mapped at 0x80000 on CPUB
944933
r26513r26514
969958   ROM_LOAD( "785_h14.d8", 0x0000, 0x4000, CRC(02f4b16f) SHA1(45addc99f520770f38c6aa69aef9af59cfc410b5) ) /* Title screen graphics & characters */
970959
971960   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
972   ROM_LOAD16_WORD_SWAP( "785f17.p16", 0x000000, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
973   ROM_LOAD16_WORD_SWAP( "785f18.p18", 0x080000, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
974   ROM_LOAD16_WORD_SWAP( "785f15.p13", 0x100000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
975   ROM_LOAD16_WORD_SWAP( "785f16.p15", 0x180000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
961   ROM_LOAD32_WORD_SWAP( "785f15.p13", 0x000000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
962   ROM_LOAD32_WORD_SWAP( "785f17.p16", 0x000002, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
963   ROM_LOAD32_WORD_SWAP( "785f16.p15", 0x100000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
964   ROM_LOAD32_WORD_SWAP( "785f18.p18", 0x100002, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
976965
977966   ROM_REGION( 0x20000, "gfx3", ROMREGION_ERASE00 )    // tile data; mapped at 0x80000 on CPUB
978967
r26513r26514
1003992   ROM_LOAD( "785_h14.d8", 0x0000, 0x4000, CRC(02f4b16f) SHA1(45addc99f520770f38c6aa69aef9af59cfc410b5) ) /* Title screen graphics & characters */
1004993
1005994   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
1006   ROM_LOAD16_WORD_SWAP( "785f17.p16", 0x000000, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
1007   ROM_LOAD16_WORD_SWAP( "785f18.p18", 0x080000, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
1008   ROM_LOAD16_WORD_SWAP( "785f15.p13", 0x100000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
1009   ROM_LOAD16_WORD_SWAP( "785f16.p15", 0x180000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
995   ROM_LOAD32_WORD_SWAP( "785f15.p13", 0x000000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
996   ROM_LOAD32_WORD_SWAP( "785f17.p16", 0x000002, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
997   ROM_LOAD32_WORD_SWAP( "785f16.p15", 0x100000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
998   ROM_LOAD32_WORD_SWAP( "785f18.p18", 0x100002, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
1010999
10111000   ROM_REGION( 0x20000, "gfx3", ROMREGION_ERASE00 )    // tile data; mapped at 0x80000 on CPUB
10121001
r26513r26514
10371026   ROM_LOAD( "785_g14.d8", 0x0000, 0x4000, CRC(9dcdad9d) SHA1(22f457408b453a71b7e91974aee1b1e735ff887f) ) /* Title screen graphics & characters */
10381027
10391028   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
1040   ROM_LOAD16_WORD_SWAP( "785f17.p16", 0x000000, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
1041   ROM_LOAD16_WORD_SWAP( "785f18.p18", 0x080000, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
1042   ROM_LOAD16_WORD_SWAP( "785f15.p13", 0x100000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
1043   ROM_LOAD16_WORD_SWAP( "785f16.p15", 0x180000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
1029   ROM_LOAD32_WORD_SWAP( "785f15.p13", 0x000000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
1030   ROM_LOAD32_WORD_SWAP( "785f17.p16", 0x000002, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
1031   ROM_LOAD32_WORD_SWAP( "785f16.p15", 0x100000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
1032   ROM_LOAD32_WORD_SWAP( "785f18.p18", 0x100002, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
10441033
10451034   ROM_REGION( 0x20000, "gfx3", ROMREGION_ERASE00 )    // tile data; mapped at 0x80000 on CPUB
10461035
r26513r26514
10711060   ROM_LOAD( "785_g14.d8", 0x0000, 0x4000, CRC(9dcdad9d) SHA1(22f457408b453a71b7e91974aee1b1e735ff887f) ) /* Title screen graphics & characters */
10721061
10731062   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
1074   ROM_LOAD16_WORD_SWAP( "785f17.p16", 0x000000, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
1075   ROM_LOAD16_WORD_SWAP( "785f18.p18", 0x080000, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
1076   ROM_LOAD16_WORD_SWAP( "785f15.p13", 0x100000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
1077   ROM_LOAD16_WORD_SWAP( "785f16.p15", 0x180000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
1063   ROM_LOAD32_WORD_SWAP( "785f15.p13", 0x000000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
1064   ROM_LOAD32_WORD_SWAP( "785f17.p16", 0x000002, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
1065   ROM_LOAD32_WORD_SWAP( "785f16.p15", 0x100000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
1066   ROM_LOAD32_WORD_SWAP( "785f18.p18", 0x100002, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
10781067
10791068   ROM_REGION( 0x20000, "gfx3", ROMREGION_ERASE00 )    // tile data; mapped at 0x80000 on CPUB
10801069
r26513r26514
11051094   ROM_LOAD( "785_g14.d8", 0x0000, 0x4000, CRC(9dcdad9d) SHA1(22f457408b453a71b7e91974aee1b1e735ff887f) ) /* Title screen graphics & characters */
11061095
11071096   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
1108   ROM_LOAD16_WORD_SWAP( "785f17.p16", 0x000000, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
1109   ROM_LOAD16_WORD_SWAP( "785f18.p18", 0x080000, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
1110   ROM_LOAD16_WORD_SWAP( "785f15.p13", 0x100000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
1111   ROM_LOAD16_WORD_SWAP( "785f16.p15", 0x180000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
1097   ROM_LOAD32_WORD_SWAP( "785f15.p13", 0x000000, 0x80000, CRC(5bd239ac) SHA1(9c96f6069d06a1d80c04650ed56bc5e1508db657) )
1098   ROM_LOAD32_WORD_SWAP( "785f17.p16", 0x000002, 0x80000, CRC(4e7a7b82) SHA1(520b5ebd400954042d55cf243842a6d6b6d10210) )
1099   ROM_LOAD32_WORD_SWAP( "785f16.p15", 0x100000, 0x80000, CRC(95c6b8a3) SHA1(0a906af72d08993fd83f23d72ffb919801aa17af) )
1100   ROM_LOAD32_WORD_SWAP( "785f18.p18", 0x100002, 0x80000, CRC(3f604e9a) SHA1(c5e0b6f6dd506209e8c07cbae89c821828f488ff) )
11121101
11131102   ROM_REGION( 0x20000, "gfx3", ROMREGION_ERASE00 )    // tile data; mapped at 0x80000 on CPUB
11141103
r26513r26514
11311120   ROM_LOAD( "870_f14.d8", 0x0000, 0x4000, CRC(c9b46615) SHA1(c0cddb1af47b8e0865055624cf4e89a111ac1b0f) ) /* Title screen graphics & characters */
11321121
11331122   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
1134   ROM_LOAD16_WORD_SWAP( "870c18.p18", 0x000000, 0x80000, CRC(07927fe8) SHA1(0ab5e0e785347fbed5c4b930a32876d6ce2bef4a) )
1135   ROM_LOAD16_WORD_SWAP( "870c17.p16", 0x080000, 0x80000, CRC(2bc99ff8) SHA1(9a06502317a71ca5662b79aedf47379b8e5434a9) )
1136   ROM_LOAD16_WORD_SWAP( "870c16.p15", 0x100000, 0x80000, CRC(41df6a1b) SHA1(32e0fdeb53628d18adde851e4496dd01ac6ec68f) )
1137   ROM_LOAD16_WORD_SWAP( "870c15.p13", 0x180000, 0x80000, CRC(8c9281df) SHA1(5e3d80be414db108d5363d0ea1b74021ba942c33) )
1123   ROM_LOAD32_WORD_SWAP( "870c16.p15", 0x000000, 0x80000, CRC(41df6a1b) SHA1(32e0fdeb53628d18adde851e4496dd01ac6ec68f) )
1124   ROM_LOAD32_WORD_SWAP( "870c18.p18", 0x000002, 0x80000, CRC(07927fe8) SHA1(0ab5e0e785347fbed5c4b930a32876d6ce2bef4a) )
1125   ROM_LOAD32_WORD_SWAP( "870c15.p13", 0x100000, 0x80000, CRC(8c9281df) SHA1(5e3d80be414db108d5363d0ea1b74021ba942c33) )
1126   ROM_LOAD32_WORD_SWAP( "870c17.p16", 0x100002, 0x80000, CRC(2bc99ff8) SHA1(9a06502317a71ca5662b79aedf47379b8e5434a9) )
11381127
11391128   ROM_REGION( 0x20000, "k007232", 0 )  // samples
11401129   ROM_LOAD( "870_c01.5a", 0x00000, 0x20000, CRC(6af96546) SHA1(63b49b28c0f2ef8f52bc4c5955ad6a633dd553cf) )
r26513r26514
11551144   ROM_LOAD( "870_f14.d8", 0x0000, 0x4000, CRC(c9b46615) SHA1(c0cddb1af47b8e0865055624cf4e89a111ac1b0f) ) /* Title screen graphics & characters */
11561145
11571146   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
1158   ROM_LOAD16_WORD_SWAP( "870c18.p18", 0x000000, 0x80000, CRC(07927fe8) SHA1(0ab5e0e785347fbed5c4b930a32876d6ce2bef4a) )
1159   ROM_LOAD16_WORD_SWAP( "870c17.p16", 0x080000, 0x80000, CRC(2bc99ff8) SHA1(9a06502317a71ca5662b79aedf47379b8e5434a9) )
1160   ROM_LOAD16_WORD_SWAP( "870c16.p15", 0x100000, 0x80000, CRC(41df6a1b) SHA1(32e0fdeb53628d18adde851e4496dd01ac6ec68f) )
1161   ROM_LOAD16_WORD_SWAP( "870c15.p13", 0x180000, 0x80000, CRC(8c9281df) SHA1(5e3d80be414db108d5363d0ea1b74021ba942c33) )
1147   ROM_LOAD32_WORD_SWAP( "870c16.p15", 0x000000, 0x80000, CRC(41df6a1b) SHA1(32e0fdeb53628d18adde851e4496dd01ac6ec68f) )
1148   ROM_LOAD32_WORD_SWAP( "870c18.p18", 0x000002, 0x80000, CRC(07927fe8) SHA1(0ab5e0e785347fbed5c4b930a32876d6ce2bef4a) )
1149   ROM_LOAD32_WORD_SWAP( "870c15.p13", 0x100000, 0x80000, CRC(8c9281df) SHA1(5e3d80be414db108d5363d0ea1b74021ba942c33) )
1150   ROM_LOAD32_WORD_SWAP( "870c17.p16", 0x100002, 0x80000, CRC(2bc99ff8) SHA1(9a06502317a71ca5662b79aedf47379b8e5434a9) )
11621151
11631152   ROM_REGION( 0x20000, "k007232", 0 )  // samples
11641153   ROM_LOAD( "870_c01.5a", 0x00000, 0x20000, CRC(6af96546) SHA1(63b49b28c0f2ef8f52bc4c5955ad6a633dd553cf) )
r26513r26514
11851174   ROM_LOAD( "870_f14.d8", 0x0000, 0x4000, CRC(c9b46615) SHA1(c0cddb1af47b8e0865055624cf4e89a111ac1b0f) ) /* Title screen graphics & characters */
11861175
11871176   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
1188   ROM_LOAD16_WORD_SWAP( "870c17.p16", 0x000000, 0x80000, CRC(2bc99ff8) SHA1(9a06502317a71ca5662b79aedf47379b8e5434a9) )
1189   ROM_LOAD16_WORD_SWAP( "870c18.p18", 0x080000, 0x80000, CRC(07927fe8) SHA1(0ab5e0e785347fbed5c4b930a32876d6ce2bef4a) )
1190   ROM_LOAD16_WORD_SWAP( "870c15.p13", 0x100000, 0x80000, CRC(8c9281df) SHA1(5e3d80be414db108d5363d0ea1b74021ba942c33) )
1191   ROM_LOAD16_WORD_SWAP( "870c16.p15", 0x180000, 0x80000, CRC(41df6a1b) SHA1(32e0fdeb53628d18adde851e4496dd01ac6ec68f) )
1177   ROM_LOAD32_WORD_SWAP( "870c15.p13", 0x000000, 0x80000, CRC(8c9281df) SHA1(5e3d80be414db108d5363d0ea1b74021ba942c33) )
1178   ROM_LOAD32_WORD_SWAP( "870c17.p16", 0x000002, 0x80000, CRC(2bc99ff8) SHA1(9a06502317a71ca5662b79aedf47379b8e5434a9) )
1179   ROM_LOAD32_WORD_SWAP( "870c16.p15", 0x100000, 0x80000, CRC(41df6a1b) SHA1(32e0fdeb53628d18adde851e4496dd01ac6ec68f) )
1180   ROM_LOAD32_WORD_SWAP( "870c18.p18", 0x100002, 0x80000, CRC(07927fe8) SHA1(0ab5e0e785347fbed5c4b930a32876d6ce2bef4a) )
11921181
11931182   ROM_REGION( 0x20000, "gfx3", ROMREGION_ERASE00 )    // tile data; mapped at 0x80000 on CPUB
11941183
r26513r26514
12191208   ROM_LOAD("808_e14.d8", 0x0000, 0x4000, CRC(b9d36525) SHA1(53291c4911d7e1a5110539e4c57a11d0d530dc6f) ) /* Title screen graphics & characters */
12201209
12211210   ROM_REGION16_BE( 0x200000, "gfx2", 0 )  // gfx data used at runtime
1222   ROM_LOAD16_WORD_SWAP("808d17.p16", 0x000000, 0x80000, CRC(d1299082) SHA1(c3c07b0517e7428ccd1cdf9e15aaf16d98e7c4cd) )
1223   ROM_LOAD16_WORD_SWAP("808d15.p13", 0x100000, 0x80000, CRC(2b22a6b6) SHA1(8e1af0627a4eac045128c4096e2cfb59c3d2f5ef) )
1211   ROM_LOAD32_WORD_SWAP("808d15.p13", 0x000000, 0x80000, CRC(2b22a6b6) SHA1(8e1af0627a4eac045128c4096e2cfb59c3d2f5ef) )
1212   ROM_LOAD32_WORD_SWAP("808d17.p16", 0x000002, 0x80000, CRC(d1299082) SHA1(c3c07b0517e7428ccd1cdf9e15aaf16d98e7c4cd) )
12241213
12251214   ROM_REGION( 0x20000, "gfx3", ROMREGION_ERASE00 )    // tile data; mapped at 0x80000 on CPUB
12261215
r26513r26514
12651254
12661255/* Driver Initialization */
12671256
1268void twin16_state::gfx_untangle(  )
1269{
1270   // sprite, tile data
1271   int i;
1272   UINT16 *temp = auto_alloc_array(machine(), UINT16, 0x200000/2);
1273
1274   m_gfx_rom = (UINT16 *)memregion("gfx2")->base();
1275   memcpy( temp, m_gfx_rom, 0x200000 );
1276
1277   for( i=0; i<0x080000; i++ )
1278   {
1279      m_gfx_rom[i*2+0] = temp[i+0x080000];
1280      m_gfx_rom[i*2+1] = temp[i];
1281   }
1282   auto_free( machine(), temp );
1283}
1284
12851257DRIVER_INIT_MEMBER(twin16_state,twin16)
12861258{
1287   gfx_untangle();
12881259   m_custom_video = 0;
12891260}
12901261
12911262DRIVER_INIT_MEMBER(twin16_state,fround)
12921263{
1293   gfx_untangle();
12941264   m_custom_video = 1;
12951265}
12961266
12971267DRIVER_INIT_MEMBER(twin16_state,cuebrickj)
12981268{
1299   gfx_untangle();
13001269   m_custom_video = 0;
13011270   machine().device<nvram_device>("nvram")->set_base(m_cuebrickj_nvram, 0x400*0x20);
13021271}
r26513r26514
13081277GAME( 1987, majuu,     devilw,   devilw,    devilw, twin16_state,    twin16,    ROT0,   "Konami", "Majuu no Ohkoku", GAME_SUPPORTS_SAVE )
13091278GAME( 1987, darkadv,   devilw,   devilw,    darkadv, twin16_state,   twin16,    ROT0,   "Konami", "Dark Adventure", GAME_SUPPORTS_SAVE )
13101279GAME( 1988, vulcan,    0,        twin16,    vulcan, twin16_state,    twin16,    ROT0,   "Konami", "Vulcan Venture (New)", GAME_SUPPORTS_SAVE )
1311GAME( 1988, vulcana,   vulcan,   twin16,    gradius2, twin16_state,  twin16,    ROT0,   "Konami", "Vulcan Venture (Old)", GAME_SUPPORTS_SAVE )
1312GAME( 1988, vulcanb,   vulcan,   twin16,    gradius2, twin16_state,  twin16,    ROT0,   "Konami", "Vulcan Venture (Oldest)", GAME_SUPPORTS_SAVE )
1280GAME( 1988, vulcana,   vulcan,   twin16,    vulcan, twin16_state,    twin16,    ROT0,   "Konami", "Vulcan Venture (Old)", GAME_SUPPORTS_SAVE )
1281GAME( 1988, vulcanb,   vulcan,   twin16,    vulcan, twin16_state,    twin16,    ROT0,   "Konami", "Vulcan Venture (Oldest)", GAME_SUPPORTS_SAVE )
13131282GAME( 1988, gradius2,  vulcan,   twin16,    gradius2, twin16_state,  twin16,    ROT0,   "Konami", "Gradius II - GOFER no Yabou (Japan New Ver.)", GAME_SUPPORTS_SAVE )
13141283GAME( 1988, gradius2a, vulcan,   twin16,    vulcan, twin16_state,    twin16,    ROT0,   "Konami", "Gradius II - GOFER no Yabou (Japan Old Ver.)", GAME_SUPPORTS_SAVE )
13151284GAME( 1988, gradius2b, vulcan,   twin16,    vulcan, twin16_state,    twin16,    ROT0,   "Konami", "Gradius II - GOFER no Yabou (Japan Older Ver.)", GAME_SUPPORTS_SAVE )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team