From 0c154eb81488dc117caa0bd98e3b65efee277d91 Mon Sep 17 00:00:00 2001 From: jackchatelet Date: Mon, 5 Feb 2018 10:19:24 +0000 Subject: [PATCH] @ Barry: Using sf2mdtbInit makes the game boot and work but with row scroll issues and BAD GFX. It clearly needs a special as it uses GFX which was never seen in others sf2 bootlegs. d_cps1.cpp: added Street Fighter II: The World Warrior (bootleg, set 2) [f205v, Maru79] --- src/burn/drv/capcom/d_cps1.cpp | 58 +++++++++++++++++++++++++++------- 1 file changed, 46 insertions(+), 12 deletions(-) diff --git a/src/burn/drv/capcom/d_cps1.cpp b/src/burn/drv/capcom/d_cps1.cpp index 286f66877..2b28f013d 100644 --- a/src/burn/drv/capcom/d_cps1.cpp +++ b/src/burn/drv/capcom/d_cps1.cpp @@ -9446,7 +9446,30 @@ static struct BurnRomInfo Sf2bRomDesc[] = { STD_ROM_PICK(Sf2b) STD_ROM_FN(Sf2b) -static struct BurnRomInfo Sf2b2RomDesc[] = { +static struct BurnRomInfo sf2b2RomDesc[] = { + { "2.bin", 0x0080000, 0x42809e5a, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_BYTESWAP }, + { "1.bin", 0x0080000, 0xe58db26c, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_BYTESWAP }, + + { "5.bin", 0x0080000, 0x47fab9ed, BRF_GRA | CPS1_TILES }, + { "8.bin", 0x0080000, 0xb8c39d56, BRF_GRA | CPS1_TILES }, + { "11.bin", 0x0080000, 0x6e8c98d8, BRF_GRA | CPS1_TILES }, + { "14.bin", 0x0080000, 0x672d4f85, BRF_GRA | CPS1_TILES }, + { "4.bin", 0x0080000, 0x69d7b06b, BRF_GRA | CPS1_TILES }, + { "7.bin", 0x0080000, 0xded88f5f, BRF_GRA | CPS1_TILES }, + { "10.bin", 0x0080000, 0x8c2fca3c, BRF_GRA | CPS1_TILES }, + { "13.bin", 0x0080000, 0x26f09d38, BRF_GRA | CPS1_TILES }, + { "6.bin", 0x0080000, 0xb6215991, BRF_GRA | CPS1_TILES }, + { "9.bin", 0x0080000, 0xb6a71ed7, BRF_GRA | CPS1_TILES }, + { "12.bin", 0x0080000, 0x971903fa, BRF_GRA | CPS1_TILES }, + { "15.bin", 0x0080000, 0x00983914, BRF_GRA | CPS1_TILES }, + + { "3.bin", 0x0020000, 0x17d5ba8a, BRF_PRG | CPS1_Z80_PROGRAM }, +}; + +STD_ROM_PICK(sf2b2) +STD_ROM_FN(sf2b2) + +static struct BurnRomInfo sf2b3RomDesc[] = { // program roms u195 and u221 were missing from the PCB // { "prg.u195", 0x080000, 0x00000000, BRF_ESS | BRF_PRG | BRF_NODUMP }, // missing from dump // { "prg.u221", 0x080000, 0x00000000, BRF_ESS | BRF_PRG | BRF_NODUMP }, // missing from dump @@ -9477,10 +9500,10 @@ static struct BurnRomInfo Sf2b2RomDesc[] = { { "u133", 0x010000, 0x13ea1c44, BRF_OPT }, // unknown }; -STD_ROM_PICK(Sf2b2) -STD_ROM_FN(Sf2b2) +STD_ROM_PICK(sf2b3) +STD_ROM_FN(sf2b3) -static struct BurnRomInfo Sf2b3RomDesc[] = { +static struct BurnRomInfo sf2b4RomDesc[] = { /*Street Fighter 2 bootleg @@ -9541,8 +9564,8 @@ theguru@emuunlim.com*/ { "u4.bin", 0x020000, 0x4efb4c7a, BRF_OPT }, // seems to have most in common with some extra gfx roms, but also some program roms, maybe bad dump or maybe needing data from Altera chip? }; -STD_ROM_PICK(Sf2b3) -STD_ROM_FN(Sf2b3) +STD_ROM_PICK(sf2b4) +STD_ROM_FN(sf2b4) static struct BurnRomInfo Sf2ceRomDesc[] = { { "s92e_23b.8f", 0x080000, 0x0aaa1a3a, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP }, @@ -13652,6 +13675,7 @@ static const struct GameConfig ConfigTable[] = { "sf2b" , CPS_B_17 , mapper_STF29 , 0, NULL }, { "sf2b2" , CPS_B_17 , mapper_STF29 , 0, NULL }, { "sf2b3" , CPS_B_17 , mapper_STF29 , 0, NULL }, + { "sf2b4" , CPS_B_17 , mapper_STF29 , 0, NULL }, { "sf2bhh" , CPS_B_21_DEF, mapper_S9263B, 0, NULL }, { "sf2ce" , CPS_B_21_DEF, mapper_S9263B, 0, NULL }, { "sf2ceea" , CPS_B_21_DEF, mapper_S9263B, 0, NULL }, @@ -15978,7 +16002,7 @@ static INT32 Sf2bInit() return nRet; } -static INT32 Sf2b2Init() +static INT32 sf2b3Init() { Cps1GfxLoadCallbackFunction = CpsLoadTilesSf2stt; @@ -19550,12 +19574,12 @@ struct BurnDriver BurnDrvCpsSf2b = { }; struct BurnDriver BurnDrvCpsSf2b2 = { - "sf2b2", "sf2", NULL, NULL, "1991", - "Street Fighter II - The World Warrior (bootleg, 910214 etc, set 2)\0", NULL, "Capcom", "CPS1", + "sf2b2", "sf2", NULL, NULL, "1992", + "Street Fighter II - The World Warrior (bootleg, 910214 etc, set 2)\0", NULL, "bootleg", "CPS1", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_CAPCOM_CPS1, GBF_VSFIGHT, FBF_SF, - NULL, Sf2b2RomInfo, Sf2b2RomName, NULL, NULL, Sf2InputInfo, Sf2DIPInfo, - Sf2b2Init, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan, + NULL, sf2b2RomInfo, sf2b2RomName, NULL, NULL, Sf2InputInfo, Sf2DIPInfo, + Sf2mdtbInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan, &CpsRecalcPal, 0x1000, 384, 224, 4, 3 }; @@ -19564,7 +19588,17 @@ struct BurnDriver BurnDrvCpsSf2b3 = { "Street Fighter II - The World Warrior (bootleg, 910214 etc, set 3)\0", NULL, "Capcom", "CPS1", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_CAPCOM_CPS1, GBF_VSFIGHT, FBF_SF, - NULL, Sf2b3RomInfo, Sf2b3RomName, NULL, NULL, Sf2InputInfo, Sf2DIPInfo, + NULL, sf2b3RomInfo, sf2b3RomName, NULL, NULL, Sf2InputInfo, Sf2DIPInfo, + sf2b3Init, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan, + &CpsRecalcPal, 0x1000, 384, 224, 4, 3 +}; + +struct BurnDriver BurnDrvCpsSf2b4 = { + "sf2b4", "sf2", NULL, NULL, "1991", + "Street Fighter II - The World Warrior (bootleg, 910214 etc, set 4)\0", NULL, "Capcom", "CPS1", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_CAPCOM_CPS1, GBF_VSFIGHT, FBF_SF, + NULL, sf2b4RomInfo, sf2b4RomName, NULL, NULL, Sf2InputInfo, Sf2DIPInfo, DrvInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan, &CpsRecalcPal, 0x1000, 384, 224, 4, 3 };