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