d_cps1: update hack game & fix dip (#1689)

dinokr/wofdr20/wofkm3
This commit is contained in:
taoenwen 2024-02-23 22:34:56 +08:00 committed by GitHub
parent c6411d5a01
commit 229a0c62c3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1676,6 +1676,7 @@ static struct BurnInputInfo WofhInputList[] =
{"P3 Fire 3" , BIT_DIGITAL , CpsInp177+6, "p3 fire 3" }, // 1a
{"Reset" , BIT_DIGITAL , &CpsReset, "reset" }, // 1b
// {"Diagnostic" , BIT_DIGITAL , CpsInp018+6, "diag" }, // Black screen/disable
{"Service" , BIT_DIGITAL , CpsInp018+2, "service" }, // 1c
{"Dip A" , BIT_DIPSWITCH, &Cpi01A , "dip" }, // 1d
{"Dip B" , BIT_DIPSWITCH, &Cpi01C , "dip" }, // 1e
@ -4784,44 +4785,46 @@ STDDIPINFO(Wof)
static struct BurnDIPInfo WofhfhDIPList[]=
{
DIP_OFFSET(0x1e)
// Defaults
{0x1b, 0xff, 0xff, 0x00, NULL },
{0x1c, 0xff, 0xff, 0x13, NULL },
{0x1d, 0xff, 0xff, 0x00, NULL },
{0x00, 0xff, 0xff, 0x00, NULL },
{0x01, 0xff, 0xff, 0x13, NULL },
{0x02, 0xff, 0xff, 0x00, NULL },
// Dip A
{0 , 0xfe, 0 , 4 , "Coin A" },
{0x1b, 0x01, 0x03, 0x00, "1 Coin 1 Credit" },
{0x1b, 0x01, 0x03, 0x01, "1 Coin 2 Credits" },
{0x1b, 0x01, 0x03, 0x02, "1 Coin 3 Credits" },
{0x1b, 0x01, 0x03, 0x03, "1 Coin 4 Credits" },
{0 , 0xfe, 0 , 4 , "Coinage" },
{0x00, 0x01, 0x03, 0x00, "1 Coin 1 Credit" },
{0x00, 0x01, 0x03, 0x01, "1 Coin 2 Credits" },
{0x00, 0x01, 0x03, 0x02, "1 Coin 3 Credits" },
{0x00, 0x01, 0x03, 0x03, "1 Coin 4 Credits" },
// Dip B
{0 , 0xfe, 0 , 8 , "Difficulty" },
{0x1c, 0x01, 0x07, 0x00, "Extra Easy" },
{0x1c, 0x01, 0x07, 0x01, "Very Easy" },
{0x1c, 0x01, 0x07, 0x02, "Easy" },
{0x1c, 0x01, 0x07, 0x03, "Normal" },
{0x1c, 0x01, 0x07, 0x04, "Hard" },
{0x1c, 0x01, 0x07, 0x05, "Very Hard" },
{0x1c, 0x01, 0x07, 0x06, "Extra Hard" },
{0x1c, 0x01, 0x07, 0x07, "Hardest" },
{0x01, 0x01, 0x07, 0x00, "Extra Easy" },
{0x01, 0x01, 0x07, 0x01, "Very Easy" },
{0x01, 0x01, 0x07, 0x02, "Easy" },
{0x01, 0x01, 0x07, 0x03, "Normal" },
{0x01, 0x01, 0x07, 0x04, "Hard" },
{0x01, 0x01, 0x07, 0x05, "Very Hard" },
{0x01, 0x01, 0x07, 0x06, "Extra Hard" },
{0x01, 0x01, 0x07, 0x07, "Hardest" },
{0 , 0xfe, 0 , 8 , "Lives" },
{0x1c, 0x01, 0x70, 0x70, "Start 4 Continue 5" },
{0x1c, 0x01, 0x70, 0x60, "Start 3 Continue 4" },
{0x1c, 0x01, 0x70, 0x50, "Start 2 Continue 3" },
{0x1c, 0x01, 0x70, 0x40, "Start 1 Continue 2" },
{0x1c, 0x01, 0x70, 0x30, "Start 4 Continue 4" },
{0x1c, 0x01, 0x70, 0x20, "Start 3 Continue 3" },
{0x1c, 0x01, 0x70, 0x10, "Start 2 Continue 2" },
{0x1c, 0x01, 0x70, 0x00, "Start 1 Continue 1" },
{0x01, 0x01, 0x70, 0x70, "Start 4 Continue 5" },
{0x01, 0x01, 0x70, 0x60, "Start 3 Continue 4" },
{0x01, 0x01, 0x70, 0x50, "Start 2 Continue 3" },
{0x01, 0x01, 0x70, 0x40, "Start 1 Continue 2" },
{0x01, 0x01, 0x70, 0x30, "Start 4 Continue 4" },
{0x01, 0x01, 0x70, 0x20, "Start 3 Continue 3" },
{0x01, 0x01, 0x70, 0x10, "Start 2 Continue 2" },
{0x01, 0x01, 0x70, 0x00, "Start 1 Continue 1" },
// Dip C
{0 , 0xfe, 0 , 3 , "Coin Slots" },
{0x1d, 0x01, 0x03, 0x02, "2 Players 1 Shooter" },
{0x1d, 0x01, 0x03, 0x01, "3 Players 1 Shooter" },
{0x1d, 0x01, 0x03, 0x00, "3 Players 3 Shooters" },
{0x02, 0x01, 0x03, 0x02, "2 Players 1 Shooter" },
{0x02, 0x01, 0x03, 0x01, "3 Players 1 Shooter" },
{0x02, 0x01, 0x03, 0x00, "3 Players 3 Shooters" },
};
STDDIPINFO(Wofhfh)
@ -4836,7 +4839,7 @@ static struct BurnDIPInfo WofsgzbDIPList[] =
{0x02, 0xff, 0xff, 0x20, NULL },
// Dip A
{0 , 0xfe, 0 , 4 , "Coin A" },
{0 , 0xfe, 0 , 4 , "Coinage" },
{0x00, 0x01, 0x03, 0x00, "1 Coin 1 Credit" },
{0x00, 0x01, 0x03, 0x01, "1 Coin 2 Credits" },
{0x00, 0x01, 0x03, 0x02, "1 Coin 3 Credits" },
@ -4869,7 +4872,7 @@ static struct BurnDIPInfo WofsgzbDIPList[] =
{0x02, 0x01, 0x03, 0x01, "3 Players 1 Shooter" },
{0x02, 0x01, 0x03, 0x00, "3 Players 3 Shooters" },
{0 , 0xfe, 0 , 4 , "Bonus Life" },
{0 , 0xfe, 0 , 4 , "Extend" },
{0x02, 0x01, 0x30, 0x30, "100k, 300k, 500k, 1000k" },
{0x02, 0x01, 0x30, 0x20, "300k" },
{0x02, 0x01, 0x30, 0x10, "100k" },
@ -4880,44 +4883,46 @@ STDDIPINFO(Wofsgzb)
static struct BurnDIPInfo WofhDIPList[]=
{
DIP_OFFSET(0x1d)
// Defaults
{0x1a, 0xff, 0xff, 0x00, NULL },
{0x1b, 0xff, 0xff, 0x00, NULL },
{0x1c, 0xff, 0xff, 0x13, NULL },
{0x00, 0xff, 0xff, 0x00, NULL },
{0x01, 0xff, 0xff, 0x00, NULL },
{0x02, 0xff, 0xff, 0x13, NULL },
// Dip A
{0 , 0xfe, 0 , 3 , "Coin Slots" },
{0x1a, 0x01, 0x03, 0x02, "2 Players 1 Shooter" },
{0x1a, 0x01, 0x03, 0x01, "3 Players 1 Shooter" },
{0x1a, 0x01, 0x03, 0x00, "3 Players 3 Shooters" },
{0x00, 0x01, 0x03, 0x02, "2 Players 1 Shooter" },
{0x00, 0x01, 0x03, 0x01, "3 Players 1 Shooter" },
{0x00, 0x01, 0x03, 0x00, "3 Players 3 Shooters" },
// Dip B
{0 , 0xfe, 0 , 4 , "Coinage" },
{0x1b, 0x01, 0x03, 0x00, "1 Coin 1 Credit" },
{0x1b, 0x01, 0x03, 0x01, "1 Coin 2 Credits" },
{0x1b, 0x01, 0x03, 0x02, "1 Coin 3 Credits" },
{0x1b, 0x01, 0x03, 0x03, "1 Coin 4 Credits" },
{0x01, 0x01, 0x03, 0x00, "1 Coin 1 Credit" },
{0x01, 0x01, 0x03, 0x01, "1 Coin 2 Credits" },
{0x01, 0x01, 0x03, 0x02, "1 Coin 3 Credits" },
{0x01, 0x01, 0x03, 0x03, "1 Coin 4 Credits" },
// Dip C
{0 , 0xfe, 0 , 8 , "Difficulty" },
{0x1c, 0x01, 0x07, 0x00, "Extra Easy" },
{0x1c, 0x01, 0x07, 0x01, "Very Easy" },
{0x1c, 0x01, 0x07, 0x02, "Easy" },
{0x1c, 0x01, 0x07, 0x03, "Normal" },
{0x1c, 0x01, 0x07, 0x04, "Hard" },
{0x1c, 0x01, 0x07, 0x05, "Very Hard" },
{0x1c, 0x01, 0x07, 0x06, "Extra Hard" },
{0x1c, 0x01, 0x07, 0x07, "Hardest" },
{0x02, 0x01, 0x07, 0x00, "Extra Easy" },
{0x02, 0x01, 0x07, 0x01, "Very Easy" },
{0x02, 0x01, 0x07, 0x02, "Easy" },
{0x02, 0x01, 0x07, 0x03, "Normal" },
{0x02, 0x01, 0x07, 0x04, "Hard" },
{0x02, 0x01, 0x07, 0x05, "Very Hard" },
{0x02, 0x01, 0x07, 0x06, "Extra Hard" },
{0x02, 0x01, 0x07, 0x07, "Hardest" },
{0 , 0xfe, 0 , 8 , "Lives" },
{0x1c, 0x01, 0x70, 0x70, "Start 4 Continue 5" },
{0x1c, 0x01, 0x70, 0x60, "Start 3 Continue 4" },
{0x1c, 0x01, 0x70, 0x50, "Start 2 Continue 3" },
{0x1c, 0x01, 0x70, 0x40, "Start 1 Continue 2" },
{0x1c, 0x01, 0x70, 0x30, "Start 4 Continue 4" },
{0x1c, 0x01, 0x70, 0x20, "Start 3 Continue 3" },
{0x1c, 0x01, 0x70, 0x10, "Start 2 Continue 2" },
{0x1c, 0x01, 0x70, 0x00, "Start 1 Continue 1" },
{0x02, 0x01, 0x70, 0x70, "Start 4 Continue 5" },
{0x02, 0x01, 0x70, 0x60, "Start 3 Continue 4" },
{0x02, 0x01, 0x70, 0x50, "Start 2 Continue 3" },
{0x02, 0x01, 0x70, 0x40, "Start 1 Continue 2" },
{0x02, 0x01, 0x70, 0x30, "Start 4 Continue 4" },
{0x02, 0x01, 0x70, 0x20, "Start 3 Continue 3" },
{0x02, 0x01, 0x70, 0x10, "Start 2 Continue 2" },
{0x02, 0x01, 0x70, 0x00, "Start 1 Continue 1" },
};
STDDIPINFO(Wofh)
@ -5009,44 +5014,52 @@ STDDIPINFO(Wof3jsa)
static struct BurnDIPInfo Wof3sjDIPList[]=
{
DIP_OFFSET(0x1d)
// Defaults
{0x1a, 0xff, 0xff, 0x00, NULL },
{0x1b, 0xff, 0xff, 0x13, NULL },
{0x1c, 0xff, 0xff, 0x00, NULL },
{0x00, 0xff, 0xff, 0x00, NULL },
{0x01, 0xff, 0xff, 0x13, NULL },
{0x02, 0xff, 0xff, 0x20, NULL },
// Dip A
{0 , 0xfe, 0 , 4 , "Coinage" },
{0x1a, 0x01, 0x03, 0x00, "1 Coin 1 Credit" },
{0x1a, 0x01, 0x03, 0x01, "1 Coin 2 Credits" },
{0x1a, 0x01, 0x03, 0x02, "1 Coin 3 Credits" },
{0x1a, 0x01, 0x03, 0x03, "1 Coin 4 Credits" },
{0x00, 0x01, 0x03, 0x00, "1 Coin 1 Credit" },
{0x00, 0x01, 0x03, 0x01, "1 Coin 2 Credits" },
{0x00, 0x01, 0x03, 0x02, "1 Coin 3 Credits" },
{0x00, 0x01, 0x03, 0x03, "1 Coin 4 Credits" },
// Dip B
{0 , 0xfe, 0 , 8 , "Difficulty" },
{0x1b, 0x01, 0x07, 0x00, "Extra Easy" },
{0x1b, 0x01, 0x07, 0x01, "Very Easy" },
{0x1b, 0x01, 0x07, 0x02, "Easy" },
{0x1b, 0x01, 0x07, 0x03, "Normal" },
{0x1b, 0x01, 0x07, 0x04, "Hard" },
{0x1b, 0x01, 0x07, 0x05, "Very Hard" },
{0x1b, 0x01, 0x07, 0x06, "Extra Hard" },
{0x1b, 0x01, 0x07, 0x07, "Hardest" },
{0x01, 0x01, 0x07, 0x00, "Extra Easy" },
{0x01, 0x01, 0x07, 0x01, "Very Easy" },
{0x01, 0x01, 0x07, 0x02, "Easy" },
{0x01, 0x01, 0x07, 0x03, "Normal" },
{0x01, 0x01, 0x07, 0x04, "Hard" },
{0x01, 0x01, 0x07, 0x05, "Very Hard" },
{0x01, 0x01, 0x07, 0x06, "Extra Hard" },
{0x01, 0x01, 0x07, 0x07, "Hardest" },
{0 , 0xfe, 0 , 8 , "Lives" },
{0x1b, 0x01, 0x70, 0x70, "Start 4 Continue 5" },
{0x1b, 0x01, 0x70, 0x60, "Start 3 Continue 4" },
{0x1b, 0x01, 0x70, 0x50, "Start 2 Continue 3" },
{0x1b, 0x01, 0x70, 0x40, "Start 1 Continue 2" },
{0x1b, 0x01, 0x70, 0x30, "Start 4 Continue 4" },
{0x1b, 0x01, 0x70, 0x20, "Start 3 Continue 3" },
{0x1b, 0x01, 0x70, 0x10, "Start 2 Continue 2" },
{0x1b, 0x01, 0x70, 0x00, "Start 1 Continue 1" },
{0x01, 0x01, 0x70, 0x70, "Start 4 Continue 5" },
{0x01, 0x01, 0x70, 0x60, "Start 3 Continue 4" },
{0x01, 0x01, 0x70, 0x50, "Start 2 Continue 3" },
{0x01, 0x01, 0x70, 0x40, "Start 1 Continue 2" },
{0x01, 0x01, 0x70, 0x30, "Start 4 Continue 4" },
{0x01, 0x01, 0x70, 0x20, "Start 3 Continue 3" },
{0x01, 0x01, 0x70, 0x10, "Start 2 Continue 2" },
{0x01, 0x01, 0x70, 0x00, "Start 1 Continue 1" },
// Dip C
{0 , 0xfe, 0 , 3 , "Coin Slots" },
{0x1c, 0x01, 0x03, 0x02, "2 Players 1 Shooter" },
{0x1c, 0x01, 0x03, 0x01, "3 Players 1 Shooter" },
{0x1c, 0x01, 0x03, 0x00, "3 Players 3 Shooters" },
{0x02, 0x01, 0x03, 0x02, "2 Players 1 Shooter" },
{0x02, 0x01, 0x03, 0x01, "3 Players 1 Shooter" },
{0x02, 0x01, 0x03, 0x00, "3 Players 3 Shooters" },
{0 , 0xfe, 0 , 4 , "Extend" },
{0x02, 0x01, 0x30, 0x30, "100k, 300k, 500k, 1000k" },
{0x02, 0x01, 0x30, 0x20, "300k" },
{0x02, 0x01, 0x30, 0x10, "100k" },
{0x02, 0x01, 0x30, 0x00, "None" },
};
STDDIPINFO(Wof3sj)
@ -20991,7 +21004,7 @@ static INT32 WofhInit()
Cps1ObjDrawCallbackFunction = FcrashObjDraw;
AmendProgRomCallback = WofhPatch;
nRet = TwelveMhzInit();
nRet = Cps1RasterInit();
if (nRet) return nRet;
SekOpen(0);
@ -26170,6 +26183,31 @@ struct BurnDriver BurnDrvCpsdinojd = {
NULL, dinojdRomInfo, dinojdRomName, NULL, NULL, NULL, NULL, DinoInputInfo, DinoDIPInfo,
DinoInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
&CpsRecalcPal, 0x1000, 384, 224, 4, 3
};
// Cadillacs and Dinosaurs (Crazy BBQ, Hack)
// GOTVG 20240216
static struct BurnRomInfo dinokrRomDesc[] = {
{ "cdkr_23a.8f", 0x080000, 0xa0069172, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
{ "cdkr_22a.7f", 0x080000, 0x2169a778, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
{ "cdkr_21a.6f", 0x080000, 0x7a6fbea7, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
DINO_COMPONENT
};
STD_ROM_PICK(dinokr)
STD_ROM_FN(dinokr)
struct BurnDriver BurnDrvCpsdinokr = {
"dinokr", "dino", NULL, NULL, "2024",
"Cadillacs and Dinosaurs (Crazy BBQ, Hack)\0", NULL, "hack", "CPS1 / QSound",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_HACK | BDF_HISCORE_SUPPORTED, 3, HARDWARE_CAPCOM_CPS1_QSOUND, GBF_SCRFIGHT, 0,
NULL, dinokrRomInfo, dinokrRomName, NULL, NULL, NULL, NULL, DinoInputInfo, DinoDIPInfo,
DinoInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
&CpsRecalcPal, 0x1000, 384, 224, 4, 3
};
@ -27149,7 +27187,7 @@ STD_ROM_FN(kodlys)
static INT32 KodOcInit()
{
if (0x300 < nBurnCPUSpeedAdjust) {
if (0x300 > nBurnCPUSpeedAdjust) {
nBurnCPUSpeedAdjust = 0x300;
}
@ -27428,12 +27466,12 @@ struct BurnDriver BurnDrvCpswofdr = {
// Tenchi wo Kurau II: Sekiheki no Tatakai (Master 2020, Hack)
// GOTVG 20230615
// GOTVG 20240210
static struct BurnRomInfo wofdr20RomDesc[] = {
{ "tk2dr20_23c.8f", 0x080000, 0xb45850a9, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
{ "tk2dr20_23c.8f", 0x080000, 0xd5187954, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
{ "tk2dr_22c.7f", 0x080000, 0x16405A96, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
{ "tk2dr20_21c.6f", 0x080000, 0x79ae6869, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
{ "tk2dr20_21c.6f", 0x080000, 0x6ae37d1b, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
{ "tk2dr20_20c.5f", 0x080000, 0x3a9c0284, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
WOFJ_TILE1
@ -27454,7 +27492,7 @@ STD_ROM_PICK(wofdr20)
STD_ROM_FN(wofdr20)
struct BurnDriver BurnDrvCpswofdr20 = {
"wofdr20", "wof", NULL, NULL, "2023",
"wofdr20", "wof", NULL, NULL, "2024",
"Tenchi wo Kurau II: Sekiheki no Tatakai (Master 2020, Hack)\0", NULL, "hack", "CPS1 / QSound",
L"\u5929\u5730\u3092\u55B0\u3089\u3046 II: \u8D64\u58C1\u306E\u6226\u3044\0Tenchi wo Kurau II: Sekiheki no Tatakai (Master 2020, Hack)\0", NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_HACK | BDF_HISCORE_SUPPORTED, 3, HARDWARE_CAPCOM_CPS1_QSOUND, GBF_SCRFIGHT, 0,
@ -27533,6 +27571,30 @@ struct BurnDriver BurnDrvCpswofmz1v3 = {
NULL, wofmz1v3RomInfo, wofmz1v3RomName, NULL, NULL, NULL, NULL, WofInputInfo, WofDIPInfo,
wofInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
&CpsRecalcPal, 0x1000, 384, 224, 4, 3
};
// Tenchi wo Kurau II: Sekiheki no Tatakai (Subject 3, Hack)
// GOTVG 20231231
static struct BurnRomInfo wofkm3RomDesc[] = {
{ "tk2km3_23c.8f", 0x080000, 0x6f001de5, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
{ "tk2km3_22c.7f", 0x080000, 0x0c3bb3bc, BRF_ESS | BRF_PRG | CPS1_68K_PROGRAM_NO_BYTESWAP },
WOFJ_COMPONENT
};
STD_ROM_PICK(wofkm3)
STD_ROM_FN(wofkm3)
struct BurnDriver BurnDrvCpswofkm3 = {
"wofkm3", "wof", NULL, NULL, "2023",
"Tenchi wo Kurau II: Sekiheki no Tatakai (Subject 3, Hack)\0", NULL, "hack", "CPS1 / QSound",
L"\u5929\u5730\u3092\u55B0\u3089\u3046 II: \u8D64\u58C1\u306E\u6226\u3044\0Tenchi wo Kurau II: Sekiheki no Tatakai (Subject 3, Hack)\0", NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_HACK | BDF_HISCORE_SUPPORTED, 3, HARDWARE_CAPCOM_CPS1_QSOUND, GBF_SCRFIGHT, 0,
NULL, wofkm3RomInfo, wofkm3RomName, NULL, NULL, NULL, NULL, WofInputInfo, WofDIPInfo,
wofInit, DrvExit, Cps1Frame, CpsRedraw, CpsAreaScan,
&CpsRecalcPal, 0x1000, 384, 224, 4, 3
};
#undef WOFJ_COMPONENT