This commit is contained in:
dinkc64 2024-07-05 09:38:19 -04:00
commit 1150543952
8 changed files with 1041 additions and 799 deletions

View File

@ -272,7 +272,6 @@ extern INT32 Forgottn;
extern INT32 Cps1QsHack;
extern INT32 Kodh;
extern INT32 Cawingb;
extern INT32 Wofh;
extern INT32 Sf2thndr;
extern INT32 Pzloop2;
extern INT32 Hkittymp;
@ -282,6 +281,12 @@ extern INT32 Dinohunt;
extern INT32 Port6SoundWrite;
extern INT32 CpsBootlegEEPROM;
extern INT32 Cps2Turbo;
extern INT32 Jurassic99;
extern INT32 Dinoh;
extern INT32 Wofhfh;
extern INT32 Wofsgzb;
extern INT32 Wof3js;
extern INT32 Knightsh;
extern ClearOpposite<4, UINT8> clear_opposite;

View File

@ -38,7 +38,6 @@ INT32 Forgottn = 0;
INT32 Cps1QsHack = 0;
INT32 Kodh = 0;
INT32 Cawingb = 0;
INT32 Wofh = 0;
INT32 Sf2thndr = 0;
INT32 Pzloop2 = 0;
INT32 Hkittymp = 0;
@ -47,6 +46,12 @@ INT32 Dinohunt = 0;
INT32 Port6SoundWrite = 0;
INT32 CpsBootlegEEPROM = 0;
INT32 Cps2Turbo = 0;
INT32 Jurassic99 = 0;
INT32 Dinoh = 0;
INT32 Wofhfh = 0;
INT32 Wofsgzb = 0;
INT32 Wof3js = 0;
INT32 Knightsh = 0;
ClearOpposite<4, UINT8> clear_opposite;
@ -579,6 +584,15 @@ INT32 CpsRwGetInp()
CPSINPEX
#undef INP
if (Jurassic99)
Inpc001 |= (CpsInp179[0] & 1) << 7;
if (Wofsgzb)
Inpc001 |= (CpsInp179[0] & 1) << 6;
if (Dinoh)
Inp177 |= (CpsInp179[0] & 1) << 7;
if (Wofhfh || Wof3js || Knightsh)
Inp177 |= (CpsInp179[0] & 1) << 6;
if (Forgottn) {
// Handle analog controls
if (fFakeDip & 0x80) {

File diff suppressed because it is too large Load Diff

View File

@ -9204,36 +9204,6 @@ 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()
@ -12152,16 +12122,6 @@ 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[] = {
@ -13275,7 +13235,7 @@ static struct BurnSampleInfo Sfz3mixSampleDesc[] = {
{ "L18", SAMPLE_NOLOOP },
{ "L19", SAMPLE_NOLOOP },
{ "L1A", SAMPLE_NOLOOP | SAMPLE_NODUMP },
{ "L1B", SAMPLE_NOLOOP | SAMPLE_NODUMP },
{ "L1B", SAMPLE_NOLOOP },
{ "L1C", SAMPLE_NOLOOP },
{ "L1D", SAMPLE_NOLOOP | SAMPLE_NODUMP },
{ "L1E", SAMPLE_NOLOOP },
@ -13339,7 +13299,7 @@ static struct BurnSampleInfo Sfz3mixSampleDesc[] = {
{ "R18", SAMPLE_NOLOOP },
{ "R19", SAMPLE_NOLOOP },
{ "R1A", SAMPLE_NOLOOP | SAMPLE_NODUMP },
{ "R1B", SAMPLE_NOLOOP | SAMPLE_NODUMP },
{ "R1B", SAMPLE_NOLOOP },
{ "R1C", SAMPLE_NOLOOP },
{ "R1D", SAMPLE_NOLOOP | SAMPLE_NODUMP },
{ "R1E", SAMPLE_NOLOOP },
@ -15240,7 +15200,7 @@ STD_ROM_FN(Hsf2df)
struct BurnDriver BurnDrvCpsHsf2df = {
"hsf2df", "hsf2", NULL, NULL, "2023",
"Hyper Street Fighter II: The Anniversary Edition (Difficulty Fix, Hack)\0", NULL, "hack", "CPS2",
"Hyper Street Fighter II: The Anniversary Edition (Difficulty Fix, Hack)\0", NULL, "hack (bankbank)", "CPS2",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_HACK | BDF_HISCORE_SUPPORTED, 2, HARDWARE_CAPCOM_CPS2, GBF_VSFIGHT, FBF_SF,
NULL, Hsf2dfRomInfo, Hsf2dfRomName, NULL, NULL, NULL, NULL, Cps2FightingInputInfo, NULL,
@ -15298,10 +15258,99 @@ STD_ROM_FN(Sfa2ultra)
struct BurnDriver BurnDrvCpsSfa2ultra = {
"sfa2ultra", "sfa2", NULL, NULL, "2023",
"Street Fighter Alpha 2 Ultra (Beta)\0", NULL, "hack", "CPS2",
"Street Fighter Alpha 2 Ultra (Beta)\0", NULL, "hack (bankbank)", "CPS2",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_HACK | BDF_HISCORE_SUPPORTED, 2, HARDWARE_CAPCOM_CPS2, GBF_VSFIGHT, FBF_SF,
NULL, Sfa2ultraRomInfo, Sfa2ultraRomName, NULL, NULL, NULL, NULL, Cps2FightingInputInfo, NULL,
Sfa2Init, DrvExit, Cps2Frame, CpsRedraw, CpsAreaScan,
&CpsRecalcPal, 0x1000, 384, 224, 4, 3
};
// X-Men Vs. Street Fighter (Coop, Hack)
// Modified by bankbank
// 202205
static struct BurnRomInfo XmvsfcphRomDesc[] = {
{ "xmvsfcph.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)
struct BurnDriver BurnDrvCpsXmvsfcph = {
"xmvsfcph", "xmvsf", NULL, NULL, "2022",
"X-Men Vs. Street Fighter (Coop, Hack)\0", NULL, "hack (bankbank)", "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
};
// Marvel Super Heroes Vs. Street Fighter (Coop, Hack)
// Modified by bankbank
// 20240628
static struct BurnRomInfo MshvsfcphRomDesc[] = {
{ "mshvsfcph.03f", 0x080000, 0x086f345a, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
{ "mvse.04f", 0x080000, 0x6ef799f9, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
{ "mvs.05a", 0x080000, 0x1a5de0cb, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
{ "mvs.06a", 0x080000, 0x959f3030, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
{ "mvs.07b", 0x080000, 0x7f915bdb, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
{ "mvs.08a", 0x080000, 0xc2813884, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
{ "mvs.09b", 0x080000, 0x3ba08818, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
{ "mvs.10b", 0x080000, 0xcf0dba98, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
{ "mvs.13m", 0x400000, 0x29b05fd9, CPS2_GFX | BRF_GRA },
{ "mvs.15m", 0x400000, 0xfaddccf1, CPS2_GFX | BRF_GRA },
{ "mvs.17m", 0x400000, 0x97aaf4c7, CPS2_GFX | BRF_GRA },
{ "mvs.19m", 0x400000, 0xcb70e915, CPS2_GFX | BRF_GRA },
{ "mvs.14m", 0x400000, 0xb3b1972d, CPS2_GFX | BRF_GRA },
{ "mvs.16m", 0x400000, 0x08aadb5d, CPS2_GFX | BRF_GRA },
{ "mvs.18m", 0x400000, 0xc1228b35, CPS2_GFX | BRF_GRA },
{ "mvs.20m", 0x400000, 0x366cc6c2, CPS2_GFX | BRF_GRA },
{ "mvs.01", 0x020000, 0x68252324, CPS2_PRG_Z80 | BRF_ESS | BRF_PRG },
{ "mvs.02", 0x020000, 0xb34e773d, CPS2_PRG_Z80 | BRF_ESS | BRF_PRG },
{ "mvs.11m", 0x400000, 0x86219770, CPS2_QSND | BRF_SND },
{ "mvs.12m", 0x400000, 0xf2fd7f68, CPS2_QSND | BRF_SND },
{ "mshvsf.key", 0x000014, 0x64660867, CPS2_ENCRYPTION_KEY },
};
STD_ROM_PICK(Mshvsfcph)
STD_ROM_FN(Mshvsfcph)
struct BurnDriver BurnDrvCpsMshvsfcph = {
"mshvsfcph", "mshvsf", NULL, NULL, "2024",
"Marvel Super Heroes Vs. Street Fighter (Coop, Hack)\0", NULL, "hack (bankbank)", "CPS2",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_HACK | BDF_HISCORE_SUPPORTED, 2, HARDWARE_CAPCOM_CPS2, GBF_VSFIGHT, FBF_SF,
NULL, MshvsfcphRomInfo, MshvsfcphRomName, NULL, NULL, NULL, NULL, Cps2FightingInputInfo, NULL,
Cps2Init, DrvExit, Cps2Frame, CpsRedraw, CpsAreaScan,
&CpsRecalcPal, 0x1000, 384, 224, 4, 3
};

View File

@ -1,4 +1,4 @@
// FB Alpha Jackal driver module
// FB Neo Jackal driver module
// Based on MAME driver by Kenneth Lin
#include "tiles_generic.h"
@ -44,6 +44,7 @@ static INT32 layer_offset_x = 8;
static INT32 layer_offset_y = 16;
static INT32 bootleg = 0;
static INT32 jackalr = 0;
//static INT32 nRotate[2] = { 0, 0 };
//static UINT32 nRotateTime[2] = { 0, 0 };
@ -307,17 +308,17 @@ static void RotateReset() {
}
static UINT32 RotationTimer(void) {
return nCurrentFrame;
return nCurrentFrame;
}
static void RotateRight(INT32 *v) {
(*v)++;
if (*v > 7) *v = 0;
(*v)++;
if (*v > 7) *v = 0;
}
static void RotateLeft(INT32 *v) {
(*v)--;
if (*v < 0) *v = 7;
(*v)--;
if (*v < 0) *v = 7;
}
static UINT8 Joy2Rotate(UINT8 *joy) { // ugly code, but the effect is awesome. -dink
@ -336,32 +337,32 @@ static UINT8 Joy2Rotate(UINT8 *joy) { // ugly code, but the effect is awesome. -
}
static int dialRotation(INT32 playernum) {
// p1 = 0, p2 = 1
// p1 = 0, p2 = 1
UINT8 player[2] = { 0, 0 };
static UINT8 lastplayer[2][2] = { { 0, 0 }, { 0, 0 } };
if ((playernum != 0) && (playernum != 1)) {
bprintf(PRINT_NORMAL, _T("Strange Rotation address => %06X\n"), playernum);
return 0;
}
if (playernum == 0) {
player[0] = DrvFakeInput[0]; player[1] = DrvFakeInput[1];
}
if (playernum == 1) {
player[0] = DrvFakeInput[2]; player[1] = DrvFakeInput[3];
}
if ((playernum != 0) && (playernum != 1)) {
bprintf(PRINT_NORMAL, _T("Strange Rotation address => %06X\n"), playernum);
return 0;
}
if (playernum == 0) {
player[0] = DrvFakeInput[0]; player[1] = DrvFakeInput[1];
}
if (playernum == 1) {
player[0] = DrvFakeInput[2]; player[1] = DrvFakeInput[3];
}
if (player[0] && (player[0] != lastplayer[playernum][0] || (RotationTimer() > nRotateTime[playernum]+0xf))) {
if (player[0] && (player[0] != lastplayer[playernum][0] || (RotationTimer() > nRotateTime[playernum]+0xf))) {
RotateLeft(&nRotate[playernum]);
//bprintf(PRINT_NORMAL, _T("Player %d Rotate Left => %06X\n"), playernum+1, nRotate[playernum]);
//bprintf(PRINT_NORMAL, _T("Player %d Rotate Left => %06X\n"), playernum+1, nRotate[playernum]);
nRotateTime[playernum] = RotationTimer();
nRotateTarget[playernum] = -1;
}
}
if (player[1] && (player[1] != lastplayer[playernum][1] || (RotationTimer() > nRotateTime[playernum]+0xf))) {
RotateRight(&nRotate[playernum]);
//bprintf(PRINT_NORMAL, _T("Player %d Rotate Right => %06X\n"), playernum+1, nRotate[playernum]);
nRotateTime[playernum] = RotationTimer();
RotateRight(&nRotate[playernum]);
//bprintf(PRINT_NORMAL, _T("Player %d Rotate Right => %06X\n"), playernum+1, nRotate[playernum]);
nRotateTime[playernum] = RotationTimer();
nRotateTarget[playernum] = -1;
}
@ -713,27 +714,27 @@ static void DrvPaletteInit()
static INT32 DrvInit()
{
AllMem = NULL;
MemIndex();
INT32 nLen = MemEnd - (UINT8 *)0;
if ((AllMem = (UINT8 *)BurnMalloc(nLen)) == NULL) return 1;
memset(AllMem, 0, nLen);
MemIndex();
BurnAllocMemIndex();
if (!bootleg) {
// Jackal
if (BurnLoadRom(DrvM6809ROM0 + 0x10000, 0, 1)) return 1;
if (BurnLoadRom(DrvM6809ROM0 + 0x0c000, 1, 1)) return 1;
if (BurnLoadRom(DrvM6809ROM1 + 0x08000, 2, 1)) return 1;
INT32 nIndex = 0;
INT32 nLen = (jackalr) ? 0x20000 : 0x40000;
INT32 nLoop = (jackalr) ? 4 : 2;
if (BurnLoadRom(DrvGfxROM2 + 0x00000, 3, 2)) return 1;
if (BurnLoadRom(DrvGfxROM2 + 0x00001, 4, 2)) return 1;
if (BurnLoadRom(DrvGfxROM2 + 0x40000, 5, 2)) return 1;
if (BurnLoadRom(DrvGfxROM2 + 0x40001, 6, 2)) return 1;
if (BurnLoadRom(DrvM6809ROM0 + 0x10000, nIndex++, 1)) return 1;
if (BurnLoadRom(DrvM6809ROM0 + 0x0c000, nIndex++, 1)) return 1;
if (BurnLoadRom(DrvColPROM + 0x00000, 7, 1)) return 1;
if (BurnLoadRom(DrvColPROM + 0x00100, 8, 1)) return 1;
if (BurnLoadRom(DrvM6809ROM1 + 0x08000, nIndex++, 1)) return 1;
for (INT32 i = 0; i < nLoop; i++) {
if (BurnLoadRom(DrvGfxROM2 + 0x00000 + i * nLen, nIndex++, 2)) return 1;
if (BurnLoadRom(DrvGfxROM2 + 0x00001 + i * nLen, nIndex++, 2)) return 1;
}
if (BurnLoadRom(DrvColPROM + 0x00000, nIndex++, 1)) return 1;
if (BurnLoadRom(DrvColPROM + 0x00100, nIndex++, 1)) return 1;
} else {
// Bootleg
if (BurnLoadRom(DrvM6809ROM0 + 0x10000, 0, 1)) return 1;
@ -807,9 +808,10 @@ static INT32 DrvExit()
GenericTilesExit();
BurnFree(AllMem);
BurnFreeMemIndex();
bootleg = 0;
jackalr = 0;
game_rotates = 1;
return 0;
@ -1114,18 +1116,22 @@ STD_ROM_FN(jackal)
// Jackal (World, Rotary Joystick)
static struct BurnRomInfo jackalrRomDesc[] = {
{ "631_q02.15d", 0x10000, 0xed2a7d66, 0 | BRF_PRG | BRF_ESS }, // 0 - M6809 #0 Code
{ "631_q03.16d", 0x04000, 0xb9d34836, 0 | BRF_PRG | BRF_ESS }, // 1
{ "631_q02.15d", 0x10000, 0xed2a7d66, 0 | BRF_PRG | BRF_ESS }, // 0 - M6809 #0 Code
{ "631_q03.16d", 0x04000, 0xb9d34836, 0 | BRF_PRG | BRF_ESS }, // 1
{ "631_q01.11d", 0x08000, 0x54aa2d29, 1 | BRF_PRG | BRF_ESS }, // 2 - M6809 #1 Code
{ "631_q01.11d", 0x08000, 0x54aa2d29, 1 | BRF_PRG | BRF_ESS }, // 2 - M6809 #1 Code
{ "631t04.7h", 0x20000, 0x457f42f0, 2 | BRF_GRA }, // 3 - Graphics Tiles
{ "631t05.8h", 0x20000, 0x732b3fc1, 2 | BRF_GRA }, // 4
{ "631t06.12h", 0x20000, 0x2d10e56e, 2 | BRF_GRA }, // 5
{ "631t07.13h", 0x20000, 0x4961c397, 2 | BRF_GRA }, // 6
{ "631_q05.7h", 0x10000, 0xbcf5d0a8, 2 | BRF_GRA }, // 3 - Graphics Tiles
{ "631_q06.8h", 0x10000, 0x4cb5df22, 2 | BRF_GRA }, // 4
{ "631_q04.7h", 0x10000, 0xe1e9aa42, 2 | BRF_GRA }, // 5
{ "631_q07.8h", 0x10000, 0xcc68c5b8, 2 | BRF_GRA }, // 6
{ "631_q09.12h", 0x10000, 0x55ea6852, 2 | BRF_GRA }, // 7
{ "631_q10.13h", 0x10000, 0xfe93e217, 2 | BRF_GRA }, // 8
{ "631_q08.12h", 0x10000, 0xd2492b8b, 2 | BRF_GRA }, // 9
{ "631_q11.13h", 0x10000, 0x563ae24c, 2 | BRF_GRA }, // 10
{ "631r08.9h", 0x00100, 0x7553a172, 3 | BRF_GRA }, // 7 - Color PROMs
{ "631r09.14h", 0x00100, 0xa74dd86c, 3 | BRF_GRA }, // 7 - Color PROMs
{ "631r08.9h", 0x00100, 0x7553a172, 3 | BRF_GRA }, // 11 - Color PROMs
{ "631r09.14h", 0x00100, 0xa74dd86c, 3 | BRF_GRA }, // 12
};
STD_ROM_PICK(jackalr)
@ -1256,9 +1262,10 @@ INT32 DrvInitbl()
return DrvInit();
}
INT32 DrvInitRo()
INT32 JackalrInit()
{
game_rotates = 1;
jackalr = 1;
return DrvInit();
}
@ -1279,7 +1286,7 @@ struct BurnDriver BurnDrvJackalr = {
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_ORIENTATION_VERTICAL | BDF_ORIENTATION_FLIPPED | BDF_HISCORE_SUPPORTED, 2, HARDWARE_PREFIX_KONAMI, GBF_RUNGUN, 0,
NULL, jackalrRomInfo, jackalrRomName, NULL, NULL, NULL, NULL, DrvrotateInputInfo, DrvrotateDIPInfo,
DrvInitRo, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x300,
JackalrInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x300,
224, 240, 3, 4
};

View File

@ -21566,15 +21566,15 @@ struct BurnDriver BurnDrvKof94rz = {
0x1000, 304, 224, 4, 3
};
// King of Fighters '94 (Team Edit Edition v1.4.0, Hack)
// King of Fighters '94 (Team Edit Edition v1.4.1, Hack)
// https://neorh.mattgreer.dev/
static struct BurnRomInfo kof94teRomDesc[] = {
{ "055-p1te.p1", 0x200000, 0xc597d83c, 1 | BRF_ESS | BRF_PRG },
{ "055-p1te.p1", 0x200000, 0x0fea9cd0, 1 | BRF_ESS | BRF_PRG },
{ "055-s1te.s1", 0x020000, 0xdcd024d2, 2 | BRF_GRA },
{ "055-c1te.c1", 0x200000, 0xab83690c, 3 | BRF_GRA },
{ "055-c1te.c1", 0x200000, 0xe99676e7, 3 | BRF_GRA },
{ "055-c2te.c2", 0x200000, 0x849bdfba, 3 | BRF_GRA },
KOF94_SPR2
KOF94_SPR3
@ -21591,7 +21591,7 @@ STD_ROM_FN(kof94te)
struct BurnDriver BurnDrvKof94te = {
"kof94te", "kof94", "neogeo", NULL, "2024",
"The King of Fighters '94 (Team Edit Edition v1.4.0, Hack)\0", NULL, "hack (Matt Greer)", "Neo Geo MVS",
"The King of Fighters '94 (Team Edit Edition v1.4.1, Hack)\0", NULL, "hack (Matt Greer)", "Neo Geo MVS",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_HACK, 2, HARDWARE_PREFIX_CARTRIDGE | HARDWARE_SNK_NEOGEO | HARDWARE_SNK_SWAPP, GBF_VSFIGHT, FBF_KOF,
NULL, kof94teRomInfo, kof94teRomName, NULL, NULL, NULL, NULL, neogeoInputInfo, neogeoDIPInfo,

View File

@ -1,4 +1,4 @@
// FB Alpha Kaneko 16-bit driver module
// FB Neo Kaneko 16-bit driver module
// Based on MAME driver by Luca Elia
#include "tiles_generic.h"
@ -1039,7 +1039,7 @@ static struct BurnRomInfo PackbangRomDesc[] = {
{ "bbp0x3_u23.u23", 0x020000, 0x8f879c9d, BRF_ESS | BRF_PRG }, // 0 68000 Program Code /* labeled BBP0X3/U23 */
{ "bbp1x3_u39.u39", 0x020000, 0x3a90ad84, BRF_ESS | BRF_PRG }, // 1 /* labeled BBP1X3/U39 */
{ "bb-u84-007__w22.u84", 0x080000, 0x97837aaa, BRF_GRA }, // 2 Sprites /* mask rom */
{ "bb-u84-007__w22.u84", 0x080000, 0x97837aaa, BRF_GRA }, // 2 Sprites /* mask rom */
{ "bbs0x1_u83.u83", 0x040000, 0x3d95b1e5, BRF_GRA }, // 3 /* labeled BBS0X1/U83 */
{ "bbb0x1_u77.u77", 0x080000, 0xb2ffd081, BRF_GRA }, // 4 Titles (scrambled) /* 1ST AND 2ND HALF IDENTICAL */
@ -1062,7 +1062,7 @@ static struct BurnRomInfo PackbangpRomDesc[] = {
{ "bbp0x3_527b.u23", 0x020000, 0x105e978a, BRF_ESS | BRF_PRG }, // 0 68000 Program Code /* hand written checksum on label - 527B */
{ "bbp1x3_c5c8.u39", 0x020000, 0x465d36f5, BRF_ESS | BRF_PRG }, // 1 /* hand written checksum on label - C5C8 */
{ "bb.u84", 0x080000, 0x97837aaa, BRF_GRA }, // 2 Sprites
{ "bb.u84", 0x080000, 0x97837aaa, BRF_GRA }, // 2 Sprites
{ "pb_spr_ext_9_20_ver_ba63.u83", 0x040000, 0x666a1217, BRF_GRA }, // 3 /* hand written label plus checksum BA63 */
{ "bbb0x1.u77", 0x080000, 0xb2ffd081, BRF_GRA }, // 4 Titles (scrambled) /* 1ST AND 2ND HALF IDENTICAL */
@ -1552,8 +1552,8 @@ STD_ROM_PICK(Gtmr2a)
STD_ROM_FN(Gtmr2a)
static struct BurnRomInfo Gtmr2uRomDesc[] = {
{ "m2p0a1.u8", 0x080000, 0x813e1d5e, BRF_ESS | BRF_PRG }, // 0 68000 Program Code
{ "m2p1a1.u7", 0x080000, 0xbee63666, BRF_ESS | BRF_PRG }, // 1
{ "m2p0a2.u8", 0x080000, 0x1a008ea4, BRF_ESS | BRF_PRG }, // 0 68000 Program Code
{ "m2p1a2.u7", 0x080000, 0xbbf8b43e, BRF_ESS | BRF_PRG }, // 1
{ "m2d0x0.u31", 0x020000, 0x2e1a06ff, BRF_PRG | BRF_OPT }, // 2 MCU Code
@ -1577,6 +1577,32 @@ static struct BurnRomInfo Gtmr2uRomDesc[] = {
STD_ROM_PICK(Gtmr2u)
STD_ROM_FN(Gtmr2u)
static struct BurnRomInfo Gtmr2uaRomDesc[] = {
{ "m2p0a1.u8", 0x080000, 0x813e1d5e, BRF_ESS | BRF_PRG }, // 0 68000 Program Code
{ "m2p1a1.u7", 0x080000, 0xbee63666, BRF_ESS | BRF_PRG }, // 1
{ "m2d0x0.u31", 0x020000, 0x2e1a06ff, BRF_PRG | BRF_OPT }, // 2 MCU Code
{ "m2-200-0.u49", 0x400000, 0x93aafc53, BRF_GRA }, // 3 Sprites
{ "m2-201-0.u50", 0x200000, 0x39b60a83, BRF_GRA }, // 4
{ "m2-202-0.u51", 0x200000, 0xfd06b339, BRF_GRA }, // 5
{ "m2s0a1.u32", 0x080000, 0x98977171, BRF_GRA }, // 6
{ "m2s1a1.u33", 0x080000, 0xc69a732e, BRF_GRA }, // 7
{ "m2-300-0.u89", 0x200000, 0x4dc42fbb, BRF_GRA }, // 8 Tiles
{ "m2-301-0.u90", 0x200000, 0xf4e894f2, BRF_GRA }, // 9
{ "m2b0x0.u93", 0x020000, 0xe023d51b, BRF_GRA }, // 10
{ "m2b1x0.u94", 0x020000, 0x03c48bdb, BRF_GRA }, // 11
{ "m2-100-0.u48", 0x100000, 0x5250fa45, BRF_SND }, // 12 Samples, plus room for expansion
{ "m2w1a1.u47", 0x080000, 0x15f25342, BRF_SND }, // 13 Samples
};
STD_ROM_PICK(Gtmr2ua)
STD_ROM_FN(Gtmr2ua)
static struct BurnRomInfo MgcrystlRomDesc[] = {
{ "mc100e02.u18", 0x020000, 0x246a1335, BRF_ESS | BRF_PRG }, // 0 68000 Program Code /* Labeled as MC100E/U18-02 */
{ "mc101e02.u19", 0x040000, 0x708ea1dc, BRF_ESS | BRF_PRG }, // 1 /* Labeled as MC101E/U19-02 */
@ -2186,7 +2212,7 @@ static INT16 calc_compute_x(void)
else if ((hit.x1p >= hit.x2p) && (hit.x1p < (hit.x2p + hit.x2s))) // x1p inside x2
x_coll = (hit.x2s - (hit.x1p - hit.x2p));
else // normal/no overlap
x_coll = ((hit.x1s + hit.x2s)/2) - abs((hit.x1p + hit.x1s/2) - (hit.x2p + hit.x2s/2));
x_coll = ((hit.x1s + hit.x2s)/2) - abs((hit.x1p + hit.x1s/2) - (hit.x2p + hit.x2s/2));
return x_coll;
}
@ -6996,7 +7022,7 @@ static INT32 BerlwallFrameRender()
Kaneko16Palette[i + 2048] = 0;
}
} else {
for (i = 0; i < 32768; i++) {
for (i = 0; i < 32768; i++) {
INT32 r = (pal5bit(i >> 5) * nBrightness) / 100;
INT32 g = (pal5bit(i >> 10) * nBrightness) / 100;
INT32 b = (pal5bit(i >> 0) * nBrightness) / 100;
@ -7977,7 +8003,7 @@ struct BurnDriver BurnDrvGtmr2a = {
struct BurnDriver BurnDrvGtmr2u = {
"gtmr2u", "gtmr2", NULL, NULL, "1995",
"Great 1000 Miles Rally 2 USA (95/05/18)\0", NULL, "Kaneko", "Kaneko16",
"Great 1000 Miles Rally 2 USA (95/07/11)\0", NULL, "Kaneko", "Kaneko16",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_KANEKO16, GBF_RACING, 0,
NULL, Gtmr2uRomInfo, Gtmr2uRomName, NULL, NULL, NULL, NULL, GtmrInputInfo, Gtmr2DIPInfo,
@ -7985,6 +8011,16 @@ struct BurnDriver BurnDrvGtmr2u = {
NULL, 0x10000, 320, 240, 4, 3
};
struct BurnDriver BurnDrvGtmr2ua = {
"gtmr2ua", "gtmr2", NULL, NULL, "1995",
"Great 1000 Miles Rally 2 USA (95/05/18)\0", NULL, "Kaneko", "Kaneko16",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_HISCORE_SUPPORTED, 2, HARDWARE_KANEKO16, GBF_RACING, 0,
NULL, Gtmr2uaRomInfo, Gtmr2uaRomName, NULL, NULL, NULL, NULL, GtmrInputInfo, Gtmr2DIPInfo,
Gtmr2uInit, GtmrMachineExit, GtmrFrame, GtmrFrameRender, GtmrScan,
NULL, 0x10000, 320, 240, 4, 3
};
struct BurnDriver BurnDrvMgcrsytl = {
"mgcrystl", NULL, NULL, NULL, "1991",
"Magical Crystals (World, 92/01/10)\0", NULL, "Kaneko", "Kaneko16",

View File

@ -1180,7 +1180,6 @@ void IpsApplyPatches(UINT8* base, char* rom_name, UINT32 crc, bool readonly)
void IpsPatchInit()
{
bDoIpsPatch = true;
GetIpsDrvDefine();
}