diff --git a/src/burn/drv/pre90s/d_spectrum.cpp b/src/burn/drv/pre90s/d_spectrum.cpp index 0c144b99b..5f83ca616 100644 --- a/src/burn/drv/pre90s/d_spectrum.cpp +++ b/src/burn/drv/pre90s/d_spectrum.cpp @@ -239,15 +239,9 @@ INT32 SpectrumGetZipName(char** pszName, UINT32 i) } // remove leader - INT32 offset = 0; - if (pszGameName[0] == 's' && pszGameName[1] == '4' && pszGameName[2] == '8' && pszGameName[3] == '_') offset = 4; - if (pszGameName[0] == 's' && pszGameName[1] == '1' && pszGameName[2] == '2' && pszGameName[3] == '8' && pszGameName[4] == '_') offset = 5; - if (!strcmp(pszGameName, "spectrum")) offset = 0; - if (!strcmp(pszGameName, "spec128")) offset = 0; - memset(szFilename, 0, MAX_PATH); for (UINT32 j = 0; j < strlen(pszGameName); j++) { - szFilename[j] = pszGameName[j + offset]; + szFilename[j] = pszGameName[j + 5]; } *pszName = szFilename; @@ -1438,7 +1432,7 @@ static INT32 DrvScan(INT32 /*nAction*/, INT32* /*pnMin*/) } struct BurnDriver BurnDrvSpectrumBIOS = { - "spectrum", NULL, NULL, NULL, "1984", + "spec_spectrum", NULL, NULL, NULL, "1984", "ZX Spectrum\0", "BIOS Only", "Sinclair Research Limited", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_BOARDROM, 0, HARDWARE_SPECTRUM, GBF_BIOS, 0, @@ -1448,7 +1442,7 @@ struct BurnDriver BurnDrvSpectrumBIOS = { }; struct BurnDriver BurnDrvSpectrum = { - "spectrum", NULL, NULL, NULL, "1984", + "spec_spectrum", NULL, NULL, NULL, "1984", "ZX Spectrum\0", NULL, "Sinclair Research Limited", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1458,7 +1452,7 @@ struct BurnDriver BurnDrvSpectrum = { }; struct BurnDriver BurnDrvSpec128BIOS = { - "spec128", NULL, NULL, NULL, "1984", + "spec_spec128", NULL, NULL, NULL, "1984", "ZX Spectrum 128\0", "BIOS Only", "Sinclair Research Limited", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_BOARDROM, 0, HARDWARE_SPECTRUM, GBF_BIOS, 0, @@ -1468,7 +1462,7 @@ struct BurnDriver BurnDrvSpec128BIOS = { }; struct BurnDriver BurnDrvSpec128 = { - "spec128", NULL, NULL, NULL, "1984", + "spec_spec128", NULL, NULL, NULL, "1984", "ZX Spectrum 128\0", NULL, "Sinclair Research Limited", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1486,7 +1480,7 @@ STDROMPICKEXT(S48180, S48180, Spectrum) STD_ROM_FN(S48180) struct BurnDriver BurnDrvS48180 = { - "s48_180", NULL, "spectrum", NULL, "1986", + "spec_180", NULL, "spec_spectrum", NULL, "1986", "180 (1986)(Mastertronic)\0", NULL, "Mastertronic", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1503,7 +1497,7 @@ STDROMPICKEXT(S48ATVSim, S48ATVSim, Spectrum) STD_ROM_FN(S48ATVSim) struct BurnDriver BurnDrvS48ATVSimRomDesc = { - "s48_atvsim", NULL, "spectrum", NULL, "1987", + "spec_atvsim", NULL, "spec_spectrum", NULL, "1987", "ATV Simulator - All Terrain Vehicle\0", NULL, "Code Masters", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1520,7 +1514,7 @@ STDROMPICKEXT(S48Blinkys, S48Blinkys, Spectrum) STD_ROM_FN(S48Blinkys) struct BurnDriver BurnDrvS48Blinkys = { - "s48_blinkys", NULL, "spectrum", NULL, "1990", + "spec_blinkys", NULL, "spec_spectrum", NULL, "1990", "Blinky's Scary School\0", NULL, "Zeppelin Games", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1537,7 +1531,7 @@ STDROMPICKEXT(S48BruceLee, S48BruceLee, Spectrum) STD_ROM_FN(S48BruceLee) struct BurnDriver BurnDrvS48BruceLee = { - "s48_brucelee", NULL, "spectrum", NULL, "1984", + "spec_brucelee", NULL, "spec_spectrum", NULL, "1984", "Bruce Lee\0", NULL, "US Gold", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1554,7 +1548,7 @@ STDROMPICKEXT(S48Chasehq, S48Chasehq, Spectrum) STD_ROM_FN(S48Chasehq) struct BurnDriver BurnDrvS48Chasehq = { - "s48_chasehq", NULL, "spectrum", NULL, "1989", + "spec_chasehq48", NULL, "spec_spectrum", NULL, "1989", "Chase HQ (48K)\0", NULL, "Ocean Software", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1571,7 +1565,7 @@ STDROMPICKEXT(S128Chasehq, S128Chasehq, Spec128) STD_ROM_FN(S128Chasehq) struct BurnDriver BurnDrvS128Chasehq = { - "s128_chasehq", "s48_chasehq", "spec128", NULL, "1989", + "spec_chasehq", "spec_chasehq48", "spec_spec128", NULL, "1989", "Chase HQ (128K)\0", NULL, "Ocean Software", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING | BDF_CLONE, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1588,7 +1582,7 @@ STDROMPICKEXT(S48Chuckie, S48Chuckie, Spectrum) STD_ROM_FN(S48Chuckie) struct BurnDriver BurnDrvS48Chuckie = { - "s48_chuckie", NULL, "spectrum", NULL, "1983", + "spec_chuckie", NULL, "spec_spectrum", NULL, "1983", "Chuckie Egg\0", NULL, "A & F Software", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1605,7 +1599,7 @@ STDROMPICKEXT(S48Chuckie2, S48Chuckie2, Spectrum) STD_ROM_FN(S48Chuckie2) struct BurnDriver BurnDrvS48Chuckie2 = { - "s48_chuckie2", NULL, "spectrum", NULL, "1985", + "spec_chuckie2", NULL, "spec_spectrum", NULL, "1985", "Chuckie Egg 2 - Choccy Egg\0", NULL, "A & F Software", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1622,7 +1616,7 @@ STDROMPICKEXT(S48Commando, S48Commando, Spectrum) STD_ROM_FN(S48Commando) struct BurnDriver BurnDrvS48Commando = { - "s48_commando", NULL, "spectrum", NULL, "1985", + "spec_commando", NULL, "spec_spectrum", NULL, "1985", "Commando\0", NULL, "Elite Systems", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1639,7 +1633,7 @@ STDROMPICKEXT(S48Dizzy, S48Dizzy, Spectrum) STD_ROM_FN(S48Dizzy) struct BurnDriver BurnDrvS48Dizzy = { - "s48_dizzy", NULL, "spectrum", NULL, "1987", + "spec_dizzy", NULL, "spec_spectrum", NULL, "1987", "Dizzy - The Ultimate Cartoon Adventure\0", NULL, "Codemasters", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1656,7 +1650,7 @@ STDROMPICKEXT(S48Dizzy2, S48Dizzy2, Spectrum) STD_ROM_FN(S48Dizzy2) struct BurnDriver BurnDrvS48Dizzy2 = { - "s48_dizzy2", NULL, "spectrum", NULL, "1988", + "spec_dizzy2", NULL, "spec_spectrum", NULL, "1988", "Dizzy II - Treasure Island Dizzy\0", NULL, "Codemasters", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1673,7 +1667,7 @@ STDROMPICKEXT(S48Dizzy3, S48Dizzy3, Spectrum) STD_ROM_FN(S48Dizzy3) struct BurnDriver BurnDrvS48Dizzy3 = { - "s48_dizzy3", NULL, "spectrum", NULL, "1989", + "spec_dizzy3", NULL, "spec_spectrum", NULL, "1989", "Dizzy III - Fantasy World Dizzy\0", NULL, "Codemasters", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1690,7 +1684,7 @@ STDROMPICKEXT(S48Dizzy4, S48Dizzy4, Spectrum) STD_ROM_FN(S48Dizzy4) struct BurnDriver BurnDrvS48Dizzy4 = { - "s48_dizzy4", NULL, "spectrum", NULL, "1989", + "spec_dizzy4", NULL, "spec_spectrum", NULL, "1989", "Dizzy IV - Magicland Dizzy\0", NULL, "Codemasters", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1707,7 +1701,7 @@ STDROMPICKEXT(S48Dizzy5, S48Dizzy5, Spectrum) STD_ROM_FN(S48Dizzy5) struct BurnDriver BurnDrvS48Dizzy5 = { - "s48_dizzy5", NULL, "spectrum", NULL, "1991", + "spec_dizzy5", NULL, "spec_spectrum", NULL, "1991", "Dizzy V - Spellbound Dizzy\0", NULL, "Codemasters", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1724,7 +1718,7 @@ STDROMPICKEXT(S48Dizzy6, S48Dizzy6, Spectrum) STD_ROM_FN(S48Dizzy6) struct BurnDriver BurnDrvS48Dizzy6 = { - "s48_dizzy6", NULL, "spectrum", NULL, "1991", + "spec_dizzy6", NULL, "spec_spectrum", NULL, "1991", "Dizzy VI - Prince Of The Yolkfolk\0", NULL, "Codemasters", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1741,7 +1735,7 @@ STDROMPICKEXT(S48Dizzy7, S48Dizzy7, Spectrum) STD_ROM_FN(S48Dizzy7) struct BurnDriver BurnDrvS48Dizzy7 = { - "s48_dizzy7", NULL, "spectrum", NULL, "1992", + "spec_dizzy7", NULL, "spec_spectrum", NULL, "1992", "Dizzy VII - Crystal Kingdom Dizzy\0", NULL, "Codemasters", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1758,7 +1752,7 @@ STDROMPICKEXT(S48Feud, S48Feud, Spectrum) STD_ROM_FN(S48Feud) struct BurnDriver BurnDrvS48Feud = { - "s48_feud", NULL, "spectrum", NULL, "1987", + "spec_feud", NULL, "spec_spectrum", NULL, "1987", "Feud\0", NULL, "Mastertronic", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1775,7 +1769,7 @@ STDROMPICKEXT(S48FootDir, S48FootDir, Spectrum) STD_ROM_FN(S48FootDir) struct BurnDriver BurnDrvS48FootDir = { - "s48_footdir", NULL, "spectrum", NULL, "1989", + "spec_footdir", NULL, "spec_spectrum", NULL, "1989", "Football Director\0", NULL, "Addictive Games", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1792,7 +1786,7 @@ STDROMPICKEXT(S48Footman, S48Footman, Spectrum) STD_ROM_FN(S48Footman) struct BurnDriver BurnDrvS48Footman = { - "s48_footman", NULL, "spectrum", NULL, "1982", + "spec_footman", NULL, "spec_spectrum", NULL, "1982", "Football Manager\0", NULL, "Addictive Games", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1809,7 +1803,7 @@ STDROMPICKEXT(S48Footman2, S48Footman2, Spectrum) STD_ROM_FN(S48Footman2) struct BurnDriver BurnDrvS48Footman2 = { - "s48_footman2", NULL, "spectrum", NULL, "1988", + "spec_footman2", NULL, "spec_spectrum", NULL, "1988", "Football Manager 2\0", NULL, "Addictive Games", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1826,7 +1820,7 @@ STDROMPICKEXT(S48Footman3, S48Footman3, Spectrum) STD_ROM_FN(S48Footman3) struct BurnDriver BurnDrvS48Footman3 = { - "s48_footman3", NULL, "spectrum", NULL, "1991", + "spec_footman3", NULL, "spec_spectrum", NULL, "1991", "Football Manager 3\0", NULL, "Addictive Games", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1843,7 +1837,7 @@ STDROMPICKEXT(S48Foty, S48Foty, Spectrum) STD_ROM_FN(S48Foty) struct BurnDriver BurnDrvS48Foty = { - "s48_foty", NULL, "spectrum", NULL, "1986", + "spec_foty", NULL, "spec_spectrum", NULL, "1986", "Footballer Of The Year\0", NULL, "Gremlin Graphics", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1860,7 +1854,7 @@ STDROMPICKEXT(S48Foty2, S48Foty2, Spectrum) STD_ROM_FN(S48Foty2) struct BurnDriver BurnDrvS48Foty2 = { - "s48_foty2", NULL, "spectrum", NULL, "1986", + "spec_foty2", NULL, "spec_spectrum", NULL, "1986", "Footballer Of The Year 2\0", NULL, "Gremlin Graphics", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1877,7 +1871,7 @@ STDROMPICKEXT(S48Glhotsht, S48Glhotsht, Spectrum) STD_ROM_FN(S48Glhotsht) struct BurnDriver BurnDrvS48Glhotsht = { - "s48_glhotsht", NULL, "spectrum", NULL, "1988", + "spec_glhotsht", NULL, "spec_spectrum", NULL, "1988", "Gary Lineker's Hot Shot\0", NULL, "Gremlin Graphics", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1894,7 +1888,7 @@ STDROMPICKEXT(S48Glssocc, S48Glssocc, Spectrum) STD_ROM_FN(S48Glssocc) struct BurnDriver BurnDrvS48Glssocc = { - "s48_glssocc", NULL, "spectrum", NULL, "1987", + "spec_glssocc", NULL, "spec_spectrum", NULL, "1987", "Gary Lineker's Superstar Soccer\0", NULL, "Gremlin Graphics", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1911,7 +1905,7 @@ STDROMPICKEXT(S48Howbstd, S48Howbstd, Spectrum) STD_ROM_FN(S48Howbstd) struct BurnDriver BurnDrvS48Howbstd = { - "s48_howbstd", NULL, "spectrum", NULL, "1987", + "spec_howbstd", NULL, "spec_spectrum", NULL, "1987", "How To Be A Complete Bastard\0", NULL, "Virgin Games", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1928,7 +1922,7 @@ STDROMPICKEXT(S48Hunchbk, S48Hunchbk, Spectrum) STD_ROM_FN(S48Hunchbk) struct BurnDriver BurnDrvS48Hunchbk = { - "s48_hunchbk", NULL, "spectrum", NULL, "1983", + "spec_hunchbk", NULL, "spec_spectrum", NULL, "1983", "Hunchback\0", NULL, "Ocean Software", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1945,7 +1939,7 @@ STDROMPICKEXT(S48Jetpac, S48Jetpac, Spectrum) STD_ROM_FN(S48Jetpac) struct BurnDriver BurnDrvS48Jetpac = { - "s48_jetpac", NULL, "spectrum", NULL, "1983", + "spec_jetpac", NULL, "spec_spectrum", NULL, "1983", "Jetpac\0", NULL, "Ultimate Play the Game", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1962,7 +1956,7 @@ STDROMPICKEXT(S48Matchday, S48Matchday, Spectrum) STD_ROM_FN(S48Matchday) struct BurnDriver BurnDrvS48Matchday = { - "s48_matchday", NULL, "spectrum", NULL, "1987", + "spec_matchday", NULL, "spec_spectrum", NULL, "1987", "Match Day\0", NULL, "Ocean Software", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1979,7 +1973,7 @@ STDROMPICKEXT(S48Matchdy2, S48Matchdy2, Spectrum) STD_ROM_FN(S48Matchdy2) struct BurnDriver BurnDrvS48Matchday2 = { - "s48_matchdy2", NULL, "spectrum", NULL, "1987", + "spec_matchdy2", NULL, "spec_spectrum", NULL, "1987", "Match Day 2\0", NULL, "Sinclair Research Limited", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -1996,7 +1990,7 @@ STDROMPICKEXT(S48Micrsocc, S48Micrsocc, Spectrum) STD_ROM_FN(S48Micrsocc) struct BurnDriver BurnDrvS48Micrsocc = { - "s48_micrsocc.z80", NULL, "spectrum", NULL, "1989", + "spec_micrsocc", NULL, "spec_spectrum", NULL, "1989", "Microprose Soccer\0", NULL, "Microprose", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -2013,7 +2007,7 @@ STDROMPICKEXT(S48Handbmar, S48Handbmar, Spectrum) STD_ROM_FN(S48Handbmar) struct BurnDriver BurnDrvS48Handbmar = { - "s48_handbmar", NULL, "spectrum", NULL, "1986", + "spec_handbmar", NULL, "spec_spectrum", NULL, "1986", "Peter Shilton's Handball Maradona\0", NULL, "Grandslam Entertainment", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -2030,7 +2024,7 @@ STDROMPICKEXT(S48Pippo, S48Pippo, Spectrum) STD_ROM_FN(S48Pippo) struct BurnDriver BurnDrvS48Pippo = { - "s48_pippo", NULL, "spectrum", NULL, "1986", + "spec_pippo", NULL, "spec_spectrum", NULL, "1986", "Pippo\0", NULL, "Sinclair Research Limited", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -2047,7 +2041,7 @@ STDROMPICKEXT(S48Renegade, S48Renegade, Spectrum) STD_ROM_FN(S48Renegade) struct BurnDriver BurnDrvS48Renegade = { - "s48_renegade", NULL, "spectrum", NULL, "1987", + "spec_renegade", NULL, "spec_spectrum", NULL, "1987", "Renegade\0", NULL, "Ocean Software", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -2064,7 +2058,7 @@ STDROMPICKEXT(S128Robocop, S128Robocop, Spec128) STD_ROM_FN(S128Robocop) struct BurnDriver BurnDrvS128Robocop = { - "s128_robocop", NULL, "spec128", NULL, "1988", + "spec_robocop", NULL, "spec_spec128", NULL, "1988", "Robocop (128K)\0", NULL, "Ocean Software", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, @@ -2081,7 +2075,7 @@ STDROMPICKEXT(S48Theboss, S48Theboss, Spectrum) STD_ROM_FN(S48Theboss) struct BurnDriver BurnDrvS48Theboss = { - "s48_theboss", NULL, "spectrum", NULL, "1984", + "spec_theboss", NULL, "spec_spectrum", NULL, "1984", "The Boss\0", NULL, "Peaksoft", "ZX Spectrum", NULL, NULL, NULL, NULL, BDF_GAME_WORKING, 1, HARDWARE_SPECTRUM, GBF_MISC, 0, diff --git a/src/burner/burner.h b/src/burner/burner.h index 22206e858..8cd98c164 100644 --- a/src/burner/burner.h +++ b/src/burner/burner.h @@ -171,6 +171,7 @@ void ComputeGammaLUT(); #define DAT_MASTERSYSTEM_ONLY 7 #define DAT_GAMEGEAR_ONLY 8 #define DAT_MSX_ONLY 9 +#define DAT_SPECTRUM_ONLY 10 INT32 write_datfile(INT32 bType, FILE* fDat); INT32 create_datfile(TCHAR* szFilename, INT32 bType); diff --git a/src/burner/dat.cpp b/src/burner/dat.cpp index 2fae426b2..a3534ec8e 100644 --- a/src/burner/dat.cpp +++ b/src/burner/dat.cpp @@ -118,6 +118,7 @@ INT32 write_datfile(INT32 bType, FILE* fDat) if (bType == DAT_MASTERSYSTEM_ONLY) fprintf(fDat, "\t\t" APP_TITLE " - Master System Games\n"); if (bType == DAT_GAMEGEAR_ONLY) fprintf(fDat, "\t\t" APP_TITLE " - Game Gear Games\n"); if (bType == DAT_MSX_ONLY) fprintf(fDat, "\t\t" APP_TITLE " - MSX 1 Games\n"); + if (bType == DAT_SPECTRUM_ONLY) fprintf(fDat, "\t\t" APP_TITLE " - ZX Spectrum Games\n"); if (bType == DAT_ARCADE_ONLY) _ftprintf(fDat, _T("\t\t") _T(APP_TITLE) _T(" v%s") _T(" Arcade Games\n"), szAppBurnVer); if (bType == DAT_MEGADRIVE_ONLY) _ftprintf(fDat, _T("\t\t") _T(APP_TITLE) _T(" v%s") _T(" Megadrive Games\n"), szAppBurnVer); @@ -129,6 +130,7 @@ INT32 write_datfile(INT32 bType, FILE* fDat) if (bType == DAT_MASTERSYSTEM_ONLY) _ftprintf(fDat, _T("\t\t") _T(APP_TITLE) _T(" v%s") _T(" Master System Games\n"), szAppBurnVer); if (bType == DAT_GAMEGEAR_ONLY) _ftprintf(fDat, _T("\t\t") _T(APP_TITLE) _T(" v%s") _T(" Game Gear Games\n"), szAppBurnVer); if (bType == DAT_MSX_ONLY) _ftprintf(fDat, _T("\t\t") _T(APP_TITLE) _T(" v%s") _T(" MSX 1 Games\n"), szAppBurnVer); + if (bType == DAT_SPECTRUM_ONLY) _ftprintf(fDat, _T("\t\t") _T(APP_TITLE) _T(" v%s") _T(" ZX Spectrum Games\n"), szAppBurnVer); fprintf(fDat, "\t\tStandard DatFile\n"); _ftprintf(fDat, _T("\t\t%s\n"), szAppBurnVer); fprintf(fDat, "\t\t" APP_TITLE "\n"); @@ -164,6 +166,7 @@ INT32 write_datfile(INT32 bType, FILE* fDat) || ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SEGA_MASTER_SYSTEM) || ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SEGA_GAME_GEAR) || ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_MSX) + || ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SPECTRUM) ) && (bType == DAT_ARCADE_ONLY)) { continue; } @@ -203,6 +206,10 @@ INT32 write_datfile(INT32 bType, FILE* fDat) if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_MSX) && (bType == DAT_MSX_ONLY)) { continue; } + + if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_SPECTRUM) && (bType == DAT_SPECTRUM_ONLY)) { + continue; + } strcpy(sgName, BurnDrvGetTextA(DRV_NAME)); strcpy(spName, ""); // make sure this string is empty before we start @@ -269,6 +276,7 @@ INT32 write_datfile(INT32 bType, FILE* fDat) remove_driver_leader(HARDWARE_SEGA_MASTER_SYSTEM, 4, 1) remove_driver_leader(HARDWARE_SEGA_GAME_GEAR, 3, 1) remove_driver_leader(HARDWARE_MSX, 4, 1) + remove_driver_leader(HARDWARE_SPECTRUM, 5, 1) // Report problems if (nParentSelect==-1U) @@ -517,6 +525,7 @@ INT32 write_datfile(INT32 bType, FILE* fDat) || ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SEGA_MASTER_SYSTEM) || ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SEGA_GAME_GEAR) || ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_MSX) + || ((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SPECTRUM) ) && (bType == DAT_ARCADE_ONLY)) { continue; } @@ -557,6 +566,10 @@ INT32 write_datfile(INT32 bType, FILE* fDat) continue; } + if (((BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) != HARDWARE_SPECTRUM) && (bType == DAT_SPECTRUM_ONLY)) { + continue; + } + strcpy(sgName, BurnDrvGetTextA(DRV_NAME)); #ifdef DAT_DEBUG @@ -572,6 +585,7 @@ INT32 write_datfile(INT32 bType, FILE* fDat) remove_driver_leader(HARDWARE_SEGA_MASTER_SYSTEM, 4, 0) remove_driver_leader(HARDWARE_SEGA_GAME_GEAR, 3, 0) remove_driver_leader(HARDWARE_MSX, 4, 0) + remove_driver_leader(HARDWARE_SPECTRUM, 5, 0) fprintf(fDat, "\t\n", sgName); fprintf(fDat, "\t\t%s\n", DecorateGameName(nBurnDrvActive)); diff --git a/src/burner/win32/app.rc b/src/burner/win32/app.rc index 9dab06e5a..332280a01 100644 --- a/src/burner/win32/app.rc +++ b/src/burner/win32/app.rc @@ -1213,6 +1213,7 @@ BEGIN MENUITEM "Generate dat (Master System only)...", MENU_CLRMAME_PRO_XML_SMS_ONLY MENUITEM "Generate dat (Game Gear only)...", MENU_CLRMAME_PRO_XML_GG_ONLY MENUITEM "Generate dat (MSX 1 Games only)...", MENU_CLRMAME_PRO_XML_MSX_ONLY + MENUITEM "Generate dat (ZX Spectrum Games only)...",MENU_CLRMAME_PRO_XML_SPECTRUM_ONLY MENUITEM SEPARATOR MENUITEM "Generate all dats...", MENU_CLRMAME_PRO_ALL_DATS END diff --git a/src/burner/win32/resource.h b/src/burner/win32/resource.h index a2634b4c4..46798bda7 100644 --- a/src/burner/win32/resource.h +++ b/src/burner/win32/resource.h @@ -654,6 +654,7 @@ #define MENU_CLRMAME_PRO_ALL_DATS 10729 #define MENU_SELECTPLACEHOLDER 10730 #define MENU_DISABLEPLACEHOLDER 10731 +#define MENU_CLRMAME_PRO_XML_SPECTRUM_ONLY 10732 #define MENU_BASIC_NORMAL 11001 #define MENU_BASIC_SCAN 11002 diff --git a/src/burner/win32/scrn.cpp b/src/burner/win32/scrn.cpp index b22d1f6f9..74473932d 100644 --- a/src/burner/win32/scrn.cpp +++ b/src/burner/win32/scrn.cpp @@ -325,6 +325,7 @@ int CreateDatfileWindows(int bType) if (bType == DAT_MASTERSYSTEM_ONLY) _sntprintf(szConsoleString, 64, _T(", Master System only")); if (bType == DAT_GAMEGEAR_ONLY) _sntprintf(szConsoleString, 64, _T(", Game Gear only")); if (bType == DAT_MSX_ONLY) _sntprintf(szConsoleString, 64, _T(", MSX 1 Games only")); + if (bType == DAT_SPECTRUM_ONLY) _sntprintf(szConsoleString, 64, _T(", ZX Spectrum Games only")); TCHAR szProgramString[25]; _sntprintf(szProgramString, 25, _T("ClrMame Pro XML")); @@ -420,6 +421,9 @@ int CreateAllDatfilesWindows() _sntprintf(szFilename, MAX_PATH, _T("%s") _T(APP_TITLE) _T(" v%.20s (%s%s).dat"), buffer, szAppBurnVer, szProgramString, _T(", MSX 1 Games only")); create_datfile(szFilename, DAT_MSX_ONLY); + _sntprintf(szFilename, MAX_PATH, _T("%s") _T(APP_TITLE) _T(" v%.20s (%s%s).dat"), buffer, szAppBurnVer, szProgramString, _T(", ZX Spectrum Games only")); + create_datfile(szFilename, DAT_SPECTRUM_ONLY); + return nRet; } @@ -2238,6 +2242,12 @@ static void OnCommand(HWND /*hDlg*/, int id, HWND /*hwndCtl*/, UINT codeNotify) } break; + case MENU_CLRMAME_PRO_XML_SPECTRUM_ONLY: + if (UseDialogs()) { + CreateDatfileWindows(DAT_SPECTRUM_ONLY); + } + break; + case MENU_CLRMAME_PRO_ALL_DATS: if (UseDialogs()) { CreateAllDatfilesWindows();