diff --git a/src/mame/arcade.lst b/src/mame/arcade.lst index 348c1cd7a50..f99055ace8d 100644 --- a/src/mame/arcade.lst +++ b/src/mame/arcade.lst @@ -3263,6 +3263,7 @@ sf2m6 // hack sf2m7 // hack sf2m8 // bootleg sf2m9 // bootleg +sf2m10 // bootleg sf2yyc // hack sf2koryu // hack sf2dongb // hack diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp index 9875716458f..05de876561f 100644 --- a/src/mame/drivers/cps1.cpp +++ b/src/mame/drivers/cps1.cpp @@ -642,6 +642,25 @@ static ADDRESS_MAP_START( sf2m3_map, AS_PROGRAM, 16, cps_state ) AM_RANGE(0xff0000, 0xffffff) AM_RAM ADDRESS_MAP_END +static ADDRESS_MAP_START( sf2m10_map, AS_PROGRAM, 16, cps_state ) + AM_RANGE(0x000000, 0x3fffff) AM_ROM + AM_RANGE(0x800000, 0x800007) AM_READ_PORT("IN1") + AM_RANGE(0x800018, 0x80001f) AM_READ(cps1_hack_dsw_r) + AM_RANGE(0x800020, 0x800021) AM_READNOP + AM_RANGE(0x800030, 0x800037) AM_WRITE(cps1_coinctrl_w) + AM_RANGE(0x800100, 0x80013f) AM_WRITE(cps1_cps_a_w) AM_SHARE("cps_a_regs") + AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_SHARE("cps_b_regs") + AM_RANGE(0x800180, 0x800187) AM_WRITE(cps1_soundlatch_w) + AM_RANGE(0x800188, 0x80018f) AM_WRITE(cps1_soundlatch2_w) + AM_RANGE(0x8001a2, 0x8001b3) AM_WRITE(cps1_cps_a_w) // make 8001b2 point at 800110 + AM_RANGE(0x8001fe, 0x8001ff) AM_WRITENOP // writes FFFF here a lot + AM_RANGE(0x900000, 0x92ffff) AM_RAM_WRITE(cps1_gfxram_w) AM_SHARE("gfxram") + AM_RANGE(0xe00000, 0xefffff) AM_RAM // it writes to the whole range at start + AM_RANGE(0xf1c000, 0xf1c001) AM_READ(cps1_in2_r) + AM_RANGE(0xfeff00, 0xfeffff) AM_RAM // fix stack crash at start + AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("mainram") +ADDRESS_MAP_END + /*********************************************************** INPUT PORTS, DIPs ***********************************************************/ @@ -3273,6 +3292,11 @@ static MACHINE_CONFIG_DERIVED( sf2m3, cps1_12MHz) MCFG_CPU_PROGRAM_MAP(sf2m3_map) MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( sf2m10, cps1_12MHz) + MCFG_CPU_MODIFY("maincpu") + MCFG_CPU_PROGRAM_MAP(sf2m10_map) +MACHINE_CONFIG_END + /*************************************************************************** @@ -9331,6 +9355,85 @@ ROM_START( sf2m8 ) ROM_LOAD( "b-16.6", 0x00000, 0x40000, CRC(6cfffb11) SHA1(995526183ffd35f92e9096500a3fe6237faaa2dd) ) ROM_END +/* SF2M10 + From HBMAME (SF2H14 + SF2CEB1) + Same as sf2ebbl2, except it has program roms unique to sf2h14. + The Player Select screen is corrupt, but that's what happens + when you mix Champion Edition program with World Warrior gfx. + +** PCB DETAILS *** +Street Fighter II Champion Edition (bootleg) + +PCB Layout +---------- + +|-----------------------------------------------------| +|LM324 ROM1 3.579545MHz ROM10 ROM12| +|LM324 ROM2 16MHz 2018 ROM9 ROM11| +| M6295 12MHz 2018 SE235 SE005| +| 2018 | +|YM2151 2018 2018 ROM8 | +| ROM3 SE194 SE064| +|J Z80 SF004 SF001| +|A 2018 2018 | +|M 6116 6116 2018 2018 | +|M | +|A |--| | +| |6 | 62256 | +|DSWA(8)|8 |62256 62256 62256 | +| |0 |ROM4 ROM6 | +|DSWB(8)|0 |ROM5 ROM7 | +| |0 | | +|DSWC(8)|--| | +|-----------------------------------------------------| +Notes: + 68000 - Clock 12MHz + Z80 - Clock 3.579545MHz + M6295 - Clock 1.000MHz [16/16]. Pin 7 HIGH + YM2151 - Clock 3.579545MHz + 62256 - 32k x8 SRAM + 2018 - 2k x8 SRAM + 6116 - 2k x8 SRAM +*/ + +ROM_START( sf2m10 ) + ROM_REGION( CODE_SIZE, "maincpu", 0 ) + ROM_LOAD16_BYTE( "sf2h14.7", 0x000000, 0x80000, CRC(74803532) SHA1(c1f774bbc4c7b18fcac15417711a86eb852b9957) ) + ROM_LOAD16_BYTE( "sf2h14.5", 0x000001, 0x80000, CRC(66c91972) SHA1(219aecad1feb60bb758190ea82223171075c858e) ) + ROM_LOAD16_BYTE( "yyc-4.1", 0x100000, 0x20000, CRC(1073b7b6) SHA1(81ca1eab65ceac69520584bb23a684ccb9d92f89) ) + ROM_LOAD16_BYTE( "yyc-5.3", 0x100001, 0x20000, CRC(924c6ce2) SHA1(676a912652bd75da5087f0c7eae047b7681a993c) ) + + ROM_REGION( 0x600000, "gfx", 0 ) + ROMX_LOAD( "a-se235.bin", 0x000000, 0x80000, CRC(a258de13) SHA1(2e477948c4c8a2fb7cfdc4a739766bc4a4e01c49) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROM_CONTINUE( 0x000004, 0x80000) + ROMX_LOAD( "c-se005.bin", 0x000002, 0x80000, CRC(c781bf87) SHA1(034baa9807c2ce8dc800200963a38cd9262b21fb) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROM_CONTINUE( 0x000006, 0x80000) + ROMX_LOAD( "b-se194.bin", 0x200000, 0x80000, CRC(5726cab8) SHA1(0b2243a9a7184d53d42ddab7a8c51b63001c2f56) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROM_CONTINUE( 0x200004, 0x80000) + ROMX_LOAD( "d-se064.bin", 0x200002, 0x80000, CRC(4dd24197) SHA1(548beaa0a6f1c3c88f4fc83169d1a3c86e0755d4) , ROM_GROUPWORD | ROM_SKIP(6) ) //sf2-8m.6c 99.999809% + ROM_CONTINUE( 0x200006, 0x80000) + ROMX_LOAD( "e-sf004.bin", 0x400000, 0x80000, CRC(187667cc) SHA1(fae65bf23f49a32903fda8080659ccf8d42b911f) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROM_CONTINUE( 0x400004, 0x80000) + ROMX_LOAD( "f-sf001.bin", 0x400002, 0x80000, CRC(5b585071) SHA1(ad3371b1ba0441c67d9fcbb23b09464710e4e28a) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROM_CONTINUE( 0x400006, 0x80000) + + ROMX_LOAD( "27c1024.10", 0x400000, 0x20000, CRC(84427d1b) SHA1(f988a2b53c8cc46eeb8032084f24966a539b3734) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "27c1024.12", 0x400002, 0x20000, CRC(55bc790c) SHA1(a1114b89f6fa4487210477676984c77ad94b5ef8) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "27c1024.9", 0x400004, 0x20000, CRC(f8725add) SHA1(fa3fcf6637ee4dd7667bd89766074b3c6ba4f166) , ROM_GROUPWORD | ROM_SKIP(6) ) + ROMX_LOAD( "27c1024.11", 0x400006, 0x20000, CRC(c2a5373e) SHA1(602b32e5ecc7007efe9ad30751040ee52b81f59a) , ROM_GROUPWORD | ROM_SKIP(6) ) + + ROM_REGION( 0x18000, "audiocpu", 0 ) + ROM_LOAD( "27c512.3", 0x00000, 0x08000, CRC(a4823a1b) SHA1(7b6bf59dfd578bfbbdb64c27988796783442d659) ) + ROM_CONTINUE( 0x10000, 0x08000 ) + + ROM_REGION( 0x20000, "user1", 0 ) + ROM_LOAD( "27c512.8", 0x00000, 0x10000, CRC(13ea1c44) SHA1(5b05fe4c3920e33d94fac5f59e09ff14b3e427fe) ) + + ROM_REGION( 0x40000, "oki", 0 ) + ROM_LOAD( "27c010.2", 0x00000, 0x20000, CRC(7f162009) SHA1(346bf42992b4c36c593e21901e22c87ae4a7d86d) ) + ROM_LOAD( "27c010.1", 0x20000, 0x20000, CRC(beade53f) SHA1(277c397dc12752719ec6b47d2224750bd1c07f79) ) +ROM_END + ROM_START( sf2yyc ) ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_BYTE( "b12.rom", 0x000000, 0x80000, CRC(8f742fd5) SHA1(a78a00e686856481011d8b5f5e60ed18197a5225) ) @@ -11957,6 +12060,7 @@ GAME( 1992, sf2m5, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, GAME( 1992, sf2m6, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M6, bootleg)", MACHINE_SUPPORTS_SAVE ) // 811102 !!! - based on World version GAME( 1992, sf2m7, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (M7, bootleg)", MACHINE_SUPPORTS_SAVE ) // 920313 - based on World version GAME( 1992, sf2m8, sf2ce, sf2m3, sf2, cps_state, sf2m8, ROT0, "bootleg", "Street Fighter II': Champion Edition (M8, bootleg)", MACHINE_SUPPORTS_SAVE ) // 920313 - based on USA version +GAME( 1992, sf2m10, sf2ce, sf2m10, sf2, cps_state, cps1, ROT0, "bootleg", "Street Fighter II': Champion Edition (M10, bootleg)", MACHINE_SUPPORTS_SAVE ) GAME( 1992, sf2yyc, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (YYC, bootleg)", MACHINE_SUPPORTS_SAVE ) // 920313 - based on World version GAME( 1992, sf2koryu, sf2ce, cps1_12MHz, sf2hack, cps_state, sf2hack, ROT0, "bootleg", "Street Fighter II': Champion Edition (Xiang Long, Chinese bootleg)", MACHINE_SUPPORTS_SAVE ) // 811102 !!! - based on World version GAME( 1992, sf2dongb, sf2ce, cps1_12MHz, sf2, cps_state, sf2dongb, ROT0, "bootleg", "Street Fighter II': Champion Edition (Dongfang Bubai protection, bootleg)", MACHINE_SUPPORTS_SAVE ) // 920313 - based on World version diff --git a/src/mame/video/cps1.cpp b/src/mame/video/cps1.cpp index 5cdce079979..a2940aa43cc 100644 --- a/src/mame/video/cps1.cpp +++ b/src/mame/video/cps1.cpp @@ -1531,6 +1531,7 @@ static const struct CPS1config cps1_config_table[]= {"sf2m7", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 }, {"sf2m8", HACK_B_1, mapper_S9263B, 0, 0, 0, 2 }, {"sf2m9", CPS_B_21_DEF, mapper_S9263B, 0x36 }, + {"sf2m10", HACK_B_1, mapper_S9263B, 0x36, 0, 0, 1 }, {"sf2dongb", CPS_B_21_DEF, mapper_S9263B, 0x36 }, {"sf2yyc", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 }, {"sf2koryu", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },