Battle Shark hang-fix

This commit is contained in:
dinkc64 2014-11-15 21:43:22 +00:00
parent 74cbc5dde9
commit 95b5357299
1 changed files with 194 additions and 189 deletions

View File

@ -10,6 +10,7 @@
static INT32 Sci; static INT32 Sci;
static INT32 OldSteer; // Hack to centre the steering in SCI static INT32 OldSteer; // Hack to centre the steering in SCI
static INT32 SciSpriteFrame; static INT32 SciSpriteFrame;
static INT32 BsharkINT6timer = 0;
static double TaitoZYM2610Route1MasterVol; static double TaitoZYM2610Route1MasterVol;
static double TaitoZYM2610Route2MasterVol; static double TaitoZYM2610Route2MasterVol;
@ -1788,105 +1789,105 @@ static struct BurnDIPInfo SpacegunDIPList[]=
{0x11, 0x01, 0x80, 0x00, "On" }, {0x11, 0x01, 0x80, 0x00, "On" },
}; };
STDDIPINFO(Spacegun) STDDIPINFO(Spacegun)
static struct BurnDIPInfo SpacegunjDIPList[]= static struct BurnDIPInfo SpacegunjDIPList[]=
{ {
// Default Values // Default Values
{0x10, 0xff, 0xff, 0xff, NULL }, {0x10, 0xff, 0xff, 0xff, NULL },
{0x11, 0xff, 0xff, 0xff, NULL }, {0x11, 0xff, 0xff, 0xff, NULL },
// Dip 1 // Dip 1
{0 , 0xfe, 0 , 2 , "Always have gunsight power up" }, {0 , 0xfe, 0 , 2 , "Always have gunsight power up" },
{0x10, 0x01, 0x02, 0x02, "Off" }, {0x10, 0x01, 0x02, 0x02, "Off" },
{0x10, 0x01, 0x02, 0x00, "On" }, {0x10, 0x01, 0x02, 0x00, "On" },
{0 , 0xfe, 0 , 2 , "Service Mode" }, {0 , 0xfe, 0 , 2 , "Service Mode" },
{0x10, 0x01, 0x04, 0x04, "Off" }, {0x10, 0x01, 0x04, 0x04, "Off" },
{0x10, 0x01, 0x04, 0x00, "On" }, {0x10, 0x01, 0x04, 0x00, "On" },
{0 , 0xfe, 0 , 2 , "Demo Sounds" }, {0 , 0xfe, 0 , 2 , "Demo Sounds" },
{0x10, 0x01, 0x08, 0x00, "Off" }, {0x10, 0x01, 0x08, 0x00, "Off" },
{0x10, 0x01, 0x08, 0x08, "On" }, {0x10, 0x01, 0x08, 0x08, "On" },
{0 , 0xfe, 0 , 4 , "Coin A" }, {0 , 0xfe, 0 , 4 , "Coin A" },
{0x10, 0x01, 0x30, 0x10, "2 Coins 1 Credit" }, {0x10, 0x01, 0x30, 0x10, "2 Coins 1 Credit" },
{0x10, 0x01, 0x30, 0x30, "1 Coin 1 Credit" }, {0x10, 0x01, 0x30, 0x30, "1 Coin 1 Credit" },
{0x10, 0x01, 0x30, 0x00, "2 Coins 3 Credits" }, {0x10, 0x01, 0x30, 0x00, "2 Coins 3 Credits" },
{0x10, 0x01, 0x30, 0x20, "1 Coin 2 Credits" }, {0x10, 0x01, 0x30, 0x20, "1 Coin 2 Credits" },
{0 , 0xfe, 0 , 4 , "Coin B" }, {0 , 0xfe, 0 , 4 , "Coin B" },
{0x10, 0x01, 0xc0, 0x40, "2 Coins 1 Credit" }, {0x10, 0x01, 0xc0, 0x40, "2 Coins 1 Credit" },
{0x10, 0x01, 0xc0, 0xc0, "1 Coin 1 Credit" }, {0x10, 0x01, 0xc0, 0xc0, "1 Coin 1 Credit" },
{0x10, 0x01, 0xc0, 0x00, "2 Coins 3 Credits" }, {0x10, 0x01, 0xc0, 0x00, "2 Coins 3 Credits" },
{0x10, 0x01, 0xc0, 0x80, "1 Coin 2 Credits" }, {0x10, 0x01, 0xc0, 0x80, "1 Coin 2 Credits" },
// Dip 2 // Dip 2
{0 , 0xfe, 0 , 4 , "Difficulty" }, {0 , 0xfe, 0 , 4 , "Difficulty" },
{0x11, 0x01, 0x03, 0x02, "Easy" }, {0x11, 0x01, 0x03, 0x02, "Easy" },
{0x11, 0x01, 0x03, 0x03, "Normal" }, {0x11, 0x01, 0x03, 0x03, "Normal" },
{0x11, 0x01, 0x03, 0x01, "Hard" }, {0x11, 0x01, 0x03, 0x01, "Hard" },
{0x11, 0x01, 0x03, 0x00, "Hardest" }, {0x11, 0x01, 0x03, 0x00, "Hardest" },
{0 , 0xfe, 0 , 2 , "Allow Continue" }, {0 , 0xfe, 0 , 2 , "Allow Continue" },
{0x11, 0x01, 0x40, 0x00, "Off" }, {0x11, 0x01, 0x40, 0x00, "Off" },
{0x11, 0x01, 0x40, 0x40, "On" }, {0x11, 0x01, 0x40, 0x40, "On" },
{0 , 0xfe, 0 , 2 , "Disable Pedal" }, {0 , 0xfe, 0 , 2 , "Disable Pedal" },
{0x11, 0x01, 0x80, 0x80, "Off" }, {0x11, 0x01, 0x80, 0x80, "Off" },
{0x11, 0x01, 0x80, 0x00, "On" }, {0x11, 0x01, 0x80, 0x00, "On" },
}; };
STDDIPINFO(Spacegunj) STDDIPINFO(Spacegunj)
static struct BurnDIPInfo SpacegunuDIPList[]= static struct BurnDIPInfo SpacegunuDIPList[]=
{ {
// Default Values // Default Values
{0x10, 0xff, 0xff, 0xff, NULL }, {0x10, 0xff, 0xff, 0xff, NULL },
{0x11, 0xff, 0xff, 0xff, NULL }, {0x11, 0xff, 0xff, 0xff, NULL },
// Dip 1 // Dip 1
{0 , 0xfe, 0 , 2 , "Always have gunsight power up" }, {0 , 0xfe, 0 , 2 , "Always have gunsight power up" },
{0x10, 0x01, 0x02, 0x02, "Off" }, {0x10, 0x01, 0x02, 0x02, "Off" },
{0x10, 0x01, 0x02, 0x00, "On" }, {0x10, 0x01, 0x02, 0x00, "On" },
{0 , 0xfe, 0 , 2 , "Service Mode" }, {0 , 0xfe, 0 , 2 , "Service Mode" },
{0x10, 0x01, 0x04, 0x04, "Off" }, {0x10, 0x01, 0x04, 0x04, "Off" },
{0x10, 0x01, 0x04, 0x00, "On" }, {0x10, 0x01, 0x04, 0x00, "On" },
{0 , 0xfe, 0 , 2 , "Demo Sounds" }, {0 , 0xfe, 0 , 2 , "Demo Sounds" },
{0x10, 0x01, 0x08, 0x00, "Off" }, {0x10, 0x01, 0x08, 0x00, "Off" },
{0x10, 0x01, 0x08, 0x08, "On" }, {0x10, 0x01, 0x08, 0x08, "On" },
{0 , 0xfe, 0 , 4 , "Coinage" }, {0 , 0xfe, 0 , 4 , "Coinage" },
{0x10, 0x01, 0x30, 0x00, "4 Coins 1 Credit" }, {0x10, 0x01, 0x30, 0x00, "4 Coins 1 Credit" },
{0x10, 0x01, 0x30, 0x10, "3 Coins 1 Credit" }, {0x10, 0x01, 0x30, 0x10, "3 Coins 1 Credit" },
{0x10, 0x01, 0x30, 0x20, "2 Coins 1 Credit" }, {0x10, 0x01, 0x30, 0x20, "2 Coins 1 Credit" },
{0x10, 0x01, 0x30, 0x30, "1 Coin 1 Credit" }, {0x10, 0x01, 0x30, 0x30, "1 Coin 1 Credit" },
{0 , 0xfe, 0 , 4 , "Price to Continue" }, {0 , 0xfe, 0 , 4 , "Price to Continue" },
{0x10, 0x01, 0xc0, 0x00, "3 Coins 1 Credit" }, {0x10, 0x01, 0xc0, 0x00, "3 Coins 1 Credit" },
{0x10, 0x01, 0xc0, 0x40, "2 Coins 1 Credit" }, {0x10, 0x01, 0xc0, 0x40, "2 Coins 1 Credit" },
{0x10, 0x01, 0xc0, 0x80, "1 Coin 1 Credit" }, {0x10, 0x01, 0xc0, 0x80, "1 Coin 1 Credit" },
{0x10, 0x01, 0xc0, 0xc0, "Same as Start" }, {0x10, 0x01, 0xc0, 0xc0, "Same as Start" },
// Dip 2 // Dip 2
{0 , 0xfe, 0 , 4 , "Difficulty" }, {0 , 0xfe, 0 , 4 , "Difficulty" },
{0x11, 0x01, 0x03, 0x02, "Easy" }, {0x11, 0x01, 0x03, 0x02, "Easy" },
{0x11, 0x01, 0x03, 0x03, "Normal" }, {0x11, 0x01, 0x03, 0x03, "Normal" },
{0x11, 0x01, 0x03, 0x01, "Hard" }, {0x11, 0x01, 0x03, 0x01, "Hard" },
{0x11, 0x01, 0x03, 0x00, "Hardest" }, {0x11, 0x01, 0x03, 0x00, "Hardest" },
{0 , 0xfe, 0 , 2 , "Allow Continue" }, {0 , 0xfe, 0 , 2 , "Allow Continue" },
{0x11, 0x01, 0x40, 0x00, "Off" }, {0x11, 0x01, 0x40, 0x00, "Off" },
{0x11, 0x01, 0x40, 0x40, "On" }, {0x11, 0x01, 0x40, 0x40, "On" },
{0 , 0xfe, 0 , 2 , "Disable Pedal" }, {0 , 0xfe, 0 , 2 , "Disable Pedal" },
{0x11, 0x01, 0x80, 0x80, "Off" }, {0x11, 0x01, 0x80, 0x80, "Off" },
{0x11, 0x01, 0x80, 0x00, "On" }, {0x11, 0x01, 0x80, 0x00, "On" },
}; };
STDDIPINFO(Spacegunu) STDDIPINFO(Spacegunu)
static struct BurnRomInfo AquajackRomDesc[] = { static struct BurnRomInfo AquajackRomDesc[] = {
{ "b77-22.ic31", 0x20000, 0x67400dde, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP }, { "b77-22.ic31", 0x20000, 0x67400dde, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP },
@ -3184,74 +3185,74 @@ static struct BurnRomInfo SpacegunRomDesc[] = {
STD_ROM_PICK(Spacegun) STD_ROM_PICK(Spacegun)
STD_ROM_FN(Spacegun) STD_ROM_FN(Spacegun)
static struct BurnRomInfo SpacegunuRomDesc[] = { static struct BurnRomInfo SpacegunuRomDesc[] = {
{ "c57-18.62", 0x020000, 0x19d7d52e, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP }, { "c57-18.62", 0x020000, 0x19d7d52e, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP },
{ "c57-20.74", 0x020000, 0x2e58253f, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP }, { "c57-20.74", 0x020000, 0x2e58253f, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP },
{ "c57-17.59", 0x020000, 0xe197edb8, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP }, { "c57-17.59", 0x020000, 0xe197edb8, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP },
{ "c57-21.73", 0x020000, 0x2f52cd75, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP }, { "c57-21.73", 0x020000, 0x2f52cd75, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP },
{ "c57-15+.27", 0x020000, 0xb36eb8f1, BRF_ESS | BRF_PRG | TAITO_68KROM2_BYTESWAP }, { "c57-15+.27", 0x020000, 0xb36eb8f1, BRF_ESS | BRF_PRG | TAITO_68KROM2_BYTESWAP },
{ "c57-16+.29", 0x020000, 0xbfb5d1e7, BRF_ESS | BRF_PRG | TAITO_68KROM2_BYTESWAP }, { "c57-16+.29", 0x020000, 0xbfb5d1e7, BRF_ESS | BRF_PRG | TAITO_68KROM2_BYTESWAP },
{ "c57-06.52", 0x080000, 0x4ebadd5b, BRF_GRA | TAITO_CHARS }, { "c57-06.52", 0x080000, 0x4ebadd5b, BRF_GRA | TAITO_CHARS },
{ "c57-01.25", 0x100000, 0xf901b04e, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 }, { "c57-01.25", 0x100000, 0xf901b04e, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 },
{ "c57-02.24", 0x100000, 0x21ee4633, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 }, { "c57-02.24", 0x100000, 0x21ee4633, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 },
{ "c57-03.12", 0x100000, 0xfafca86f, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 }, { "c57-03.12", 0x100000, 0xfafca86f, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 },
{ "c57-04.11", 0x100000, 0xa9787090, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 }, { "c57-04.11", 0x100000, 0xa9787090, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 },
{ "c57-05.36", 0x080000, 0x6a70eb2e, BRF_GRA | TAITO_SPRITEMAP }, { "c57-05.36", 0x080000, 0x6a70eb2e, BRF_GRA | TAITO_SPRITEMAP },
{ "c57-07.76", 0x080000, 0xad653dc1, BRF_SND | TAITO_YM2610A }, { "c57-07.76", 0x080000, 0xad653dc1, BRF_SND | TAITO_YM2610A },
{ "c57-08.75", 0x080000, 0x22593550, BRF_SND | TAITO_YM2610B }, { "c57-08.75", 0x080000, 0x22593550, BRF_SND | TAITO_YM2610B },
{ "pal16l8-c57-09.9", 0x000104, 0xea93161e, BRF_OPT }, { "pal16l8-c57-09.9", 0x000104, 0xea93161e, BRF_OPT },
{ "pal20l8-c57-10.47", 0x000144, 0x3ee56888, BRF_OPT }, { "pal20l8-c57-10.47", 0x000144, 0x3ee56888, BRF_OPT },
{ "pal16l8-c57-11.48", 0x000104, 0x6bb4372e, BRF_OPT }, { "pal16l8-c57-11.48", 0x000104, 0x6bb4372e, BRF_OPT },
{ "pal20l8-c57-12.61", 0x000144, 0xdebddb13, BRF_OPT }, { "pal20l8-c57-12.61", 0x000144, 0xdebddb13, BRF_OPT },
{ "pal16l8-c57-13.72", 0x000104, 0x1369f23e, BRF_OPT }, { "pal16l8-c57-13.72", 0x000104, 0x1369f23e, BRF_OPT },
{ "pal16r4-c57-14.96", 0x000104, 0x75e1bf61, BRF_OPT }, { "pal16r4-c57-14.96", 0x000104, 0x75e1bf61, BRF_OPT },
}; };
STD_ROM_PICK(Spacegunu) STD_ROM_PICK(Spacegunu)
STD_ROM_FN(Spacegunu) STD_ROM_FN(Spacegunu)
static struct BurnRomInfo SpacegunjRomDesc[] = { static struct BurnRomInfo SpacegunjRomDesc[] = {
{ "c57-18+.62", 0x020000, 0xc648c093, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP }, { "c57-18+.62", 0x020000, 0xc648c093, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP },
{ "c57-20+.74", 0x020000, 0x4de524f6, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP }, { "c57-20+.74", 0x020000, 0x4de524f6, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP },
{ "c57-17.59", 0x020000, 0xe197edb8, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP }, { "c57-17.59", 0x020000, 0xe197edb8, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP },
{ "c57-19.73", 0x020000, 0xc15cac59, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP }, { "c57-19.73", 0x020000, 0xc15cac59, BRF_ESS | BRF_PRG | TAITO_68KROM1_BYTESWAP },
{ "c57-15+.27", 0x020000, 0xb36eb8f1, BRF_ESS | BRF_PRG | TAITO_68KROM2_BYTESWAP }, { "c57-15+.27", 0x020000, 0xb36eb8f1, BRF_ESS | BRF_PRG | TAITO_68KROM2_BYTESWAP },
{ "c57-16+.29", 0x020000, 0xbfb5d1e7, BRF_ESS | BRF_PRG | TAITO_68KROM2_BYTESWAP }, { "c57-16+.29", 0x020000, 0xbfb5d1e7, BRF_ESS | BRF_PRG | TAITO_68KROM2_BYTESWAP },
{ "c57-06.52", 0x080000, 0x4ebadd5b, BRF_GRA | TAITO_CHARS }, { "c57-06.52", 0x080000, 0x4ebadd5b, BRF_GRA | TAITO_CHARS },
{ "c57-01.25", 0x100000, 0xf901b04e, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 }, { "c57-01.25", 0x100000, 0xf901b04e, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 },
{ "c57-02.24", 0x100000, 0x21ee4633, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 }, { "c57-02.24", 0x100000, 0x21ee4633, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 },
{ "c57-03.12", 0x100000, 0xfafca86f, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 }, { "c57-03.12", 0x100000, 0xfafca86f, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 },
{ "c57-04.11", 0x100000, 0xa9787090, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 }, { "c57-04.11", 0x100000, 0xa9787090, BRF_GRA | TAITO_SPRITESA_BYTESWAP32 },
{ "c57-05.36", 0x080000, 0x6a70eb2e, BRF_GRA | TAITO_SPRITEMAP }, { "c57-05.36", 0x080000, 0x6a70eb2e, BRF_GRA | TAITO_SPRITEMAP },
{ "c57-07.76", 0x080000, 0xad653dc1, BRF_SND | TAITO_YM2610A }, { "c57-07.76", 0x080000, 0xad653dc1, BRF_SND | TAITO_YM2610A },
{ "c57-08.75", 0x080000, 0x22593550, BRF_SND | TAITO_YM2610B }, { "c57-08.75", 0x080000, 0x22593550, BRF_SND | TAITO_YM2610B },
{ "pal16l8-c57-09.9", 0x000104, 0xea93161e, BRF_OPT }, { "pal16l8-c57-09.9", 0x000104, 0xea93161e, BRF_OPT },
{ "pal20l8-c57-10.47", 0x000144, 0x3ee56888, BRF_OPT }, { "pal20l8-c57-10.47", 0x000144, 0x3ee56888, BRF_OPT },
{ "pal16l8-c57-11.48", 0x000104, 0x6bb4372e, BRF_OPT }, { "pal16l8-c57-11.48", 0x000104, 0x6bb4372e, BRF_OPT },
{ "pal20l8-c57-12.61", 0x000144, 0xdebddb13, BRF_OPT }, { "pal20l8-c57-12.61", 0x000144, 0xdebddb13, BRF_OPT },
{ "pal16l8-c57-13.72", 0x000104, 0x1369f23e, BRF_OPT }, { "pal16l8-c57-13.72", 0x000104, 0x1369f23e, BRF_OPT },
{ "pal16r4-c57-14.96", 0x000104, 0x75e1bf61, BRF_OPT }, { "pal16r4-c57-14.96", 0x000104, 0x75e1bf61, BRF_OPT },
}; };
STD_ROM_PICK(Spacegunj) STD_ROM_PICK(Spacegunj)
STD_ROM_FN(Spacegunj) STD_ROM_FN(Spacegunj)
static INT32 MemIndex() static INT32 MemIndex()
{ {
@ -3484,8 +3485,7 @@ void __fastcall Bshark68K1WriteWord(UINT32 a, UINT16 d)
case 0x800002: case 0x800002:
case 0x800004: case 0x800004:
case 0x800006: { case 0x800006: {
nTaitoCyclesDone[0] += SekRun(10000); BsharkINT6timer = nTaitoCyclesDone[0];
SekSetIRQLine(6, SEK_IRQSTATUS_AUTO);
return; return;
} }
@ -5787,6 +5787,7 @@ static INT32 TaitoZExit()
SciSpriteFrame = 0; SciSpriteFrame = 0;
OldSteer = 0; OldSteer = 0;
Sci = 0; Sci = 0;
BsharkINT6timer = 0;
// Switch back CPU core if needed // Switch back CPU core if needed
if (bUseAsm68KCoreOldValue) { if (bUseAsm68KCoreOldValue) {
@ -6610,6 +6611,10 @@ static INT32 TaitoZFrame()
nTaitoCyclesSegment = nNext - nTaitoCyclesDone[nCurrentCPU]; nTaitoCyclesSegment = nNext - nTaitoCyclesDone[nCurrentCPU];
nTaitoCyclesDone[nCurrentCPU] += SekRun(nTaitoCyclesSegment); nTaitoCyclesDone[nCurrentCPU] += SekRun(nTaitoCyclesSegment);
if (i == 10 && Sci && ((GetCurrentFrame() & 1) == 0)) SekSetIRQLine(6, SEK_IRQSTATUS_AUTO); if (i == 10 && Sci && ((GetCurrentFrame() & 1) == 0)) SekSetIRQLine(6, SEK_IRQSTATUS_AUTO);
if (BsharkINT6timer && nTaitoCyclesDone[nCurrentCPU] >= BsharkINT6timer+10000) {
SekSetIRQLine(6, SEK_IRQSTATUS_AUTO);
BsharkINT6timer = 0;
}
if (i == nVBlankIRQFire) SekSetIRQLine(TaitoIrqLine, SEK_IRQSTATUS_AUTO); if (i == nVBlankIRQFire) SekSetIRQLine(TaitoIrqLine, SEK_IRQSTATUS_AUTO);
SekClose(); SekClose();
@ -7027,23 +7032,23 @@ struct BurnDriver BurnDrvSpacegun = {
SpacegunInit, TaitoZExit, TaitoZFrame, NULL, TaitoZScan, SpacegunInit, TaitoZExit, TaitoZFrame, NULL, TaitoZScan,
NULL, 0x1000, 320, 240, 4, 3 NULL, 0x1000, 320, 240, 4, 3
}; };
struct BurnDriver BurnDrvSpacegunj = { struct BurnDriver BurnDrvSpacegunj = {
"spacegunj", "spacegun", NULL, NULL, "1990", "spacegunj", "spacegun", NULL, NULL, "1990",
"Space Gun (Japan)\0", NULL, "Taito Corporation", "Taito-Z", "Space Gun (Japan)\0", NULL, "Taito Corporation", "Taito-Z",
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_TAITO_TAITOZ, GBF_SHOOT, 0, BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_TAITO_TAITOZ, GBF_SHOOT, 0,
NULL, SpacegunjRomInfo, SpacegunjRomName, NULL, NULL, SpacegunInputInfo, SpacegunjDIPInfo, NULL, SpacegunjRomInfo, SpacegunjRomName, NULL, NULL, SpacegunInputInfo, SpacegunjDIPInfo,
SpacegunInit, TaitoZExit, TaitoZFrame, NULL, TaitoZScan, SpacegunInit, TaitoZExit, TaitoZFrame, NULL, TaitoZScan,
NULL, 0x1000, 320, 240, 4, 3 NULL, 0x1000, 320, 240, 4, 3
}; };
struct BurnDriver BurnDrvSpacegunu = { struct BurnDriver BurnDrvSpacegunu = {
"spacegunu", "spacegun", NULL, NULL, "1990", "spacegunu", "spacegun", NULL, NULL, "1990",
"Space Gun (US)\0", NULL, "Taito America Corporation", "Taito-Z", "Space Gun (US)\0", NULL, "Taito America Corporation", "Taito-Z",
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_TAITO_TAITOZ, GBF_SHOOT, 0, BDF_GAME_WORKING | BDF_CLONE, 2, HARDWARE_TAITO_TAITOZ, GBF_SHOOT, 0,
NULL, SpacegunuRomInfo, SpacegunuRomName, NULL, NULL, SpacegunInputInfo, SpacegunuDIPInfo, NULL, SpacegunuRomInfo, SpacegunuRomName, NULL, NULL, SpacegunInputInfo, SpacegunuDIPInfo,
SpacegunInit, TaitoZExit, TaitoZFrame, NULL, TaitoZScan, SpacegunInit, TaitoZExit, TaitoZFrame, NULL, TaitoZScan,
NULL, 0x1000, 320, 240, 4, 3 NULL, 0x1000, 320, 240, 4, 3
}; };