From 98975d47718cc106eb078303b05ba6eadc3a33a6 Mon Sep 17 00:00:00 2001 From: dinkc64 Date: Thu, 12 May 2022 10:59:15 -0400 Subject: [PATCH 1/3] cps2: add bankbank's awesome x-man vs sf Co-Op hack --- src/burn/drv/capcom/d_cps2.cpp | 40 ++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/burn/drv/capcom/d_cps2.cpp b/src/burn/drv/capcom/d_cps2.cpp index a169ce04f..8603fbbf3 100644 --- a/src/burn/drv/capcom/d_cps2.cpp +++ b/src/burn/drv/capcom/d_cps2.cpp @@ -9063,6 +9063,36 @@ static struct BurnRomInfo Xmvsfur2RomDesc[] = { STD_ROM_PICK(Xmvsfur2) STD_ROM_FN(Xmvsfur2) +static struct BurnRomInfo XmvsfcphRomDesc[] = { + { "xvse.03f", 0x080000, 0xd0d03ddf, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, + { "xvse.04f", 0x080000, 0xef015aef, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, + { "xvs.05a", 0x080000, 0x7db6025d, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, + { "xvs.06a", 0x080000, 0xe8e2c75c, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, + { "xvs.07", 0x080000, 0x08f0abed, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, + { "xvs.08", 0x080000, 0x81929675, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, + { "xvs.09", 0x080000, 0x9641f36b, CPS2_PRG_68K | BRF_ESS | BRF_PRG }, + + { "xvs.13m", 0x400000, 0xf6684efd, CPS2_GFX | BRF_GRA }, + { "xvs.15m", 0x400000, 0x29109221, CPS2_GFX | BRF_GRA }, + { "xvs.17m", 0x400000, 0x92db3474, CPS2_GFX | BRF_GRA }, + { "xvs.19m", 0x400000, 0x3733473c, CPS2_GFX | BRF_GRA }, + { "xvs.14m", 0x400000, 0xbcac2e41, CPS2_GFX | BRF_GRA }, + { "xvs.16m", 0x400000, 0xea04a272, CPS2_GFX | BRF_GRA }, + { "xvs.18m", 0x400000, 0xb0def86a, CPS2_GFX | BRF_GRA }, + { "xvs.20m", 0x400000, 0x4b40ff9f, CPS2_GFX | BRF_GRA }, + + { "xvs.01", 0x020000, 0x3999e93a, CPS2_PRG_Z80 | BRF_ESS | BRF_PRG }, + { "xvs.02", 0x020000, 0x101bdee9, CPS2_PRG_Z80 | BRF_ESS | BRF_PRG }, + + { "xvs.11m", 0x200000, 0x9cadcdbc, CPS2_QSND | BRF_SND }, + { "xvs.12m", 0x200000, 0x7b11e460, CPS2_QSND | BRF_SND }, + + { "xmvsf.key", 0x000014, 0xd5c07311, CPS2_ENCRYPTION_KEY }, +}; + +STD_ROM_PICK(Xmvsfcph) +STD_ROM_FN(Xmvsfcph) + // Driver functions static INT32 MvscjsingInit() @@ -11971,6 +12001,16 @@ struct BurnDriver BurnDrvCpsXmvsfur2 = { &CpsRecalcPal, 0x1000, 384, 224, 4, 3 }; +struct BurnDriver BurnDrvCpsXmvsfcph = { + "xmvsfcph", "xmvsf", NULL, NULL, "2022", + "X-Men vs Street Fighter (Hack, 961004 Coop)\0", NULL, "Bank Bank", "CPS2", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED | BDF_HACK, 2, HARDWARE_CAPCOM_CPS2, GBF_VSFIGHT, FBF_SF, + NULL, XmvsfcphRomInfo, XmvsfcphRomName, NULL, NULL, NULL, NULL, Cps2FightingInputInfo, NULL, + Cps2Init, DrvExit, Cps2Frame, CpsRedraw, CpsAreaScan, + &CpsRecalcPal, 0x1000, 384, 224, 4, 3 +}; + // Phoenix sets static struct BurnRomInfo NinexxdRomDesc[] = { From f6c241842175818c7da7e674ec2c0b66acc18956 Mon Sep 17 00:00:00 2001 From: taoenwen <67533945+taoenwen@users.noreply.github.com> Date: Fri, 13 May 2022 08:15:21 +0800 Subject: [PATCH 2/3] update d_neogeo.cpp for ips (#1030) [1] In mslug5init decryption, byte interleaving is allowed to expand to 0x500000 - 0x700000, to accommodate increased ips capacity. [2] Turn off PVC protection in ips environment. --- src/burn/drv/neogeo/d_neogeo.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/burn/drv/neogeo/d_neogeo.cpp b/src/burn/drv/neogeo/d_neogeo.cpp index e2e894ae1..8c7aed93b 100644 --- a/src/burn/drv/neogeo/d_neogeo.cpp +++ b/src/burn/drv/neogeo/d_neogeo.cpp @@ -1701,21 +1701,24 @@ static void NeoPVCInstallHandlers() static INT32 NeoPVCInit() { - PVCRAM = (UINT8*)BurnMalloc(0x2000); - if (!PVCRAM) return 1; + // Turn off PVC protection in ips environment. + if (!bDoIpsPatch) { + PVCRAM = (UINT8*)BurnMalloc(0x2000); + if (!PVCRAM) return 1; - memset(PVCRAM, 0, 0x2000); + memset(PVCRAM, 0, 0x2000); - NeoCallbackActive->pInstallHandlers = NeoPVCInstallHandlers; - NeoCallbackActive->pBankswitch = NeoPVCMapBank; - NeoCallbackActive->pScan = NeoPVCScan; + NeoCallbackActive->pInstallHandlers = NeoPVCInstallHandlers; + NeoCallbackActive->pBankswitch = NeoPVCMapBank; + NeoCallbackActive->pScan = NeoPVCScan; + } return NeoInit(); } static INT32 NeoPVCExit() { - BurnFree(PVCRAM); + if (NULL != PVCRAM) BurnFree(PVCRAM); return NeoExit(); } @@ -8735,7 +8738,8 @@ static void mslug5Callback() for (i = 0x100000; i < 0x700000; i++) Neo68KROMActive[i] ^= ~Neo68KROMActive[0x7fffe0 + (i & 0x1f)]; - for (i = 0x100000; i < 0x0500000; i += 4) + // Allow byte interleaving to extend to [0x500000 - 0x700000] + for (i = 0x100000; i < 0x0700000; i += 4) { UINT16 rom16 = BURN_UNALIGNED_READ16(Neo68KROMActive + i + 1); rom16 = BITSWAP16(rom16, 15, 14, 13, 12, 10, 11, 8, 9, 6, 7, 4, 5, 3, 2, 1, 0); From 0033472b63f327cee40c586859ed445f17ecfe66 Mon Sep 17 00:00:00 2001 From: Igor-Arabe <73916998+Igor-Arabe@users.noreply.github.com> Date: Fri, 13 May 2022 01:03:46 -0300 Subject: [PATCH 3/3] d_megadrive: Added jtoblivion (#1031) version 0.2.7.2 --- src/burn/drv/megadrive/d_megadrive.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/burn/drv/megadrive/d_megadrive.cpp b/src/burn/drv/megadrive/d_megadrive.cpp index 1cb3dece4..dd9bc40eb 100644 --- a/src/burn/drv/megadrive/d_megadrive.cpp +++ b/src/burn/drv/megadrive/d_megadrive.cpp @@ -47025,6 +47025,26 @@ struct BurnDriver BurnDrvmd_bravebtl = { &bMegadriveRecalcPalette, 0x100, 320, 224, 4, 3 }; +// Journey to Oblivion +// source: https://mega-studios-jto.itch.io/journey-to-oblivion + +static struct BurnRomInfo md_jtoblivionRomDesc[] = { + { "Journey to Oblivion HB v0.2.7.2 (2021)(Mega Studios).bin",3860224, 0x4db77bc3, BRF_PRG | SEGA_MD_ROM_LOAD16_WORD_SWAP | SEGA_MD_ROM_OFFS_000000 }, +}; + +STD_ROM_PICK(md_jtoblivion) +STD_ROM_FN(md_jtoblivion) + +struct BurnDriver BurnDrvmd_jtoblivion = { + "md_jtoblivion", NULL, NULL, NULL, "2021", + "Journey to Oblivion (HB, v0.2.7.2)\0", NULL, "Mega Studios", "Sega Megadrive", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_HOMEBREW, 2, HARDWARE_SEGA_MEGADRIVE, GBF_VERSHOOT, 0, + MegadriveGetZipName, md_jtoblivionRomInfo, md_jtoblivionRomName, NULL, NULL, NULL, NULL, MegadriveInputInfo, MegadriveDIPInfo, + MegadriveInit, MegadriveExit, MegadriveFrame, MegadriveDraw, MegadriveScan, + &bMegadriveRecalcPalette, 0x100, 320, 224, 4, 3 +}; + // Metal Blast 2277 (HB) static struct BurnRomInfo md_mb2277RomDesc[] = { { "metal blast 2277 (rev01-2019)(t-arts studio).bin", 2647322, 0xdfd4fe49, BRF_PRG | SEGA_MD_ROM_LOAD16_WORD_SWAP | SEGA_MD_ROM_OFFS_000000 },