diff --git a/src/mame/drivers/bionicc.c b/src/mame/drivers/bionicc.c index 2917e755d7e..4495e1d5114 100644 --- a/src/mame/drivers/bionicc.c +++ b/src/mame/drivers/bionicc.c @@ -532,7 +532,8 @@ ROM_START( topsecrt ) /* "Not for use in any other country but Japan" */ ROM_LOAD( "ts_01.4e", 0x00000, 0x8000, CRC(8ea07917) SHA1(e9ace70d89482fc3669860450a41aacacbee9083) ) ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */ - ROM_LOAD( "c8751h-88", 0x0000, 0x1000, NO_DUMP ) + //ROM_LOAD( "c8751h-88", 0x0000, 0x1000, NO_DUMP ) + ROM_LOAD( "d8751h.bin", 0x0000, 0x1000, CRC(3ed7f0be) SHA1(db9e972065c8e60b5d74762dc3424271ea9524cb) ) ROM_REGION( 0x08000, "gfx1", 0 ) ROM_LOAD( "ts_08.8l", 0x00000, 0x8000, CRC(96ad379e) SHA1(accd3a560b259c186bc28cdc004ed8de0b12f9d5) ) /* VIDEORAM (text layer) tiles */ diff --git a/src/mame/drivers/fcrash.c b/src/mame/drivers/fcrash.c index 741f54f2854..ee9c81571e8 100644 --- a/src/mame/drivers/fcrash.c +++ b/src/mame/drivers/fcrash.c @@ -754,6 +754,21 @@ static ADDRESS_MAP_START( sf2mdt_map, AS_PROGRAM, 16, cps_state ) AM_RANGE(0xff0000, 0xffffff) AM_RAM ADDRESS_MAP_END +static ADDRESS_MAP_START( sf2b_map, AS_PROGRAM, 16, cps_state ) + AM_RANGE(0x000000, 0x3fffff) AM_ROM + AM_RANGE(0x708100, 0x7081ff) AM_WRITE(sf2mdta_layer_w) + AM_RANGE(0x70c000, 0x70c001) AM_READ_PORT("IN1") + AM_RANGE(0x70c008, 0x70c009) AM_READ_PORT("IN2") + AM_RANGE(0x70c018, 0x70c01f) AM_READ(cps1_hack_dsw_r) + AM_RANGE(0x70c106, 0x70c107) AM_WRITE(cawingbl_soundlatch_w) + AM_RANGE(0x70d000, 0x70d001) AM_WRITENOP // writes FFFF + //AM_RANGE(0x800030, 0x800031) AM_WRITE(cps1_coinctrl_w) + AM_RANGE(0x800100, 0x80013f) AM_RAM AM_SHARE("cps_a_regs") /* CPS-A custom */ + AM_RANGE(0x800140, 0x80017f) AM_READWRITE(cps1_cps_b_r, cps1_cps_b_w) AM_SHARE("cps_b_regs") /* CPS-B custom */ + AM_RANGE(0x900000, 0x92ffff) AM_RAM_WRITE(cps1_gfxram_w) AM_SHARE("gfxram") + AM_RANGE(0xff0000, 0xffffff) AM_RAM +ADDRESS_MAP_END + static ADDRESS_MAP_START( sgyxz_map, AS_PROGRAM, 16, cps_state ) AM_RANGE(0x000000, 0x3fffff) AM_ROM AM_RANGE(0x800030, 0x800031) AM_WRITE(cps1_coinctrl_w) @@ -1684,6 +1699,11 @@ static MACHINE_CONFIG_START( sf2mdt, cps_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( sf2b, sf2mdt) + MCFG_CPU_MODIFY("maincpu") + MCFG_CPU_PROGRAM_MAP(sf2b_map) +MACHINE_CONFIG_END + static MACHINE_CONFIG_START( knightsb, cps_state ) /* basic machine hardware */ @@ -2640,7 +2660,7 @@ ROM_START( sf2mdtb ) ROM_RELOAD( 0x10000, 0x20000 ) ROM_END -ROM_START( sf2mdtc ) +ROM_START( sf2b ) ROM_REGION( CODE_SIZE, "maincpu", 0 ) /* 68000 code */ ROM_LOAD16_WORD_SWAP( "pf1-2-sg076.bin", 0x000000, 0x100000, CRC(1d15bc7a) SHA1(834627545f191f39de6beb008c89623f2b88c13b) ) @@ -2765,7 +2785,14 @@ DRIVER_INIT_MEMBER(cps_state, sf2mdta) DRIVER_INIT_CALL(cps1); } +DRIVER_INIT_MEMBER(cps_state, sf2b) +{ + /* bootleg sprite ram */ + m_bootleg_sprite_ram = (UINT16*)m_maincpu->space(AS_PROGRAM).install_ram(0x700000, 0x703fff); + m_maincpu->space(AS_PROGRAM).install_ram(0x704000, 0x707fff, m_bootleg_sprite_ram); + DRIVER_INIT_CALL(cps1); +} // ************************************************************************* SLAMPIC @@ -2886,9 +2913,10 @@ GAME( 1992, sf2m1, sf2ce, sf2m1, sf2, cps_state, sf2m1, ROT0, GAME( 1992, sf2mdt, sf2ce, sf2mdt, sf2mdt, cps_state, sf2mdt, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 1)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 920313 - based on (heavily modified) World version GAME( 1992, sf2mdta, sf2ce, sf2mdt, sf2mdt, cps_state, sf2mdta, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 2)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 920313 - based on World version GAME( 1992, sf2mdtb, sf2ce, sf2mdt, sf2mdtb, cps_state, sf2mdtb, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 3)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 920313 - based on World version -GAME( 1992, sf2mdtc, sf2ce, sf2mdt, sf2mdt, cps_state, sf2mdta, ROT0, "bootleg", "Street Fighter II': Magic Delta Turbo (bootleg, set 4)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) -GAME( 1992, sf2m9, sf2ce, sf2m1, sf2, cps_state, dinopic, ROT0, "bootleg", "Street Fighter II': Champion Edition (M9, bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 920313 ETC +GAME( 1992, sf2b, sf2, sf2b, sf2mdt, cps_state, sf2b, ROT0, "bootleg", "Street Fighter II: The World Warrior (bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) //910204 - based on World version + +GAME( 1992, sf2m9, sf2ce, sf2m1, sf2, cps_state, dinopic, ROT0, "bootleg", "Street Fighter II': Champion Edition (M9, bootleg)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE ) // 920313 ETC GAME( 1993, slampic, slammast, slampic, slammast, cps_state, dinopic, ROT0, "bootleg", "Saturday Night Slam Masters (bootleg with PIC16c57)", GAME_IMPERFECT_GRAPHICS | GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) // 930713 ETC diff --git a/src/mame/includes/cps1.h b/src/mame/includes/cps1.h index c60b16337b0..1b6201a8718 100644 --- a/src/mame/includes/cps1.h +++ b/src/mame/includes/cps1.h @@ -302,6 +302,7 @@ public: DECLARE_DRIVER_INIT(sf2mdt); DECLARE_DRIVER_INIT(sf2mdta); DECLARE_DRIVER_INIT(sf2mdtb); + DECLARE_DRIVER_INIT(sf2b); DECLARE_DRIVER_INIT(slampic); DECLARE_MACHINE_START(fcrash); DECLARE_MACHINE_RESET(fcrash); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 6aec6f4d972..26545d65c2a 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -3206,7 +3206,7 @@ sf2dongb // hack sf2mdt // bootleg sf2mdta // bootleg sf2mdtb // bootleg -sf2mdtc // bootleg +sf2b // bootleg cworld2j // 11/06/1992 (c) 1992 (Japan) varth // 14/07/1992 (c) 1992 (World) varthr1 // 12/06/1992 (c) 1992 (World) diff --git a/src/mame/video/cps1.c b/src/mame/video/cps1.c index eb8dd0b928f..011324675fa 100644 --- a/src/mame/video/cps1.c +++ b/src/mame/video/cps1.c @@ -1443,7 +1443,7 @@ static const struct CPS1config cps1_config_table[]= {"sf2ee", CPS_B_18, mapper_STF29, 0x3c }, {"sf2ebbl", CPS_B_17, mapper_STF29, 0x36, 0, 0, 1 }, {"sf2ebbl2", CPS_B_17, mapper_STF29, 0x36, 0, 0, 1 }, - {"sf2ebbl3", CPS_B_17, mapper_STF29, 0x36, 0, 0, 1 }, + {"sf2ebbl3", CPS_B_17, mapper_STF29, 0x36, 0, 0, 1 }, {"sf2stt", CPS_B_17, mapper_STF29, 0x36, 0, 0, 1 }, {"sf2rk", CPS_B_17, mapper_STF29, 0x36, 0, 0, 1 }, {"sf2ua", CPS_B_17, mapper_STF29, 0x36 }, @@ -1525,7 +1525,7 @@ static const struct CPS1config cps1_config_table[]= {"sf2mdt", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 }, {"sf2mdta", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 }, {"sf2mdtb", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 }, - {"sf2mdtc", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 }, + {"sf2b", CPS_B_17, mapper_STF29, 0x36, 0, 0, 1 }, {"varth", CPS_B_04, mapper_VA63B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */ // wrong, this set uses VA24B, dumped but equations still not added {"varthr1", CPS_B_04, mapper_VA63B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */ // wrong, this set uses VA24B, dumped but equations still not added {"varthu", CPS_B_04, mapper_VA63B }, /* CPSB test has been patched out (60=0008) register is also written to, possibly leftover from development */