diff --git a/src/burn/drv/taito/d_taitoz.cpp b/src/burn/drv/taito/d_taitoz.cpp index 21595115c..ca0a3cdb0 100644 --- a/src/burn/drv/taito/d_taitoz.cpp +++ b/src/burn/drv/taito/d_taitoz.cpp @@ -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 -}; \ No newline at end of file + +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 +};