trunk/src/mame/drivers/neodrvr.c
| r18704 | r18705 | |
| 7992 | 7992 | ROM_LOAD16_BYTE( "232-c6.c6", 0x2000001, 0x400000, CRC(4ff4d47b) SHA1(4d5689ede24a5fe4330bd85d4d3f4eb2795308bb) ) /* Plane 2,3 */ /* TC5332205 */ |
| 7993 | 7993 | ROM_END |
| 7994 | 7994 | |
| 7995 | ROM_START( kof97oro ) |
| 7996 | ROM_REGION( 0x500000, "maincpu", 0 ) |
| 7997 | ROM_LOAD16_WORD_SWAP( "orochi-p1.bin", 0x0000000, 0x100000, CRC(6dcb2946) SHA1(3ccb3fdf3d32a75c7fcfefff5db1f3c75054731f) ) |
| 7998 | ROM_LOAD16_WORD_SWAP( "orochi-p21.bin", 0x0200000, 0x100000, CRC(6e1c4d8c) SHA1(f514638a599a8a582c5f4df72f6a957bab776b7e) ) |
| 7999 | ROM_CONTINUE( 0x100000, 0x100000 ) |
| 8000 | ROM_LOAD16_WORD_SWAP( "orochi-p29.bin", 0x0400000, 0x100000, CRC(4c7c0221) SHA1(fdd05927743cb12210b74768155bb3f59bff01b5) ) |
| 8001 | ROM_CONTINUE( 0x300000, 0x100000 ) |
| 8002 | |
| 8003 | NEO_SFIX_128K( "orochi-s1.bin", CRC(4ee2149a) SHA1(180a1a90021031eac1a643b769d9cdeda56518f5) ) |
| 8004 | |
| 8005 | NEO_BIOS_AUDIO_128K( "orochi-m1.bin", CRC(45348747) SHA1(ed77cbae2b208d1177a9f5f6e8cd57070e90b65b) ) |
| 8006 | |
| 8007 | ROM_REGION( 0xc00000, "ymsnd", 0 ) |
| 8008 | ROM_LOAD( "orochi-v1.bin", 0x000000, 0x0400000, CRC(22a2b5b5) SHA1(ebdbc977332e6d93e266755000b43857e0082965) ) |
| 8009 | ROM_LOAD( "orochi-v2.bin", 0x400000, 0x0400000, CRC(2304e744) SHA1(98d283e2bcc9291a53f52afd35ef76dfb0828432) ) |
| 8010 | ROM_LOAD( "orochi-v3.bin", 0x800000, 0x0400000, CRC(759eb954) SHA1(54e77c4e9e6b89458e59824e478ddc33a9c72655) ) |
| 8011 | |
| 8012 | NO_DELTAT_REGION |
| 8013 | |
| 8014 | ROM_REGION( 0x2800000, "sprites", 0 ) |
| 8015 | // The C1 and C2 here are reconstructed but very likely to be correct. |
| 8016 | ROM_LOAD16_BYTE( "orochi-c1.bin", 0x0000000, 0x1000000, BAD_DUMP CRC(f13e841c) SHA1(e24b3fb5f7e1c1f4752cad382c264f5f93e737a0) ) /* Plane 0,1 */ |
| 8017 | ROM_LOAD16_BYTE( "orochi-c2.bin", 0x0000001, 0x1000000, BAD_DUMP CRC(2db1f6d3) SHA1(13d957c04bd69f0db140e4633c39db4a9e44eab8) ) /* Plane 2,3 */ |
| 8018 | ROM_LOAD16_BYTE( "orochi-c51.bin", 0x2000000, 0x0200000, CRC(a90340cb) SHA1(97eaa89f0e860e2c591ca3a995fd910d8116347d) ) /* Plane 0,1 */ |
| 8019 | ROM_LOAD16_BYTE( "orochi-c61.bin", 0x2000001, 0x0200000, CRC(188e351a) SHA1(ab724250bc07ace0873fc825b798ace934260988) ) /* Plane 2,3 */ |
| 8020 | ROM_LOAD16_BYTE( "orochi-c52.bin", 0x2400000, 0x0200000, CRC(d4eec50a) SHA1(0930cce5346fbbd5c1524f9148d0577cbe634420) ) /* Plane 0,1 */ |
| 8021 | ROM_LOAD16_BYTE( "orochi-c62.bin", 0x2400001, 0x0200000, CRC(031b1ad5) SHA1(d47b3452953b553348be0a55473b863ce2872f6e) ) /* Plane 2,3 */ |
| 8022 | ROM_END |
| 8023 | |
| 7995 | 8024 | ROM_START( kog ) |
| 7996 | 8025 | ROM_REGION( 0x600000, "maincpu", 0 ) |
| 7997 | 8026 | ROM_LOAD16_WORD_SWAP( "5232-p1.bin", 0x000000, 0x200000, CRC(d2413ec6) SHA1(c0bf409d1e714cba5fdc6f79e4c2aec805316634) ) |
| r18704 | r18705 | |
| 9812 | 9841 | DRIVER_INIT_CALL(neogeo); |
| 9813 | 9842 | } |
| 9814 | 9843 | |
| 9844 | DRIVER_INIT_MEMBER(neogeo_state,kof97oro) |
| 9845 | { |
| 9846 | kof97oro_px_decode(machine()); |
| 9847 | neogeo_bootleg_sx_decrypt(machine(), 1); |
| 9848 | neogeo_bootleg_cx_decrypt(machine()); |
| 9849 | DRIVER_INIT_CALL(neogeo); |
| 9850 | } |
| 9851 | |
| 9815 | 9852 | DRIVER_INIT_MEMBER(neogeo_state,kog) |
| 9816 | 9853 | { |
| 9817 | 9854 | /* overlay cartridge ROM */ |
| r18704 | r18705 | |
| 9921 | 9958 | if(strcmp(crypt_feature,"mslugx_prot") == 0) { DRIVER_INIT_CALL(mslugx); } |
| 9922 | 9959 | else if(strcmp(crypt_feature,"fatfury2_prot") == 0) { DRIVER_INIT_CALL(fatfury2); } |
| 9923 | 9960 | else if(strcmp(crypt_feature,"kog_prot") == 0) { DRIVER_INIT_CALL(kog); } |
| 9961 | else if(strcmp(crypt_feature,"kof97oro_prot") == 0) { DRIVER_INIT_CALL(kof97oro); } |
| 9924 | 9962 | else if(strcmp(crypt_feature,"kof98_prot") == 0) { DRIVER_INIT_CALL(kof98); } |
| 9925 | 9963 | else if(strcmp(crypt_feature,"kof99_prot") == 0) { DRIVER_INIT_CALL(kof99); } |
| 9926 | 9964 | else if(strcmp(crypt_feature,"kof99k_prot") == 0) { DRIVER_INIT_CALL(kof99k); } |
| r18704 | r18705 | |
| 10069 | 10107 | GAME( 1997, kof97h, kof97, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '97 (NGH-2320)", GAME_SUPPORTS_SAVE ) |
| 10070 | 10108 | GAME( 1997, kof97k, kof97, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The King of Fighters '97 (Korean release)", GAME_SUPPORTS_SAVE ) |
| 10071 | 10109 | GAME( 1997, kof97pls, kof97, neogeo, neogeo, neogeo_state, neogeo, ROT0, "bootleg", "The King of Fighters '97 Plus (bootleg)", GAME_SUPPORTS_SAVE ) |
| 10072 | | GAME( 1997, kog, kof97, neogeo, kog, neogeo_state, kog, ROT0, "bootleg", "King of Gladiator (The King of Fighters '97 bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // protected bootleg |
| 10110 | GAME( 1997, kof97oro, kof97, neogeo, neogeo, neogeo_state, kof97oro, ROT0, "bootleg", "The King of Fighters '97 Oroshi Plus 2003 (bootleg)", GAME_SUPPORTS_SAVE ) |
| 10111 | GAME( 1997, kog, kof97, neogeo, kog, neogeo_state, kog, ROT0, "bootleg", "King of Gladiator (The King of Fighters '97 bootleg)", GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) // protected bootleg |
| 10073 | 10112 | GAME( 1997, lastblad, neogeo, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The Last Blade / Bakumatsu Roman - Gekka no Kenshi (NGM-2340)", GAME_SUPPORTS_SAVE ) |
| 10074 | 10113 | GAME( 1997, lastbladh, lastblad, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The Last Blade / Bakumatsu Roman - Gekka no Kenshi (NGH-2340)", GAME_SUPPORTS_SAVE ) |
| 10075 | 10114 | GAME( 1997, lastsold, lastblad, neogeo, neogeo, neogeo_state, neogeo, ROT0, "SNK", "The Last Soldier (Korean release of The Last Blade)", GAME_SUPPORTS_SAVE ) |
trunk/src/mame/drivers/cps1.c
| r18704 | r18705 | |
| 10683 | 10683 | |
| 10684 | 10684 | DRIVER_INIT_MEMBER(cps_state,forgottn) |
| 10685 | 10685 | { |
| 10686 | | |
| 10687 | 10686 | /* Forgotten Worlds has a NEC uPD4701AC on the B-board handling dial inputs from the CN-MOWS connector. */ |
| 10688 | 10687 | /* The memory mapping is handled by PAL LWIO */ |
| 10689 | 10688 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x800040, 0x800041, write16_delegate(FUNC(cps_state::forgottn_dial_0_reset_w),this)); |
| r18704 | r18705 | |
| 10699 | 10698 | DRIVER_INIT_CALL(cps1); |
| 10700 | 10699 | } |
| 10701 | 10700 | |
| 10701 | READ16_MEMBER(cps_state::sf2rb_prot_r) |
| 10702 | { |
| 10703 | switch (offset) |
| 10704 | { |
| 10705 | case 0x01201/2: |
| 10706 | return 0x0002; |
| 10707 | |
| 10708 | case 0x81201/2: |
| 10709 | return 0x0040; |
| 10710 | } |
| 10711 | |
| 10712 | return 0; |
| 10713 | } |
| 10714 | |
| 10715 | DRIVER_INIT_MEMBER(cps_state,sf2rb) |
| 10716 | { |
| 10717 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x200000, 0x2fffff, read16_delegate(FUNC(cps_state::sf2rb_prot_r),this)); |
| 10718 | |
| 10719 | DRIVER_INIT_CALL(cps1); |
| 10720 | } |
| 10721 | |
| 10722 | READ16_MEMBER(cps_state::sf2rb2_prot_r) |
| 10723 | { |
| 10724 | switch (offset) |
| 10725 | { |
| 10726 | case 0x01201/2: |
| 10727 | return 0x0000; |
| 10728 | |
| 10729 | case 0x81201/2: |
| 10730 | return 0x0040; |
| 10731 | } |
| 10732 | |
| 10733 | return 0; |
| 10734 | } |
| 10735 | |
| 10736 | DRIVER_INIT_MEMBER(cps_state,sf2rb2) |
| 10737 | { |
| 10738 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x200000, 0x2fffff, read16_delegate(FUNC(cps_state::sf2rb2_prot_r),this)); |
| 10739 | |
| 10740 | DRIVER_INIT_CALL(cps1); |
| 10741 | } |
| 10742 | |
| 10702 | 10743 | DRIVER_INIT_MEMBER(cps_state,sf2ee) |
| 10703 | 10744 | { |
| 10704 | 10745 | /* This specific revision of SF2 has the CPS-B custom mapped at a different address. */ |
| r18704 | r18705 | |
| 10921 | 10962 | GAME( 1992, sf2ceja, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (Japan 920322)", GAME_SUPPORTS_SAVE ) |
| 10922 | 10963 | GAME( 1992, sf2cejb, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (Japan 920513)", GAME_SUPPORTS_SAVE ) |
| 10923 | 10964 | GAME( 1992, sf2cejc, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "Capcom", "Street Fighter II': Champion Edition (Japan 920803)", GAME_SUPPORTS_SAVE ) |
| 10924 | | GAME( 1992, sf2rb, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Rainbow set 1, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on World version |
| 10925 | | GAME( 1992, sf2rb2, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Rainbow set 2, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on World version |
| 10965 | GAME( 1992, sf2rb, sf2ce, cps1_12MHz, sf2, cps_state, sf2rb, ROT0, "bootleg", "Street Fighter II': Champion Edition (Rainbow set 1, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on World version |
| 10966 | GAME( 1992, sf2rb2, sf2ce, cps1_12MHz, sf2, cps_state, sf2rb2, ROT0, "bootleg", "Street Fighter II': Champion Edition (Rainbow set 2, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on World version |
| 10926 | 10967 | GAME( 1992, sf2rb3, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Rainbow set 3, bootleg)", GAME_SUPPORTS_SAVE ) // 920322 - based on World version |
| 10927 | 10968 | GAME( 1992, sf2red, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (Red Wave, bootleg)", GAME_SUPPORTS_SAVE ) // 920313 - based on World version |
| 10928 | 10969 | GAME( 1992, sf2v004, sf2ce, cps1_12MHz, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (V004, bootleg)", GAME_SUPPORTS_SAVE ) // 102092 !!! - based on (heavily modified) World version |
trunk/src/mame/drivers/dec0.c
| r18704 | r18705 | |
| 1004 | 1004 | PORT_DIPNAME( 0x4000, 0x4000, "Enemy Power Decrease on Continue" ) PORT_DIPLOCATION("SW2:7") |
| 1005 | 1005 | PORT_DIPSETTING( 0x4000, "2 Dots" ) // 2 Dots less |
| 1006 | 1006 | PORT_DIPSETTING( 0x0000, DEF_STR( None ) ) // 0 Dot less |
| 1007 | INPUT_PORTS_END |
| 1007 | 1008 | |
| 1009 | static INPUT_PORTS_START( ffantasybl ) |
| 1010 | PORT_INCLUDE( hippodrm ) |
| 1011 | |
| 1012 | PORT_MODIFY("DSW") |
| 1013 | PORT_DIPNAME( 0x4000, 0x4000, "Enemy Power Decrease on Continue" ) PORT_DIPLOCATION("SW2:7") |
| 1014 | PORT_DIPSETTING( 0x4000, "2 Dots" ) // 2 Dots less |
| 1015 | PORT_DIPSETTING( 0x0000, DEF_STR( None ) ) // 0 Dot less |
| 1016 | |
| 1017 | PORT_MODIFY("SYSTEM") |
| 1018 | PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) // Game does not want vblank here |
| 1008 | 1019 | INPUT_PORTS_END |
| 1009 | 1020 | |
| 1010 | 1021 | static INPUT_PORTS_START( slyspy ) |
| r18704 | r18705 | |
| 1638 | 1649 | MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_hippodrm) |
| 1639 | 1650 | MACHINE_CONFIG_END |
| 1640 | 1651 | |
| 1652 | static MACHINE_CONFIG_DERIVED( ffantasybl, dec0_base_sound ) |
| 1653 | |
| 1654 | /* basic machine hardware */ |
| 1655 | MCFG_CPU_ADD("maincpu", M68000, XTAL_20MHz / 2) |
| 1656 | MCFG_CPU_PROGRAM_MAP(dec0_map) |
| 1657 | MCFG_CPU_VBLANK_INT_DRIVER("screen", dec0_state, irq6_line_assert)/* VBL */ |
| 1658 | |
| 1659 | MCFG_CPU_ADD("audiocpu", M6502, XTAL_12MHz / 8) |
| 1660 | MCFG_CPU_PROGRAM_MAP(dec0_s_map) |
| 1661 | |
| 1662 | // MCFG_CPU_ADD("sub", H6280, XTAL_21_4772MHz / 16) |
| 1663 | // MCFG_CPU_PROGRAM_MAP(hippodrm_sub_map) |
| 1664 | |
| 1665 | // MCFG_QUANTUM_TIME(attotime::from_hz(300)) /* Interleave between H6280 & 68000 */ |
| 1666 | |
| 1667 | /* video hardware */ |
| 1668 | MCFG_SCREEN_ADD("screen", RASTER) |
| 1669 | // MCFG_SCREEN_REFRESH_RATE(57.41) |
| 1670 | // MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(529) /* 57.41 Hz, 529us Vblank */) |
| 1671 | MCFG_SCREEN_RAW_PARAMS(DEC0_PIXEL_CLOCK,DEC0_HTOTAL,DEC0_HBEND,DEC0_HBSTART,DEC0_VTOTAL,DEC0_VBEND,DEC0_VBSTART) |
| 1672 | // MCFG_SCREEN_SIZE(32*8, 32*8) |
| 1673 | // MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 1*8, 31*8-1) |
| 1674 | MCFG_SCREEN_UPDATE_DRIVER(dec0_state, screen_update_hippodrm) |
| 1675 | MACHINE_CONFIG_END |
| 1676 | |
| 1641 | 1677 | MACHINE_RESET_MEMBER(dec0_state,slyspy) |
| 1642 | 1678 | { |
| 1643 | 1679 | // set initial memory map |
| r18704 | r18705 | |
| 3049 | 3085 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x00180014, 0x00180015, write16_delegate(FUNC(dec0_state::midres_sound_w),this)); |
| 3050 | 3086 | } |
| 3051 | 3087 | |
| 3088 | READ16_MEMBER(dec0_state::ffantasybl_242024_r) |
| 3089 | { |
| 3090 | /* |
| 3091 | 000152: 41F9 0024 2020 lea $242020.l, A0 |
| 3092 | 000158: 4A68 0004 tst.w ($4,A0) |
| 3093 | 00015C: 6700 00A0 beq $1fe |
| 3094 | |
| 3095 | This allows us to at insert a coin... |
| 3096 | */ |
| 3097 | |
| 3098 | return 0xffff; |
| 3099 | } |
| 3100 | |
| 3101 | READ16_MEMBER(dec0_state::ffantasybl_vblank_r) |
| 3102 | { |
| 3103 | return ioport("VBLANK")->read(); |
| 3104 | } |
| 3105 | |
| 3106 | DRIVER_INIT_MEMBER(dec0_state,ffantasybl) |
| 3107 | { |
| 3108 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_ram(0x24c880, 0x24cbff); // what is this? layer 3-related?? |
| 3109 | |
| 3110 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x00242024, 0x00242025, read16_delegate(FUNC(dec0_state::ffantasybl_242024_r),this)); |
| 3111 | machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x00ff87ee, 0x00ff87ef, read16_delegate(FUNC(dec0_state::ffantasybl_vblank_r),this)); |
| 3112 | } |
| 3113 | |
| 3052 | 3114 | /******************************************************************************/ |
| 3053 | 3115 | |
| 3054 | 3116 | // YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR,COMPANY,FULLNAME,FLAGS |
| r18704 | r18705 | |
| 3082 | 3144 | |
| 3083 | 3145 | // this is a common bootleg board |
| 3084 | 3146 | GAME( 1989, midresb, midres, midresb, midresb, dec0_state, midresb, ROT0, "bootleg", "Midnight Resistance (bootleg with 68705)", 0 ) // need to hook up 68705? |
| 3085 | | GAME( 1989, ffantasybl, hippodrm, midres, midres, driver_device, 0, ROT0, "bootleg", "Fighting Fantasy (bootleg with 68705)", GAME_NOT_WORKING ) // 68705 not dumped, might be the same as midresb |
| 3147 | GAME( 1989, ffantasybl, hippodrm, ffantasybl, ffantasybl, dec0_state, ffantasybl, ROT0, "bootleg", "Fighting Fantasy (bootleg with 68705)", GAME_IMPERFECT_GRAPHICS ) // 68705 not dumped, might be the same as midresb |
| 3086 | 3148 | /* A Bad Dudes bootleg with 68705 like the midres and ffantasy ones exists, but is not dumped */ |
| 3087 | 3149 | |
| 3088 | 3150 | // these are different to the above but quite similar to each other |