Add protection routine for orlegend111t. Mark it as working.
This commit is contained in:
parent
5fbe6fbf4e
commit
5dd97b51bc
|
@ -147,6 +147,10 @@ static struct BurnDIPInfo orld111cDIPList[] = {
|
||||||
{0x2E, 0x01, 0x03, 0x02, "China" },
|
{0x2E, 0x01, 0x03, 0x02, "China" },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct BurnDIPInfo orld111tDIPList[] = {
|
||||||
|
{0x2E, 0xFF, 0xFF, 0x04, NULL },
|
||||||
|
};
|
||||||
|
|
||||||
static struct BurnDIPInfo orld105kDIPList[] = {
|
static struct BurnDIPInfo orld105kDIPList[] = {
|
||||||
{0x2E, 0xFF, 0xFF, 0x02, NULL },
|
{0x2E, 0xFF, 0xFF, 0x02, NULL },
|
||||||
};
|
};
|
||||||
|
@ -339,6 +343,7 @@ static struct BurnDIPInfo svgDIPList[] = {
|
||||||
|
|
||||||
STDDIPINFOEXT(orlegend, pgm, orlegend )
|
STDDIPINFOEXT(orlegend, pgm, orlegend )
|
||||||
STDDIPINFOEXT(orld111c, pgm, orld111c )
|
STDDIPINFOEXT(orld111c, pgm, orld111c )
|
||||||
|
STDDIPINFOEXT(orld111t, pgm, orld111t )
|
||||||
STDDIPINFOEXT(orld105k, pgm, orld105k )
|
STDDIPINFOEXT(orld105k, pgm, orld105k )
|
||||||
STDDIPINFOEXT(kov, pgm, kov )
|
STDDIPINFOEXT(kov, pgm, kov )
|
||||||
STDDIPINFOEXT(kovshxas, pgm, kovshxas )
|
STDDIPINFOEXT(kovshxas, pgm, kovshxas )
|
||||||
|
@ -664,8 +669,8 @@ struct BurnDriver BurnDrvOrlegend111t = {
|
||||||
"orlegend111t", "orlegend", "pgm", NULL, "1997",
|
"orlegend111t", "orlegend", "pgm", NULL, "1997",
|
||||||
"Oriental Legend - Xi Yo Gi Shi Re Zuang (V111, Taiwan)\0", NULL, "IGS", "PolyGameMaster",
|
"Oriental Legend - Xi Yo Gi Shi Re Zuang (V111, Taiwan)\0", NULL, "IGS", "PolyGameMaster",
|
||||||
L"Oriental Legend\0\u897F\u6E38\u91CA\u5384\u4F20 (V111, Taiwan)\0", NULL, NULL, NULL,
|
L"Oriental Legend\0\u897F\u6E38\u91CA\u5384\u4F20 (V111, Taiwan)\0", NULL, NULL, NULL,
|
||||||
BDF_CLONE, 4, HARDWARE_IGS_PGM, GBF_SCRFIGHT, 0,
|
BDF_GAME_WORKING | BDF_CLONE, 4, HARDWARE_IGS_PGM, GBF_SCRFIGHT, 0,
|
||||||
NULL, orlegend111tRomInfo, orlegend111tRomName, NULL, NULL, pgmInputInfo, orld111cDIPInfo,
|
NULL, orlegend111tRomInfo, orlegend111tRomName, NULL, NULL, pgmInputInfo, orld111tDIPInfo,
|
||||||
orlegendInit, pgmExit, pgmFrame, pgmDraw, pgmScan, &nPgmPalRecalc, 0x900,
|
orlegendInit, pgmExit, pgmFrame, pgmDraw, pgmScan, &nPgmPalRecalc, 0x900,
|
||||||
448, 224, 4, 3
|
448, 224, 4, 3
|
||||||
};
|
};
|
||||||
|
|
|
@ -669,8 +669,8 @@ static UINT32 bt(UINT32 v, INT32 bit)
|
||||||
static void asic3_compute_hold()
|
static void asic3_compute_hold()
|
||||||
{
|
{
|
||||||
// The mode is dependant on the region
|
// The mode is dependant on the region
|
||||||
static INT32 modes[4] = { 1, 1, 3, 2 };
|
static INT32 modes[8] = { 1, 1, 3, 2, 4, 4, 4, 4 };
|
||||||
INT32 mode = modes[PgmInput[7] & 3];
|
INT32 mode = modes[PgmInput[7] & 7];
|
||||||
|
|
||||||
switch(mode) {
|
switch(mode) {
|
||||||
case 1:
|
case 1:
|
||||||
|
@ -697,6 +697,15 @@ static void asic3_compute_hold()
|
||||||
^bt(asic3_z, asic3_y)
|
^bt(asic3_z, asic3_y)
|
||||||
^(bt(asic3_x, 0) << 4)^(bt(asic3_x, 1) << 6)^(bt(asic3_x, 2) << 10)^(bt(asic3_x, 3) << 12);
|
^(bt(asic3_x, 0) << 4)^(bt(asic3_x, 1) << 6)^(bt(asic3_x, 2) << 10)^(bt(asic3_x, 3) << 12);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 4: // orlegend111t
|
||||||
|
asic3_hold =
|
||||||
|
(asic3_hold << 1)
|
||||||
|
^0x2bad
|
||||||
|
^bt(asic3_hold, 15)^bt(asic3_hold, 7)^bt(asic3_hold, 6)^bt(asic3_hold, 5)
|
||||||
|
^bt(asic3_z, asic3_y)
|
||||||
|
^(bt(asic3_x, 0) << 3)^(bt(asic3_x, 1) << 8)^(bt(asic3_x, 2) << 10)^(bt(asic3_x, 3) << 14);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue