Tidy some CPS-1 custom gfx load routines (avoid loading files unnecessarily!)
This commit is contained in:
parent
e80f5c0413
commit
d96a270d27
|
@ -176,9 +176,9 @@ static INT32 CpsLoadOnePang(UINT8 *Tile,INT32 nNum,INT32 nWord,INT32 nShift)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static INT32 CpsLoadOneHack160(UINT8 *Tile, INT32 nNum, INT32 nWord, INT32 nOffset)
|
||||
static INT32 CpsLoadOneHack160(UINT8 *Tile, INT32 nNum, INT32 nWord, INT32 nType)
|
||||
{
|
||||
INT32 i = 0;
|
||||
INT32 i = 0, j = 0;
|
||||
UINT8 *Rom1 = NULL, *Rom2 = NULL;
|
||||
INT32 nRomLen1 = 0, nRomLen2 = 0;
|
||||
UINT8 *pt = NULL, *pr = NULL;
|
||||
|
@ -191,31 +191,39 @@ static INT32 CpsLoadOneHack160(UINT8 *Tile, INT32 nNum, INT32 nWord, INT32 nOffs
|
|||
if (Rom2 == NULL) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
for (i = 0, pt = Tile, pr = Rom1 + (0x80000 * nOffset); i < 0x80000; pt += 8) {
|
||||
UINT32 Pix; // Eight pixels
|
||||
UINT8 b;
|
||||
b = *pr++; i++; Pix = SepTable[b];
|
||||
if (nWord) {
|
||||
b = *pr++; i++; Pix |= SepTable[b] << 1;
|
||||
}
|
||||
|
||||
Pix <<= 0;
|
||||
*((UINT32 *)pt) |= Pix;
|
||||
|
||||
INT32 TileOffset[4] = { 0x000000, 0x000004, 0x200000, 0x200004 };
|
||||
if (nType == 1) {
|
||||
TileOffset[1] = 0x200000;
|
||||
TileOffset[2] = 0x000004;
|
||||
}
|
||||
|
||||
for (i = 0, pt = Tile, pr = Rom2 + (0x80000 * nOffset); i < 0x80000; pt += 8) {
|
||||
UINT32 Pix; // Eight pixels
|
||||
UINT8 b;
|
||||
b = *pr++; i++; Pix = SepTable[b];
|
||||
if (nWord) {
|
||||
b = *pr++; i++; Pix |= SepTable[b] << 1;
|
||||
for (j = 0; j < 4; j++) {
|
||||
for (i = 0, pt = Tile + TileOffset[j], pr = Rom1 + (0x80000 * j); i < 0x80000; pt += 8) {
|
||||
UINT32 Pix; // Eight pixels
|
||||
UINT8 b;
|
||||
b = *pr++; i++; Pix = SepTable[b];
|
||||
if (nWord) {
|
||||
b = *pr++; i++; Pix |= SepTable[b] << 1;
|
||||
}
|
||||
|
||||
Pix <<= 0;
|
||||
*((UINT32 *)pt) |= Pix;
|
||||
}
|
||||
|
||||
Pix <<= 2;
|
||||
*((UINT32 *)pt) |= Pix;
|
||||
}
|
||||
for (i = 0, pt = Tile + TileOffset[j], pr = Rom2 + (0x80000 * j); i < 0x80000; pt += 8) {
|
||||
UINT32 Pix; // Eight pixels
|
||||
UINT8 b;
|
||||
b = *pr++; i++; Pix = SepTable[b];
|
||||
if (nWord) {
|
||||
b = *pr++; i++; Pix |= SepTable[b] << 1;
|
||||
}
|
||||
|
||||
Pix <<= 2;
|
||||
*((UINT32 *)pt) |= Pix;
|
||||
}
|
||||
}
|
||||
|
||||
BurnFree(Rom2);
|
||||
BurnFree(Rom1);
|
||||
return 0;
|
||||
|
@ -555,19 +563,9 @@ INT32 CpsLoadTilesPang(UINT8* Tile, INT32 nStart)
|
|||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesHack160(UINT8* Tile, INT32 nStart)
|
||||
static INT32 CpsLoadTilesBootleg(UINT8 *Tile, INT32 nStart)
|
||||
{
|
||||
CpsLoadOneHack160(Tile + 0 + 0x000000, nStart, 1, 0);
|
||||
CpsLoadOneHack160(Tile + 4 + 0x000000, nStart, 1, 1);
|
||||
CpsLoadOneHack160(Tile + 0 + 0x200000, nStart, 1, 2);
|
||||
CpsLoadOneHack160(Tile + 4 + 0x200000, nStart, 1, 3);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesBootleg(UINT8 *Tile, INT32 nStart)
|
||||
{
|
||||
CpsLoadOneBootleg(Tile, nStart, 0, 0);
|
||||
CpsLoadOneBootleg(Tile, nStart + 0, 0, 0);
|
||||
CpsLoadOneBootleg(Tile, nStart + 1, 0, 1);
|
||||
CpsLoadOneBootleg(Tile, nStart + 2, 0, 2);
|
||||
CpsLoadOneBootleg(Tile, nStart + 3, 0, 3);
|
||||
|
@ -575,26 +573,6 @@ INT32 CpsLoadTilesBootleg(UINT8 *Tile, INT32 nStart)
|
|||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesCaptcomb(UINT8 *Tile, INT32 nStart)
|
||||
{
|
||||
CpsLoadOneBootlegType2(Tile, nStart, 0, 0);
|
||||
CpsLoadOneBootlegType2(Tile, nStart + 1, 0, 1);
|
||||
CpsLoadOneBootlegType2(Tile, nStart + 2, 0, 2);
|
||||
CpsLoadOneBootlegType2(Tile, nStart + 3, 0, 3);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesPunipic2(UINT8 *Tile, INT32 nStart)
|
||||
{
|
||||
CpsLoadOneHack160(Tile + 0 + 0x000000, nStart, 1, 0);
|
||||
CpsLoadOneHack160(Tile + 0 + 0x200000, nStart, 1, 1);
|
||||
CpsLoadOneHack160(Tile + 4 + 0x000000, nStart, 1, 2);
|
||||
CpsLoadOneHack160(Tile + 4 + 0x200000, nStart, 1, 3);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesSf2ebbl(UINT8 *Tile, INT32 nStart)
|
||||
{
|
||||
CpsLoadOneSf2ebbl(Tile, nStart + 0, 0, 0);
|
||||
|
@ -605,6 +583,30 @@ INT32 CpsLoadTilesSf2ebbl(UINT8 *Tile, INT32 nStart)
|
|||
return 0;
|
||||
}
|
||||
|
||||
static INT32 CpsLoadTilesBootlegType3(UINT8 *Tile, INT32 nStart)
|
||||
{
|
||||
CpsLoadOneBootlegType3(Tile, nStart + 0, 0, 0);
|
||||
CpsLoadOneBootlegType3(Tile, nStart + 1, 0, 1);
|
||||
CpsLoadOneBootlegType3(Tile, nStart + 2, 0, 2);
|
||||
CpsLoadOneBootlegType3(Tile, nStart + 3, 0, 3);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesHack160(INT32 nStart)
|
||||
{
|
||||
CpsLoadOneHack160(CpsGfx, nStart, 1, 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesHack160Alt(INT32 nStart)
|
||||
{
|
||||
CpsLoadOneHack160(CpsGfx, nStart, 1, 1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesSf2koryu(INT32 nStart)
|
||||
{
|
||||
CpsLoadOneSf2koryu(CpsGfx + 0x000000, nStart + 0, 1, 0);
|
||||
|
@ -619,18 +621,9 @@ INT32 CpsLoadTilesSf2koryu(INT32 nStart)
|
|||
|
||||
INT32 CpsLoadTilesSf2mdt(INT32 nStart)
|
||||
{
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 0, 0, 0);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 1, 0, 1);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 2, 0, 2);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 3, 0, 3);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x200000, nStart + 4, 0, 0);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x200000, nStart + 5, 0, 1);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x200000, nStart + 6, 0, 2);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x200000, nStart + 7, 0, 3);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x400000, nStart + 8, 0, 0);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x400000, nStart + 9, 0, 1);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x400000, nStart + 10, 0, 2);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x400000, nStart + 11, 0, 3);
|
||||
CpsLoadTilesBootlegType3(CpsGfx + 0x000000, nStart + 0);
|
||||
CpsLoadTilesBootlegType3(CpsGfx + 0x200000, nStart + 4);
|
||||
CpsLoadTilesBootlegType3(CpsGfx + 0x400000, nStart + 8);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -649,36 +642,46 @@ INT32 CpsLoadTilesSf2mdta(INT32 nStart)
|
|||
|
||||
INT32 CpsLoadTilesFcrash(INT32 nStart)
|
||||
{
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 0, 0, 0);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 1, 0, 1);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 2, 0, 2);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 3, 0, 3);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x080000, nStart + 4, 0, 0);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x080000, nStart + 5, 0, 1);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x080000, nStart + 6, 0, 2);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x080000, nStart + 7, 0, 3);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x100000, nStart + 8, 0, 0);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x100000, nStart + 9, 0, 1);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x100000, nStart + 10, 0, 2);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x100000, nStart + 11, 0, 3);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x180000, nStart + 12, 0, 0);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x180000, nStart + 13, 0, 1);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x180000, nStart + 14, 0, 2);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x180000, nStart + 15, 0, 3);
|
||||
CpsLoadTilesBootlegType3(CpsGfx + 0x000000, nStart + 0);
|
||||
CpsLoadTilesBootlegType3(CpsGfx + 0x080000, nStart + 4);
|
||||
CpsLoadTilesBootlegType3(CpsGfx + 0x100000, nStart + 8);
|
||||
CpsLoadTilesBootlegType3(CpsGfx + 0x180000, nStart + 12);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesCawingbl(INT32 nStart)
|
||||
{
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 0, 0, 0);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 1, 0, 1);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 2, 0, 2);
|
||||
CpsLoadOneBootlegType3(CpsGfx + 0x000000, nStart + 3, 0, 3);
|
||||
CpsLoadTilesBootlegType3(CpsGfx + 0x000000, nStart + 0);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesCaptcommb(INT32 nStart)
|
||||
{
|
||||
CpsLoadOneBootlegType2(CpsGfx + 0x000000, nStart + 0, 0, 0);
|
||||
CpsLoadOneBootlegType2(CpsGfx + 0x000000, nStart + 1, 0, 1);
|
||||
CpsLoadOneBootlegType2(CpsGfx + 0x000000, nStart + 2, 0, 2);
|
||||
CpsLoadOneBootlegType2(CpsGfx + 0x000000, nStart + 3, 0, 3);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesDinopic(INT32 nStart)
|
||||
{
|
||||
CpsLoadTilesBootleg(CpsGfx + 0x000000, nStart + 0);
|
||||
CpsLoadTilesBootleg(CpsGfx + 0x200000, nStart + 4);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadTilesKodb(INT32 nStart)
|
||||
{
|
||||
CpsLoadTilesByte(CpsGfx, nStart);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
INT32 CpsLoadStars(UINT8* pStar, INT32 nStart)
|
||||
{
|
||||
UINT8* pTemp[2] = { NULL, NULL};
|
||||
|
|
|
@ -37,16 +37,17 @@ INT32 CpsLoadTilesByte(UINT8 *Tile,INT32 nStart);
|
|||
INT32 CpsLoadTilesForgottn(INT32 nStart);
|
||||
INT32 CpsLoadTilesForgottnu(INT32 nStart);
|
||||
INT32 CpsLoadTilesPang(UINT8 *Tile,INT32 nStart);
|
||||
INT32 CpsLoadTilesHack160(UINT8 *Tile,INT32 nStart);
|
||||
INT32 CpsLoadTilesBootleg(UINT8 *Tile, INT32 nStart);
|
||||
INT32 CpsLoadTilesCaptcomb(UINT8 *Tile, INT32 nStart);
|
||||
INT32 CpsLoadTilesPunipic2(UINT8 *Tile, INT32 nStart);
|
||||
INT32 CpsLoadTilesSf2ebbl(UINT8 *Tile, INT32 nStart);
|
||||
INT32 CpsLoadTilesHack160(INT32 nStart);
|
||||
INT32 CpsLoadTilesHack160Alt(INT32 nStart);
|
||||
INT32 CpsLoadTilesSf2koryu(INT32 nStart);
|
||||
INT32 CpsLoadTilesSf2mdt(INT32 nStart);
|
||||
INT32 CpsLoadTilesSf2mdta(INT32 nStart);
|
||||
INT32 CpsLoadTilesFcrash(INT32 nStart);
|
||||
INT32 CpsLoadTilesCawingbl(INT32 nStart);
|
||||
INT32 CpsLoadTilesCaptcommb(INT32 nStart);
|
||||
INT32 CpsLoadTilesDinopic(INT32 nStart);
|
||||
INT32 CpsLoadTilesKodb(INT32 nStart);
|
||||
INT32 CpsLoadStars(UINT8 *pStar, INT32 nStart);
|
||||
INT32 CpsLoadStarsByte(UINT8 *pStar, INT32 nStart);
|
||||
INT32 CpsLoadStarsForgottnAlt(UINT8 *pStar, INT32 nStart);
|
||||
|
|
|
@ -10812,20 +10812,14 @@ static INT32 TwelveMhzInit()
|
|||
|
||||
static INT32 CaptcommbInit()
|
||||
{
|
||||
INT32 nRet = 0;
|
||||
|
||||
CpsLayer1XOffs = -8;
|
||||
CpsLayer2XOffs = -11;
|
||||
CpsLayer3XOffs = -12;
|
||||
CpsDrawSpritesInReverse = 1;
|
||||
Cps1DetectEndSpriteList8000 = 1;
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesCaptcommb;
|
||||
|
||||
nRet = DrvInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesCaptcomb(CpsGfx, 4);
|
||||
|
||||
return nRet;
|
||||
return DrvInit();
|
||||
}
|
||||
|
||||
static INT32 Captcommb2Init()
|
||||
|
@ -11011,15 +11005,12 @@ static INT32 DinopicInit()
|
|||
INT32 nRet = 0;
|
||||
|
||||
Cps1DisablePSnd = 1;
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesDinopic;
|
||||
Cps1ObjGetCallbackFunction = DinopicObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
|
||||
nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesBootleg(CpsGfx + 0x000000, 4);
|
||||
CpsLoadTilesBootleg(CpsGfx + 0x200000, 8);
|
||||
|
||||
CpsBootlegSpriteRam = (UINT8*)BurnMalloc(0x2000);
|
||||
|
||||
SekOpen(0);
|
||||
|
@ -11066,17 +11057,11 @@ static void DinotCallback()
|
|||
|
||||
static INT32 DinotInit()
|
||||
{
|
||||
INT32 nRet = 0;
|
||||
|
||||
Cps1QsHack = 1;
|
||||
AmendProgRomCallback = DinotCallback;
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesHack160;
|
||||
|
||||
nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesHack160(CpsGfx, 2);
|
||||
|
||||
return nRet;
|
||||
return TwelveMhzInit();
|
||||
}
|
||||
|
||||
static INT32 DinotpicInit()
|
||||
|
@ -11084,14 +11069,12 @@ static INT32 DinotpicInit()
|
|||
INT32 nRet = 0;
|
||||
|
||||
Cps1DisablePSnd = 1;
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesHack160;
|
||||
Cps1ObjGetCallbackFunction = DinopicObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesHack160(CpsGfx, 2);
|
||||
|
||||
CpsBootlegSpriteRam = (UINT8*)BurnMalloc(0x2000);
|
||||
|
||||
SekOpen(0);
|
||||
|
@ -11593,14 +11576,12 @@ static INT32 KodbInit()
|
|||
INT32 nRet = 0;
|
||||
|
||||
Kodb = 1;
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesKodb;
|
||||
Cps1ObjGetCallbackFunction = KodbObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
nRet = DrvInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesByte(CpsGfx, 2);
|
||||
|
||||
SekOpen(0);
|
||||
SekMapHandler(1, 0x980000, 0x99ffff, SM_WRITE);
|
||||
SekSetWriteWordHandler(1, Kodb98WriteWord);
|
||||
|
@ -11758,16 +11739,12 @@ static INT32 PunipicInit()
|
|||
Cps1DisablePSnd = 1;
|
||||
bCpsUpdatePalEveryFrame = 1;
|
||||
Cps1OverrideLayers = 1;
|
||||
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesDinopic;
|
||||
Cps1ObjGetCallbackFunction = DinopicObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
INT32 nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesBootleg(CpsGfx + 0x000000, 4);
|
||||
CpsLoadTilesBootleg(CpsGfx + 0x200000, 8);
|
||||
|
||||
CpsBootlegSpriteRam = (UINT8*)BurnMalloc(0x4000);
|
||||
|
||||
SekOpen(0);
|
||||
|
@ -11786,15 +11763,12 @@ static INT32 Punipic2Init()
|
|||
Cps1DisablePSnd = 1;
|
||||
bCpsUpdatePalEveryFrame = 1;
|
||||
Cps1OverrideLayers = 1;
|
||||
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesHack160Alt;
|
||||
Cps1ObjGetCallbackFunction = DinopicObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
INT32 nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesPunipic2(CpsGfx, 4);
|
||||
|
||||
CpsBootlegSpriteRam = (UINT8*)BurnMalloc(0x4000);
|
||||
|
||||
SekOpen(0);
|
||||
|
@ -11813,15 +11787,12 @@ static INT32 Punipic3Init()
|
|||
Cps1DisablePSnd = 1;
|
||||
bCpsUpdatePalEveryFrame = 1;
|
||||
Cps1OverrideLayers = 1;
|
||||
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesHack160;
|
||||
Cps1ObjGetCallbackFunction = DinopicObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
INT32 nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesHack160(CpsGfx, 4);
|
||||
|
||||
CpsBootlegSpriteRam = (UINT8*)BurnMalloc(0x4000);
|
||||
|
||||
SekOpen(0);
|
||||
|
@ -11846,6 +11817,7 @@ static INT32 Sf2ebblInit()
|
|||
{
|
||||
INT32 nRet = DrvInit();
|
||||
|
||||
// load bootleg tiles over original tiles
|
||||
memset(CpsGfx + 0x400000, 0, 0x80000);
|
||||
CpsLoadTilesSf2ebbl(CpsGfx + 0x400000, 19);
|
||||
|
||||
|
@ -12705,48 +12677,13 @@ static INT32 WofhInit()
|
|||
CpsLayer1XOffs = 0xffc0;
|
||||
CpsLayer2XOffs = 0xffc0;
|
||||
CpsLayer3XOffs = 0xffc0;
|
||||
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesHack160;
|
||||
AmendProgRomCallback = WofhCallback;
|
||||
Cps1ObjGetCallbackFunction = WofhObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesHack160(CpsGfx, 1);
|
||||
|
||||
SekOpen(0);
|
||||
SekMapHandler(3, 0x880000, 0x89ffff, SM_READ | SM_WRITE);
|
||||
SekSetReadByteHandler(3, WofhInputReadByte);
|
||||
SekSetReadWordHandler(3, WofhInputReadWord);
|
||||
SekSetWriteByteHandler(3, WofhInputWriteByte);
|
||||
SekSetWriteWordHandler(3, WofhInputWriteWord);
|
||||
SekMapHandler(4, 0x135000, 0x135fff, SM_READ);
|
||||
SekSetReadByteHandler(4, Wofh135ReadByte);
|
||||
SekSetReadWordHandler(4, Wofh135ReadWord);
|
||||
SekClose();
|
||||
|
||||
return nRet;
|
||||
}
|
||||
|
||||
static INT32 WofhaInit()
|
||||
{
|
||||
INT32 nRet = 0;
|
||||
|
||||
bCpsUpdatePalEveryFrame = 1;
|
||||
CpsLayer1XOffs = 0xffc0;
|
||||
CpsLayer2XOffs = 0xffc0;
|
||||
CpsLayer3XOffs = 0xffc0;
|
||||
|
||||
AmendProgRomCallback = WofhCallback;
|
||||
Cps1ObjGetCallbackFunction = WofhObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesHack160(CpsGfx, 2);
|
||||
|
||||
SekOpen(0);
|
||||
SekMapHandler(3, 0x880000, 0x89ffff, SM_READ | SM_WRITE);
|
||||
SekSetReadByteHandler(3, WofhInputReadByte);
|
||||
|
@ -12788,16 +12725,13 @@ static INT32 SgyxzInit()
|
|||
CpsLayer1XOffs = 0xffc0;
|
||||
CpsLayer2XOffs = 0xffc0;
|
||||
CpsLayer3XOffs = 0xffc0;
|
||||
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesHack160;
|
||||
AmendProgRomCallback = SgyxzCallback;
|
||||
Cps1ObjGetCallbackFunction = WofhObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesHack160(CpsGfx, 2);
|
||||
|
||||
SekOpen(0);
|
||||
SekMapHandler(3, 0x880000, 0x89ffff, SM_READ | SM_WRITE);
|
||||
SekSetReadByteHandler(3, WofhInputReadByte);
|
||||
|
@ -12934,15 +12868,12 @@ static INT32 Wof3jsaInit()
|
|||
CpsLayer1XOffs = 0xffc0;
|
||||
CpsLayer2XOffs = 0xffc0;
|
||||
CpsLayer3XOffs = 0xffc0;
|
||||
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesHack160;
|
||||
Cps1ObjGetCallbackFunction = WofhObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
INT32 nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesHack160(CpsGfx, 2);
|
||||
|
||||
SekOpen(0);
|
||||
SekMapHandler(3, 0x880000, 0x89ffff, SM_READ | SM_WRITE);
|
||||
SekSetReadByteHandler(3, Wof3jsaInputReadByte);
|
||||
|
@ -13044,41 +12975,12 @@ static INT32 Wof3sjInit()
|
|||
CpsLayer1XOffs = 0xffc0;
|
||||
CpsLayer2XOffs = 0xffc0;
|
||||
CpsLayer3XOffs = 0xffc0;
|
||||
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesHack160;
|
||||
Cps1ObjGetCallbackFunction = WofhObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
INT32 nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesHack160(CpsGfx, 2);
|
||||
|
||||
SekOpen(0);
|
||||
SekMapHandler(3, 0x880000, 0x89ffff, SM_READ | SM_WRITE);
|
||||
SekSetReadByteHandler(3, Wof3sjInputReadByte);
|
||||
SekSetReadWordHandler(3, Wof3sjInputReadWord);
|
||||
SekSetWriteByteHandler(3, Wof3sjInputWriteByte);
|
||||
SekSetWriteWordHandler(3, Wof3sjInputWriteWord);
|
||||
SekClose();
|
||||
|
||||
return nRet;
|
||||
}
|
||||
|
||||
static INT32 Wof3sjaInit()
|
||||
{
|
||||
bCpsUpdatePalEveryFrame = 1;
|
||||
CpsLayer1XOffs = 0xffc0;
|
||||
CpsLayer2XOffs = 0xffc0;
|
||||
CpsLayer3XOffs = 0xffc0;
|
||||
|
||||
Cps1ObjGetCallbackFunction = WofhObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
INT32 nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesHack160(CpsGfx, 1);
|
||||
|
||||
SekOpen(0);
|
||||
SekMapHandler(3, 0x880000, 0x89ffff, SM_READ | SM_WRITE);
|
||||
SekSetReadByteHandler(3, Wof3sjInputReadByte);
|
||||
|
@ -13246,15 +13148,12 @@ static INT32 WofbInit()
|
|||
CpsLayer1XOffs = 0xffc0;
|
||||
CpsLayer2XOffs = 0xffc0;
|
||||
CpsLayer3XOffs = 0xffc0;
|
||||
Cps1GfxLoadCallbackFunction = CpsLoadTilesDinopic;
|
||||
Cps1ObjGetCallbackFunction = DinopicObjGet;
|
||||
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
|
||||
|
||||
INT32 nRet = TwelveMhzInit();
|
||||
|
||||
memset(CpsGfx, 0, nCpsGfxLen);
|
||||
CpsLoadTilesBootleg(CpsGfx + 0x000000, 4);
|
||||
CpsLoadTilesBootleg(CpsGfx + 0x200000, 8);
|
||||
|
||||
CpsBootlegSpriteRam = (UINT8*)BurnMalloc(0x4000);
|
||||
|
||||
SekOpen(0);
|
||||
|
@ -15335,7 +15234,7 @@ struct BurnDriver BurnDrvCpsWofha = {
|
|||
L"\u4E09\u56FD\u5FD7II: \u4E09\u56FD\u82F1\u96C4\u4F20\0Sangokushi II: Sanguo YingXiongZhuan (Chinese bootleg set 2, 921005 Asia)\0", NULL, NULL, NULL,
|
||||
BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 3, HARDWARE_CAPCOM_CPS1, GBF_SCRFIGHT, 0,
|
||||
NULL, WofhaRomInfo, WofhaRomName, NULL, NULL, WofhfhInputInfo, WofhDIPInfo,
|
||||
WofhaInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
|
||||
WofhInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
|
||||
&CpsRecalcPal, 0x1000, 384, 224, 4, 3
|
||||
};
|
||||
|
||||
|
@ -15385,7 +15284,7 @@ struct BurnDriver BurnDrvCpsWof3sja = {
|
|||
L"\u4E09\u56FD\u5FD7II: \u4E09\u5723\u5251\0Sangokushi II: San Sheng Jian (Chinese bootleg set 2, 921005 Asia)\0", NULL, NULL, NULL,
|
||||
BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG, 3, HARDWARE_CAPCOM_CPS1, GBF_SCRFIGHT, 0,
|
||||
NULL, Wof3sjaRomInfo, Wof3sjaRomName, NULL, NULL, WofhfhInputInfo, WofhfhDIPInfo,
|
||||
Wof3sjaInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
|
||||
Wof3sjInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
|
||||
&CpsRecalcPal, 0x1000, 384, 224, 4, 3
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue