From 24c58ca957dde6ea003dae6ba0a0beebdab6cbe7 Mon Sep 17 00:00:00 2001 From: eye2eye <73527887+1eye4eye@users.noreply.github.com> Date: Fri, 25 Jul 2025 02:14:52 +0200 Subject: [PATCH] d_spectrum.cpp: corrections & additions (#2160) * megadrive: add last defense 2 * d_megadrive.cpp: add Thunderbolt 2 - Piko * d_spectrum.cpp: corrections & additions * d_nes.cpp: add thunderbolt * d_nes.cpp: is the license for an unlicensed game licensed or unlicensed? --- src/burn/drv/nes/d_nes.cpp | 38 ++++++++++++----- src/burn/drv/spectrum/d_spectrum.cpp | 62 +++++++++++++++++++++++++++- 2 files changed, 88 insertions(+), 12 deletions(-) diff --git a/src/burn/drv/nes/d_nes.cpp b/src/burn/drv/nes/d_nes.cpp index c5d3c65f6..10ed5bb51 100644 --- a/src/burn/drv/nes/d_nes.cpp +++ b/src/burn/drv/nes/d_nes.cpp @@ -5293,7 +5293,7 @@ struct BurnDriver BurnDrvnes_contrac = { }; // Contra: Demon Contra (Hack, Chinese) -// Modified by Huan Tian / »ÃÌì - GOTVG 20200406 +// Modified by Huan Tian / ���� - GOTVG 20200406 static struct BurnRomInfo nes_contramdlRomDesc[] = { { "Contra - Demon Contra T-Chi (2020)(Huan Tian).nes", 541200, 0x78e3d5a4, BRF_ESS | BRF_PRG }, }; @@ -5331,7 +5331,7 @@ struct BurnDriver BurnDrvnes_contraforcec = { }; // Contra: The Last Rebirth (Hack, Chinese) -// Modified by Jing Jing Bu Xiang Wo / ¾²¾²²»ÏëÎÒ - GOTVG 20221226 +// Modified by Jing Jing Bu Xiang Wo / ���������� - GOTVG 20221226 static struct BurnRomInfo nes_contracsRomDesc[] = { { "Contra - The Last Rebirth T-Chi (2022)(Jing Jing Bu Xiang Wo).nes", 541200, 0xe7e2ffa3, BRF_ESS | BRF_PRG }, }; @@ -5521,7 +5521,7 @@ struct BurnDriver BurnDrvnes_finalmissionjc = { }; // Fire Emblem - Ankoku Ryuu to Hikari no Tsurugi (Hack, Chinese) -// Modified by ÌìÏÂµÚÆß, ½ªÎ¬µÚ¶þ, ZARD/ÅÓÏÈÉú, º®Ñ©Ê¹Õß +// Modified by ���µ���, ��ά�ڶ�, ZARD/������, ��ѩʹ�� // https://www.nesbbs.com/bbs/thread-53027-1-1.html static struct BurnRomInfo nes_fireembcRomDesc[] = { { "Fire Emblem - Ankoku Ryuu to Hikari no Tsurugi T-Chi (2022)(Han Xue Shi Zhe).nes", 655376, 0xa3126533, BRF_ESS | BRF_PRG }, @@ -5541,7 +5541,7 @@ struct BurnDriver BurnDrvnes_fireembc = { }; // Fire Emblem Gaiden (Hack, Chinese v2.0) -// Modified by ÌìÏÂµÚÆß, ½ªÎ¬µÚ¶þ, º®Ñ©Ê¹Õß +// Modified by ���µ���, ��ά�ڶ�, ��ѩʹ�� // https://www.nesbbs.com/bbs/thread-51529-1-1.html static struct BurnRomInfo nes_fireembgaicRomDesc[] = { { "Fire Emblem Gaiden T-Chi v2.0 (2021)(Han Xue Shi Zhe).nes", 663568, 0x1df6fb24, BRF_ESS | BRF_PRG }, @@ -5769,7 +5769,7 @@ struct BurnDriver BurnDrvnes_jackalc = { }; // Jackal - Endless Mission (Hack, v1.2) -// Modified by HHNM Team - ZENG GE / Ôø¸ç +// Modified by HHNM Team - ZENG GE / ���� // https://www.nesbbs.com/bbs/thread-51662-1-1.html static struct BurnRomInfo nes_jackalemRomDesc[] = { { "Jackal - Endless Mission v1.2 (2021)(HHNM Team - ZENG GE).nes", 262160, 0x833c6bc4, BRF_ESS | BRF_PRG }, @@ -6605,7 +6605,7 @@ struct BurnDriver BurnDrvnes_takameivic = { }; // Teenage Mutant Ninja Turtles (Hack, Chinese v1.1) -// Modified by MEZARANSU, ½ªÎ¬µÚ¶þ, ÂÞÔÆ +// Modified by MEZARANSU, ��ά�ڶ�, ���� // https://www.nesbbs.com/bbs/thread-49880-1-1.html static struct BurnRomInfo nes_tmntcRomDesc[] = { { "Teenage Mutant Ninja Turtles T-Chi v1.1 (2021)(MEZARANSU).nes", 393232, 0xa02316dc, BRF_ESS | BRF_PRG }, @@ -11698,6 +11698,24 @@ struct BurnDriver BurnDrvnes_tekken3 = { SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT }; +// Thunderbolt Fighting Plane (World) +static struct BurnRomInfo nes_thunderboltRomDesc[] = { + { "Thunderbolt Fighting Plane (1993-2019)(Piko Interactive)", 262160, 0x933e2aa8, BRF_ESS | BRF_PRG }, +}; + +STD_ROM_PICK(nes_thunderbolt) +STD_ROM_FN(nes_thunderbolt) + +struct BurnDriver BurnDrvnes_thunderbolt = { + "nes_thunderbolt", NULL, NULL, NULL, "1993-2019", + "Thunderbolt Fighting Plane (World)\0", NULL, "Piko Interactive", "NES / Famicom", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING, 1, HARDWARE_NES, GBF_VERSHOOT, 0, + NESGetZipName, nes_thunderboltRomInfo, nes_thunderboltRomName, NULL, NULL, NULL, NULL, NESInputInfo, NESDIPInfo, + NESInit, NESExit, NESFrame, NESDraw, NESScan, &NESRecalc, 0x40, + SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT +}; + // Thunderbolt 2 (Taiwan) (Unl) static struct BurnRomInfo nes_thunderbolt2RomDesc[] = { { "Thunderbolt 2 (Taiwan)(Unl)(1993)(Gamtec).nes", 262160, 0xce1813c9, BRF_ESS | BRF_PRG }, @@ -11707,10 +11725,10 @@ STD_ROM_PICK(nes_thunderbolt2) STD_ROM_FN(nes_thunderbolt2) struct BurnDriver BurnDrvnes_thunderbolt2 = { - "nes_thunderbolt2", NULL, NULL, NULL, "1993", + "nes_thunderbolt2", "nes_thunderbolt", NULL, NULL, "1993", "Thunderbolt 2 (Taiwan) (Unl)\0", NULL, "Gamtec", "NES / Famicom", NULL, NULL, NULL, NULL, - BDF_GAME_WORKING, 1, HARDWARE_NES, GBF_VERSHOOT, 0, + BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_NES, GBF_VERSHOOT, 0, NESGetZipName, nes_thunderbolt2RomInfo, nes_thunderbolt2RomName, NULL, NULL, NULL, NULL, NESInputInfo, NESDIPInfo, NESInit, NESExit, NESFrame, NESDraw, NESScan, &NESRecalc, 0x40, SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT @@ -13846,7 +13864,7 @@ struct BurnDriver BurnDrvnes_bustina = { SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT }; -// Cadàveriön (HB) +// Cad�veri�n (HB) static struct BurnRomInfo nes_cadaverionRomDesc[] = { { "Cadaverion (2018)(The Mojon Twins).nes", 40976, 0x6a45c96a, BRF_ESS | BRF_PRG }, }; @@ -23582,7 +23600,7 @@ struct BurnDriver BurnDrvnes_wordle = { SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT }; -// Wo Xiang Niào Niào (HB) +// Wo Xiang Ni�o Ni�o (HB) static struct BurnRomInfo nes_wxniaoRomDesc[] = { { "Wo Xiang Niao Niao (2016)(Xin Xin).nes", 40976, 0x7063779c, BRF_ESS | BRF_PRG }, }; diff --git a/src/burn/drv/spectrum/d_spectrum.cpp b/src/burn/drv/spectrum/d_spectrum.cpp index e89161d0f..7df093d13 100644 --- a/src/burn/drv/spectrum/d_spectrum.cpp +++ b/src/burn/drv/spectrum/d_spectrum.cpp @@ -14237,7 +14237,7 @@ struct BurnDriver BurnSpecHeavymag = { // HeliChopper (48K) static struct BurnRomInfo SpecHelichopRomDesc[] = { - { "HeliChopper 48K (1985)(Firebird Software).z80", 33920, 0x28c9aa3f, BRF_ESS | BRF_PRG }, + { "HeliChopper 48K (1985)(Firebird Software).tap", 48038, 0x5160aec4, BRF_ESS | BRF_PRG }, }; STDROMPICKEXT(SpecHelichop, SpecHelichop, Spectrum) @@ -20147,7 +20147,7 @@ struct BurnDriver BurnSpecOverlander = { // P-47 Thunderbolt (128K) static struct BurnRomInfo SpecP47thunderboltRomDesc[] = { - { "P-47 Thunderbolt 128K (1990)(Firebird Software).z80", 72894, 0x9efaf7fc, BRF_ESS | BRF_PRG }, + { "P-47 Thunderbolt 48K-128K (1990)(Firebird Software).tap", 81239, 0x3d1ffa84, BRF_ESS | BRF_PRG }, }; STDROMPICKEXT(SpecP47thunderbolt, SpecP47thunderbolt, Spec128) @@ -29651,6 +29651,26 @@ struct BurnDriver BurnSpec70908 = { &SpecRecalc, 0x10, 288, 224, 4, 3 }; +// A-10 Thunderbolt (48K-128K) (HB) + +static struct BurnRomInfo SpecA10thunderboltRomDesc[] = { + { "A-10 Thunderbolt 48K-128K (1995)(Gadget Software Unlimited).tap", 48034, 0xd2d4da4a, BRF_ESS | BRF_PRG }, +}; + +STDROMPICKEXT(SpecA10thunderbolt, SpecA10thunderbolt, Spec128) +STD_ROM_FN(SpecA10thunderbolt) + +struct BurnDriver BurnSpecA10thunderbolt = { + "spec_a10thunderbolt", NULL, "spec_spec128", NULL, "1995", + "A-10 Thunderbolt (48K-128K) (HB)\0", NULL, "Gadget Software Unlimited", "ZX Spectrum", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_HOMEBREW, 1, HARDWARE_SPECTRUM, GBF_VERSHOOT, 0, + SpectrumGetZipName, SpecA10thunderboltRomInfo, SpecA10thunderboltRomName, + NULL, NULL, NULL, NULL, SpecInputInfo, SpecDIPInfo, + Spec128KInit, SpecExit, SpecFrame, SpecDraw, SpecScan, + &SpecRecalc, 0x10, 288, 224, 4, 3 +}; + // Acolyte (48K) (HB) static struct BurnRomInfo SpecAcolyteRomDesc[] = { @@ -38202,6 +38222,25 @@ struct BurnDriver BurnSpecFillomania = { &SpecRecalc, 0x10, 288, 224, 4, 3 }; +// Fire 'N Ice (128K) (HB) + +static struct BurnRomInfo SpecFireniceRomDesc[] = { + { "Fire 'N Ice 128K (1987-2003)(n-Discovery).tap", 569884, 0x05B70672, BRF_ESS | BRF_PRG }, +}; + +STDROMPICKEXT(SpecFirenice, SpecFirenice, Spec128) +STD_ROM_FN(SpecFirenice) + +struct BurnDriver BurnSpecFirenice = { + "spec_firenice", NULL, "spec_spec128", NULL, "1987-2003", + "Fire 'N Ice (128K) (HB)\0", NULL, "n-Discovery", "ZX Spectrum", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_HOMEBREW, 1, HARDWARE_SPECTRUM, GBF_PUZZLE, 0, + SpectrumGetZipName, SpecFireniceRomInfo, SpecFireniceRomName, NULL, NULL, NULL, NULL, SpecInputInfo, SpecCursorKeysDIPInfo, + Spec128KInit, SpecExit, SpecFrame, SpecDraw, SpecScan, + &SpecRecalc, 0x10, 288, 224, 4, 3 +}; + // Fireman (48K) (HB) static struct BurnRomInfo SpecFiremanRomDesc[] = { @@ -46563,6 +46602,25 @@ struct BurnDriver BurnSpecOure = { &SpecRecalc, 0x10, 288, 224, 4, 3 }; +// P-47 The Freedom Fighter (128K) (Hack) + +static struct BurnRomInfo SpecP47freedomfRomDesc[] = { + { "P-47 The Feedom Fighter 128K (Hack)(1990-2022)(SGT - Slider, Goodboy, Tiboh).tap", 119134, 0x9ec5769f, BRF_ESS | BRF_PRG }, +}; + +STDROMPICKEXT(SpecP47freedomf, SpecP47freedomf, Spec128) +STD_ROM_FN(SpecP47freedomf) + +struct BurnDriver BurnSpecP47freedomf = { + "spec_p47freedomf", "spec_p47thunderbolt", "spec_spec128", NULL, "1990-2022", + "P-47 The Freedom Fighter (128K) (Hack)\0", "Trainer, Speedup, AY", "Slider, Goodboy, Tiboh", "ZX Spectrum", + NULL, NULL, NULL, NULL, + BDF_GAME_WORKING | BDF_CLONE | BDF_HACK, 1, HARDWARE_SPECTRUM, GBF_HORSHOOT, 0, + SpectrumGetZipName, SpecP47freedomfRomInfo, SpecP47freedomfRomName, NULL, NULL, NULL, NULL, SpecInputInfo, SpecDIPInfo, + Spec128KInit, SpecExit, SpecFrame, SpecDraw, SpecScan, + &SpecRecalc, 0x10, 288, 224, 4, 3 +}; + // Pac Hic III (128K) (HB) static struct BurnRomInfo SpecPachic3RomDesc[] = {