Add another sf2mdt set (dumped by f205v), looks like maybe one or more of the graphics roms are bad?
This commit is contained in:
parent
765fd5b2ff
commit
a32bb7c06a
|
@ -326,6 +326,34 @@ static INT32 CpsLoadOneBootlegType2(UINT8* Tile, INT32 nNum, INT32 nWord, INT32
|
|||
}
|
||||
|
||||
static INT32 CpsLoadOneBootlegType3(UINT8 *Tile, INT32 nNum, INT32 nWord, INT32 nShift)
|
||||
{
|
||||
UINT8 *Rom = NULL; INT32 nRomLen=0;
|
||||
UINT8 *pt = NULL, *pr = NULL;
|
||||
INT32 i;
|
||||
|
||||
LoadUp(&Rom, &nRomLen, nNum);
|
||||
if (Rom == NULL) {
|
||||
return 1;
|
||||
}
|
||||
nRomLen &= ~1; // make sure even
|
||||
|
||||
for (i = 0, pt = Tile, pr = Rom; i < nRomLen; pt += 4) {
|
||||
UINT32 Pix; // Eight pixels
|
||||
UINT8 b;
|
||||
b = *pr++; i++; Pix = SepTable[b];
|
||||
if (nWord) {
|
||||
b = *pr++; i++; Pix |= SepTable[b] << 1;
|
||||
}
|
||||
|
||||
Pix <<= nShift;
|
||||
*((UINT32 *)pt) |= Pix;
|
||||
}
|
||||
|
||||
BurnFree(Rom);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static INT32 CpsLoadOneBootlegType3Swap(UINT8 *Tile, INT32 nNum, INT32 nWord, INT32 nShift)
|
||||
{
|
||||
UINT8 *Rom = NULL; int nRomLen=0;
|
||||
UINT8 *pt = NULL, *pr = NULL;
|
||||
|
@ -347,6 +375,14 @@ static INT32 CpsLoadOneBootlegType3(UINT8 *Tile, INT32 nNum, INT32 nWord, INT32
|
|||
|
||||
Pix <<= nShift;
|
||||
*((UINT32 *)pt) |= Pix;
|
||||
|
||||
b = *pr++; i++; Pix = SepTable[b];
|
||||
if (nWord) {
|
||||
b = *pr++; i++; Pix |= SepTable[b] << 1;
|
||||
}
|
||||
|
||||
Pix <<= (nShift + 1);
|
||||
*((UINT32 *)pt) |= Pix;
|
||||
}
|
||||
|
||||
BurnFree(Rom);
|
||||
|
@ -599,6 +635,18 @@ INT32 CpsLoadTilesSf2mdt(INT32 nStart)
|
|||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesSf2mdta(INT32 nStart)
|
||||
{
|
||||
CpsLoadOneBootlegType3Swap(CpsGfx + 0x000000, nStart + 0, 0, 0);
|
||||
CpsLoadOneBootlegType3Swap(CpsGfx + 0x000000, nStart + 1, 0, 2);
|
||||
CpsLoadOneBootlegType3Swap(CpsGfx + 0x200000, nStart + 2, 0, 0);
|
||||
CpsLoadOneBootlegType3Swap(CpsGfx + 0x200000, nStart + 3, 0, 2);
|
||||
CpsLoadOneBootlegType3Swap(CpsGfx + 0x400000, nStart + 4, 0, 0);
|
||||
CpsLoadOneBootlegType3Swap(CpsGfx + 0x400000, nStart + 5, 0, 2);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesFcrash(INT32 nStart)
|
||||
{
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 0, 0, 0);
|
||||
|
|
|
@ -44,6 +44,7 @@ INT32 CpsLoadTilesPunipic2(UINT8 *Tile, INT32 nStart);
|
|||
INT32 CpsLoadTilesSf2ebbl(UINT8 *Tile, INT32 nStart);
|
||||
INT32 CpsLoadTilesSf2koryu(INT32 nStart);
|
||||
INT32 CpsLoadTilesSf2mdt(INT32 nStart);
|
||||
INT32 CpsLoadTilesSf2mdta(INT32 nStart);
|
||||
INT32 CpsLoadTilesFcrash(INT32 nStart);
|
||||
INT32 CpsLoadTilesCawingbl(INT32 nStart);
|
||||
INT32 CpsLoadStars(UINT8 *pStar, INT32 nStart);
|
||||
|
|
|
@ -8342,6 +8342,26 @@ static struct BurnRomInfo Sf2mdtRomDesc[] = {
|
|||
STD_ROM_PICK(Sf2mdt)
|
||||
STD_ROM_FN(Sf2mdt)
|
||||
|
||||
static struct BurnRomInfo Sf2mdtaRomDesc[] = {
|
||||
{ "3.bin", 0x0080000, 0x9f544ef4, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_BYTESWAP },
|
||||
{ "5.bin", 0x0080000, 0xd76d6621, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_BYTESWAP },
|
||||
{ "2.bin", 0x0020000, 0x74844192, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_BYTESWAP },
|
||||
{ "4.bin", 0x0020000, 0xbd98ff15, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_BYTESWAP },
|
||||
|
||||
// is there a bad dump here? some of the sprites have vertical lines, whilst others are fine
|
||||
{ "pf4-sh058.ic89", 0x0100000, 0x40fdf624, BRF_GRA | CPS1_TILES },
|
||||
{ "pf7-sh072.ic92", 0x0100000, 0xfb78022e, BRF_GRA | CPS1_TILES },
|
||||
{ "pf5-sh036.ic90", 0x0100000, 0x0a6be48b, BRF_GRA | CPS1_TILES },
|
||||
{ "pf8-sh074.ic93", 0x0100000, 0x6258c7cf, BRF_GRA | CPS1_TILES },
|
||||
{ "pf6-sh070.ic88", 0x0100000, 0x9b5b09d7, BRF_GRA | CPS1_TILES },
|
||||
{ "pf9-sh001.ic91", 0x0100000, 0x9f25090e, BRF_GRA | CPS1_TILES },
|
||||
|
||||
{ "1.ic28", 0x0020000, 0xd5bee9cc, BRF_PRG | CPS1_Z80_PROGRAM },
|
||||
};
|
||||
|
||||
STD_ROM_PICK(Sf2mdta)
|
||||
STD_ROM_FN(Sf2mdta)
|
||||
|
||||
static struct BurnRomInfo Sf2m1RomDesc[] = {
|
||||
{ "222e", 0x0080000, 0x1e20d0a3, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_BYTESWAP },
|
||||
{ "196e", 0x0080000, 0x88cc38a3, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_BYTESWAP },
|
||||
|
@ -10422,6 +10442,7 @@ static const struct GameConfig ConfigTable[] =
|
|||
{ "sf2accp2" , CPS_B_21_DEF, mapper_S9263B, 0, NULL },
|
||||
{ "sf2dkot2" , CPS_B_21_DEF, mapper_S9263B, 0, NULL },
|
||||
{ "sf2mdt" , CPS_B_21_DEF, mapper_S9263B, 0, NULL },
|
||||
{ "sf2mdta" , CPS_B_21_DEF, mapper_S9263B, 0, NULL },
|
||||
{ "sf2m1" , CPS_B_21_DEF, mapper_S9263B, 0, NULL },
|
||||
{ "sf2m2" , CPS_B_21_DEF, mapper_S9263B, 0, NULL },
|
||||
{ "sf2m3" , HACK_B_2 , mapper_S9263B, 0, NULL },
|
||||
|
@ -12071,6 +12092,30 @@ static INT32 Sf2mdtInit()
|
|||
return nRet;
|
||||
}
|
||||
|
||||
static INT32 Sf2mdtaInit()
|
||||
{
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesSf2mdta;
|
||||
|
||||
Cps1DisablePSnd = 1;
|
||||
CpsRunInitCallbackFunction = Sf2mdtSoundInit;
|
||||
CpsRunResetCallbackFunction = Sf2mdtSoundReset;
|
||||
CpsRunExitCallbackFunction = Sf2mdtSoundExit;
|
||||
CpsRunFrameStartCallbackFunction = Sf2mdtSoundFrameStart;
|
||||
CpsRunFrameEndCallbackFunction = Sf2mdtSoundFrameEnd;
|
||||
CpsRWSoundCommandCallbackFunction = Sf2mdtSoundCommand;
|
||||
|
||||
INT32 nRet = Sf2ceInit();
|
||||
|
||||
SekOpen(0);
|
||||
SekMapMemory(CpsRamFF, 0xfc0000, 0xfcffff, SM_RAM);
|
||||
SekMapHandler(1, 0x70c000, 0x70cfff, SM_READ);
|
||||
SekSetReadByteHandler(1, Sf2mdtReadByte);
|
||||
SekSetReadWordHandler(1, Sf2mdtReadWord);
|
||||
SekClose();
|
||||
|
||||
return nRet;
|
||||
}
|
||||
|
||||
void __fastcall Sf2hfjbWriteByte(UINT32 a, UINT8 d)
|
||||
{
|
||||
CpsWritePort(a & 0x1ff, d);
|
||||
|
@ -14787,7 +14832,7 @@ struct BurnDriver BurnDrvCpsSf2koryu2 = {
|
|||
|
||||
struct BurnDriverD BurnDrvCpsSf2mdt = {
|
||||
"sf2mdt", "sf2ce", NULL, NULL, "1992",
|
||||
"Street Fighter II' - Magic Delta Turbo (bootleg)\0", "Incorrect graphics", "Capcom", "CPS1",
|
||||
"Street Fighter II' - Magic Delta Turbo (bootleg set 1)\0", "Incorrect graphics", "Capcom", "CPS1",
|
||||
NULL, NULL, NULL, NULL,
|
||||
BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_CAPCOM_CPS1, GBF_VSFIGHT, FBF_SF,
|
||||
NULL, Sf2mdtRomInfo, Sf2mdtRomName, NULL, NULL, Sf2InputInfo, Sf2DIPInfo,
|
||||
|
@ -14795,6 +14840,16 @@ struct BurnDriverD BurnDrvCpsSf2mdt = {
|
|||
&CpsRecalcPal, 0x1000, 384, 224, 4, 3
|
||||
};
|
||||
|
||||
struct BurnDriverD BurnDrvCpsSf2mdta = {
|
||||
"sf2mdta", "sf2ce", NULL, NULL, "1992",
|
||||
"Street Fighter II' - Magic Delta Turbo (bootleg set 2)\0", "Incorrect graphics", "Capcom", "CPS1",
|
||||
NULL, NULL, NULL, NULL,
|
||||
BDF_CLONE | BDF_BOOTLEG, 2, HARDWARE_CAPCOM_CPS1, GBF_VSFIGHT, FBF_SF,
|
||||
NULL, Sf2mdtaRomInfo, Sf2mdtaRomName, NULL, NULL, Sf2InputInfo, Sf2DIPInfo,
|
||||
Sf2mdtaInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
|
||||
&CpsRecalcPal, 0x1000, 384, 224, 4, 3
|
||||
};
|
||||
|
||||
struct BurnDriver BurnDrvCpsSf2m1 = {
|
||||
"sf2m1", "sf2ce", NULL, NULL, "1992",
|
||||
"Street Fighter II' - champion edition (bootleg, M1)\0", NULL, "Capcom", "CPS1",
|
||||
|
|
Loading…
Reference in New Issue