Cps2Turbo: add missing y-lines to sfz3mix, add asspect ratio DIP
This commit is contained in:
parent
d068ff4e18
commit
aa33827302
|
@ -2356,7 +2356,9 @@ INT32 CpsExit()
|
||||||
nCpsNumScanlines = 262;
|
nCpsNumScanlines = 262;
|
||||||
|
|
||||||
nCpsScreenWidth = 384;
|
nCpsScreenWidth = 384;
|
||||||
|
nCpsScreenHeight = 224;
|
||||||
nCpsGlobalXOffset = 0;
|
nCpsGlobalXOffset = 0;
|
||||||
|
nCpsGlobalYOffset = 0;
|
||||||
|
|
||||||
if (Cps2Turbo) {
|
if (Cps2Turbo) {
|
||||||
BurnSampleExit();
|
BurnSampleExit();
|
||||||
|
|
|
@ -316,7 +316,9 @@ extern INT32 Cps1OverrideLayers;
|
||||||
extern INT32 nCps1Layers[4];
|
extern INT32 nCps1Layers[4];
|
||||||
extern INT32 nCps1LayerOffs[3];
|
extern INT32 nCps1LayerOffs[3];
|
||||||
extern INT32 nCpsScreenWidth;
|
extern INT32 nCpsScreenWidth;
|
||||||
|
extern INT32 nCpsScreenHeight;
|
||||||
extern INT32 nCpsGlobalXOffset;
|
extern INT32 nCpsGlobalXOffset;
|
||||||
|
extern INT32 nCpsGlobalYOffset;
|
||||||
void DrawFnInit();
|
void DrawFnInit();
|
||||||
INT32 CpsDraw();
|
INT32 CpsDraw();
|
||||||
INT32 CpsRedraw();
|
INT32 CpsRedraw();
|
||||||
|
@ -447,7 +449,7 @@ struct CpsrLineInfo {
|
||||||
INT16 Rows[16]; // 16 row scroll values for this line
|
INT16 Rows[16]; // 16 row scroll values for this line
|
||||||
INT32 nMaxLeft, nMaxRight; // Maximum row shifts left and right
|
INT32 nMaxLeft, nMaxRight; // Maximum row shifts left and right
|
||||||
};
|
};
|
||||||
extern struct CpsrLineInfo CpsrLineInfo[15];
|
extern struct CpsrLineInfo CpsrLineInfo[16];
|
||||||
INT32 Cps1rPrepare();
|
INT32 Cps1rPrepare();
|
||||||
INT32 Cps2rPrepare();
|
INT32 Cps2rPrepare();
|
||||||
|
|
||||||
|
@ -528,3 +530,4 @@ extern UINT16 Cps2VolumeStates[40];
|
||||||
extern INT32 Cps2DisableDigitalVolume;
|
extern INT32 Cps2DisableDigitalVolume;
|
||||||
extern UINT8 Cps2VolUp;
|
extern UINT8 Cps2VolUp;
|
||||||
extern UINT8 Cps2VolDwn;
|
extern UINT8 Cps2VolDwn;
|
||||||
|
extern UINT8 AspectDIP;
|
||||||
|
|
|
@ -12,7 +12,9 @@ INT32 CpsLayEn[6] = {0, 0, 0, 0, 0, 0}; // bits for layer enable
|
||||||
INT32 MaskAddr[4] = {0, 0, 0, 0};
|
INT32 MaskAddr[4] = {0, 0, 0, 0};
|
||||||
|
|
||||||
INT32 nCpsScreenWidth = 384;
|
INT32 nCpsScreenWidth = 384;
|
||||||
|
INT32 nCpsScreenHeight = 224;
|
||||||
INT32 nCpsGlobalXOffset = 0;
|
INT32 nCpsGlobalXOffset = 0;
|
||||||
|
INT32 nCpsGlobalYOffset = 0;
|
||||||
|
|
||||||
INT32 CpsLayer1XOffs = 0;
|
INT32 CpsLayer1XOffs = 0;
|
||||||
INT32 CpsLayer2XOffs = 0;
|
INT32 CpsLayer2XOffs = 0;
|
||||||
|
@ -83,7 +85,7 @@ static INT32 DrawScroll1(INT32 i)
|
||||||
// bprintf(PRINT_NORMAL, _T("1 %x, %x, %x\n"), nOff, nScrX, nScrY);
|
// bprintf(PRINT_NORMAL, _T("1 %x, %x, %x\n"), nOff, nScrX, nScrY);
|
||||||
|
|
||||||
nScrX += CpsLayer1XOffs;
|
nScrX += CpsLayer1XOffs;
|
||||||
nScrY += 0x10;
|
nScrY += 0x10 - nCpsGlobalYOffset;
|
||||||
nScrY += CpsLayer1YOffs;
|
nScrY += CpsLayer1YOffs;
|
||||||
nOff <<= 8;
|
nOff <<= 8;
|
||||||
nOff &= 0xffc000;
|
nOff &= 0xffc000;
|
||||||
|
@ -121,7 +123,7 @@ static INT32 DrawScroll2Init(INT32 i)
|
||||||
nCpsrScrX += CpsLayer2XOffs;
|
nCpsrScrX += CpsLayer2XOffs;
|
||||||
nCpsrScrX &= 0x03FF;
|
nCpsrScrX &= 0x03FF;
|
||||||
|
|
||||||
nCpsrScrY += 0x10;
|
nCpsrScrY += 0x10 - nCpsGlobalYOffset;
|
||||||
nCpsrScrY += CpsLayer2YOffs;
|
nCpsrScrY += CpsLayer2YOffs;
|
||||||
nCpsrScrY &= 0x03FF;
|
nCpsrScrY &= 0x03FF;
|
||||||
|
|
||||||
|
@ -191,7 +193,7 @@ static INT32 DrawScroll3(INT32 i)
|
||||||
// bprintf(PRINT_NORMAL, _T("3 %x, %x, %x\n"), nOff, nScrX, nScrY);
|
// bprintf(PRINT_NORMAL, _T("3 %x, %x, %x\n"), nOff, nScrX, nScrY);
|
||||||
|
|
||||||
nScrX += CpsLayer3XOffs;
|
nScrX += CpsLayer3XOffs;
|
||||||
nScrY += 0x10;
|
nScrY += 0x10 - nCpsGlobalYOffset;
|
||||||
nScrY += CpsLayer3YOffs;
|
nScrY += CpsLayer3YOffs;
|
||||||
|
|
||||||
nOff <<= 8;
|
nOff <<= 8;
|
||||||
|
@ -400,7 +402,7 @@ static void Cps2Layers()
|
||||||
nStartline = nRasterline[nSlice];
|
nStartline = nRasterline[nSlice];
|
||||||
nEndline = nRasterline[nSlice + 1];
|
nEndline = nRasterline[nSlice + 1];
|
||||||
if (!nEndline) {
|
if (!nEndline) {
|
||||||
nEndline = 224;
|
nEndline = nCpsScreenHeight;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Render layer
|
// Render layer
|
||||||
|
@ -489,7 +491,7 @@ void CpsClearScreen()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
memset(pBurnDraw, 0, nCpsScreenWidth * 224 * nBurnBpp);
|
memset(pBurnDraw, 0, nCpsScreenWidth * nCpsScreenHeight * nBurnBpp);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ static INT32 CpsMemIndex()
|
||||||
CpsRam708 = Next; Next += 0x010000; // Obj Ram
|
CpsRam708 = Next; Next += 0x010000; // Obj Ram
|
||||||
CpsFrg = Next; Next += 0x000010; // 'Four' Registers (Registers at 0x400000)
|
CpsFrg = Next; Next += 0x000010; // 'Four' Registers (Registers at 0x400000)
|
||||||
|
|
||||||
ZBuf = (UINT16*)Next; Next += nCpsScreenWidth * 224 * 2; // Sprite Masking Z buffer
|
ZBuf = (UINT16*)Next; Next += nCpsScreenWidth * nCpsScreenHeight * 2; // Sprite Masking Z buffer
|
||||||
|
|
||||||
CpsSaveRegData = Next; Next += 0x0100 * (MAX_RASTER + 1); // Draw Copy of registers
|
CpsSaveRegData = Next; Next += 0x0100 * (MAX_RASTER + 1); // Draw Copy of registers
|
||||||
CpsSaveFrgData = Next; Next += 0x0010 * (MAX_RASTER + 1); // Draw Copy of 'Four' Registers
|
CpsSaveFrgData = Next; Next += 0x0010 * (MAX_RASTER + 1); // Draw Copy of 'Four' Registers
|
||||||
|
|
|
@ -123,7 +123,7 @@ INT32 CpsObjInit()
|
||||||
nGetNext=0;
|
nGetNext=0;
|
||||||
|
|
||||||
if (Cps == 2) {
|
if (Cps == 2) {
|
||||||
memset(ZBuf, 0, nCpsScreenWidth * 224 * 2);
|
memset(ZBuf, 0, nCpsScreenWidth * nCpsScreenHeight * 2);
|
||||||
nMaxZMask = nZOffset = 0;
|
nMaxZMask = nZOffset = 0;
|
||||||
nMaxZValue = 1;
|
nMaxZValue = 1;
|
||||||
}
|
}
|
||||||
|
@ -180,7 +180,7 @@ INT32 CpsObjGet()
|
||||||
|
|
||||||
pof->nShiftX = (-CpsSaveFrg[0][0x9]) + nCpsGlobalXOffset;
|
pof->nShiftX = (-CpsSaveFrg[0][0x9]) + nCpsGlobalXOffset;
|
||||||
// bprintf(0, _T("shift-x %d\n"), pof->nShiftX);
|
// bprintf(0, _T("shift-x %d\n"), pof->nShiftX);
|
||||||
pof->nShiftY = -CpsSaveFrg[0][0xB];
|
pof->nShiftY = (-CpsSaveFrg[0][0xB]) + nCpsGlobalYOffset;
|
||||||
} else {
|
} else {
|
||||||
INT32 nOff = BURN_ENDIAN_SWAP_INT16(*((UINT16*)(CpsReg + 0x00))) << 8;
|
INT32 nOff = BURN_ENDIAN_SWAP_INT16(*((UINT16*)(CpsReg + 0x00))) << 8;
|
||||||
nOff &= 0xfff800;
|
nOff &= 0xfff800;
|
||||||
|
@ -240,7 +240,7 @@ void CpsObjDrawInit()
|
||||||
|
|
||||||
if (nZOffset >= 0xFC00) {
|
if (nZOffset >= 0xFC00) {
|
||||||
// The Z buffer might moverflow the next fram, so initialise it
|
// The Z buffer might moverflow the next fram, so initialise it
|
||||||
memset(ZBuf, 0, nCpsScreenWidth * 224 * 2);
|
memset(ZBuf, 0, nCpsScreenWidth * nCpsScreenHeight * 2);
|
||||||
nZOffset = 0;
|
nZOffset = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -300,7 +300,7 @@ INT32 Cps1ObjDraw(INT32 nLevelFrom,INT32 nLevelTo)
|
||||||
nFlip=(a>>5)&3;
|
nFlip=(a>>5)&3;
|
||||||
|
|
||||||
// Take care with tiles if the sprite goes off the screen
|
// Take care with tiles if the sprite goes off the screen
|
||||||
if (x<0 || y<0 || x+(bx<<4)>nCpsScreenWidth || y+(by<<4)>224) {
|
if (x<0 || y<0 || x+(bx<<4)>nCpsScreenWidth || y+(by<<4)>nCpsScreenHeight) {
|
||||||
nCpstType=CTT_16X16 | CTT_CARE;
|
nCpstType=CTT_16X16 | CTT_CARE;
|
||||||
} else {
|
} else {
|
||||||
nCpstType=CTT_16X16;
|
nCpstType=CTT_16X16;
|
||||||
|
@ -432,7 +432,7 @@ INT32 Cps2ObjDraw(INT32 nLevelFrom, INT32 nLevelTo)
|
||||||
by = ((a >> 12) & 15) + 1;
|
by = ((a >> 12) & 15) + 1;
|
||||||
|
|
||||||
// Take care with tiles if the sprite goes off the screen
|
// Take care with tiles if the sprite goes off the screen
|
||||||
if (x < 0 || y < 0 || x + (bx << 4) > (nCpsScreenWidth-1) || y + (by << 4) > 223) {
|
if (x < 0 || y < 0 || x + (bx << 4) > (nCpsScreenWidth-1) || y + (by << 4) > (nCpsScreenHeight-1)) {
|
||||||
nCpstType = CTT_16X16 | CTT_CARE;
|
nCpstType = CTT_16X16 | CTT_CARE;
|
||||||
} else {
|
} else {
|
||||||
nCpstType = CTT_16X16;
|
nCpstType = CTT_16X16;
|
||||||
|
@ -857,7 +857,7 @@ INT32 FcrashObjDraw(INT32 nLevelFrom,INT32 nLevelTo)
|
||||||
nFlip=(a>>5)&3;
|
nFlip=(a>>5)&3;
|
||||||
|
|
||||||
// Take care with tiles if the sprite goes off the screen
|
// Take care with tiles if the sprite goes off the screen
|
||||||
if (x<0 || y<0 || x+(1<<4)>nCpsScreenWidth || y+(1<<4)>224) {
|
if (x<0 || y<0 || x+(1<<4)>nCpsScreenWidth || y+(1<<4)>nCpsScreenHeight) {
|
||||||
nCpstType=CTT_16X16 | CTT_CARE;
|
nCpstType=CTT_16X16 | CTT_CARE;
|
||||||
} else {
|
} else {
|
||||||
nCpstType=CTT_16X16;
|
nCpstType=CTT_16X16;
|
||||||
|
|
|
@ -22,6 +22,8 @@ INT32 Cps1VBlankIRQLine = 2;
|
||||||
|
|
||||||
INT32 Cps1DrawAtVblank = 0;
|
INT32 Cps1DrawAtVblank = 0;
|
||||||
|
|
||||||
|
static UINT8 AspectDIPLast = 0;
|
||||||
|
|
||||||
CpsRunInitCallback CpsRunInitCallbackFunction = NULL;
|
CpsRunInitCallback CpsRunInitCallbackFunction = NULL;
|
||||||
CpsRunInitCallback CpsRunExitCallbackFunction = NULL;
|
CpsRunInitCallback CpsRunExitCallbackFunction = NULL;
|
||||||
CpsRunResetCallback CpsRunResetCallbackFunction = NULL;
|
CpsRunResetCallback CpsRunResetCallbackFunction = NULL;
|
||||||
|
@ -43,6 +45,23 @@ static void CpsQSoundCheatSearchCallback()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void check_aspect()
|
||||||
|
{
|
||||||
|
if (Cps2Turbo && (AspectDIP & 0x03) != AspectDIPLast) {
|
||||||
|
INT32 aspects[3][2] = { { 16, 9 }, { 4, 3 }, { 112, 81 } };
|
||||||
|
AspectDIPLast = AspectDIP & 0x03;
|
||||||
|
|
||||||
|
INT32 nAspectX, nAspectY;
|
||||||
|
BurnDrvGetAspect(&nAspectX, &nAspectY);
|
||||||
|
|
||||||
|
if (nAspectX != aspects[AspectDIPLast][0] || nAspectY != aspects[AspectDIPLast][1]) {
|
||||||
|
bprintf(0, _T("* CPS-2: Changing to %d:%d aspect\n"), aspects[AspectDIPLast][0], aspects[AspectDIPLast][1]);
|
||||||
|
BurnDrvSetAspect(aspects[AspectDIPLast][0], aspects[AspectDIPLast][1]);
|
||||||
|
Reinitialise();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static INT32 DrvReset()
|
static INT32 DrvReset()
|
||||||
{
|
{
|
||||||
// Reset machine
|
// Reset machine
|
||||||
|
@ -70,7 +89,6 @@ static INT32 DrvReset()
|
||||||
SekClose();
|
SekClose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
nCpsCyclesExtra = 0;
|
nCpsCyclesExtra = 0;
|
||||||
|
|
||||||
if (((Cps == 2) && !Cps2DisableQSnd) || Cps1Qs == 1) { // Sound init (QSound)
|
if (((Cps == 2) && !Cps2DisableQSnd) || Cps1Qs == 1) { // Sound init (QSound)
|
||||||
|
@ -81,6 +99,11 @@ static INT32 DrvReset()
|
||||||
CpsRunResetCallbackFunction();
|
CpsRunResetCallbackFunction();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Cps2Turbo) {
|
||||||
|
AspectDIPLast = 0xff;
|
||||||
|
check_aspect();
|
||||||
|
}
|
||||||
|
|
||||||
HiscoreReset();
|
HiscoreReset();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -387,6 +410,10 @@ INT32 Cps2Frame()
|
||||||
DrvReset();
|
DrvReset();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Cps2Turbo) {
|
||||||
|
check_aspect();
|
||||||
|
}
|
||||||
|
|
||||||
// extern INT32 prevline;
|
// extern INT32 prevline;
|
||||||
// prevline = -1;
|
// prevline = -1;
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ int nCpsrRowStart=0; // Start of row scroll (can wrap?)
|
||||||
static INT32 nShiftY=0;
|
static INT32 nShiftY=0;
|
||||||
static INT32 EndLineInfo=0;
|
static INT32 EndLineInfo=0;
|
||||||
|
|
||||||
struct CpsrLineInfo CpsrLineInfo[15];
|
struct CpsrLineInfo CpsrLineInfo[16]; // +1 added for Cps2Turbo
|
||||||
|
|
||||||
static void GetRowsRange(INT32 *pnStart,INT32 *pnWidth,INT32 nRowFrom,INT32 nRowTo)
|
static void GetRowsRange(INT32 *pnStart,INT32 *pnWidth,INT32 nRowFrom,INT32 nRowTo)
|
||||||
{
|
{
|
||||||
|
|
|
@ -37,10 +37,10 @@ static INT32 CpstOne()
|
||||||
if (nCpstX <= -nSize) return 0;
|
if (nCpstX <= -nSize) return 0;
|
||||||
if (nCpstX >= nCpsScreenWidth) return 0;
|
if (nCpstX >= nCpsScreenWidth) return 0;
|
||||||
if (nCpstY <= -nSize) return 0;
|
if (nCpstY <= -nSize) return 0;
|
||||||
if (nCpstY >= 224) return 0;
|
if (nCpstY >= nCpsScreenHeight) return 0;
|
||||||
}
|
}
|
||||||
nCtvRollX=(0x40000000 + nCpsScreenWidth - 1) + nCpstX * 0x7fff;
|
nCtvRollX=(0x40000000 + nCpsScreenWidth - 1) + nCpstX * 0x7fff;
|
||||||
nCtvRollY=0x400000df + nCpstY * 0x7fff;
|
nCtvRollY=(0x40000000 + nCpsScreenHeight - 1) + nCpstY * 0x7fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clip to loaded graphics data (we have a gap of 0x200 at the end)
|
// Clip to loaded graphics data (we have a gap of 0x200 at the end)
|
||||||
|
@ -78,11 +78,10 @@ static INT32 CpstOneBgHi()
|
||||||
if (nCpstX<=-nSize) return 0;
|
if (nCpstX<=-nSize) return 0;
|
||||||
if (nCpstX>=nCpsScreenWidth) return 0;
|
if (nCpstX>=nCpsScreenWidth) return 0;
|
||||||
if (nCpstY<=-nSize) return 0;
|
if (nCpstY<=-nSize) return 0;
|
||||||
if (nCpstY>=224) return 0;
|
if (nCpstY>=nCpsScreenHeight) return 0;
|
||||||
}
|
}
|
||||||
nCtvRollX=(0x40000000 + nCpsScreenWidth - 1) + nCpstX * 0x7fff;
|
nCtvRollX=(0x40000000 + nCpsScreenWidth - 1) + nCpstX * 0x7fff;
|
||||||
// nCtvRollX=0x4000017f + nCpstX * 0x7fff;
|
nCtvRollY=(0x40000000 + nCpsScreenHeight - 1) + nCpstY * 0x7fff;
|
||||||
nCtvRollY=0x400000df + nCpstY * 0x7fff;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clip to loaded graphics data (we have a gap of 0x200 at the end)
|
// Clip to loaded graphics data (we have a gap of 0x200 at the end)
|
||||||
|
@ -164,10 +163,10 @@ static INT32 CpstOneObjZ()
|
||||||
if (nCpstX <= -nSize) return 0;
|
if (nCpstX <= -nSize) return 0;
|
||||||
if (nCpstX >= nCpsScreenWidth) return 0;
|
if (nCpstX >= nCpsScreenWidth) return 0;
|
||||||
if (nCpstY <= -nSize) return 0;
|
if (nCpstY <= -nSize) return 0;
|
||||||
if (nCpstY >= 224) return 0;
|
if (nCpstY >= nCpsScreenHeight) return 0;
|
||||||
}
|
}
|
||||||
nCtvRollX=(0x40000000 + nCpsScreenWidth - 1) + nCpstX * 0x7fff;
|
nCtvRollX=(0x40000000 + nCpsScreenWidth - 1) + nCpstX * 0x7fff;
|
||||||
nCtvRollY=0x400000df + nCpstY * 0x7fff;
|
nCtvRollY=(0x40000000 + nCpsScreenHeight - 1) + nCpstY * 0x7fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,7 @@ INT32 Cps2Volume = 39;
|
||||||
INT32 Cps2DisableDigitalVolume = 0;
|
INT32 Cps2DisableDigitalVolume = 0;
|
||||||
UINT8 Cps2VolUp;
|
UINT8 Cps2VolUp;
|
||||||
UINT8 Cps2VolDwn;
|
UINT8 Cps2VolDwn;
|
||||||
|
UINT8 AspectDIP; // only for Cps2Turbo == 1
|
||||||
|
|
||||||
UINT16 Cps2VolumeStates[40] = {
|
UINT16 Cps2VolumeStates[40] = {
|
||||||
0xf010, 0xf008, 0xf004, 0xf002, 0xf001, 0xe810, 0xe808, 0xe804, 0xe802, 0xe801,
|
0xf010, 0xf008, 0xf004, 0xf002, 0xf001, 0xe810, 0xe808, 0xe804, 0xe802, 0xe801,
|
||||||
|
@ -50,6 +51,57 @@ static struct BurnInputInfo Cps2FightingInputList[] = {
|
||||||
|
|
||||||
STDINPUTINFO(Cps2Fighting)
|
STDINPUTINFO(Cps2Fighting)
|
||||||
|
|
||||||
|
static struct BurnInputInfo Sfz3mixInputList[] = {
|
||||||
|
{"P1 Coin" , BIT_DIGITAL , CpsInp020+4, "p1 coin" },
|
||||||
|
{"P1 Start" , BIT_DIGITAL , CpsInp020+0, "p1 start" },
|
||||||
|
{"P1 Up" , BIT_DIGITAL , CpsInp001+3, "p1 up" },
|
||||||
|
{"P1 Down" , BIT_DIGITAL , CpsInp001+2, "p1 down" },
|
||||||
|
{"P1 Left" , BIT_DIGITAL , CpsInp001+1, "p1 left" },
|
||||||
|
{"P1 Right" , BIT_DIGITAL , CpsInp001+0, "p1 right" },
|
||||||
|
{"P1 Weak Punch" , BIT_DIGITAL , CpsInp001+4, "p1 fire 1" },
|
||||||
|
{"P1 Medium Punch" , BIT_DIGITAL , CpsInp001+5, "p1 fire 2" },
|
||||||
|
{"P1 Strong Punch" , BIT_DIGITAL , CpsInp001+6, "p1 fire 3" },
|
||||||
|
{"P1 Weak Kick" , BIT_DIGITAL , CpsInp011+0, "p1 fire 4" },
|
||||||
|
{"P1 Medium Kick" , BIT_DIGITAL , CpsInp011+1, "p1 fire 5" },
|
||||||
|
{"P1 Strong Kick" , BIT_DIGITAL , CpsInp011+2, "p1 fire 6" },
|
||||||
|
|
||||||
|
{"P2 Coin" , BIT_DIGITAL , CpsInp020+5, "p2 coin" },
|
||||||
|
{"P2 Start" , BIT_DIGITAL , CpsInp020+1, "p2 start" },
|
||||||
|
{"P2 Up" , BIT_DIGITAL , CpsInp000+3, "p2 up" },
|
||||||
|
{"P2 Down" , BIT_DIGITAL , CpsInp000+2, "p2 down" },
|
||||||
|
{"P2 Left" , BIT_DIGITAL , CpsInp000+1, "p2 left" },
|
||||||
|
{"P2 Right" , BIT_DIGITAL , CpsInp000+0, "p2 right" },
|
||||||
|
{"P2 Weak Punch" , BIT_DIGITAL , CpsInp000+4, "p2 fire 1" },
|
||||||
|
{"P2 Medium Punch" , BIT_DIGITAL , CpsInp000+5, "p2 fire 2" },
|
||||||
|
{"P2 Strong Punch" , BIT_DIGITAL , CpsInp000+6, "p2 fire 3" },
|
||||||
|
{"P2 Weak Kick" , BIT_DIGITAL , CpsInp011+4, "p2 fire 4" },
|
||||||
|
{"P2 Medium Kick" , BIT_DIGITAL , CpsInp011+5, "p2 fire 5" },
|
||||||
|
{"P2 Strong Kick" , BIT_DIGITAL , CpsInp020+6, "p2 fire 6" },
|
||||||
|
|
||||||
|
{"Reset" , BIT_DIGITAL , &CpsReset , "reset" },
|
||||||
|
{"Diagnostic" , BIT_DIGITAL , CpsInp021+1, "diag" },
|
||||||
|
{"Service" , BIT_DIGITAL , CpsInp021+2, "service" },
|
||||||
|
{"Volume Up" , BIT_DIGITAL , &Cps2VolUp , "p1 fire 7" },
|
||||||
|
{"Volume Down" , BIT_DIGITAL , &Cps2VolDwn, "p1 fire 8" },
|
||||||
|
{"Dip A" , BIT_DIPSWITCH, &AspectDIP , "dip" },
|
||||||
|
};
|
||||||
|
|
||||||
|
STDINPUTINFO(Sfz3mix)
|
||||||
|
|
||||||
|
// sfz3miz 0.20+ only!
|
||||||
|
static struct BurnDIPInfo Sfz3mixDIPList[] =
|
||||||
|
{
|
||||||
|
DIP_OFFSET(0x1d)
|
||||||
|
{0x00, 0xff, 0xff, 0x00, NULL },
|
||||||
|
|
||||||
|
{0 , 0xfe, 0 , 3, "Aspect Ratio" },
|
||||||
|
{0x00, 0x01, 0x03, 0x00, "16:9" },
|
||||||
|
{0x00, 0x01, 0x03, 0x01, "4:3" },
|
||||||
|
{0x00, 0x01, 0x03, 0x02, "112:81" },
|
||||||
|
};
|
||||||
|
|
||||||
|
STDDIPINFO(Sfz3mix)
|
||||||
|
|
||||||
static struct BurnInputInfo NineXXInputList[] = {
|
static struct BurnInputInfo NineXXInputList[] = {
|
||||||
{"P1 Coin" , BIT_DIGITAL , CpsInp020+4, "p1 coin" },
|
{"P1 Coin" , BIT_DIGITAL , CpsInp020+4, "p1 coin" },
|
||||||
{"P1 Start" , BIT_DIGITAL , CpsInp020+0, "p1 start" },
|
{"P1 Start" , BIT_DIGITAL , CpsInp020+0, "p1 start" },
|
||||||
|
@ -11528,7 +11580,9 @@ static INT32 Cps2TurboInit()
|
||||||
}
|
}
|
||||||
|
|
||||||
nCpsScreenWidth = 416;
|
nCpsScreenWidth = 416;
|
||||||
|
nCpsScreenHeight = 234;
|
||||||
nCpsGlobalXOffset = 16;
|
nCpsGlobalXOffset = 16;
|
||||||
|
nCpsGlobalYOffset = 5;
|
||||||
|
|
||||||
return Cps2Init();
|
return Cps2Init();
|
||||||
}
|
}
|
||||||
|
@ -11538,9 +11592,9 @@ struct BurnDriver BurnDrvCpsSfz3mix = {
|
||||||
"Street Fighter Zero 3 Mix v0.22\0", NULL, "hack", "CPS2",
|
"Street Fighter Zero 3 Mix v0.22\0", NULL, "hack", "CPS2",
|
||||||
NULL, NULL, NULL, NULL,
|
NULL, NULL, NULL, NULL,
|
||||||
BDF_GAME_WORKING | BDF_CLONE | BDF_HACK | BDF_HISCORE_SUPPORTED, 2, HARDWARE_CAPCOM_CPS2, GBF_VSFIGHT, FBF_SF,
|
BDF_GAME_WORKING | BDF_CLONE | BDF_HACK | BDF_HISCORE_SUPPORTED, 2, HARDWARE_CAPCOM_CPS2, GBF_VSFIGHT, FBF_SF,
|
||||||
NULL, Sfz3mixRomInfo, Sfz3mixRomName, NULL, NULL, Sfz3mixSampleInfo, Sfz3mixSampleName, Cps2FightingInputInfo, NULL,
|
NULL, Sfz3mixRomInfo, Sfz3mixRomName, NULL, NULL, Sfz3mixSampleInfo, Sfz3mixSampleName, Sfz3mixInputInfo, Sfz3mixDIPInfo,
|
||||||
Cps2TurboInit, DrvExit, Cps2Frame, CpsRedraw, CpsAreaScan,
|
Cps2TurboInit, DrvExit, Cps2Frame, CpsRedraw, CpsAreaScan,
|
||||||
&CpsRecalcPal, 0x1000, 416, 224, 16, 9
|
&CpsRecalcPal, 0x1000, 416, 234, 16, 9
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BurnDriver BurnDrvCpsSfz3mix13 = {
|
struct BurnDriver BurnDrvCpsSfz3mix13 = {
|
||||||
|
@ -14651,7 +14705,7 @@ struct BurnDriver BurnDrvCpsGigaman2 = {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Dungeons & Dragons - shadow over mystara (T-Chi)
|
// Dungeons & Dragons - shadow over mystara (T-Chi)
|
||||||
// Modified by ¥Õ¥§¥Ë¥Ã¥¯¥¹
|
// Modified by ¥Õ¥§¥Ë¥Ã¥¯¥¹
|
||||||
static struct BurnRomInfo DdsomjcRomDesc[] = {
|
static struct BurnRomInfo DdsomjcRomDesc[] = {
|
||||||
{ "dd2jc.03g", 0x080000, 0xed73e646, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
|
{ "dd2jc.03g", 0x080000, 0xed73e646, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
|
||||||
{ "dd2jc.04g", 0x080000, 0xc5a6e4b5, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
|
{ "dd2jc.04g", 0x080000, 0xc5a6e4b5, CPS2_PRG_68K | BRF_ESS | BRF_PRG },
|
||||||
|
|
Loading…
Reference in New Issue