From e45713d69fc1f5e6e86913705678fa0e878a1024 Mon Sep 17 00:00:00 2001 From: Barry Harris <44396066+barry65536@users.noreply.github.com> Date: Fri, 17 Aug 2012 07:23:38 +0000 Subject: [PATCH] Add clone of Thunder Zone (ShouTime, JacKc) --- src/burn/drv/dataeast/d_dassault.cpp | 224 +++++++++++++++++---------- 1 file changed, 146 insertions(+), 78 deletions(-) diff --git a/src/burn/drv/dataeast/d_dassault.cpp b/src/burn/drv/dataeast/d_dassault.cpp index ec645b2d1..d313c3a38 100644 --- a/src/burn/drv/dataeast/d_dassault.cpp +++ b/src/burn/drv/dataeast/d_dassault.cpp @@ -958,41 +958,41 @@ static INT32 DrvScan(INT32 nAction, INT32 *pnMin) static struct BurnRomInfo thndzoneRomDesc[] = { { "gz_01.bin", 0x020000, 0x15e8c328, 1 | BRF_PRG | BRF_ESS }, // 0 68k 'A' Code { "gz_03.bin", 0x020000, 0xaab5c86e, 1 | BRF_PRG | BRF_ESS }, // 1 - { "gs00", 0x020000, 0xb7277175, 1 | BRF_PRG | BRF_ESS }, // 2 - { "gs02", 0x020000, 0xcde31e35, 1 | BRF_PRG | BRF_ESS }, // 3 + { "gs00", 0x020000, 0xb7277175, 1 | BRF_PRG | BRF_ESS }, // 2 + { "gs02", 0x020000, 0xcde31e35, 1 | BRF_PRG | BRF_ESS }, // 3 { "gz_10.bin", 0x020000, 0x79f919e9, 2 | BRF_PRG | BRF_ESS }, // 4 68k 'B' Code { "gz_08.bin", 0x020000, 0xd47d7836, 2 | BRF_PRG | BRF_ESS }, // 5 - { "gs11", 0x020000, 0x80cb23de, 2 | BRF_PRG | BRF_ESS }, // 6 - { "gs09", 0x020000, 0x0a8fa7e1, 2 | BRF_PRG | BRF_ESS }, // 7 + { "gs11", 0x020000, 0x80cb23de, 2 | BRF_PRG | BRF_ESS }, // 6 + { "gs09", 0x020000, 0x0a8fa7e1, 2 | BRF_PRG | BRF_ESS }, // 7 - { "gs04", 0x010000, 0x81c29ebf, 3 | BRF_PRG | BRF_ESS }, // 8 Huc6280 Code + { "gs04", 0x010000, 0x81c29ebf, 3 | BRF_PRG | BRF_ESS }, // 8 Huc6280 Code - { "gs05", 0x010000, 0x0aae996a, 4 | BRF_GRA }, // 9 Characters - { "gs06", 0x010000, 0x4efdf03d, 4 | BRF_GRA }, // 10 + { "gs05", 0x010000, 0x0aae996a, 4 | BRF_GRA }, // 9 Characters + { "gs06", 0x010000, 0x4efdf03d, 4 | BRF_GRA }, // 10 - { "maj-02", 0x100000, 0x383bbc37, 5 | BRF_GRA }, // 11 Foreground Tiles + { "maj-02", 0x100000, 0x383bbc37, 5 | BRF_GRA }, // 11 Foreground Tiles - { "maj-01", 0x100000, 0x9840a204, 6 | BRF_GRA }, // 12 Background Tiles - { "maj-00", 0x100000, 0x87ea8d16, 6 | BRF_GRA }, // 13 + { "maj-01", 0x100000, 0x9840a204, 6 | BRF_GRA }, // 12 Background Tiles + { "maj-00", 0x100000, 0x87ea8d16, 6 | BRF_GRA }, // 13 - { "maj-04", 0x080000, 0x36e49b19, 7 | BRF_GRA }, // 14 Sprite Bank A - { "maj-05", 0x080000, 0x80fc71cc, 7 | BRF_GRA }, // 15 - { "maj-06", 0x080000, 0x2e7a684b, 7 | BRF_GRA }, // 16 - { "maj-07", 0x080000, 0x3acc1f78, 7 | BRF_GRA }, // 17 - { "maj-08", 0x080000, 0x1958a36d, 7 | BRF_GRA }, // 18 - { "maj-09", 0x080000, 0xc21087a1, 7 | BRF_GRA }, // 19 - { "maj-10", 0x080000, 0xa02fa641, 7 | BRF_GRA }, // 20 - { "maj-11", 0x080000, 0xdabe9305, 7 | BRF_GRA }, // 21 + { "maj-04", 0x080000, 0x36e49b19, 7 | BRF_GRA }, // 14 Sprite Bank A + { "maj-05", 0x080000, 0x80fc71cc, 7 | BRF_GRA }, // 15 + { "maj-06", 0x080000, 0x2e7a684b, 7 | BRF_GRA }, // 16 + { "maj-07", 0x080000, 0x3acc1f78, 7 | BRF_GRA }, // 17 + { "maj-08", 0x080000, 0x1958a36d, 7 | BRF_GRA }, // 18 + { "maj-09", 0x080000, 0xc21087a1, 7 | BRF_GRA }, // 19 + { "maj-10", 0x080000, 0xa02fa641, 7 | BRF_GRA }, // 20 + { "maj-11", 0x080000, 0xdabe9305, 7 | BRF_GRA }, // 21 - { "gs12", 0x020000, 0x9a86a015, 8 | BRF_GRA }, // 22 Sprite Bank B - { "gs13", 0x020000, 0xf4709905, 8 | BRF_GRA }, // 23 - { "gs14", 0x020000, 0x750fc523, 8 | BRF_GRA }, // 24 - { "gs15", 0x020000, 0xf14edd3d, 8 | BRF_GRA }, // 25 + { "gs12", 0x020000, 0x9a86a015, 8 | BRF_GRA }, // 22 Sprite Bank B + { "gs13", 0x020000, 0xf4709905, 8 | BRF_GRA }, // 23 + { "gs14", 0x020000, 0x750fc523, 8 | BRF_GRA }, // 24 + { "gs15", 0x020000, 0xf14edd3d, 8 | BRF_GRA }, // 25 - { "gs07", 0x020000, 0x750b7e5d, 9 | BRF_SND }, // 26 MSM6295 Samples 0 + { "gs07", 0x020000, 0x750b7e5d, 9 | BRF_SND }, // 26 MSM6295 Samples 0 - { "maj-03", 0x080000, 0x31dcfac3, 10 | BRF_SND }, // 27 MSM6295 Samples 1 + { "maj-03", 0x080000, 0x31dcfac3, 10 | BRF_SND }, // 27 MSM6295 Samples 1 { "mb7128y.10m", 0x000800, 0xbde780a2, 11 | BRF_OPT }, // 28 Unknown Proms { "mb7128y.16p", 0x000800, 0xc44d2751, 11 | BRF_OPT }, // 29 @@ -1021,46 +1021,114 @@ struct BurnDriver BurnDrvThndzone = { }; +// Thunder Zone (Japan) + +static struct BurnRomInfo thndzonejRomDesc[] = { + { "gu01", 0x020000, 0xeb28f8e8, 1 | BRF_PRG | BRF_ESS }, // 0 68k 'A' Code + { "gu03", 0x020000, 0x9ad2b431, 1 | BRF_PRG | BRF_ESS }, // 1 + { "gu00", 0x020000, 0xfca9e84f, 1 | BRF_PRG | BRF_ESS }, // 2 + { "gu02", 0x020000, 0xb6026bae, 1 | BRF_PRG | BRF_ESS }, // 3 + + { "gu10", 0x020000, 0x8042e87d, 2 | BRF_PRG | BRF_ESS }, // 4 68k 'B' Code + { "gu08", 0x020000, 0xc8895bfa, 2 | BRF_PRG | BRF_ESS }, // 5 + { "gu11", 0x020000, 0xc0d6eb82, 2 | BRF_PRG | BRF_ESS }, // 6 + { "gu09", 0x020000, 0x42de13a7, 2 | BRF_PRG | BRF_ESS }, // 7 + + { "gu04", 0x010000, 0x81c29ebf, 3 | BRF_PRG | BRF_ESS }, // 8 Huc6280 Code + + { "gu05", 0x010000, 0x0aae996a, 4 | BRF_GRA }, // 9 Characters + { "gu06", 0x010000, 0x4efdf03d, 4 | BRF_GRA }, // 10 + + { "maj-02", 0x100000, 0x383bbc37, 5 | BRF_GRA }, // 11 Foreground Tiles + + { "maj-01", 0x100000, 0x9840a204, 6 | BRF_GRA }, // 12 Background Tiles + { "maj-00", 0x100000, 0x87ea8d16, 6 | BRF_GRA }, // 13 + + { "maj-04", 0x080000, 0x36e49b19, 7 | BRF_GRA }, // 14 Sprite Bank A + { "maj-05", 0x080000, 0x80fc71cc, 7 | BRF_GRA }, // 15 + { "maj-06", 0x080000, 0x2e7a684b, 7 | BRF_GRA }, // 16 + { "maj-07", 0x080000, 0x3acc1f78, 7 | BRF_GRA }, // 17 + { "maj-08", 0x080000, 0x1958a36d, 7 | BRF_GRA }, // 18 + { "maj-09", 0x080000, 0xc21087a1, 7 | BRF_GRA }, // 19 + { "maj-10", 0x080000, 0xa02fa641, 7 | BRF_GRA }, // 20 + { "maj-11", 0x080000, 0xdabe9305, 7 | BRF_GRA }, // 21 + + { "gs12", 0x020000, 0x9a86a015, 8 | BRF_GRA }, // 22 Sprite Bank B + { "gs13", 0x020000, 0xf4709905, 8 | BRF_GRA }, // 23 + { "gs14", 0x020000, 0x750fc523, 8 | BRF_GRA }, // 24 + { "gs15", 0x020000, 0xf14edd3d, 8 | BRF_GRA }, // 25 + + { "gs07", 0x020000, 0x750b7e5d, 9 | BRF_SND }, // 26 MSM6295 Samples 0 + + { "maj-03", 0x080000, 0x31dcfac3, 10 | BRF_SND }, // 27 MSM6295 Samples 1 + + { "mb7128y.10m", 0x000800, 0xbde780a2, 11 | BRF_OPT }, // 28 Unknown Proms + { "mb7128y.16p", 0x000800, 0xc44d2751, 11 | BRF_OPT }, // 29 + + { "pal16r8a 1h", 0x000104, 0x00000000, 12 | BRF_NODUMP }, // 30 PLDs + { "pal16l8b.7c", 0x000104, 0x00000000, 12 | BRF_NODUMP }, // 31 + { "pal16l8b.7d", 0x000104, 0x199e83fd, 12 | BRF_OPT }, // 32 + { "pal16l8b.7e", 0x000104, 0x00000000, 12 | BRF_NODUMP }, // 33 + { "pal16l8b.7l", 0x000104, 0x00000000, 12 | BRF_NODUMP }, // 34 + { "pal16l8b.8e", 0x000104, 0x00000000, 12 | BRF_NODUMP }, // 35 + { "pal16l8b.9d", 0x000104, 0x00000000, 12 | BRF_NODUMP }, // 36 + { "pal16l8b.10c", 0x000104, 0x00000000, 12 | BRF_NODUMP }, // 37 +}; + +STD_ROM_PICK(thndzonej) +STD_ROM_FN(thndzonej) + +struct BurnDriver BurnDrvThndzonej = { + "thndzonej", "thndzone", NULL, NULL, "1991", + "Thunder Zone (Japan)\0", NULL, "Data East Corporation", "DECO IC16", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE, 4, HARDWARE_PREFIX_DATAEAST, GBF_SCRFIGHT, 0, + NULL, thndzonejRomInfo, thndzonejRomName, NULL, NULL, ThndzoneInputInfo, ThndzoneDIPInfo, + DrvInit, DrvExit, DrvFrame, DrvDraw, DrvScan, &DrvRecalc, 0x1000, + 320, 240, 4, 3 +}; + + // Desert Assault (US) static struct BurnRomInfo dassaultRomDesc[] = { - { "01.bin", 0x020000, 0x14f17ea7, 1 | BRF_PRG | BRF_ESS }, // 0 68k 'A' Code - { "03.bin", 0x020000, 0xbed1b90c, 1 | BRF_PRG | BRF_ESS }, // 1 - { "gs00", 0x020000, 0xb7277175, 1 | BRF_PRG | BRF_ESS }, // 2 - { "gs02", 0x020000, 0xcde31e35, 1 | BRF_PRG | BRF_ESS }, // 3 + { "01.bin", 0x020000, 0x14f17ea7, 1 | BRF_PRG | BRF_ESS }, // 0 68k 'A' Code + { "03.bin", 0x020000, 0xbed1b90c, 1 | BRF_PRG | BRF_ESS }, // 1 + { "gs00", 0x020000, 0xb7277175, 1 | BRF_PRG | BRF_ESS }, // 2 + { "gs02", 0x020000, 0xcde31e35, 1 | BRF_PRG | BRF_ESS }, // 3 { "hc10-1.bin", 0x020000, 0xac5ac770, 2 | BRF_PRG | BRF_ESS }, // 4 68k 'B' Code { "hc08-1.bin", 0x020000, 0x864dca56, 2 | BRF_PRG | BRF_ESS }, // 5 - { "gs11", 0x020000, 0x80cb23de, 2 | BRF_PRG | BRF_ESS }, // 6 - { "gs09", 0x020000, 0x0a8fa7e1, 2 | BRF_PRG | BRF_ESS }, // 7 + { "gs11", 0x020000, 0x80cb23de, 2 | BRF_PRG | BRF_ESS }, // 6 + { "gs09", 0x020000, 0x0a8fa7e1, 2 | BRF_PRG | BRF_ESS }, // 7 - { "gs04", 0x010000, 0x81c29ebf, 3 | BRF_PRG | BRF_ESS }, // 8 Huc6280 Code + { "gs04", 0x010000, 0x81c29ebf, 3 | BRF_PRG | BRF_ESS }, // 8 Huc6280 Code - { "gs05", 0x010000, 0x0aae996a, 4 | BRF_GRA }, // 9 Characters - { "gs06", 0x010000, 0x4efdf03d, 4 | BRF_GRA }, // 10 + { "gs05", 0x010000, 0x0aae996a, 4 | BRF_GRA }, // 9 Characters + { "gs06", 0x010000, 0x4efdf03d, 4 | BRF_GRA }, // 10 - { "maj-02", 0x100000, 0x383bbc37, 5 | BRF_GRA }, // 11 Foreground Tiles + { "maj-02", 0x100000, 0x383bbc37, 5 | BRF_GRA }, // 11 Foreground Tiles - { "maj-01", 0x100000, 0x9840a204, 6 | BRF_GRA }, // 12 Background Tiles - { "maj-00", 0x100000, 0x87ea8d16, 6 | BRF_GRA }, // 13 + { "maj-01", 0x100000, 0x9840a204, 6 | BRF_GRA }, // 12 Background Tiles + { "maj-00", 0x100000, 0x87ea8d16, 6 | BRF_GRA }, // 13 - { "maj-04", 0x080000, 0x36e49b19, 7 | BRF_GRA }, // 14 Sprite Bank A - { "maj-05", 0x080000, 0x80fc71cc, 7 | BRF_GRA }, // 15 - { "maj-06", 0x080000, 0x2e7a684b, 7 | BRF_GRA }, // 16 - { "maj-07", 0x080000, 0x3acc1f78, 7 | BRF_GRA }, // 17 - { "maj-08", 0x080000, 0x1958a36d, 7 | BRF_GRA }, // 18 - { "maj-09", 0x080000, 0xc21087a1, 7 | BRF_GRA }, // 19 - { "maj-10", 0x080000, 0xa02fa641, 7 | BRF_GRA }, // 20 - { "maj-11", 0x080000, 0xdabe9305, 7 | BRF_GRA }, // 21 + { "maj-04", 0x080000, 0x36e49b19, 7 | BRF_GRA }, // 14 Sprite Bank A + { "maj-05", 0x080000, 0x80fc71cc, 7 | BRF_GRA }, // 15 + { "maj-06", 0x080000, 0x2e7a684b, 7 | BRF_GRA }, // 16 + { "maj-07", 0x080000, 0x3acc1f78, 7 | BRF_GRA }, // 17 + { "maj-08", 0x080000, 0x1958a36d, 7 | BRF_GRA }, // 18 + { "maj-09", 0x080000, 0xc21087a1, 7 | BRF_GRA }, // 19 + { "maj-10", 0x080000, 0xa02fa641, 7 | BRF_GRA }, // 20 + { "maj-11", 0x080000, 0xdabe9305, 7 | BRF_GRA }, // 21 - { "gs12", 0x020000, 0x9a86a015, 8 | BRF_GRA }, // 22 Sprite Bank B - { "gs13", 0x020000, 0xf4709905, 8 | BRF_GRA }, // 23 - { "gs14", 0x020000, 0x750fc523, 8 | BRF_GRA }, // 24 - { "gs15", 0x020000, 0xf14edd3d, 8 | BRF_GRA }, // 25 + { "gs12", 0x020000, 0x9a86a015, 8 | BRF_GRA }, // 22 Sprite Bank B + { "gs13", 0x020000, 0xf4709905, 8 | BRF_GRA }, // 23 + { "gs14", 0x020000, 0x750fc523, 8 | BRF_GRA }, // 24 + { "gs15", 0x020000, 0xf14edd3d, 8 | BRF_GRA }, // 25 - { "gs07", 0x020000, 0x750b7e5d, 9 | BRF_SND }, // 26 MSM6295 Samples 0 + { "gs07", 0x020000, 0x750b7e5d, 9 | BRF_SND }, // 26 MSM6295 Samples 0 - { "maj-03", 0x080000, 0x31dcfac3, 10 | BRF_SND }, // 27 MSM6295 Samples 1 + { "maj-03", 0x080000, 0x31dcfac3, 10 | BRF_SND }, // 27 MSM6295 Samples 1 { "mb7128y.10m", 0x000800, 0xbde780a2, 11 | BRF_OPT }, // 28 Unknown Proms { "mb7128y.16p", 0x000800, 0xc44d2751, 11 | BRF_OPT }, // 29 @@ -1092,43 +1160,43 @@ struct BurnDriver BurnDrvDassault = { // Desert Assault (US 4 Players) static struct BurnRomInfo dassault4RomDesc[] = { - { "gs01", 0x020000, 0x8613634d, 1 | BRF_PRG | BRF_ESS }, // 0 68k 'A' Code - { "gs03", 0x020000, 0xea860bd4, 1 | BRF_PRG | BRF_ESS }, // 1 - { "gs00", 0x020000, 0xb7277175, 1 | BRF_PRG | BRF_ESS }, // 2 - { "gs02", 0x020000, 0xcde31e35, 1 | BRF_PRG | BRF_ESS }, // 3 + { "gs01", 0x020000, 0x8613634d, 1 | BRF_PRG | BRF_ESS }, // 0 68k 'A' Code + { "gs03", 0x020000, 0xea860bd4, 1 | BRF_PRG | BRF_ESS }, // 1 + { "gs00", 0x020000, 0xb7277175, 1 | BRF_PRG | BRF_ESS }, // 2 + { "gs02", 0x020000, 0xcde31e35, 1 | BRF_PRG | BRF_ESS }, // 3 - { "gs10", 0x020000, 0x285f72a3, 2 | BRF_PRG | BRF_ESS }, // 4 68k 'B' Code - { "gs08", 0x020000, 0x16691ede, 2 | BRF_PRG | BRF_ESS }, // 5 - { "gs11", 0x020000, 0x80cb23de, 2 | BRF_PRG | BRF_ESS }, // 6 - { "gs09", 0x020000, 0x0a8fa7e1, 2 | BRF_PRG | BRF_ESS }, // 7 + { "gs10", 0x020000, 0x285f72a3, 2 | BRF_PRG | BRF_ESS }, // 4 68k 'B' Code + { "gs08", 0x020000, 0x16691ede, 2 | BRF_PRG | BRF_ESS }, // 5 + { "gs11", 0x020000, 0x80cb23de, 2 | BRF_PRG | BRF_ESS }, // 6 + { "gs09", 0x020000, 0x0a8fa7e1, 2 | BRF_PRG | BRF_ESS }, // 7 - { "gs04", 0x010000, 0x81c29ebf, 3 | BRF_PRG | BRF_ESS }, // 8 Huc6280 Code + { "gs04", 0x010000, 0x81c29ebf, 3 | BRF_PRG | BRF_ESS }, // 8 Huc6280 Code - { "gs05", 0x010000, 0x0aae996a, 4 | BRF_GRA }, // 9 Characters - { "gs06", 0x010000, 0x4efdf03d, 4 | BRF_GRA }, // 10 + { "gs05", 0x010000, 0x0aae996a, 4 | BRF_GRA }, // 9 Characters + { "gs06", 0x010000, 0x4efdf03d, 4 | BRF_GRA }, // 10 - { "maj-02", 0x100000, 0x383bbc37, 5 | BRF_GRA }, // 11 Foreground Tiles + { "maj-02", 0x100000, 0x383bbc37, 5 | BRF_GRA }, // 11 Foreground Tiles - { "maj-01", 0x100000, 0x9840a204, 6 | BRF_GRA }, // 12 Background Tiles - { "maj-00", 0x100000, 0x87ea8d16, 6 | BRF_GRA }, // 13 + { "maj-01", 0x100000, 0x9840a204, 6 | BRF_GRA }, // 12 Background Tiles + { "maj-00", 0x100000, 0x87ea8d16, 6 | BRF_GRA }, // 13 - { "maj-04", 0x080000, 0x36e49b19, 7 | BRF_GRA }, // 14 Sprite Bank A - { "maj-05", 0x080000, 0x80fc71cc, 7 | BRF_GRA }, // 15 - { "maj-06", 0x080000, 0x2e7a684b, 7 | BRF_GRA }, // 16 - { "maj-07", 0x080000, 0x3acc1f78, 7 | BRF_GRA }, // 17 - { "maj-08", 0x080000, 0x1958a36d, 7 | BRF_GRA }, // 18 - { "maj-09", 0x080000, 0xc21087a1, 7 | BRF_GRA }, // 19 - { "maj-10", 0x080000, 0xa02fa641, 7 | BRF_GRA }, // 20 - { "maj-11", 0x080000, 0xdabe9305, 7 | BRF_GRA }, // 21 + { "maj-04", 0x080000, 0x36e49b19, 7 | BRF_GRA }, // 14 Sprite Bank A + { "maj-05", 0x080000, 0x80fc71cc, 7 | BRF_GRA }, // 15 + { "maj-06", 0x080000, 0x2e7a684b, 7 | BRF_GRA }, // 16 + { "maj-07", 0x080000, 0x3acc1f78, 7 | BRF_GRA }, // 17 + { "maj-08", 0x080000, 0x1958a36d, 7 | BRF_GRA }, // 18 + { "maj-09", 0x080000, 0xc21087a1, 7 | BRF_GRA }, // 19 + { "maj-10", 0x080000, 0xa02fa641, 7 | BRF_GRA }, // 20 + { "maj-11", 0x080000, 0xdabe9305, 7 | BRF_GRA }, // 21 - { "gs12", 0x020000, 0x9a86a015, 8 | BRF_GRA }, // 22 Sprite Bank B - { "gs13", 0x020000, 0xf4709905, 8 | BRF_GRA }, // 23 - { "gs14", 0x020000, 0x750fc523, 8 | BRF_GRA }, // 24 - { "gs15", 0x020000, 0xf14edd3d, 8 | BRF_GRA }, // 25 + { "gs12", 0x020000, 0x9a86a015, 8 | BRF_GRA }, // 22 Sprite Bank B + { "gs13", 0x020000, 0xf4709905, 8 | BRF_GRA }, // 23 + { "gs14", 0x020000, 0x750fc523, 8 | BRF_GRA }, // 24 + { "gs15", 0x020000, 0xf14edd3d, 8 | BRF_GRA }, // 25 - { "gs07", 0x020000, 0x750b7e5d, 9 | BRF_SND }, // 26 MSM6295 Samples 0 + { "gs07", 0x020000, 0x750b7e5d, 9 | BRF_SND }, // 26 MSM6295 Samples 0 - { "maj-03", 0x080000, 0x31dcfac3, 10 | BRF_SND }, // 27 MSM6295 Samples 1 + { "maj-03", 0x080000, 0x31dcfac3, 10 | BRF_SND }, // 27 MSM6295 Samples 1 { "mb7128y.10m", 0x000800, 0xbde780a2, 11 | BRF_OPT }, // 28 Unknown Proms { "mb7128y.16p", 0x000800, 0xc44d2751, 11 | BRF_OPT }, // 29